Merge "Remove host sed"
diff --git a/build/core/init.mk b/build/core/init.mk
index 56e5f30..1829336 100644
--- a/build/core/init.mk
+++ b/build/core/init.mk
@@ -296,7 +296,6 @@
HOST_PREBUILT_ROOT := $(call host-prebuilt-tag, $(NDK_ROOT))
HOST_PREBUILT := $(strip $(wildcard $(HOST_PREBUILT_ROOT)/bin))
HOST_AWK := $(strip $(NDK_HOST_AWK))
-HOST_SED := $(strip $(NDK_HOST_SED))
HOST_MAKE := $(strip $(NDK_HOST_MAKE))
HOST_PYTHON := $(strip $(NDK_HOST_PYTHON))
ifdef HOST_PREBUILT
@@ -307,9 +306,6 @@
ifndef HOST_AWK
HOST_AWK := $(wildcard $(HOST_PREBUILT)/awk$(HOST_EXEEXT))
endif
- ifndef HOST_SED
- HOST_SED := $(wildcard $(HOST_PREBUILT)/sed$(HOST_EXEEXT))
- endif
ifndef HOST_MAKE
HOST_MAKE := $(wildcard $(HOST_PREBUILT)/make$(HOST_EXEEXT))
endif
diff --git a/build/tools/build-host-prebuilts.sh b/build/tools/build-host-prebuilts.sh
index 19a628c..74a2970 100755
--- a/build/tools/build-host-prebuilts.sh
+++ b/build/tools/build-host-prebuilts.sh
@@ -282,10 +282,6 @@
run $BUILDTOOLS/build-host-awk.sh $TOOLCHAIN_FLAGS
fail_panic "awk build failure!"
- echo "Building $SYSNAME ndk-sed"
- run $BUILDTOOLS/build-host-sed.sh $TOOLCHAIN_FLAGS
- fail_panic "sed build failure!"
-
# ToDo: perl in windows/darwin cross.
MAKE_PERL=no
case $SYSTEM in
diff --git a/build/tools/package-release.sh b/build/tools/package-release.sh
index 9b279e6..d0d8c3f 100755
--- a/build/tools/package-release.sh
+++ b/build/tools/package-release.sh
@@ -533,7 +533,6 @@
unpack_prebuilt ndk-stack-$SYSTEM "$DSTDIR" "$DSTDIR64" "yes"
unpack_prebuilt ndk-depends-$SYSTEM "$DSTDIR" "$DSTDIR64" "yes"
unpack_prebuilt ndk-make-$SYSTEM "$DSTDIR" "$DSTDIR64"
- unpack_prebuilt ndk-sed-$SYSTEM "$DSTDIR" "$DSTDIR64"
unpack_prebuilt ndk-awk-$SYSTEM "$DSTDIR" "$DSTDIR64"
unpack_prebuilt ndk-perl-$SYSTEM "$DSTDIR" "$DSTDIR64"
unpack_prebuilt ndk-python-$SYSTEM "$DSTDIR" "$DSTDIR64"
diff --git a/sources/host-tools/sed-4.2.1/ABOUT-NLS b/sources/host-tools/sed-4.2.1/ABOUT-NLS
deleted file mode 100644
index 3575535..0000000
--- a/sources/host-tools/sed-4.2.1/ABOUT-NLS
+++ /dev/null
@@ -1,1111 +0,0 @@
-1 Notes on the Free Translation Project
-***************************************
-
-Free software is going international! The Free Translation Project is
-a way to get maintainers of free software, translators, and users all
-together, so that free software will gradually become able to speak many
-languages. A few packages already provide translations for their
-messages.
-
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work on translations can contact the appropriate team.
-
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-1.1 Quick configuration advice
-==============================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-1.2 INSTALL Matters
-===================
-
-Some packages are "localizable" when properly installed; the programs
-they contain can be made to speak your own native language. Most such
-packages use GNU `gettext'. Other packages have their own ways to
-internationalization, predating GNU `gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the included GNU
-`gettext' library will be used. This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour. The commands:
-
- ./configure --with-included-gettext
- ./configure --disable-nls
-
-will, respectively, bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might not be desirable. You should use
-the more recent version of the GNU `gettext' library. I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
- Internationalized packages usually have many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-1.3 Using This Package
-======================
-
-As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your language by running the
-command `locale -a | grep '^LL''.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
- Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from `no' to `nb' recently (in 2003). During the
-transition period, while some message catalogs for this language are
-installed under `nb' and some older ones under `no', it's recommended
-for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
-older translations are used.
-
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-1.4 Translating Teams
-=====================
-
-For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
-
-1.5 Available Packages
-======================
-
-Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of July
-2006. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
- +----------------------------------------------------+
- GNUnet | [] |
- a2ps | [] [] [] [] [] |
- aegis | () |
- ant-phone | () |
- anubis | [] |
- ap-utils | |
- aspell | [] [] [] [] |
- bash | [] [] [] |
- batchelor | [] |
- bfd | |
- bibshelf | [] |
- binutils | [] |
- bison | [] [] |
- bison-runtime | [] |
- bluez-pin | [] [] [] [] [] |
- cflow | [] |
- clisp | [] [] |
- console-tools | [] [] |
- coreutils | [] [] [] [] |
- cpio | |
- cpplib | [] [] [] |
- cryptonit | [] |
- darkstat | [] () [] |
- dialog | [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- doodle | [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] [] () [] |
- fileutils | [] [] |
- findutils | [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | |
- gawk | [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] [] [] [] |
- gip | [] |
- gliv | [] |
- glunarclock | [] |
- gmult | [] [] |
- gnubiff | () |
- gnucash | () () [] |
- gnucash-glossary | [] () |
- gnuedu | |
- gnulib | [] [] [] [] [] [] |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
- gpe-calendar | [] [] |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | |
- gpe-edit | [] |
- gpe-filemanager | |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-package | |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | |
- gphoto2 | [] [] [] [] |
- gprof | [] [] |
- gpsdrive | () () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] |
- gretl | |
- gsasl | |
- gss | |
- gst-plugins | [] [] [] [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | [] () |
- gtkam | [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] |
- id-utils | [] [] |
- impost | |
- indent | [] [] [] |
- iso_3166 | [] [] |
- iso_3166_1 | [] [] [] [] [] |
- iso_3166_2 | |
- iso_3166_3 | [] |
- iso_4217 | [] |
- iso_639 | [] [] |
- jpilot | [] |
- jtag | |
- jwhois | |
- kbd | [] [] [] [] |
- keytouch | |
- keytouch-editor | |
- keytouch-keyboa... | |
- latrine | () |
- ld | [] |
- leafpad | [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] |
- libgpg-error | [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] |
- libgsasl | |
- libiconv | [] [] |
- libidn | [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] |
- make | [] [] |
- man-db | [] () [] [] |
- minicom | [] [] [] |
- mysecretdiary | [] [] |
- nano | [] [] () [] |
- nano_1_0 | [] () [] [] |
- opcodes | [] |
- parted | |
- pilot-qof | [] |
- psmisc | [] |
- pwdutils | |
- python | |
- qof | |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] [] |
- sed | [] [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] [] |
- sharutils | [] [] [] [] [] [] |
- shishi | |
- silky | |
- skencil | [] () |
- sketch | [] () |
- solfege | |
- soundtracker | [] [] |
- sp | [] |
- stardict | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] |
- texinfo | [] [] [] |
- textutils | [] [] [] |
- tin | () () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] |
- xchat | [] [] [] [] [] |
- xkeyboard-config | |
- xpad | [] [] |
- +----------------------------------------------------+
- af am ar az be bg bs ca cs cy da de el en en_GB eo
- 11 0 1 2 8 21 1 42 43 2 62 99 18 1 16 16
-
- es et eu fa fi fr ga gl gu he hi hr hu id is it
- +--------------------------------------------------+
- GNUnet | |
- a2ps | [] [] [] () |
- aegis | |
- ant-phone | [] |
- anubis | [] |
- ap-utils | [] [] |
- aspell | [] [] [] |
- bash | [] [] [] |
- batchelor | [] [] |
- bfd | [] |
- bibshelf | [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- cflow | |
- clisp | [] [] |
- console-tools | |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] [] |
- cryptonit | [] |
- darkstat | [] () [] [] [] |
- dialog | [] [] [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] [] [] |
- findutils | [] [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | [] [] |
- gawk | [] [] [] [] |
- gbiff | [] |
- gcal | [] [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] |
- gip | [] [] [] |
- gliv | () |
- glunarclock | [] [] [] |
- gmult | [] [] [] |
- gnubiff | () () |
- gnucash | () () () |
- gnucash-glossary | [] [] |
- gnuedu | [] |
- gnulib | [] [] [] [] [] [] [] [] |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
- gpe-calendar | [] [] [] [] |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] |
- gpe-contacts | [] [] |
- gpe-edit | [] [] [] [] |
- gpe-filemanager | [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] |
- gpe-package | [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | () () [] () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] [] [] [] [] |
- gretl | [] [] [] |
- gsasl | [] |
- gss | [] |
- gst-plugins | [] [] [] |
- gst-plugins-base | [] [] |
- gst-plugins-good | [] [] [] |
- gstreamer | [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] [] |
- impost | [] [] |
- indent | [] [] [] [] [] [] [] [] [] [] |
- iso_3166 | [] [] [] |
- iso_3166_1 | [] [] [] [] [] [] [] |
- iso_3166_2 | [] |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] [] |
- iso_639 | [] [] [] [] [] |
- jpilot | [] [] |
- jtag | [] |
- jwhois | [] [] [] [] [] |
- kbd | [] [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | [] [] [] |
- ld | [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] [] [] |
- libgpg-error | |
- libgphoto2 | [] [] [] |
- libgphoto2_port | [] [] |
- libgsasl | [] [] |
- libiconv | [] |
- libidn | [] [] |
- lifelines | () |
- lilypond | [] |
- lingoteach | [] [] [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] [] [] [] [] [] |
- man-db | () |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] [] |
- nano_1_0 | [] [] [] [] [] |
- opcodes | [] [] [] [] |
- parted | [] [] [] [] |
- pilot-qof | |
- psmisc | [] [] [] |
- pwdutils | |
- python | |
- qof | |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] [] [] |
- sed | [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] [] |
- shared-mime-info | [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] [] |
- shishi | |
- silky | [] |
- skencil | [] [] |
- sketch | [] [] |
- solfege | [] |
- soundtracker | [] [] [] |
- sp | [] |
- stardict | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] |
- textutils | [] [] [] [] [] |
- tin | [] () |
- tp-robot | [] [] [] [] |
- tuxpaint | [] [] |
- unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux | [] [] [] [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] |
- xchat | [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- xpad | [] [] [] |
- +--------------------------------------------------+
- es et eu fa fi fr ga gl gu he hi hr hu id is it
- 89 21 16 2 41 119 61 14 1 8 1 6 61 30 0 53
-
- ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
- +--------------------------------------------------+
- GNUnet | |
- a2ps | () [] [] () |
- aegis | () |
- ant-phone | [] |
- anubis | [] [] [] |
- ap-utils | [] |
- aspell | [] [] |
- bash | [] |
- batchelor | [] [] |
- bfd | |
- bibshelf | [] |
- binutils | |
- bison | [] [] [] |
- bison-runtime | [] [] [] |
- bluez-pin | [] [] [] |
- cflow | |
- clisp | [] |
- console-tools | |
- coreutils | [] |
- cpio | |
- cpplib | [] |
- cryptonit | [] |
- darkstat | [] [] |
- dialog | [] [] |
- diffutils | [] [] [] |
- doodle | |
- e2fsprogs | [] |
- enscript | [] |
- error | [] |
- fetchmail | [] [] |
- fileutils | [] [] |
- findutils | [] |
- flex | [] [] |
- fslint | [] [] |
- gas | |
- gawk | [] [] |
- gbiff | [] |
- gcal | |
- gcc | |
- gettext-examples | [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] [] |
- gip | [] [] |
- gliv | [] |
- glunarclock | [] [] |
- gmult | [] [] |
- gnubiff | |
- gnucash | () () |
- gnucash-glossary | [] |
- gnuedu | |
- gnulib | [] [] [] [] |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-calendar | [] |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] |
- gpe-edit | [] [] |
- gpe-filemanager | [] |
- gpe-go | [] [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] |
- gpe-package | [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] [] |
- gpe-timesheet | [] |
- gpe-today | [] |
- gpe-todo | |
- gphoto2 | [] [] |
- gprof | |
- gpsdrive | () () () |
- gramadoir | () |
- grep | [] [] [] |
- gretl | |
- gsasl | [] |
- gss | |
- gst-plugins | [] |
- gst-plugins-base | |
- gst-plugins-good | [] |
- gstreamer | [] |
- gtick | [] |
- gtkam | [] |
- gtkorphan | [] |
- gtkspell | [] [] |
- gutenprint | |
- hello | [] [] [] [] [] [] [] [] |
- id-utils | [] |
- impost | |
- indent | [] [] |
- iso_3166 | [] |
- iso_3166_1 | [] [] |
- iso_3166_2 | [] |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] |
- iso_639 | [] [] |
- jpilot | () () () |
- jtag | |
- jwhois | [] |
- kbd | [] |
- keytouch | [] |
- keytouch-editor | |
- keytouch-keyboa... | |
- latrine | [] |
- ld | |
- leafpad | [] [] |
- libc | [] [] [] [] [] |
- libexif | |
- libextractor | |
- libgpewidget | [] |
- libgpg-error | |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | [] |
- libiconv | |
- libidn | [] [] |
- lifelines | [] |
- lilypond | |
- lingoteach | [] |
- lynx | [] [] |
- m4 | [] [] |
- mailutils | |
- make | [] [] [] |
- man-db | () |
- minicom | [] |
- mysecretdiary | [] |
- nano | [] [] [] |
- nano_1_0 | [] [] [] |
- opcodes | [] |
- parted | [] [] |
- pilot-qof | |
- psmisc | [] [] [] |
- pwdutils | |
- python | |
- qof | |
- radius | |
- recode | [] |
- rpm | [] [] |
- screem | [] |
- scrollkeeper | [] [] [] [] |
- sed | [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] [] [] [] |
- sharutils | [] [] |
- shishi | |
- silky | [] |
- skencil | |
- sketch | |
- solfege | |
- soundtracker | |
- sp | () |
- stardict | [] [] |
- system-tools-ba... | [] [] [] [] |
- tar | [] [] [] |
- texinfo | [] [] [] |
- textutils | [] [] [] |
- tin | |
- tp-robot | [] |
- tuxpaint | [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] |
- vorbis-tools | [] |
- wastesedge | [] |
- wdiff | [] [] |
- wget | [] [] |
- xchat | [] [] [] [] |
- xkeyboard-config | [] |
- xpad | [] [] [] |
- +--------------------------------------------------+
- ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
- 40 24 2 1 1 3 1 2 3 21 0 15 1 101 5 3
-
- nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- +------------------------------------------------------+
- GNUnet | |
- a2ps | () [] [] [] [] [] [] |
- aegis | () () |
- ant-phone | [] [] |
- anubis | [] [] [] |
- ap-utils | () |
- aspell | [] [] |
- bash | [] [] [] |
- batchelor | [] [] |
- bfd | |
- bibshelf | [] |
- binutils | [] [] |
- bison | [] [] [] [] [] |
- bison-runtime | [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] [] |
- cflow | [] |
- clisp | [] |
- console-tools | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] |
- cryptonit | [] [] |
- darkstat | [] [] [] [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] [] [] |
- fileutils | [] [] [] [] [] |
- findutils | [] [] [] [] [] [] |
- flex | [] [] [] [] [] |
- fslint | [] [] [] [] |
- gas | |
- gawk | [] [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gimp-print | [] [] |
- gip | [] [] [] [] |
- gliv | [] [] [] [] |
- glunarclock | [] [] [] [] [] [] |
- gmult | [] [] [] [] |
- gnubiff | () |
- gnucash | () [] |
- gnucash-glossary | [] [] [] |
- gnuedu | |
- gnulib | [] [] [] [] [] |
- gnunet-gtk | [] |
- gnutls | [] [] |
- gpe-aerial | [] [] [] [] [] [] [] |
- gpe-beam | [] [] [] [] [] [] [] |
- gpe-calendar | [] [] [] [] [] [] [] [] |
- gpe-clock | [] [] [] [] [] [] [] [] |
- gpe-conf | [] [] [] [] [] [] [] |
- gpe-contacts | [] [] [] [] [] |
- gpe-edit | [] [] [] [] [] [] [] [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] [] [] [] |
- gpe-login | [] [] [] [] [] [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] [] [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] [] [] [] [] [] [] |
- gpe-su | [] [] [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] [] |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] |
- gretl | [] |
- gsasl | [] [] |
- gss | [] [] [] |
- gst-plugins | [] [] [] [] |
- gst-plugins-base | [] |
- gst-plugins-good | [] [] [] [] |
- gstreamer | [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- impost | [] |
- indent | [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] |
- iso_3166_1 | [] [] [] [] |
- iso_3166_2 | |
- iso_3166_3 | [] [] [] [] |
- iso_4217 | [] [] [] [] |
- iso_639 | [] [] [] [] |
- jpilot | |
- jtag | [] |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | [] [] |
- ld | [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] [] |
- libgpewidget | [] [] [] [] [] [] [] |
- libgpg-error | [] [] |
- libgphoto2 | [] |
- libgphoto2_port | [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | |
- libidn | [] [] () |
- lifelines | [] [] |
- lilypond | |
- lingoteach | [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | [] [] [] [] |
- make | [] [] [] [] |
- man-db | [] [] |
- minicom | [] [] [] [] [] |
- mysecretdiary | [] [] [] [] |
- nano | [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] [] |
- parted | [] |
- pilot-qof | [] |
- psmisc | [] [] |
- pwdutils | [] [] |
- python | |
- qof | [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] |
- rpm | [] [] [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] |
- shared-mime-info | [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] |
- silky | [] |
- skencil | [] [] [] |
- sketch | [] [] [] |
- solfege | [] |
- soundtracker | [] [] |
- sp | |
- stardict | [] [] [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] |
- tin | () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | |
- wdiff | [] [] [] [] [] [] |
- wget | [] [] [] [] |
- xchat | [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] |
- xpad | [] [] [] |
- +------------------------------------------------------+
- nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- 0 2 3 58 31 53 5 76 72 5 42 48 12 51 130 2
-
- tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
- +---------------------------------------------------+
- GNUnet | [] | 2
- a2ps | [] [] [] | 19
- aegis | | 0
- ant-phone | [] [] | 6
- anubis | [] [] [] | 11
- ap-utils | () [] | 4
- aspell | [] [] [] | 14
- bash | [] | 11
- batchelor | [] [] | 9
- bfd | | 1
- bibshelf | [] | 7
- binutils | [] [] [] | 9
- bison | [] [] [] | 19
- bison-runtime | [] [] [] | 16
- bluez-pin | [] [] [] [] [] [] | 28
- cflow | [] [] | 4
- clisp | | 6
- console-tools | [] [] | 5
- coreutils | [] [] | 17
- cpio | [] [] [] | 9
- cpplib | [] [] [] [] | 11
- cryptonit | | 5
- darkstat | [] () () | 15
- dialog | [] [] [] [] [] | 30
- diffutils | [] [] [] [] | 28
- doodle | [] | 6
- e2fsprogs | [] [] | 10
- enscript | [] [] [] | 16
- error | [] [] [] [] | 18
- fetchmail | [] [] | 12
- fileutils | [] [] [] | 18
- findutils | [] [] [] | 17
- flex | [] [] | 15
- fslint | [] | 9
- gas | [] | 3
- gawk | [] [] | 15
- gbiff | [] | 5
- gcal | [] | 5
- gcc | [] [] [] | 6
- gettext-examples | [] [] [] [] [] [] | 26
- gettext-runtime | [] [] [] [] [] [] | 28
- gettext-tools | [] [] [] [] [] | 19
- gimp-print | [] [] | 12
- gip | [] [] | 12
- gliv | [] [] | 8
- glunarclock | [] [] [] | 15
- gmult | [] [] [] [] | 15
- gnubiff | [] | 1
- gnucash | () | 2
- gnucash-glossary | [] [] | 9
- gnuedu | [] | 2
- gnulib | [] [] [] [] [] | 28
- gnunet-gtk | | 1
- gnutls | | 2
- gpe-aerial | [] [] | 14
- gpe-beam | [] [] | 14
- gpe-calendar | [] [] [] [] | 19
- gpe-clock | [] [] [] [] | 20
- gpe-conf | [] [] | 14
- gpe-contacts | [] [] | 10
- gpe-edit | [] [] [] [] | 19
- gpe-filemanager | [] | 5
- gpe-go | [] [] | 14
- gpe-login | [] [] [] [] [] | 20
- gpe-ownerinfo | [] [] [] [] | 20
- gpe-package | [] | 5
- gpe-sketchbook | [] [] | 16
- gpe-su | [] [] [] | 19
- gpe-taskmanager | [] [] [] | 19
- gpe-timesheet | [] [] [] [] | 18
- gpe-today | [] [] [] [] [] | 20
- gpe-todo | [] | 6
- gphoto2 | [] [] [] [] | 20
- gprof | [] [] | 11
- gpsdrive | | 4
- gramadoir | [] | 7
- grep | [] [] [] [] | 33
- gretl | | 4
- gsasl | [] [] | 6
- gss | [] | 5
- gst-plugins | [] [] [] | 15
- gst-plugins-base | [] [] [] | 9
- gst-plugins-good | [] [] [] | 18
- gstreamer | [] [] [] | 17
- gtick | [] | 11
- gtkam | [] | 13
- gtkorphan | [] | 7
- gtkspell | [] [] [] [] [] [] | 26
- gutenprint | | 3
- hello | [] [] [] [] [] | 39
- id-utils | [] [] | 14
- impost | [] | 4
- indent | [] [] [] [] | 25
- iso_3166 | [] [] [] | 15
- iso_3166_1 | [] [] | 20
- iso_3166_2 | | 2
- iso_3166_3 | [] [] | 9
- iso_4217 | [] [] | 14
- iso_639 | [] | 14
- jpilot | [] [] [] [] | 7
- jtag | [] | 3
- jwhois | [] [] [] | 13
- kbd | [] [] | 12
- keytouch | [] | 4
- keytouch-editor | | 2
- keytouch-keyboa... | | 2
- latrine | [] [] | 8
- ld | [] [] [] [] | 8
- leafpad | [] [] [] [] | 23
- libc | [] [] [] | 23
- libexif | [] | 4
- libextractor | [] | 5
- libgpewidget | [] [] [] | 19
- libgpg-error | [] | 4
- libgphoto2 | [] | 8
- libgphoto2_port | [] [] [] | 11
- libgsasl | [] | 8
- libiconv | [] | 4
- libidn | [] [] | 10
- lifelines | | 4
- lilypond | | 2
- lingoteach | [] | 6
- lynx | [] [] [] | 15
- m4 | [] [] [] | 18
- mailutils | [] | 8
- make | [] [] [] | 20
- man-db | [] | 6
- minicom | [] | 14
- mysecretdiary | [] [] | 12
- nano | [] [] | 15
- nano_1_0 | [] [] [] | 18
- opcodes | [] [] | 10
- parted | [] [] [] | 10
- pilot-qof | [] | 3
- psmisc | [] | 10
- pwdutils | [] | 3
- python | | 0
- qof | [] | 2
- radius | [] | 6
- recode | [] [] [] | 25
- rpm | [] [] [] [] | 14
- screem | [] | 2
- scrollkeeper | [] [] [] [] | 26
- sed | [] [] [] | 22
- sh-utils | [] | 15
- shared-mime-info | [] [] [] [] | 23
- sharutils | [] [] [] | 23
- shishi | | 1
- silky | [] | 4
- skencil | [] | 7
- sketch | | 6
- solfege | | 2
- soundtracker | [] [] | 9
- sp | [] | 3
- stardict | [] [] [] [] | 11
- system-tools-ba... | [] [] [] [] [] [] [] | 37
- tar | [] [] [] [] | 19
- texinfo | [] [] [] | 15
- textutils | [] [] [] | 17
- tin | | 1
- tp-robot | [] [] [] | 10
- tuxpaint | [] [] [] | 16
- unicode-han-tra... | | 0
- unicode-transla... | | 2
- util-linux | [] [] [] | 20
- vorbis-tools | [] [] | 11
- wastesedge | | 1
- wdiff | [] [] | 22
- wget | [] [] [] | 19
- xchat | [] [] [] [] | 28
- xkeyboard-config | [] [] [] [] | 11
- xpad | [] [] [] | 14
- +---------------------------------------------------+
- 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
- 172 domains 0 1 1 78 39 0 135 13 1 50 3 54 0 2054
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
- If July 2006 seems to be old, you may fetch a more recent copy of
-this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
-matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-1.6 Using `gettext' in new packages
-===================================
-
-If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
diff --git a/sources/host-tools/sed-4.2.1/AUTHORS b/sources/host-tools/sed-4.2.1/AUTHORS
deleted file mode 100644
index 4474df9..0000000
--- a/sources/host-tools/sed-4.2.1/AUTHORS
+++ /dev/null
@@ -1,5 +0,0 @@
-GNU Sed was first authored by Jay Fenlason (hack@gnu.org)
-and later modified by Tom Lord (lord@gnu.org).
-
-It is currently being maintained by Ken Pizzini (ken@gnu.org)
-and Paolo Bonzini (bonzini@gnu.org).
diff --git a/sources/host-tools/sed-4.2.1/BUGS b/sources/host-tools/sed-4.2.1/BUGS
deleted file mode 100644
index 138f3cd..0000000
--- a/sources/host-tools/sed-4.2.1/BUGS
+++ /dev/null
@@ -1,133 +0,0 @@
-* ABOUT BUGS
-
-Before reporting a bug, please check the list of known bugs
-and the list of oft-reported non-bugs (below).
-
-Bugs and comments may be sent to bonzini@gnu.org; please
-include in the Subject: header the first line of the output of
-``sed --version''.
-
-Please do not send a bug report like this:
-
- [while building frobme-1.3.4]
- $ configure
- sed: file sedscr line 1: Unknown option to 's'
-
-If sed doesn't configure your favorite package, take a few extra
-minutes to identify the specific problem and make a stand-alone test
-case.
-
-A stand-alone test case includes all the data necessary to perform the
-test, and the specific invocation of sed that causes the problem. The
-smaller a stand-alone test case is, the better. A test case should
-not involve something as far removed from sed as ``try to configure
-frobme-1.3.4''. Yes, that is in principle enough information to look
-for the bug, but that is not a very practical prospect.
-
-
-
-* NON-BUGS
-
-`N' command on the last line
-
- Most versions of sed exit without printing anything when the `N'
- command is issued on the last line of a file. GNU sed instead
- prints pattern space before exiting unless of course the `-n'
- command switch has been specified. More information on the reason
- behind this choice can be found in the Info manual.
-
-
-regex syntax clashes (problems with backslashes)
-
- sed uses the Posix basic regular expression syntax. According to
- the standard, the meaning of some escape sequences is undefined in
- this syntax; notable in the case of GNU sed are `\|', `\+', `\?',
- `\`', `\'', `\<', `\>', `\b', `\B', `\w', and `\W'.
-
- As in all GNU programs that use Posix basic regular expressions, sed
- interprets these escape sequences as meta-characters. So, `x\+'
- matches one or more occurrences of `x'. `abc\|def' matches either
- `abc' or `def'.
-
- This syntax may cause problems when running scripts written for other
- seds. Some sed programs have been written with the assumption that
- `\|' and `\+' match the literal characters `|' and `+'. Such scripts
- must be modified by removing the spurious backslashes if they are to
- be used with recent versions of sed (not only GNU sed).
-
- On the other hand, some scripts use `s|abc\|def||g' to remove occurrences
- of _either_ `abc' or `def'. While this worked until sed 4.0.x, newer
- versions interpret this as removing the string `abc|def'. This is
- again undefined behavior according to POSIX, but this interpretation
- is arguably more robust: the older one, for example, required that
- the regex matcher parsed `\/' as `/' in the common case of escaping
- a slash, which is again undefined behavior; the new behavior avoids
- this, and this is good because the regex matcher is only partially
- under our control.
-
- In addition, GNU sed supports several escape characters (some of
- which are multi-character) to insert non-printable characters
- in scripts (`\a', `\c', `\d', `\o', `\r', `\t', `\v', `\x'). These
- can cause similar problems with scripts written for other seds.
-
-
--i clobbers read-only files
-
- In short, `sed d -i' will let one delete the contents of
- a read-only file, and in general the `-i' option will let
- one clobber protected files. This is not a bug, but rather a
- consequence of how the Unix filesystem works.
-
- The permissions on a file say what can happen to the data
- in that file, while the permissions on a directory say what can
- happen to the list of files in that directory. `sed -i'
- will not ever open for writing a file that is already on disk,
- rather, it will work on a temporary file that is finally renamed
- to the original name: if you rename or delete files, you're actually
- modifying the contents of the directory, so the operation depends on
- the permissions of the directory, not of the file). For this same
- reason, sed will not let one use `-i' on a writeable file in a
- read-only directory, and will break hard or symbolic links when
- `-i' is used on such a file.
-
-
-`0a' does not work (gives an error)
-
- There is no line 0. 0 is a special address that is only used to treat
- addresses like `0,/RE/' as active when the script starts: if you
- write `1,/abc/d' and the first line includes the word `abc', then
- that match would be ignored because address ranges must span at least
- two lines (barring the end of the file); but what you probably wanted is
- to delete every line up to the first one including `abc', and this
- is obtained with `0,/abc/d'.
-
-
-`[a-z]' is case insensitive
-`s/.*//' does not clear pattern space
-
- You are encountering problems with locales. POSIX mandates that `[a-z]'
- uses the current locale's collation order -- in C parlance, that means
- strcoll(3) instead of strcmp(3). Some locales have a case insensitive
- strcoll, others don't.
-
- Another problem is that [a-z] tries to use collation symbols. This
- only happens if you are on the GNU system, using GNU libc's regular
- expression matcher instead of compiling the one supplied with GNU sed.
- In a Danish locale, for example, the regular expression `^[a-z]$'
- matches the string `aa', because `aa' is a single collating symbol that
- comes after `a' and before `b'; `ll' behaves similarly in Spanish
- locales, or `ij' in Dutch locales.
-
- Another common localization-related problem happens if your input stream
- includes invalid multibyte sequences. POSIX mandates that such
- sequences are _not_ matched by `.', so that `s/.*//' will not clear
- pattern space as you would expect. In fact, there is no way to clear
- sed's buffers in the middle of the script in most multibyte locales
- (including UTF-8 locales). For this reason, GNU sed provides a `z'
- command (for `zap') as an extension.
-
- However, to work around both of these problems, which may cause bugs
- in shell scripts, you can set the LC_ALL environment variable to `C',
- or set the locale on a more fine-grained basis with the other LC_*
- environment variables.
-
diff --git a/sources/host-tools/sed-4.2.1/COPYING b/sources/host-tools/sed-4.2.1/COPYING
deleted file mode 100644
index 4432540..0000000
--- a/sources/host-tools/sed-4.2.1/COPYING
+++ /dev/null
@@ -1,676 +0,0 @@
-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
diff --git a/sources/host-tools/sed-4.2.1/COPYING.DOC b/sources/host-tools/sed-4.2.1/COPYING.DOC
deleted file mode 100644
index 2f7e03c..0000000
--- a/sources/host-tools/sed-4.2.1/COPYING.DOC
+++ /dev/null
@@ -1,451 +0,0 @@
-
- GNU Free Documentation License
- Version 1.3, 3 November 2008
-
-
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The "Document", below,
-refers to any such manual or work. Any member of the public is a
-licensee, and is addressed as "you". You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject. (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License. If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant. The Document may contain zero
-Invariant Sections. If the Document does not identify any Invariant
-Sections then there are none.
-
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License. A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text. A copy that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-The "publisher" means any person or entity that distributes copies of
-the Document to the public.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".) To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no
-other conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to
-give them a chance to provide you with an updated version of the
-Document.
-
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled "History" in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the "History" section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements". Such a section
- may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
- or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications". You must delete all sections
-Entitled "Endorsements".
-
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other
-documents released under this License, and replace the individual
-copies of this License in the various documents with a single copy
-that is included in the collection, provided that you follow the rules
-of this License for verbatim copying of each of the documents in all
-other respects.
-
-You may extract a single document from such a collection, and
-distribute it individually under this License, provided you insert a
-copy of this License into the extracted document, and follow this
-License in all other respects regarding verbatim copying of that
-document.
-
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers. In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions of the
-GNU Free Documentation License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in
-detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation. If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
-11. RELICENSING
-
-"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works. A
-public wiki that anybody can edit is an example of such a server. A
-"Massive Multiauthor Collaboration" (or "MMC") contained in the site
-means any set of copyrightable works thus published on the MMC site.
-
-"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-"Incorporate" means to publish or republish a Document, in whole or in
-part, as part of another Document.
-
-An MMC is "eligible for relicensing" if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole or
-in part into the MMC, (1) had no cover texts or invariant sections, and
-(2) were thus incorporated prior to November 1, 2008.
-
-The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
-
-ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
- Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
diff --git a/sources/host-tools/sed-4.2.1/ChangeLog b/sources/host-tools/sed-4.2.1/ChangeLog
deleted file mode 100644
index dcfb5f5..0000000
--- a/sources/host-tools/sed-4.2.1/ChangeLog
+++ /dev/null
@@ -1,3185 +0,0 @@
-2009-06-27 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Bump version.
- * NEWS: Bump version.
- * gnulib: Update.
- * doc/sed.1: Regenerate.
-
-2009-06-25 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf: Add selinux-h.
- * execute.c: Copy over file creation context before creating a new file.
-
-2009-06-25 Paolo Bonzini <bonzini@gnu.org>
-
- * execute.c: Do not copy ACLs until the file is copied.
- * utils.c (ck_mkstemp): Set a restrictive umask on temporary files.
-
-2009-06-26 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot: Do not use GIT_CONFIG_LOCAL.
-
-2009-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf: Add memchr again.
- * gnulib: Update.
-
-2009-06-11 Sergey Farbotka <z8sergey8z@gmail.com> (tiny change)
-
- * sed/execute.c (open_next_file): Fix off-by-one causing problems
- under Cygwin.
-
-2009-05-11 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (snarf_char_class): Fix logic bug with [[[ in regular
- expressions (and a possibly uninitialized use of variable delim stemming
- from the bug). Uninitialized variable bug reported by Zhongxing Xu.
- * testsuite/brackets.good: New.
- * testsuite/brackets.inp: New.
- * testsuite/brackets.sed: New.
- * testsuite/Makefile.am: Add test.
- * testsuite/Makefile.tests: Add test.
-
-2009-05-11 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Define COPYRIGHT_YEAR.
- * Makefile.am (dist-hook): Test it.
- * sed/mbcs.c: Fix copyright years.
- * sed/sed.c: Fix copyright years. Change COPYRIGHT_NOTICE to
- COPYRIGHT_YEAR.
- * sed/utils.c: Fix copyright years.
- * testsuite/version.gin: Use COPYRIGHT_YEAR.
-
-2009-04-30 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: Declare bool arguments as int instead to please AIX XLC.
- * sed/execute.c: Declare bool arguments as int instead to please AIX XLC.
- * sed/utils.c: Declare bool arguments as int instead to please AIX XLC.
- * sed/utils.h: Declare bool arguments as int instead to please AIX XLC.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Bump version number.
- * configure: Regenerate.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Do not create homonymous links from builddir to srcdir.
- * testsuite/Makefile.tests: Create readin.in2 here.
- * testsuite/Makefile.am: Do not distribute it.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf: Add rename.
- * gnulib: Update.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: XFAIL UTF-8 tests where appropriate.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.tests: Handle CRLF endings for mingw.
-
-2009-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Link readin.in2 into builddir.
- * configure: Regenerate.
- * doc/Makefile.am: Do not distribute sed.html. Do not update
- sed.texi if the output does not change.
- * sed/Makefile.am: Order libraries according to their dependencies.
- * sed/compile.c (get_openfile): Declare FAIL as int.
- * sed/sed.c: Avoid printf ("") if REG_PERL is not defined.
- * testsuite/eval.in2: Do not include in the repository.
- * testsuite/Makefile.am: Clean always eval.in2 and never readin.in2.
- * testsuite/Makefile.tests: Provide a default empty definition of TIME
- and remove rules for readin.in2.
-
-2009-03-31 Paolo Bonzini <bonzini@gnu.org>
-
- * bootstrap.sh.in: Add __bool_true_false_are_defined.
- * bootstrap.sh: Regenerate.
- * basicdefs.h: Do not provide bool definitions for BOOTSTRAP at all.
-
-2009-03-31 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.c (contact): New.
- (usage): From here.
- (main): Use it for `sed --version' too.
-
- * configure.ac: Point to GNU project mailing lists.
- * sed/sed.c (contact): Use PACKAGE_BUGREPORT.
- * testsuite/version.gin: Likewise.
- * testsuite/version.good: Regenerate.
- * doc/sed.1: Regenerate.
-
- * bootstrap.sh.in (PACKAGE_BUGREPORT): New.
- * bootstrap.sh: Regenerate.
-
-2009-03-31 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.am: Distribute utf8-3 and utf8-4 test files.
-
-2009-02-17 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.tests: Rewrite rule for utf8-[1234].
- Reported by Ralf Wildenhues.
-
-2009-02-17 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.c (usage): Print homepage URL.
- * testsuite/version.gin: Update.
-
-2009-01-28 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.c (usage): Only print the bug report address for `sed --help'.
- (main): Print it for `sed --version' too.
- * testsuite/version.gin: Adapt.
- * testsuite/Makefile.tests: Refine help message test.
-
-2009-01-23 Paolo Bonzini <bonzini@gnu.org>
- Hideo AOKI <hideo.aoki.tk@hitachi.com>
-
- * sed/compile.c (match_slash): Fix MBCS behavior.
- * sed/sed.h (MBSINIT): New.
-
-2009-01-20 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf, bootstrap.sh.in: Remove memchr, memcmp, memmove
- compatibility code.
- * gnulib: Update.
-
-2009-01-09 Paolo Bonzini <bonzini@gnu.org>
-
- * tests/SPENCER.tests: Add testcases for glibc bugzilla 697.
- * gnulib: Update.
-
-2009-01-05 Paolo Bonzini <bonzini@gnu.org>
-
- * execute.c (read_pattern_space): Reset hold space at end-of-file
- if input->reset_at_next_file.
-
-2008-12-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Let --posix turn off more GNU extensions.
- * sed/compile.c (mark_subst_opts): Turn off subst options i, I,
- s, S, x, X, m, and M in --posix mode.
- (compile_address): Disallow address modifiers, `FIRST~STEP',
- `ADDR1,+N', and `ADDR1,~N' in --posix mode.
- (compile_program): In --posix mode, do not accept e or z commands;
- do not accept text between an a, c, or i command and the following
- backslash; do not accept an argument to the l command.
-
-2008-12-22 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf: Request modules emulating mb functions.
- * configure.ac: Do not look for mb functions here.
-
-2008-10-03 Paolo Bonzini <bonzini@gnu.org>
- Jim Meyering <meyering@redhat.com>
-
- * autoboot.conf: Add localcharset.
- * Makefile.am: Remove intl subdir. Require Automake 1.10.
- * configure.ac: Remove useless macros, switch to external gettext.
- * lib/Makefile.am: Remove intl subdir from CPPFLAGS.
- * sed/Makefile.am: Remove intl subdir from CPPFLAGS.
-
-2008-10-02 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot: Sync with gnulib's build-aux/bootstrap.
-
-2008-09-29 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot: Sync with gnulib's build-aux/bootstrap.
-
-2008-09-29 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.am: Add the utf8-{1,2,3,4} tests.
- * testsuite/Makefile.tests: Add the utf8-{1,2,3,4} tests.
- * testsuite/runtest: Support skipping tests.
- * testsuite/utf8-1.good: New.
- * testsuite/utf8-1.inp: New.
- * testsuite/utf8-1.sed: New.
- * testsuite/utf8-2.good: New.
- * testsuite/utf8-2.inp: New.
- * testsuite/utf8-2.sed: New.
- * testsuite/utf8-3.good: New.
- * testsuite/utf8-3.inp: New.
- * testsuite/utf8-3.sed: New.
- * testsuite/utf8-4.good: New.
- * testsuite/utf8-4.inp: New.
- * testsuite/utf8-4.sed: New.
-
-2008-09-29 Paolo Bonzini <bonzini@gnu.org>
-
- * BUGS: Document s/.*.// behavior with invalid multibyte sequences.
- * NEWS: Document `z' extension.
- * doc/sed-in.texi: Document both things.
- * sed/compile.c (compile_program): Recognize `z'.
- * sed/execute.c (execute_program): Execute `z'.
- * testsuite/Makefile.am: Add badenc test.
- * testsuite/Makefile.tests: Add badenc test.
- * testsuite/badenc.good: New.
- * testsuite/badenc.inp: New.
- * testsuite/badenc.sed: New.
-
-2008-09-28 Paolo Bonzini <bonzini@gnu.org>
-
- * basicdefs.h: Replace alloca cruft with alloca.h.
- * bootstrap.sh.in: Update for new gnulib.
- * bootstrap.sh: Update for new gnulib.
- * configure.ac: Move gnulib macros earlier.
- * sed/execute.c: Do not include acl.h when bootstrapping.
-
-2008-08-27 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (closedown): Close the input file!
-
-2008-08-20 Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac: Add gl_DISABLE_THREADS.
-
-2008-08-20 Ralf Wildenhues <ralf.wildenhues@gmx.de
-
- * doc/sed-in.texi: Drop leading whitespace where appropriate,
- do not use TABs.
- * doc/sed.texi: Regnerate.
-
-2008-08-19 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: Do not include strverscmp.c.
-
-2008-07-21 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/sed-in.texi: Remove northpark.edu address for sed FAQ.
- * doc/sed.texi: Regenerate.
-
-2008-07-10 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/sed-in.texi: Make the description of ^ and $ more precise.
- * doc/sed.texi: Regenerate.
-
-2008-06-04 Vladimir Marek <vladimir.marek@sun.com>
-
- * basicdefs.h: Don't hardcode usage of prototypes on SunStudio.
-
-2008-05-15 Paolo Bonzini <bonzini@gnu.org>
-
- * autoboot.conf: Update for newer gnulib.
-
-2008-05-15 Paolo Bonzini <bonzini@gnu.org>
-
- * bootstrap.sh.in: Define bool, true, false. Reported by
- Jason Stover. Adjust for gnulib changes.
- * bootstrap.sh: Regenerate.
-
-2008-04-24 Paul Eggert <eggert@twinsun.com>
-
- * sed/compile.c (match_slash): Treat 's&foo&\&&' compatibly with
- traditional 'sed'.
- * testsuite/bsd.sh: Add test case for this.
- * testsuite/bsd.good: Add test case output.
-
-2008-04-24 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (setup_replacement): Fix bug with \& in POSIX mode.
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * sed/execute.c (open_next_file, get_backup_file_name): Avoid
- warnings from gcc.
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * sed/compile.c (snarf_char_class): Reverse order of conjuncts
- so that "delim" is not used uninitialized.
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * sed/utils.c (panic): Remove declaration of unused local, "fd".
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * sed/execute.c (open_next_file, get_backup_file_name): Avoid
- warnings from gcc. Avoid shadowing global "pipe".
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * autoboot.conf (gnulib_modules): Add stat-macros and pathmax.
-
-2007-10-25 Paolo Bonzini <bonzini@gnu.org>
- Mike Frysinger <vapier@gentoo.org>
-
- * doc/sed.x (q, Q): Document argument.
- * configure.ac: Remove texi2html checks.
- * doc/Makefile.am: Remove rules for sed.html, always distribute it.
-
-2007-08-14 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (open_next_file): Follow symlink here...
- (closedown): ... not here.
-
-2007-06-29 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/mbcs.c: Upgrade to GPLv3.
- * sed/regexp.c: Upgrade to GPLv3.
- * sed/sed.c: Upgrade to GPLv3.
- * sed/sed.h: Upgrade to GPLv3.
- * sed/utils.c: Upgrade to GPLv3.
- * sed/utils.h: Upgrade to GPLv3.
- * sed/compile.c: Upgrade to GPLv3.
- * sed/execute.c: Upgrade to GPLv3.
- * sed/fmt.c: Upgrade to GPLv3.
-
-2007-03-01 Masatake YAMATO <jet@gyve.org> (tiny change)
-
- * sed/compile.c (compile_program): Accept 0,/REGEXP/ address
- specification only if --posix is not specified.
-
-2007-02-05 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/bug-regex27.c, testsuite/bug-regex28.c: New, from
- glibc (written by Jakub Jelinek).
-
-2007-01-26 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (check_final_program): Don't set text if the
- pending_text is initialized but empty.
- * sed/execute.c (output_line): Don't print text if it is NULL.
- * testsuite/Makefile.am (TESTS): Add insert.
- * testsuite/Makefile.tests (insert): New.
- * testsuite/insert.good, testsuite/insert.sed, testsuite/insert.inp: New
- testcase from Jonas Koelker.
-
-2006-12-29 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: Fix warnings.
- * sed/execute.c: Fix warnings.
-
-2006-12-22 Bruno Haible <bruno@clisp.org>
-
- * sed/utils.c: Include pathmax.
- * sed/mbcs.c: Use local_charset.
- * sed/execute.c: Copy with padding after the mbstate_t member.
-
-2006-12-21 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/mbcs.c: Include string.h (reported by Henning Nielsen Lund).
- * sed/fmt.c: Likewise.
- * sed/regexp.c: Likewise.
-
-2006-12-18 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (closedown): Remove dead code.
-
-2006-12-17 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/utils.c: Include limits.h.
-
-2006-12-16 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/sed-in.texi: Document --follow-symlinks.
-
-2006-12-15 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regexp.c: Disable all extensions on --posix.
-
-2006-09-24 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c: Support ACLs.
- * lib/utils.c: Move...
- * sed/utils.c: ... here, and remove xmalloc.
-
-2006-08-21 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regexp.c: Accept NUL bytes for `.'. Accept 'a\(b' in
- POSIXLY_CORRECT/POSIXLY_BASIC posixicity.
-
-2006-08-03 Paolo Bonzini <bonzini@gnu.org>
-
- Revert this part of the previous change:
-
- 2006-08-03 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (get_openfile): Change second argument to char
- and turn it into a string within the function. Adjust callers.
-
-2006-08-03 Paolo Bonzini <bonzini@gnu.org>
- Corinna Vinschen <vinschen@redhat.com>
-
- * lib/getline.c (getline): Remove Windows special casing.
- * lib/utils.c (register_open_file, ck_fdopen): New.
- (ck_fopen, ck_mkstemp): Use register_open_file.
- * lib/utils.h (ck_fdopen): New.
- * sed/execute.c (open_next_file): Reopen stdin.
- * sed/sed.h (read_mode): New.
- * sed/sed.c (read_mode): New.
- (main): Set it on --binary.
- (usage): Document --binary.
- * sed/compile.c (get_openfile): Change second argument to char
- and turn it into a string within the function. Adjust callers.
- * sed/execute.c (dump_append_queue, open_next_file): Use it
- as mode for ck_fopen.
-
-2006-08-03 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (str_append): Use is_utf8 to skip useless work.
- * sed/mbcs.c (initialize_mbcs): Look for a UTF-8 locale.
- (is_utf8): New.
- * sed/sed.h (is_utf8): New.
-
-2006-07-13 Paolo Bonzini <bonzini@gnu.org>
-
- * bootstrap.sh.in: Add a few autoconfy tests.
- * Makefile.am: Update distributed bootstrap.sh.
-
-2006-05-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de>
-
- * sed/basicdefs.h (OB_MALLOC): Turn VCAST into void * cast.
-
-2006-02-03 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (compile_program) <case 'y'>: Pass false to match_slash.
-
-2005-09-07 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/regcomp.c: Update from upstream.
- * lib/regex.c: Update from upstream.
- * lib/regex_.h: Update from upstream.
- * lib/regex_internal.c: Update from upstream.
- * lib/regex_internal.h: Update from upstream.
- * lib/regexec.c: Update from upstream.
-
-2005-08-30 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (reset_addresses): Never activate ADDR_IS_NUM_MOD
- addresses.
- * testsuite/modulo.good, testsuite/modulo.inp, testsuite/modulo.sed:
- New.
- * testsuite/Makefile.tests: Add new testcase.
- * testsuite/Makefile.am: Add new testcase.
- * testsuite/Makefile.in: Regenerate.
-
-2005-05-18 Maciej W. Rozycki <macro@linux-mips.org>
-
- * configure.ac: Use a cache variable for the libcP test.
- * configure: Regenerate.
-
-2005-05-16 Eero Hakkinen <eero17@bigfoot.com>
-
- * sed/compile.c (snarf_char_class): Fix handling of
- [^]xyz].
-
-2005-04-04 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (process_files): Do not add a default
- command-line in in-place editing mode.
-
-2005-02-10 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.tests: Add new testcase.
- * testsuite/Makefile.am: Add new testcase.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/appquit.good, testsuite/appquit.inp,
- testsuite/appquit.sed: New testcase.
- * testsuite/readin.sed: Quit after the last r command.
- * testsuite/readin.good: Adjust.
- * sed/execute.c (execute_program): Dump the results of the
- a/r/R commands just before quitting.
-
-2005-02-10 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regexp.c: Fix off-by-one error in the "invalid reference
- to subexpression" message. Debian bug 294339.
-
-2005-02-08 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/obstack.h: include config.h.
-
-2005-02-01 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/Makefile.am: Don't enable MAKEINFO_HTML and TEXI2HTML_HTML
- rules unless BUILD_HTML.
-
-2005-01-25 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regexp.c: Fix building on GCC 2.95 and earlier.
-
-2004-12-26 Paolo Bonzini <bonzini@gnu.org>
-
- Do not use leftmost-longest matching for addresses.
-
- * NEWS: Add a note about this.
- * testsuite/recall2.good, testsuite/recall2.inp,
- testsuite/recall2.sed: New test.
- * testsuite/Makefile.am, testsuite/Makefile.tests: Add the
- recall2 test.
- * sed/sed.h (struct regex): New.
- (struct addr, struct subst, compile_regex, match_regex,
- release_regex): Use it instead of regex_t.
- * sed/compile.c (compile_program): Update for new meaning of
- the third parameter of compile_regex.
- * sed/execute.c (do_subst): Pass less conservative value to
- the regsize parameter of match_regex.
- * sed/regexp.c (compile_regex_1): New, extracted out of
- compile_regex. The third parameter, needed_sub, now includes
- \0 (so 10 means that \0 .. \9 are needed). Pass RE_NO_SUB
- if needed_sub is zero.
- (compile_regex): Accept a struct regex instead of a regex_t.
- Save the regular expression's text.
- (match_regex): Accept a struct regex instead of a regex_t.
- Recompile the pattern if it was compiled with RE_NO_SUB.
- (release_regex): Accept a struct regex instead of a regex_t.
-
- * doc/Makefile.am: Generate sed.texi correctly when
- building outside srcdir.
-
-2004-12-26 Paolo Bonzini <bonzini@gnu.org>
-
- * BUGS: Add section about [a-z] matching uppercase characters,
- and other locale issues.
- * doc/sed-in.texi [!PERL]: Likewise.
-
-2004-11-15 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (str_append_modified): Copy the first character
- when using \l or \u in a multi-byte configuration. Use
- WCRTOMB instead of wcrtomb.
- * sed/sed.h (WCRTOMB): New.
-
-2004-11-11 Paolo Bonzini <bonzini@gnu.org>
-
- * tst-rxspecer.c: Do not mix instructions and
- declarations.
- * basicdefs.h: Include locale.h before #defining
- gettext, to avoid breakage under Solaris.
- * sed/sed.c: do not include locale.h.
-
-2004-11-03 Paolo Bonzini <bonzini@gnu.org>
-
- * bug-regex11.c: Improve portability.
- * bug-regex12.c: Improve portability.
- * bug-regex13.c: Improve portability.
- * bug-regex14.c: Improve portability.
- * bug-regex21.c: Improve portability.
- * bug-regex9.c: Improve portability.
- * tst-boost.c: Improve portability.
- * tst-pcre.c: Improve portability.
- * tst-regex.c: Improve portability.
- * tst-rxspencer.c: Improve portability.
-
-2004-10-08 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/utils.c (utils_id_s): Renamed to open_files.
- (struct id): Renamed to struct open_file.
-
-2004-10-08 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/Makefile.tests (bug-regex*, run-tests,
- run-ptests): Use $(SED).
- (version): Likewise; prepend $(SED) invocation with $(SEDENV).
-
-2004-08-16 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.1.2 released.
-
-2004-08-06 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (bad_command): Fix off-by-one error.
- (snarf_char_class): Fix problem with [.....[] (i.e.
- last char in class is a bracket.
-
-2004-06-30 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.1.1 released.
-
-2004-06-29 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (mark_subst_opts): Return int.
- * sed/execute.c (open_next_file): Fix uninitialized
- variable.
-
-2004-06-10 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.1 released.
-
-2004-03-25 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/obstack.h: Get current version.
-
-2004-03-13 Paolo Bonzini <bonzini@gnu.org>
-
- Exit as soon as possible on an I/O error, and with
- a better error message.
-
- * lib/utils.c (ck_mkstemp, ck_rename, ck_getline): New
- functions. Save temporary files into utils_id_s.
- (struct id): Add a field named temp.
- (ck_fopen): Init the new temp field of struct id.
- (panic): Unlink temporary files before exiting.
- * sed/execute.c (read_file_line): Use ck_getline.
- (closedown): Use ck_rename.
- (open_next_file): Use ck_mkstemp.
-
-2004-01-20 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h (enum addr_state): New definition.
- (enum addr_type): Remove ADDR_IS_NUM2.
- (struct sed_cmd): Replace a1_matched with range_state.
- * sed/compile.c (next_cmd_entry): Use range_state.
- (compile_program): Death to ADDR_IS_NUM2. Compile
- N,Mp as Np if N>=M.
- * sed/execute.c (match_address_p): Rewritten. Handle
- ADDR_IS_NUM here.
- (match_an_address_p): Suit to new match_address_p.
- (execute_program): Adjust to use range_state in `c'.
- Handle addr_bang here.
- (reset_addresses): Use range_state.
-
- (struct input): New field "reset_at_next_file".
- (read_pattern_space): Use it instead of "separate_files".
- (process_files): Initialize it.
-
-2004-01-17 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h: Do not include wchar.h and wctype.h, and do
- not include the alloca stuff.
- * basicdefs.h: Move all that here.
-
-2004-01-15 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regexp.c [REG_PERL]: Use REG_STARTEND instead of regexec2.
-
-2004-01-09 Paul Eggert <eggert@twinsun.com>
- Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h (posixicity): New variable, replaces POSIXLY_CORRECT.
- * sed/sed.c (main): Set it.
- * sed/compile.c: Use it instead of POSIXLY_CORRECT.
- * sed/execute.c: Use it instead of POSIXLY_CORRECT.
- * doc/sed-in.texi: Document it and --posix.
-
-2004-01-05 Paul Eggert <eggert@twinsun.com>
- Paolo Bonzini <bonzini@gnu.org>
-
- * NEWS: Fix [\n] to match either backslash or n in POSIXLY_CORRECT mode.
- * doc/sed-in.texi: Document this. Also, document regular expressions
- a bit better overall, using terminology that's more similar to POSIX.
- * sed/sed.h (enum text_types): New definition.
- * sed/compile.c (normalize_text): Replace final parameter with one of
- type normalize_text. If TEXT_REGEX and in POSIXLY_CORRECT mode,
- grok character classes without replacing \n inside them.
-
-2004-01-03 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (execute_program): print final line
- after executing N, if not POSIXLY_CORRECT.
-
-2003-12-28 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: fix "\\\n" in RHS of s command.
- Reported by Mike Castle.
- * testsuite/bkslashes.inp, testsuite/bkslashes.good,
- testsuite/bkslashes.sed: New files.
- * testsuite/Makefile.am, testsuite/Makefile.tests: Add
- the bkslashes test.
-
-2003-12-16 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0b released.
-
- * sed/mbcs.c: New file.
- * sed/sed.h: Declare macros for mbcs.c.
- * sed/compile.c: Use them.
- (brlen): Moved to mbcs.c.
- * sed/execute.c: Use them.
- * sed/sed.c: call initialize_mbcs ().
-
-2003-12-14 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regex.c (match_regex): fix memory leak.
-
-2003-11-27 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (reset_addresses): leave addresses 0
- and 0~STEP enabled.
-
-2003-11-15 Jakub Jelinek <jakub@redhat.com>
-
- * sed/regex.c: Use fastmap.
-
-2003-09-21 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0a released.
-
- * sed/execute.c (struct line): Add mbstate field.
- (str_append): Keep mbstate up to date.
- (str_append_modified): Likewise, and use towupper/towlower.
- (line_init): Initialize mbstate.
- (line_copy): Copy mbstate.
- (line_append): Copy mbstate.
-
-2003-07-15 Stepan Kasal <kasal@ucw.cz>
- Paolo Bonzini <bonzini@fnu.org>
-
- Change the way we treat lines which are not terminated by a newline.
- Such lines are printed without the terminating newline (as before)
- but as soon as more text is sent to the same output stream, the
- missing newline is printed, so that the two lines don't concatenate.
-
- * sed/execute.c (output_file): Is now struct output; users adjusted
- to access the fp field, call output_missing_newline before, and
- call flush_output afterwards.
- (read_file_line): Set line.chomped FALSE each time we encounter a
- line without the newline terminator, no matter whether this is the
- last input file or not, and no matter whether we are in
- POSIXLY_CORRECT mode or not.
- (output_missing_newline): New function which prints the suppressed
- newline, if necessary.
- (flush_output): New function for a common pattern.
- (output_line): Use struct output, set its flag accordingly.
- (dump_append_queue): Use `ck_fwrite' instead of output_line.
- (do_list): Flush the output stream at the end.
- (closedown): The code ``if(separate_files) rewind_read_files();''
- (read_pattern_space): ... has been moved here.
- (process_files): Don't do the default `p' at the end, ...
- (execute_program): ... as this function is now responsible for it;
- add the code to the end of the function and to the command `q';
- the commands `d', `D' and `Q' thus no longer have to forge an empty
- line.
- (execute_program): Commands `c' and `i' no longer call the
- function output_line with chomped==FALSE; instead, they chomp
- the text and call the function with chomped==TRUE.
- (execute_program): Command `e' no longer uses output_line; it
- calls ck_fwrite directly. Commands `e', `L' and `=' flush
- the output stream at the end.
- * sed/compile.c (special_files): Use `struct output' instead of the
- file name.
- (get_openfile): ... special files are no longer copied to file_read
- or file_write.
- (fp_list): Move to sed.h (users adjusted) and rename as...
- * sed/sed.h (struct output): ...this. New flag missing_newline
- associated to the output stream.
- (struct sed_cmd, struct subst): Use `struct output *' instead of mere
- `FILE *'; adjust compile.c and execute.c.
- * testsuite/noeolw.sed, testsuite/noeolw.good, testsuite/noeolw.1good,
- testsuite/noeolw.2good: New tests
-
-2003-07-15 Stepan Kasal <kasal@ucw.cz>
-
- * lib/utils.h, sed/sed.h: #include "basicdefs.h",
- don't include it from various *.c files.
- * sed/regex.c: Don't include regex.h as it's included via sed.h.
-
-2003-06-11 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/getline.c: Don't realloc with first param = NULL.
-
-2003-05-07 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c: Make treatment of ADDR_IS_NUM_MOD
- simpler, and fix bugs in 0~5,+1
- * sed/compile.c: Complain about addresses like 0
- and 0,3 which are sources of misunderstandings.
- Reported by Akim Demaille <akim@epita.fr>
-
-2003-03-25 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.7 released
-
- * sed/execute.c (append_replacement): Extract from
- do_subst
- (do_subst): Don't update count when a match was
- skipped.
- * testsuite/xbxcx3.good, testsuite/xbxcx3.sed,
- testsuite/xbxcx3.inp: Regression tests
-
-2003-03-23 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (do_subst): Fix several bugs with
- numbered matches
- * testsuite/numsub2.good, testsuite/numsub2.inp,
- testsuite/numsub2.sed, testsuite/numsub3.good,
- testsuite/numsub3.inp, testsuite/numsub3.sed,
- testsuite/numsub4.good, testsuite/numsub4.inp,
- testsuite/numsub4.sed, testsuite/numsub5.good,
- testsuite/numsub5.inp, testsuite/numsub5.sed:
- regression tests for the bugs
-
-2003-03-15 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.6 released
-
- * lib/mkstemp.c: Include sys/file.h if available for the
- benefit of Ultrix
-
-2003-03-14 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: Replace flagT with bool
- * sed/execute.c: Replace flagT with bool
- * sed/fmt.c: Replace flagT with bool
- * sed/sed.c: Replace flagT with bool
- * sed/regex.c: Replace flagT with bool
-
-2003-03-13 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (compile_program): Understand parameter
- of `v'.
-
- * sed/sed.c (usage): Split help message into multiple
- strings
- (main): Don't understand -h and -V
-
-2003-03-12 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (match_slash, snarf_char_class): More
- multibyte character support
- (brlen): New function
- * testsuite/classes.good, testsuite/classes.inp,
- testsuite/classes.sed: New files
-
-2003-03-10 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (match_slash): Strip the \ in front of
- slashes (so that the matcher sees x/ for s/x\///). Don't
- match / and [ unless at the start of a character.
-
-2003-02-18 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/regex.c (compile_regex): // matches the last regular
- expression even in POSIXLY_CORRECT mode.
- * sed/compile.c (normalize_text): Treat multibyte character
- sets correctly
- (read_text): Don't swallow backslash sequences, run text
- through normalize_text
- (compile_program): Ditto for y command
-
- * sed/compile.c (normalize_text): Add parameter that says
- whether the text will be processed further to remove more
- backslash escapes. Callers adjusted
- (match_slash): Remove same parameter from here. Callers adjusted.
-
-2003-02-15 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h: Fix prototype for match_regex, declare re_registers
- if REG_PERL
- * sed/execute.c (do_subst): Use re_registers
- * sed/regex.c (copy_regs): New function
- [REG_PERL]: Use re_registers
- [!REG_PERL]: Avoid using internal entry points, support pre-glibc
- 2.3 regex for the sake of --without-included-regex.
-
-2003-01-04 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h: Move some stuff from here...
- * sed/basicdefs.h: ...to here
- * lib/utils.c (ck_fopen): Add FAIL parameter
- * lib/utils.h: Adjust parameter
- * sed/compile.c, sed/execute.c, sed/sed.c: Adjust callers
-
- * sed/basicdefs.h: Add TRUE/FALSE
- * sed/compile.c, sed/execute.c, sed/sed.c: Use them
- * sed/fmt.c: Do not redefine them
-
-2003-01-02 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.c: Bump copyright year
-
-2002-12-24 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.c: Use bindtextdomain
- * sed/basicdefs.h [__EMX__]: Define initialize_main
- * lib/getline.c [__EMX__]: Strip trailing CR
-
- * sed/regex.c: Don't use N_ on the lines that define
- error messages, some compilers complain.
-
-2002-12-18 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.5 released
-
- * sed/compile.c: Don't use N_ on the lines that define
- error messages, some compilers complain.
-
-2002-12-16 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c: Improvements to some error messages;
- `a', `i', `l', `L', `r' accept two addresses except in
- POSIXLY_CORRECT mode.
-
-2002-12-14 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/regex_internal.c: Fix problem on non-glibc
- systems, from Jakub Jelinek
- * lib/regex.c (RE_ENABLE_I18N): Conditionalize on
- HAVE_MBRTOWC and HAVE_WCRTOMB.
- * lib/getline.c: Fix compilation on non-glibc system
- * lib/snprintf.c: Fix compilation on non-glibc system
- * lib/basicdefs.h [P_]: Make more portable
-
-2002-12-12 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.4 released
-
-2002-11-21 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.3 released
-
-2002-11-19 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.2 released
-
-2002-11-05 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0.1 released
-
-2002-10-23 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 4.0 released
-
-2002-10-28 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/utils.c: Don't fail for EBADF in fflush
- * src/sed.c: the_program is now a global
-
-2002-10-19 Paolo Bonzini <bonzini@gnu.org>
-
- * src/sed.c: Print GNU sed in --version for GNU sed,
- and super-sed for super-sed (thanks to Bruno Haible)
-
-2002-10-17 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 3.96 released
-
-2002-10-16 Isamu Hasegawa <isamu@yamato.ibm.com>
-
- * src/execute.c (execute_program): Multibyte 'y'
- * src/compile.c (compile_program): Likewise
- * src/sed.h: Likewise
-
-2002-10-08 Paolo Bonzini <bonzini@gnu.org>
-
- *** Version 3.95 released
-
-2002-07-15 Paolo Bonzini <bonzini@gnu.org>
-
- * src/sed.h: rfile --> fname, wfile --> fp
- * src/compile.c (compile_command): Parse 'R' like 'w', use
- separate lists for file read and file write
- * src/compile.c (get_openfile): New name of get_writefile
- * src/compile.c (rewind_read_files): New function
- * src/sed.h: Declared here
- * src/execute.c (closedown): And called here
- * src/execute.c (append_queue): Added 'free' field
- * src/execute.c (execute_program): Implement 'R'
-
-2002-06-09 Paolo Bonzini <bonzini@gnu.org>
-
- * src/execute.c (do_subst): Replaced flag was set on every
- regexp match, while the first matches should not set it
- for s///N.
-
-2002-06-08 Paolo Bonzini <bonzini@gnu.org>
-
- * src/compile.c (compile_file): Open the script in text mode
- * lib/utils.c (utils_fp_name): Shorten the output
- * lib/utils.c (ck_fread, ck_fwrite, ck_fflush): Clearerr
- after printing an error.
- * lib/utils.c (ck_fclose): Work on stdout as well if stream == NULL
- and flush before closing to check for errors
-
-2002-05-30 Paolo Bonzini <bonzini@gnu.org>
-
- * src/compile.c (compile_program): Implement W
- * src/execute.c (execute_program): Likewise
-
-2002-04-23 Paolo Bonzini <bonzini@gnu.org>
-
- * src/sed.c (usage, main): Parse -s
- * src/sed.h (separate_files): New variable
- * src/execute.c (separate_files): New variable
- * src/execute.c (reset_addresses): New function to make range
- addresses work separately on each file when using in-place
- editing
- * src/execute.c (execute_program): The `n' and `N' use test_eof
- so that the script restarts at end of file, not at end of input
- * src/execute.c (test_dollar_EOF): Make $ work separately
- on each file when using -s; renamed to test_eof
-
-2002-02-28 Paolo Bonzini <bonzini@gnu.org>
-
- * src/sed.h (struct sed_cmd): exit_status -> int_arg
- * src/compile.c: Likewise
- * src/execute.c: Likewise
-
- * src/compile.c (compile_command): Parse `l' like
- `q' and `Q'; default for int_arg is -1
- * src/execute.c (do_list): New argument, used instead
- of lcmd_out_line_len
- (execute_program): Interpret int_arg for the `l' command;
- return 0 for `q' and `Q' if int_arg is -1
-
- * src/fmt.c: New file, looted from GNU textutils
- * src/compile.c: Parse `L'
- * src/execute.c: Execute `L'
-
-2002-02-14 Paolo Bonzini <bonzini@gnu.org>
-
- * src/execute.c (str_append_modified): Fixed a stupid
- bug (stop condition was *start == *end, meant to be
- start == end)
-
-2002-02-05 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/utils.c: Added directory parameter to
- temp_file_template
- * lib/utils.h: Adjusted
- * src/execute.c: Adjusted
-
-2002-01-29 Paolo Bonzini <bonzini@gnu.org>
-
- * src/compile.c (mark_subst_opts): Signal an error if
- there are multiple g or p options
- * src/compile.c (compile_program): Raise appropriate
- error if second string in y command is longer than
- first (used to be "excess junk after command")
-
-2001-12-31 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/getline.c: Strip the terminating \r under Windows
- or MS-DOS.
-
- * testsuite/xemacs.sed, testsuite/xemacs.inp,
- testsuite/xemacs.good: Submitted by John Fremlin
- (john@fremlin.de)
-
-2001-12-27 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (do_subst): Flags in optimized s/^xx/
- commands were discarded (see the change below)
-
-2001-12-19 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (resize_line): Limit inactive space to two
- thirds of a buffer
- * sed/execute.c (line_init): Initialize buf->active
- * sed/execute.c (str_append, str_append_modified, line_copy,
- do_list, do_subst, execute_program, process_files): Operate
- on active space
-
- * sed/execute.c (do_subst): Optimize s/^xx// by making a part
- of the buffer inactive and s/xx$// by truncating it.
- * sed/execute.c (execute_program): Optimize D by making a part
- of the buffer inactive
-
- * testsuite/uniq.sed, testsuite/uniq.inp, testsuite/uniq.good:
- added to test P and D commands.
- * testsuite/fasts.sed, testsuite/fasts.inp, testsuite/fasts.good:
- added to test the new optimization done on the `s' command.
-
-2001-12-17 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/dc.inp: Also compute Easter of 2002 :-)
-
- * sed/execute.c [!HAVE_FCHMOD]: Don't chmod the output file
- if working in-place
-
-2001-11-12 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/sed.h (struct sed_cmd): a1 is a pointer too
- * sed/compile.c: Likewise
- * sed/execute.c: Likewise
-
- * sed/compile.c: Use obstacks
- * sed/execute.c: Likewise
-
-2001-11-09 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (mark_subst_opts): Parse option `e',
- preserve two occurrences of the `e' and `p' options.
- * sed/execute.c (do_subst) [HAVE_POPEN]: Interpret option
- `e' (evaluate, like Perl's but uses Bourne shell).
- * sed/sed.h (struct subst): Add an `eval' flag.
-
- * sed/compile.c (compile_program): Compile command `e'
- like `c'.
- * sed/execute.c (execute_program): Execute command `e'.
-
-2001-09-25 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (get_writefile) [!POSIXLY_CORRECT]:
- support /dev/stdout
- * sed/execute.c (open_next_file, closedown): Support
- in-place editing
- * sed/execute.c (backup_file_name): New function to
- support in-place editing
- * sed/main.c (usage, main): Parse -i.
- * sed/utils.c: Moved to lib directory
-
- * lib/utils.c (temp_file_template): New function.
- * sed/utils.h: Declared temp_file_template.
-
-2001-09-05 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/execute.c (do_subst): `baaac', if passed through
- s/a*/x/g, gave `xbxxcx' rather than `xbxcx' (because an
- empty string matched before the `c'. Fixed.
-
- * sed/execute.c: Removed mmap support, I/O is done using
- getline (slower but more bug-proof).
- * sed/utils.c: Likewise.
- * lib/getline.c: New file
-
-2001-03-22 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (normalize_text) [POSIXLY_CORRECT]: Enable
- escapes in modes other than BRE.
-
-2001-03-21 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (normalize_text): Support \XXX in Perl mode,
- \oXXX in non-Perl mode.
-
-2001-03-18 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (compile_program): Fixed missing break when
- compiling 'q' and 'Q'.
-
- * sed/compile.c (check_final_program): Removed now spurious
- call to compile_regex
- * sed/regex.c (compile_regex): Don't track the last compiled
- regex
- * sed/regex.c (execute_regex): Track here the last compiled
- regex
-
-2001-03-02 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (setup_replacement): Support \[lLuUE] like
- Perl and vi.
- * sed/compile.c (new_replacement): Accept new parameter
- to support \[lLUuE].
- * sed/sed.h (enum replacement_types): New declaration
- * sed/execute.c (do_subst): Use new function str_append_modified
- to apply the changes required via \[lLUuE].
- * sed/execute.c (str_append_modified): New function
-
-2001-03-02 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (setup_replacement): Count the number of backreferences
- that the RHS needs
- * sed/regex.c (compile_regex): Check if there is a sufficient number
- of backreferences (new argument needed_sub replaces nosub)
- * sed/compile.c (compile_address, compile_program,
- check_final_program): Callers adjusted
-
-2001-02-08 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (compile_program): Added `Q' (quit without output)
- * sed/execute.c (execute_program): Ditto
-
- * sed/compile.c (compile_program): Fill in exit_status for `q' and `Q'
- * sed/execute.c (execute_program): Return -1 for `go on', 0..255
- to set the exit status
- * sed/execute.c (process_files): Interpret new convention for
- execute_program, return sed's exit code
- * sed/sed.c (main): Return process_files's exit code
- * sed/sed.h (struct sed_cmd): Declare exit_status
-
-2001-01-07 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c (compile_program): Added `T' (branch if failed)
- * sed/execute.c (shrink_program, execute_program): Ditto
-
-2001-01-04 Paolo Bonzini <bonzini@gnu.org>
-
- * testsuite/Makefile.am: Use automake's implementation
- of `make check'. Removed the test targets
- * testsuite/Makefile.tests: Moved the test targets here
- (new file).
- * testsuite/runtest: New file
-
- * testsuite/Makefile.tests: `khadafy' test uses EREs.
-
- * testsuite/spencer.inp: Removed the ^* test
-
- * testsuite/spencer.sh: Don't rely on awk; more comments too
-
-2001-01-03 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c(snarf_char_class) [REG_PERL]: Don't parse
- `\n' specially
- * sed/compile.c(match_slash) [REG_PERL]: Ditto
-
- * sed/compile.c(read_text) [REG_PERL]: Support [xX] modifiers
- * sed/compile.c(mark_subst_opts) [REG_PERL]: Ditto
-
-2000-12-21 Paolo Bonzini <bonzini@gnu.org>
-
- * lib/snprintf.c [BOOTSTRAP]: Don't include stdio.h
- * lib/strerror.c [BOOTSTRAP]: Don't include stdio.h
- * sed/execute.c [!HAVE_ISATTY]: Don't buffer stdin
-
-2000-12-11 Paolo Bonzini <bonzini@gnu.org>
-
- * sed/compile.c(mark_subst_opts): Support [mMsS] flags
- * sed/compile.c(read_text): Support [MS] flags for
- addresses
- * sed/regex.c(compile_regex): Support arbitrary flags for
- regncomp.
-
- * sed/regex.c(compile_regex) [REG_PERL]: Don't call
- normalize_text.
-
-2000-12-08 Paolo Bonzini <bonzini@gnu.org>
-
- * basicdefs.h: Moved here from the `sed' subdirectory.
-
- * configure.in: Removed crap to pick a regex engine.
- Added snprintf to the AC_REPLACE_FUNCS call.
-
- * lib/snprintf.c: New file.
-
- * sed/regex.c(compile_regex): Use regncomp
- * sed/regex.c(match_regex): Use regexec2
-
- * sed/compile.c(compile_program): Implemented the `v' command.
-
- * sed/sed.c(main): Implemented the `r' and `R' options
-
- * sed/sed.h: Replaced use_extended_syntax_t with
- extended_regexp_flags to support Perl regular expressions.
-
- * sed/execute.c(open_next_file): Don't mmap stdin (because
- we cannot seek into it, so a redirected stdin's contents
- would not be "eaten" by sed)
-
-Mon Aug 30 23:40:08 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.02.80 released
-
- * sed/execute.c(do_subst): lib/regex.c(re_search_2) seems to
- want one extra backreference register; humor it.
-
- * sed/regex.c(compile_regex): work around some odd assumptions
- that lib/regex.c(re_compile_pattern) makes about our desired
- RE syntax.
-
- * configure.in: tweaked version to 3.02.80; added new entries
- to the ALL_LINGUAS definition.
-
- * doc/sed.1, doc/sed.texi, BUGS: explicitly request the output
- of sed --version in bug-reporting instructions.
-
- * doc/sed.texi: the old "informal seders list" is dead; document
- the new sed-users mailing list instead (under Other Resources).
-
-
-Thu Aug 19 23:27:54 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.h: Add explicit #include of "regex-sed.h" (rather
- than relying on parent file doing so); change the "cmd_regex"
- member of sed_cmd: make it a pointer (instead of a struct),
- and change its name to cmd_subst; add prototypes for newly
- exported functions bad_prog(), normalize_text(), compile_regex(),
- match_regex(), and release_regex(); drop rx_testing variable.
-
- * sed/compile.c: move the compile_regex() function to regex.c;
- export bad_prog() and normalize_text() functions; eliminate the
- rx_testing debris; rename the NOLEAKS symbol to more descriptive
- DEBUG_LEAKS; make cmd_regex to cmd_subst fixes (see above);
- make use of newly abstracted release_regex() function.
-
- * sed/execute.c: abstract out the regex matching to
- regex.c:match_regex(); NOLEAKS to DEBUG_LEAKS change;
- cmd_regex to cmd_subst structure member name change.
-
- * sed/execute.c(do_subst): use re_registers/regoff_t instead of
- regmatch_t to hold the backreference registers, make "offset"
- always be relative to the beginning of the string (rather than
- a delta from "start"), defer some matching bookkeeping (e.g.,
- not_bol_p) to match_regex().
-
- * sed/sed.c(main): loose rx_testing variable; NOLEAKS
- (aka DEBUG_LEAKS) code attempting to release
- _nl_current_default_domain is problematic, so omit it.
-
- * sed/regex.c: new file --- abstracts out the interface to the
- regex engine so that less conditional code is required in
- compile.c and execute.c, and so as to make a change of engine
- easier; implements compile_regex() (which looks an awful lot
- like the one that used to live in compile.c), match_regex(),
- and (if DEBUG_LEAKS is set) release_regex().
-
-Sun Apr 18 04:40:46 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c(main): conditionalize calls to setlocale() and
- textdomain() to only occur if their support is needed/wanted.
-
-Sun Apr 18 03:01:46 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- * bootstrap.sh: "foo || bar && baz" was not grouping like I
- expected ("foo || (bar && baz)") under at least one shell,
- so change the test for a pre-existing config.h file to an
- if statement.
-
- * bootstrap.sh: added -DUSE_REGEX_GNU_H option to the
- compiler invocation, to ensure that we get a usable
- regex library included.
-
-Sun Apr 18 02:59:42 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.h, sed/utils.c: conditionalized inclusion of <libintl.h>
- to occur only if ENABLE_NLS is defined.
-
-Sun Apr 18 01:48:45 PDT 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(xofa,normalize_text,convert_number): change
- name of xofa() function to convert_number(); change semantics
- to do all of the work of the text->number conversion.
-
- * sed/compile.c(normalize_text): add new \dDDD decimal
- and \oOOO octal escapes.
-
-Sun Mar 28 21:05:07 PST 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c(main): if NOLEAKS is set, free up a word that
- the call to textdomain() allocated.
-
- * sed/execute.c(read_file_line): plug up (minor) memory leak:
- if buffer.alloc==0 we may have malloc()'d 1 byte anyway,
- so be sure to FREE(buffer.text) before calling line_init();
-
-Fri Mar 26 16:52:10 PST 1999 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(match_slash): somewhere between 3.02
- and 3.02a we lost the ability to use a newline as
- the s/// delimiter; restore this ability.
-
- * sed/compile.c(compile_regex): forget about trying
- to cache the compiled form of the last RE --- it
- causes more problems than its worth. We now only
- cache the source form.
-
- * testsuite/help.good: update to reflect output containing
- new options.
-
-Sun Dec 6 00:51:23 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/utils.c(ck_fwrite): fix i18n bug of using a printf
- fragment of "item%s" to handle plural text.
-
-Mon Nov 23 11:03:40 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * doc/sed.1, doc/sed.texi: ran ispell over these
- files to catch the more obvious typos...
-
-Sun Nov 1 00:09:07 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/execute.c(do_list): make a `lcmd_out_line_len'
- (--line-length) of zero mean "infinite length",
- i.e., "never wrap".
-
-Sat Oct 31 23:06:50 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c(match_an_address_p,process_files),
- compile.c(compile_program): back out the "zero-address"
- changes of 1998-09-27. It was a neat idea, but there are
- too many dark corners which don't work well. The
- special code for handling line ranges starting at
- address zero (from 1998-08-31) are still there though:
- this seems to work fine with no surprises.
-
-Sat Oct 31 22:18:59 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c, sed/sed.h, sed/execute.c: added new
- `lcmd_out_line_len' variable. (Idea suggested by
- Carlos J. G. Duarte <l38076@alfa.ist.utl.pt>.)
- Also added ATOI macro (which uses strtoul() if available,
- with fall-back to atoi()).
- * sed/sed.c(main): attempt to use COLS environment variable
- to set a reasonable `lcmd_out_line_len'; added -l/--line-length
- command-line options to set the new `lcmd_out_line_len' flag.
- * sed/sed.c(usage): documented new -l/--line-length options.
- * sed/execute.c(do_list): use `lcmd_out_line_len' variable
- instead of `LCMD_OUT_LINE_LEN'.
- * sed/execute.c: deleted now obsolete LCMD_OUT_LINE_LEN define.
- * configure.in: added strtoul to the AC_CHECK_FUNCS call.
-
-Sat Oct 31 21:37:17 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c, sed/sed.h, sed/execute.c: added new `force_unbuffered'
- flag. (Idea suggested by Frank Strauss <strauss@escape.de>.)
- * sed/sed.c(main): added -u/--unbuffered command-line options
- to set the new `force_unbuffered' flag.
- * sed/sed.c(usage): documented new -u/--unbuffered options.
- * sed/execute.c: changed the name of the `is_tty' flag in struct
- input to a more generic `no_buffering'; also removed HAVE_ISATTY
- conditional on this member.
- * sed/execute.c(slow_getline): removed HAVE_ISATTY conditonal
- compilation of this function.
- * sed/execute.c(output_line): if force_unbuffered is set,
- then force a fflush() even if writing to stdout.
- * sed/execute.c(open_next_file): added handling of the
- new `force_unbuffered' flag so that slow_getline()
- will always be used for input.
- * sed/execute.c(read_file_line): changed the (conditionally
- compiled) test of `input->is_tty' to (unconditionally)
- use the new spelling `input->no_buffering'.
-
-Thu Oct 15 12:08:09 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: deleted AC_ARG_PROGRAM call; this is already
- done for us by AM_INIT_AUTOMAKE, and we were winding up
- with a doubled-transform.
-
-Sun Sep 27 01:42:42 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * compile.c(compile_program): remove special-case code for matching
- address range with a `0' beginning.
-
- * compile.c(compile_address): change default addr_number to
- be a pragmatically impossible countT value, instead of zero.
-
- * execute.c: spell macro REGNEXEC() unconditionally instead of
- playing with conditional definition of regnexec() macro.
-
- * execute.c(match_an_address_p): added third argument (and changed
- callers in match_address_p). Added special code to ignore
- non-numeric matches when processing "line zero".
-
- * execute.c(process_files): added a "line zero" pass through the
- commands script.
-
-Sun Sep 27 00:20:53 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * compile.c(xofa,normalize_text): new functions.
- * compile.c(compile_regex): cache last_compiled_re (with its
- associated flags); add POSIXLY_CORRECT behavior for empty RE.
- Make use of the new normalize_text() function.
- * compile.c(setup_replacement): Make use of the new normalize_text()
- function.
-
-Sat Sep 26 22:59:13 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * lib/regex-gnu.h: added missing prototype for regncomp().
-
-Mon Sep 14 20:47:23 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c(main): use EXIT_SUCCESS instead of 0, in case
- we are built on a system (such as VMS) where EXIT_SUCCESS
- is distinct from 0.
-
-Wed Sep 9 22:17:28 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/Makefile.am: added -I../intl the INCLUDES line; if we are
- building in a directory outside the source tree and the system
- we are building on does not have a <libintl.h> header, then
- the build was failing, because libintl.h is a build-time
- constructed source file.
-
- * configure.in: tweaked version to be 3.02b.
-
-Wed Sep 9 19:28:14 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.02a released
-
- * sed/compile.c(mark_subst_opts,read_label,compile_program):
- wherever we accept a ; as a command terminator, also allow a } or
- a # to appear. (This allows for less cluttered-looking scripts,
- such as: sed '/foo/{x;G}' (instead of: sed '/foo/{x;G;}').)
-
-Wed Sep 9 18:17:07 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(compile_regex): use regncomp() instead
- of regcomp(), so that a script with NULs in its REs
- will work in the expected manner.
-
- * sed/compile.c(ADDNUL,REGNCOMP): added support macros
- for above.
-
- * lib/regex.c(regncomp,regcomp): added regncomp() and
- made regcomp() a simple wrapper function.
-
-Mon Aug 31 21:48:30 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c(compile_program): if the first address of
- a range is the number 0 (or a 0~N sequence), start
- out in the "a1_matched" state. This allows one
- to match an initial chunk of a file without undue
- convolutions for handling the case where the match
- for the end of the sequence happens to be the first
- line.
-
-Sun Aug 16 03:34:25 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(snarf_char_class,match_slash): simplify
- handling of "premature newline" error. Also, get the
- line number right in the error message if we encounter
- a "premature newline" during char-class snarfing.
-
-Sun Aug 16 02:59:20 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c: added N_() markers and corresponding gettext()
- (er, _()) calls.
-
- * Merged in i18n contribution from Erick Branderhorst
- <Erick.Branderhorst@asml.nl>. His ChangeLog entry
- for the changes I've incorporated so far:
-
-1998-07-24 Erick Branderhorst <Erick.Branderhorst@asml.nl>
- * configure.in (ALL_LINGUAS, AM_GNU_GETTEXT): nl
- * sed/{sed.h,utils.c}: #include <libintl.h> #define _(String)
- gettext (String)
- * sed/sed.c: #include <locale.h>
- * po/POTFILES.in: sed/{compile,execute,sed,utils}.c
- * run gettextize -f
- * acconfig.h: #undef LOCALEDIR ENABLE_NLS HAVE_CATGETS
- HAVE_GETTEXT HAVE_LC_MESSAGES HAVE_STPCPY
-
-Fri Aug 14 13:52:57 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * Merged code from 3.02 with a branched development
- tree from late May; the following (out-of-order)
- changelog entry is from the branched tree.
-
-Sat May 30 12:23:16 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c, sed/execute.c: added (conditional on NOLEAKS macro)
- code to free all dynamically allocated memory.
-
- * sed/sed.c, sed/compile.c, sed/execute.c: much shuffling
- of code --- ordered functions such that no forward
- declarations are necessary, and placed all static prototypes
- immediately before the actual function definition.
- This accomplished two things: first, I find the new ordering
- a more natural way to read the code than the previous
- ordering, and second, the new ordering give the compiler
- a better opportunity to discover inlining possibilities.
- (The odd "prototype declaration+old-style definition"
- style is used because I feel it is the least ugly way
- of supporting K&R1 C while still getting the benefit of
- prototypes when they are available.)
-
- * sed/basicdefs.h: added MEMCPY() macro to hide the VCAST()s
- that ought to be used with memcpy().
-
- * sed/execute.c: Change calls to memcpy() to go through the
- new MEMCPY() macro. Various prototypes: elide variable name
- if it does not add any human-useful documentary information
- to the bare type.
-
- * sed/sed.c(main): Updated calls to compile_string() to add third
- (length) argument. Changed call to obsolete close_all_files()
- to a call to the new finish_program().
-
- * sed/sed.c(map_file): Attempt to clean-up how "size" gets
- cast and tested; remove spurious S_ISREG test (just let
- mmap() fail if it doesn't support the underlying file type).
-
- * sed/sed.c: Deleted old RX library stub declarations.
-
- * sed/sed.c(map_file,unmap_file): added VCAST()s to the
- mmap()/munmap() calls.
-
- * sed/utils.c(ck_fclose): added support for ANSI C
- functionality where passing a NULL argument means
- to fclose() _all_ open streams. (Well, almost.
- Only closes streams which were previously ck_fopen()ed,
- as I don't care to figure out how to autoconf-detect
- whether fclose(NULL) is properly supported on a given
- platform.)
-
- * sed/sed.h: Renamed `struct text_buf' member `text_len'
- to `text_length'. Abstracted out `enum addr_types'
- from `struct addr'; added new enum types num2,step,step_mod;
- renamed mod to num_mod. De-unionized the regex,number,
- {modulo-offset/step} components of `struct addr', in
- anticipation of new features. Changed type of `a2' member
- of `struct sed_cmd': now a pointer to save space.
- Abstracted out `struct replacement' from `struct subst'.
- Cleaned up declaration of `x' union of `struct addr'.
- Fixed prototype for compile_string(). Replaced prototype
- for old close_all_files() with one for new finish_program().
-
- * sed/sed.h, sed/compile.c, sed/execute.c: changed to
- simplify the data structures used for branches and
- command blocks: simplified `struct vector'; made
- `struct label' local to compile.c; `struct sed_cmd'
- was modified to support a simpler design for branches
- and blocks.
-
- * sed/execute.c: Conditionally added ADDNUL() macro so that
- the function call overhead is only incurred if nul_append()
- _must_ be called. Made some commentary edits, including
- typo fixes.
- * sed/execute.c(resize_line): changed semantics of "len" argument
- from "additional length" to "target length"; made
- INITIAL_BUFFER_SIZE a minimum allocation length.
- * sed/execute.c(str_append): adjusted to new resize_line()
- semantics.
- * sed/execute.c(line_copy): use FREE()+MALLOC() instead of
- REALLOC() to avoid unnecessary copying of old text; add the
- "try doubling first" allocation heuristic (just like
- resize_line() does).
- * sed/execute.c(line_exchange): new function.
- * sed/execute.c(nul_append): make whole function (not just its
- body) conditional on HAVE_REGNEXEC macro; adjust to new
- resize_line() semantics.
- * sed/execute.c(read_mem_line): use str_append() instead if
- custom in-line code; compensate for new default of
- "line.chomped = 0" in read_pattern_space() by setting
- "line.chomped = 1" where appropriate.
- * sed/execute.c(read_file_line): use different trigger to
- determine that "buffer" is uninitialized, and do a full
- initialization if required; use str_append() instead of custom
- in-line code in two places; compensate for new default of
- "line.chomped = 0" in read_pattern_space() by setting
- "line.chomped = 1" where appropriate.
- * sed/execute.c(output_line): don't bother calling ck_fwrite()
- if length==0.
- * sed/execute.c(release_append_queue): new function.
- * sed/execute.c(dump_append_queue): use release_append_queue()
- instead of in-line equivalent.
- * sed/execute.c(read_pattern_space): conditionalize call to
- dump_append_queue() for alleged performance reasons; changed
- default "line.chomped" value to more common "1", and added an
- assignment of "0" where this made a difference.
- * sed/execute.c(match_an_address_p): deleted "is_addr2_p"
- argument; reorder cases to match order in enum declaration; add
- cases for new "addr_is_num2", "addr_is_step", and
- "addr_is_step_mod" address types; alter nul_append() call to be
- through ADDNUL() macro; fix to new struct member and enum
- spellings in (formerly addr_is_mod); addr_is_num_mod case.
- * sed/execute.c(match_address_p): remove oblsolete third argument
- to calls to match_address_p(); alter references to sed_cmd
- member a2 to reflect new pointer status; add new support for
- a2->addr_type addr_is_step and addr_is_step_mod cases.
- * sed/execute.c(do_subst): add NOLEAKS support logic; use
- ADDNUL() wrapper to nul_append(); simplify replacement
- expansion by using the new "struct replacement" data structure;
- use line_exchange() function instead of custom in-line code.
- * sed/execute.c(process_files): added NOLEAKS code.
- * sed/execute.c(execute_program): updated implementations
- of the `{', `}', `:', `b', and `t' commands; modified
- `c' command gratuituosly; fixed potential memory
- overrun in `D' command. Simplified how nonstandard
- `loop increments' work. Use line_exchange() instead of
- custom in-line code in 'x' case.
- * sed/execute.c[EXPERIMENTAL_DASH_N_OPTIMIZATION conditional
- code]: various modifications intended to keep this
- code in sync with the new changes, but the code still
- retains its previous bugs.
-
- * sed/compile.c: use "exit(EXIT_FAILURE) instead of "exit(1)",
- just in case we get compiled under VMS.
- * sed/compile.c: Change type of prog_info.base to decrease needs
- for casting; then elimiated the casts in question ;-).
- * sed/compile.c: Added struct sed_label (moved from sed.h, then
- modified).
- * sed/compile.c: Removed "readit_p" flag from struct fp_list.
- * sed/compile.c: Added module-global "blocks" variable.
- * sed/compile.c: Extracted more error-message constant strings
- to named variables.
- * sed/compile.c(check_final_program): updated to
- reflect new data structures and use new fucntions.
- Added call to compile_regex() to release unneeded
- memory.
- * sed/compile.c: deleted obsolete new_vector() function;
- abstracted new read_label() function; abstracted new
- release_label() function; added new `blocks' module-static
- variable.
- * sed/compile.c(compile_program): updated implementations
- of the `{', `}', `:', `b', and `t' commands; modified
- initialization from NULL vector.
- * sed/compile.c(compile_regex): added mechanism to
- release memory consumed by the cached `last' RE.
- * sed/compile.c(setup_jump,setup_label): updated
- name (from setup_jump to setup_label) and prototype;
- changed body to reflect data structure changes.
- * sed/compile.c: Add OPEN_BRACE and CLOSE_BRACE macros for better
- "vi" editing behavior.
- * sed/compile.c(compile_filename,read_filename,get_writefile):
- Replaced function compile_filename() with more orthogonal functions
- read_filename(), get_writefile().
- * sed/compile.c(compile_regex): Added ability to free the remembered
- "last RE" in compile_regex (for benifit of "NOLEAKS" code).
- * Made adjustments dictated by the change to struct sed_cmd which made
- the a2 member a pointer-to-addr instead of an addr.
- * sed/compile.c(setup_jump,read_label,setup_label,release_label):
- Added functions read_label(), setup_label(), release_label(); deleted
- function setup_jump().
- * sed/compile.c(new_replacement,setup_replacement,release_replacement):
- new functions.
- * sed/compile.c: Adjusted to new spelling of text_buf member
- ("text_length" instead of "text_len").
- * sed/compile.c(new_vector): deleted function. (Due to new handling
- of blocks, only one instance remained, and that one was just as
- clear in-lined.)
- * sed/compile.c(compile_string): Added third argument; it now
- takes a counted string instead of a NUL-terminated string.
- * sed/compile.c(compile_file): added variable "map_base" to
- compensate for new type of prog_info.base.
- * sed/compile.c(check_final_program): reflect new style of
- handling blocks and struct sed_label.
- * sed/compile.c(close_all_files,finish_program): replaced function
- close_all_files() with more generic finish_program().
- * sed/compile.c(read_text): added new feature: if first non-blank
- character after the {a,i,c} command character is not "\", then
- use the trailing text on that line as the (first) line of text.
- Also added code conditional on NO_INPUT_INDENT to support the
- "feature" of stripping leading blanks from each input line; I
- do not read POSIX as permitting this behavior, nor do I think
- it is a good idea, so it is disabled by default, but some have
- argued that this blank-stripping is the "correct" behavior, so
- I offer them the option of building their sed that way.
- * sed/compile.c(compile_address): added xxx,+n and xxx,~n addressing;
- simplified code.
- * sed/compile.c(compile_program): added BAD_PLUS error detection;
- adjusted to new cur_cmd->a2 pointer status; added addr_is_num2
- detection; deleted pointless "a2->addr_number < a1.addr_number"
- check (addr_is_num2 semantics handle this just fine); updated
- code for '{', '}', ':', 'b', and 't' to reflect new design
- of branch handling, including making use of new functions
- related to the new design); added support for feature already
- mentioned in read_text() where {a,i,c} commands are able to have
- their text start on the same line as the command; changed some
- error messages (hopefully for the better); localized variables
- specific to individual commands (particularly 's' and 'y');
- made use of new setup_replacement() function in 's' command.
-
-Mon Aug 10 19:58:49 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * doc/sed.texi, doc/sed.1: sedtut10.txt is apparently dead.
- Deleted references to it and added a pointer to
- http://seders.icheme.org/tutorials/. (Pointed out by
- Joerg Heitkoetter <joerg@de.uu.net>.)
-
-Sat Aug 8 18:11:57 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * djgpp/config.btm: per request by Michel de Ruiter
- <mdruiter@cs.vu.nl>, added "%1" to "%9" parameters.
-
-Mon Aug 3 11:44:55 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * doc/sed.texi: fix a couple of typos. (Submitted by
- Alan Modra <alan@spri.levels.unisa.edu.au>.)
-
-Sat Aug 01 17:49:06 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.02 released
-
- * configure.in: Because of code change in 3.01a, bump the
- minor revision number for the release (now 3.02).
-
-Sun Jul 26 16:07:55 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01a released
-
- * sed/compile.c(snarf_char_class): the POSIX char-class
- recognition loop forgot to update its concept of "prev"
- as the loop progressed.
-
- * testsuite/Makefile.am: The dependency of version.good
- on [testsuite/]Makefile introduced in the previous
- release was botched -- it referred to "Makefile"
- as "$(srcdir)/Makefile, which of course doesn't work
- if you aren't building in the source tree.
-
- * djgpp/Makefile.am: add forgotten "config.btm" EXTRA_DIST
- member.
-
- * configure.in: update version.
-
-Tue Jul 21 06:04:42 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01 released
-
- * configure.in: mark as release version!
-
- * Makefile.am: add BUGS and THANKS to the EXTRA_DIST target.
-
- * testsuite/Makefile.am: add dependency of version.good
- on [testsuite/]Makefile.
-
-Mon Jul 20 12:38:10 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * djgpp/config.btm: New file to support the 4DOS alternative
- to command.com. (Sumitted by Eli Zaretskii on behalf of
- an anonymous 4DOS user.)
-
-Fri Jul 17 00:36:34 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta18 released
-
- * djgpp/config.sed: my "tweak" in beta17 was too
- hastily considered. Back it out.
-
- * configure.in: update to beta18.
-
-Wed Jul 15 01:02:15 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta17 released
-
- * djgpp/config.sed: tweak/simplify s,,, commands at end.
-
- * configure.in: update to beta17.
-
-1998-07-14 Eli Zaretskii <eliz@is.elta.co.il>
-
- * djgpp/config.sed: Edit all the occurences of = in the context of
- --option=value, including in the help messages, into
- --option:value, but leave DOS-style d:/foo/bar file names intact.
-
- * djgpp/config.bat: Use --srcdir:foo instead of --srcdir=foo.
-
- * testsuite/Makefile.am (help, version): Remove temporary files
- explicitly, don't use shell wildcards, so it works under DOS 8+3
- limits.
-
-Thu Jul 9 13:06:00 PDT 1998 16:51:43 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta16 released
-
- * djgpp/config.sed: tweak the configure script to use :
- instead of = for --with-foo=bar option parsing, to
- work around problems with how command.com handles =s.
-
-Wed Jul 8 16:51:43 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * djgpp/config.bat: correct inappropriate behavior that I
- introduced in the beta13 changes (if first argument is
- a directory, it needs to be handled as the --srcdir).
-
- * testsuite/version.gin, testsuite/version.good, testsuite/Makefile.am:
- Add target to automake to automatically update version.good
- from (new file) version.gin, instead of hand-editing the version
- number each release.
-
- * testsuite/Makefile.am: miscellaneous gratuitious tweakage --
- mainly adding $(RM) commands just because I didn't like
- leaving the tmp* files from successful runs laying about.
- Also some editorial comments.
-
- * configure.in: update to beta16. Added and commented out
- experiment with AC_OUTPUT() for testsuite/version.good.
- Added code to properly handle bare (without =xxx)
- "--with-regex" option.
-
-Sun Jul 5 21:02:16 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta15 released
-
- * sed/utils.c(ck_fflush), sed/utils.h, sed/execute.c(output_line):
- add and use new ck_fflush() function.
-
-Sun Jul 5 15:23:47 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(bad_prog): add more detail to error
- messages about -e strings.
-
-Sun Jul 5 14:29:45 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(mark_subst_opts), sed/execute.c(do_subst):
- Define better semantics for interaction of the `g' flag
- with a numeric flag to the s/// command. It used to
- be that the `g' command siezed control; now the first
- (number-1) matches are skipped and then `g' gets control
- after that. (It is not clear whether this is a feature
- sneaking in during late beta, or a bug fix; the changes
- involved were trivial, so I decided to treat it as a bug
- fix.)
-
- * configure.in, testsuite/version.good: update to beta15.
-
-Sat Jul 4 09:54:45 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta14 released
-
- * sed/basicdefs.h, sed/compile.c, sed/execute.c:
- per report by "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>,
- copied the ISXXX macros from lib/regex.c so that
- silly machines which require isascii() to be true
- before the other isXXX() macros are valid will
- still work.
-
- * configure.in, testsuite/version.good: update to beta14.
-
-Thu Jul 2 23:46:13 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta13 released
-
- * configure.in, acconfig.h: set USE_REGEX_GNU_H symbol if we
- are going to be using lib/regex.c.
-
- * lib/Makefile.am, lib/regex.h, lib/regex-gnu.h, lib/regex.c:
- rename lib/regex.h to lib/regex-gnu.h, so that those who
- choose to use a different regex implementation will not
- pick-up lib/regex.h when doing "#include <regex.h>".
-
- * sed/regex-sed.h, sed/Makefile.am, sed/compile.c, sed/execute.c,
- sed/sed.c: create sed/regex-sed.h which acts as a switch
- to choose either lib/regex.h or the user-supplied <regex.h>,
- depending on the value passed to configure's --with-regex=
- option.
-
-Thu Jul 2 17:22:31 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: if an alternative --with-regex= is given,
- do an AC_CHECK_FUNCS(regnexec regexec) to ensure that
- at least one of these functions is available. Also,
- parallel changes for the default case.
-
- * sed/execute.c, acconfig.h: retire use of the WITH_REGNEXEC
- test macro in favor of HAVE_REGNEXEC test macro created
- by above change.
-
- * djgpp/config.bat: Play games to handle "install-sh",
- DOS filename restrictions, GNU makefile default rules,
- and getting a correct run of "configure" (contributed
- by Eli Zaretskii <eliz@is.elta.co.il>).
-
- * djgpp/Makefile.am, testsuite/Makefile.am, testsuite/Makefile.in,
- Makefile.am, configure.in: Various automake targets
- (such as distcheck) failed with old configuration.
- The simplest solution was to just add these .am
- files. (The testsuite/Makefile.in was just renamed to
- testsuite/Makefile.am, then various redundant defines and
- targets were deleted.) (Reported by Erick Branderhorst
- <Erick.Branderhorst@asml.nl>.)
-
- * testsuite/dc.good, testsuite/dc.inp: per suggestion from
- Greg Ubben <gsu@romulus.ncsc.mil>, use base 16 output to
- exercise even more of the dc.sed script.
-
- * configure.in, testsuite/version.good: update to beta13.
-
-Sun Jun 28 16:21:02 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta12 released
-
- * doc/sed.texi: Avoid mixing @code and @samp markups together:
- they look ugly in Info. Use @url and @email instead of @example.
- Add indexes. (Basis of changes contributed by Eli Zaretskii.)
-
- * djgpp/*, Makefile.am: add support for the DJGPP compiler,
- contributed by Eli Zaretskii <eliz@is.elta.co.il>.
-
- * dc.sed, testsuite/Makefile.in, testsuite/dc.inp, testsuite/dc.good:
- added this remarkable script, written and contributed
- by Greg Ubben <gsu@romulus.ncsc.mil>, both as a work of
- art for general admiration, and also for use in regression
- testing.
-
- * configure.in, lib/Makefile.am: add --with-regex=regexlib
- option, which overrides the use of lib/regex.c.
-
- * configure.in, testsuite/version.good: update to beta12.
-
-Fri Jun 12 16:41:48 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta11 released
-
- * sed/compile.c: add module-static variables first_script
- (for #n change below) and pending_text (for a/c/i change
- below).
-
- * sed/compile.c(compile_file), sed/compile.c(compile_program):
- Instead of having #n trigger the -n option in *any file*,
- have #n trigger the -n option only if they are the first
- two bytes of the first script or script-file.
-
- * sed/compile.c(compile_string), sed/compile.c(compile_file):
- clear the first_script variable at end of these functions.
-
- * sed/sed.h: tease out the struct text_buf declaration from
- struct sed_cmd, so that a pointer to such can be passed
- to new sed/compile.c(read_text) function.
-
- * sed/compile.c(compile_program), sed/compile.c(read_text):
- Tease out handling of text to a/c/i commands to new
- read_text() function. Handle (via aid of pending_text
- variable) texts which span more than one script/script-file
- option. In particular, restore the ability to have this
- work: sed -e '1i\' -e 'foo'
-
- * sed/compile.c(check_final_program): close off any dangling
- pending_text allocation.
-
-Thu Jun 11 11:17:46 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/execute.c(do_subst): fixed two bugs: s/ */X/g was failing
- to match the final empty string after the end of the pattern
- space; and /^foo$/s/o/x/3p was printing, despite the failure
- to do a substition.
-
-Fri Jun 5 04:40:24 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: change the AC_ARG_WITH(regnexec, ...)
- to be the more appropriate AC_ARG_ENABLE(regnexec, ...).
-
- * configure.in, testsuite/version.good: update to beta11.
-
-Fri Jun 5 00:54:25 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta10 released
-
- * sed/execute.c: forgot to P_() the prototype and
- old-style the declaration for bootstrap_memchr()!
-
-Thu Jun 4 18:42:30 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(snarf_char_class): added code to
- recognize \n or \<newline> sequence within a
- char-class as the newline character.
-
-Tue Jun 2 11:56:02 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: added check for <sys/types.h> and
- a AC_ARG_WITH(regnexec,...) check, to simplify use
- of other regex libraries which have regexec() but
- not regnexec(), with the corresponding loss of
- functionality (regexps will not work right against
- input lines which contain NULs).
-
- * sed/execute.c: add nul_append() function, a #define
- for a regnexec() -> regexec() macro (conditional on
- the lack of the WITH_REGNEXEC symbol), and a couple
- of calls to nul_append() (in match_an_address_p()
- and do_subst()) to permit the use of the POSIX standard
- regexec() function call instead of the suggested
- regnexec() call.
-
- * sed/compile.c, sed/execute.c, sed/sed.c: check for
- <sys/types.h> and include it (before "regex.h") if
- available. This makes it simpler to use the system's
- regex library instead of the one in lib/regex.c, should
- that be desired.
-
-Tue Jun 2 08:41:05 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/basicdefs.h: define VCAST macros to allow sed to
- compile on systems which predate the definition
- of "void *", and yet still get feedback about
- stupid programming errors from systems which *do*
- know about "void *"s. Also define MALLOC, REALLOC,
- MEMDUP, and FREE macros to keep under control the
- degree of code ugliness which would otherwise be
- introduced in making use of the VCAST macro.
-
- * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c:
- pervasively use the new VCAST, MALLOC, REALLOC, MEMDUP,
- and FREE macros wherever appropriate.
-
- * sed/utils.c, sed/utils.h: correct type of first arguments
- to ck_fread() and ck_fwrite() to be [const] VOID *.
-
- * sed/basicdefs.h, sed/execute.c: protect against
- the rumored systems which stupidly #define __STDC__ 0.
-
- * testsuite/help.good, testsuite/Makefile.in: make
- the ``help'' test insensitive to the spelling of
- the executable's name. Also, enhanced `make clean'
- target.
-
- * doc/sed.texi, doc/sed.1: correct documentation of `q'
- command; fix typos.
-
- * configure, testsuite/version.good: update to beta10.
-
-Sat May 30 17:28:00 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta9 released
-
- * Makefile.am: make testsuite a normal SUBDIR.
-
- * configure.in: discontinue using AC_ISC_POSIX --
- check for -lcposix library instead; added
- testsuite/Makefile to AC_OUTPUT list.
-
- * lib/memmove.c(memmove): fixed wrong sense used
- for HAVE_BCOPY test.
-
- * sed/execute.c: checked more specifically for a version
- of gcc which supports __attribute__ (i.e., >= 2.7).
-
- * testsuite/*: renamed files to fit 14 char limit.
-
- * testsuite/Makefile, testsuite/Makefile.in: Makefile
- renamed to Makefile.in and then modified so that
- "make -j check" from top directory will work.
-
- * testsuite/subwrite.sed, testsuite/writeout.sed: changed
- file name of the "w" command to be consistent with the
- new naming used in testsuite/Makefile.in.
-
- * doc/sed.1, doc/sed.texi: fixed some typos, formatting
- glitches, and poor wordings.
-
-Sat May 30 04:02:29 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: specify that config.h is to be derived
- from config_h.in in order to avoid the braindead
- DOS filesystem limitations.
-
-Fri May 29 21:56:30 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(compile_address), doc/sed.texi: gave
- a better definition to the meaning of N~0 address
- forms -- N~M addresses now mean that lines match
- when there exists a non-negative x such that
- lineno == N+x*M.
-
-Fri May 29 12:07:38 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(compile_address),
- sed/execute.c(match_an_address_p): update semantics of
- N~M address form: now N is the first line which will
- match and M is the step between succeeding matches.
- If N<M this works out to the same as before, but the
- new behavior for N>=M seems more useful.
-
- * doc/sed.1, doc/sed.texi: update documentation of N~M
- address form; added "Other Resources" node to sed.texi;
- minor formatting changes to some items in sed.1 with
- an eye to improving clarity.
-
- * configure.in, testsuite/version.good: update to beta9.
-
-Sat May 23 20:04:31 HST 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta8 released
-
- * sed/compile.c(compile_regex): forgot to make last_re be
- a *copy* of the buffered text in today's earlier fix.
-
- * sed/execute.c(read_file_line): EOF check was wrong --
- it forgot to allow for the possibility that we were
- appending to the end of the ``line'' (instead of merely
- reading a fresh line).
-
-Sat May 23 18:07:18 HST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c(compile_regex): don't track compiled version
- of regex -- the modifiers may change. Track the regex
- source instead. (For "last regex" (aka //) notation.)
-
- * configure.in, testsuite/version.good: update to beta8.
-
-Sat May 23 16:07:09 HST 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta7 released
-
- * sed/execute.c: #undef'd EXPERIMENTAL_DASH_N_OPTIMIZATION
- because its code is buggy.
-
-Tue May 19 17:03:52 HST 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c: label rx library code as such with #ifdefs
- (instead of just #if 0).
-
- * sed/compile.c(compile_program): make incremental
- improvement to the "Unknown command" error message.
-
-Sat May 16 23:16:26 HST 1998 Ken Pizzini <ken@gnu.org>
-
- * testsuite/Makefile: simplify: get rid of automatic run
- against system's sed; don't time by default; allow for
- alternative comparison command.
-
- * configure.in, testsuite/version.good: update to beta7.
-
-Wed May 13 21:44:28 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta6 released
-
- * lib/Makefile.am: fix spelling of libsed_a_LIBADD in
- libsed_a_DEPENDENCIES.
-
- * configure.in, testsuite/version.good: update to beta6.
-
-Wed May 13 14:38:08 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta5 released
-
- * sed/execute.c(do_subst): added not_bol_p variable to track when
- we have iterated past the beginning of the pattern.
- [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
-
-Wed May 13 13:54:04 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/execute.c(bootstrap_memchr): new function. When
- bootstrapping we don't know if we are on a 64-bit machine,
- so lib/memchr.c breaks. Supply this (slow) implementation
- just to get us bootstrapped.
-
- * bootstrap.sh: add a #define BOOTSTRAP symbol; add -I.
- for emphasis for the compiles in sed/; be explicit
- about what files we're bothering to compile.
-
- * configure.in, testsuite/version.good: update version
- to beta5.
-
-Wed May 13 06:39:06 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta4 released
-
- * rename writeout.good? to wrtout?.good and subwrite.good? to
- subwrt?.good to comply with DOS 8+3 file name restrictions.
- [Eli Zaretskii <eliz@is.elta.co.il> suggested this to
- simplify DJGPP ports, and it was easy.]
-
- * testsuite/Makefile: reflect above name changes.
-
-Wed May 12 21:09:32 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/sed.c(usage): fix non-portable omission of \n\ at end of
- lines within long string.
-
- * sed/sed.c(main): remove spurious argument to fprintf() in the
- 'V'ersion output.
-
- * sed/execute.c(line_append): embed newline between the two
- text fragments unconditionally.
-
- * sed/execute.c(do_subst): change structure assignment to memcpy()
- (for portability reasons).
-
- * README.bootstrap: suggest using -w option.
-
-Tue May 12 10:02:37 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: use AC_REPLACE_FUNCS where appropriate.
-
- * lib/Makefile.am: updated to reflect AC_REPLACE_FUNCS change in
- configure.in.
-
- * lib/memchr.c lib/memcmp.c: revert to standard GNU versions.
-
- * lib/alloca.c: added this missing file.
-
- * testsuite/version.good: updated for new version identifier.
-
-Mon May 11 18:50:56 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta3 released
-
- * sed/Makefile.am: fix INCLUDES to work right with VPATH.
- [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
-
- * sed/sed.c(usage): make --help output more user-friendly?
-
- * sed/execute.c(execute_program): fix bug in 'x' command introduced
- in the alleged portability fix of May 9.
-
- * configure.in: update version to 3.01-beta3.
-
- * testsuite/version.good, testsuite/help.good: freshen with
- latest output.
-
-Sat May 9 22:35:45 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta2 released
-
- * sed/sed.c: add #include <sys/types.h> in HAVE_MMAP
- block (needed on some machines).
-
- * lib/memmove.c: #include <memory.h>, if HAVE_MEMORY_H.
-
-Sat May 9 21:29:00 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in: remove dangling references to rx library;
- added HEADER and FUNC checks for items used by source in
- lib/.
-
- * lib/ansidecl.h, lib/memcopy.h, lib/pagecopy.h, lib/string.h
- lib/memcpy.c, lib/memmove.c: deletes these files. There
- are still pieces of glibc missing to support these, and
- it isn't worth the headache right now.
-
- * lib/memmove.c: de novo, simpler version. Uses bcopy()
- if available, and slow-but-simple code if not.
-
- * lib/Makefile.am: remove references to deleted files.
- Added forgotten reference to memcpy.c. Re-ordered
- SOURCE entries to reflect dependencies for systems
- which lack ranlib.
-
- * sed/basicdefs.h: updated to reflect above changes to lib/,
- and experience with non-STDC compilers.
-
- * lib/regex.c: made regerror() function publicly visible.
-
- * lib/strerror.c: use old-style function declaration.
-
- * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
- sed/sed.h, sed/utils.h: ensure that private definitions of
- some symbols do not cause problems when #include'ing system
- headers (mainly by re-ordering the #include directives).
- (This is particularly an issue for bootstrap.sh runs.)
-
- * sed/execute.c (execute_program): use memcpy() instead of
- structure assingment ('x' command), for portablility to
- old compilers.
-
- * sed/execute.c (slow_getline): use old-style function
- declaration, with a P_ prototype.
-
- * sed/sed.c: change the type of the fallback MAP_FAILED
- definition to work on archaic systems. (Modern systems
- should be defining it themselves, so the change from
- void * shouldn't be a problem.)
-
- * bootstrap.sh, README.bootstrap: actual testing of bootstrap
- code revealed that I was too optimistic. Redesigned and
- replaced implementation.
-
- * testsuite/Makefile: ignore errors from reference-implementation
- seds that aren't up to snuff.
-
- * testsuite/help.good, testsuite/version.good: update to
- current version's output.
-
-Fri May 8 15:08:28 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- *** Version 3.01-beta1 released
-
- * sed/sed.c (main, usage): once again tweak the --help and
- --version output to bettery comply with GNU coding standards.
-
- * testsuite/help.good, testsuite/version.good: update to
- reflect above change.
-
- * doc/sed.texi: fix "Invoking" node's spelling to comply
- with GNU standards.
-
-Fri May 8 11:43:10 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * doc/sed.1, doc/Makefile.am: wrote (very basic) man page.
-
-Thu May 7 20:40:21 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * lib/Makefile.am, lib/memmove.c, lib/memchr.c, lib/regex.c,
- lib/memcpy.c, lib/regex.h, lib/memcopy.h, lib/string.h,
- lib/pagecopy.h, lib/ansidecl.h: grab yet-another-version
- from gnu.org for baseline and/or edit copyright boilerplate
- using official lgpl2gpl.sed script. Take care not to
- loose regnexec() interface or special conditional-compilation
- code.
-
-Wed May 6 23:35:12 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * lib/regex.c, lib/regex.h: take from grep-2.1 distribution,
- then trivially added the regnexec() interface.
-
- * sed/sed.c, sed/compile.c, sed/execute.c: made modifications
- to work with regex instead of rx.
-
- * rx/*: deleted directory; the code is just too slow.
- I think it will be easier to extend regex to fully
- support POSIX.2 than to tune rx to be reasonable.
- Even if this supposition is wrong, I'd rather make
- the 3.01 release with the slightly deficient regex.
-
- * Makefile.am lib/Makefile.am, sed/Makefile.am: made changes
- related to the substitution of regex for rx.
-
- * lib/Makefile.am, sed/Makefile.am: since regex is not a
- ``compatability'' module, changed name of library to
- ``libsed.a''.
-
- * lib/memchr.c, lib/memcpy.c, lib/memmove.c: add conditional
- compilation code to leave zero-sized .o file if system
- already supports the implemented function.
-
- * testsuite/help.good, testsuite/version.good: brought
- up-to-date (once again).
-
- * NEWS, ANNOUNCE: changes to reflect this batch of changes.
-
-Wed May 6 18:40:47 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/execute.c: discovered awful bug in '}' handling:
- it could read past the end of vec (because `n' was
- being decremented below zero)! Needed to "continue"
- instead of "break".
-
-Tue May 5 14:34:38 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * doc/sed.texi, doc/version.texi: wrote some rudimentary
- texinfo documentation.
-
- * ANNOUNCE, NEWS, README, README.rx, Makefile.am:
- more updates for the upcoming beta-release.
-
- * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
- sed/sed.h, lib/strerror.c: update copyright notice text.
-
-Fri May 1 15:41:37 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/execute.c (match_an_address_p, match_address_p): if
- the second element of an address range is a line number,
- and that line number is *less than* (or equal to) the
- current line number, we only match the one line (per
- POSIX.2, section 4.55.7.1). [Bug discovered as reported
- in the seders mailing list FAQ.]
-
- * AUTHORS, NEWS, acconfig.h, configure.in, doc/Makefile.am,
- lib/Makefile.am, sed/Makefile.am, lib/README,
- testsuite/help.good, testsuite/version.good:
- Updated in anticipation of the 3.01-beta1 release.
- Reorganized development source tree to make creation
- of a distribution simpler. Most notable changes were
- to the various Makefile.am files and configure.in, but
- some minor edits (such as deleting or changing #include
- directives) have been made in many other source files.
-
- * bootstrap.sh, README.bootstrap: created a mechanism for
- creating sed on a system which lacks a working sed.
-
-Thu Apr 16 23:52:11 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed.h, sed.c, execute.c, compile.c: did a spell-check on
- the comments; fixed several typos.
-
-Thu Apr 16 13:43:01 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c (do_subst): fixed bug where the "replaced" flag
- was being set to one inappropriately when at least one
- but fewer than sub->numb matches of the regexp were found.
- (Thanks to Simon Taylor <staylor@hermes.iaccess.com.au>
- for the bug report.)
-
-Wed Apr 15 11:35:31 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed.h, sed.c, compile.c, execute.c: having a concern that
- a cast was being done inappropriately, and realizing that
- there is no quick way to locate all casts in a program, I
- went through and marked all casts with a simple macro.
- Now it is a simple matter to locate the casts, and it is
- also a simple matter to turn of casts for a lint session
- (if it should be desired).
-
-Wed Apr 15 10:29:21 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * compile.c, sed.c: redo compile phase so that brace
- expressions can be spread across multiple files.
- For example:
- printf '{' >a; printf 'l;d' >b; printf '}' >c
- sed -f a -f b -f c foo
- will now compile (and work), instead of complaining
- about an unmatched '{'. The mess created in compile.c
- allowed a little simplification to the command-line
- processing of "-e" options in sed.c.
-
- sed.h: added (opaque) err_info member to struct vector;
- added comments to the members of struct vector.
-
-Wed Apr 14 23:50:50 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed.h, sed.c, compile.c, execute.c: added types countT and
- flagT in order to clarify what various "int"s were doing.
- Also makes it easy to change the type used for counts
- (for example, to "unsigned long long") if desired, although
- there are still some gotchas (such as the printf() format
- for the '=' command).
-
-Tue Apr 14 17:34:54 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c (execute_program, process_files, count_branches,
- shrink_program): Added a first attempt at program optimization.
- We now can quit early if we are running with the "-n"
- and all of the commands are known to be valid only for
- lines less than the current line. Thus the "sed" in
- "foo | sed -n 1,2p" will print read three lines, printint
- the first two, and then quit, regardless of how much longer
- "foo" might run or output. This optimization does not buy
- much in most cases (it sometimes even costs a little),
- but when it does help it can help big. The code is
- all conditionally compiled based on the
- EXPERIMENTAL_DASH_N_OPTIMIZATION symbol being #defined,
- so it can be easily omitted if it causes problems.
-
-Tue Apr 14 12:25:06 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c (test_dollar_EOF, last_file_with_data_p):
- test_dollar_EOF() was incorrectly returning a false (0)
- when there were unprocessed files, none of which had any
- data (either unopenable or zero-length). Created
- last_file_with_data_p() to detect this situation, and
- modified test_dollar_EOF() to make use of it.
-
-Thu Apr 2 23:02:18 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * compile.c (match_slash): match_slash() did not handle
- [.coll.], [=equiv=], and [:class:] sequences within a
- character class. Added snarf_char_class() [which is a
- remote derivative of parse_char_class() from GNU ed-0.2]
- to deal with the details, and altered match_slash()
- to make use of it. Also created the trivial
- add_then_next() to avoid clutter in snarf_char_class().
-
-Thu Apr 2 20:34:42 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c, sed.c, sed.h: There was a severe bug in
- how the code handled "sed 5n a b" when "a" consists
- of exactly five lines -- it behaved like "sed 5q a b"!
-
- Rearranged where files get opened -- large scale
- changes primarily involving main(), process_files(),
- and read_pattern_space(), but also touching on several
- other parts of execute.c. The read_pattern_space()
- function became unwieldly and parts were split into
- open_next_file(), closedown(), read_always_fail(),
- read_mem_line(), and read_file_line(). The
- at_end_of_file_p() function became obsolete and was
- eliminated; test_dollar_EOF_p() was updated. A few
- global and module-static variables were elminated, and
- "struct line" was extended; comments were added to the
- "struct line" declartation to document some important
- dependencies in it.
-
- I undertook the reorganization with dread, but I
- feel that the new organization is an improvement
- well beyond just fixing the bug that inspired it.
-
-Thu Apr 2 01:16:25 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * execute.c (read_file_line, slow_getline): the fread()
- buffering code gives insufficient feedback to a user
- running sed with a tty input device, so I created
- slow_getline() for reading from a tty device.
- Additionally, EOF detection has been made a little more
- sensitive to avoid requiring multiple EOFs to be entered
- from a tty.
-
- * configure.in: added isatty() check.
-
-Wed Apr 1 11:04:30 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * configure.in (CPPFLAGS, LDFLAGS, LIBS):
- Set to appropriate values if large file support needs
- explicit enabling. Code fragment taken from a 1997-10-25
- patch to gawk by Paul Eggert <eggert@twinsun.com>
-
-Thu Aug 14 17:43:27 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * utils.c (ck_fclose): modified to ignore NULL parameter.
-
-Thu Aug 14 12:08:45 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * execute.c: tweaked execute_program() to eliminate
- gratuitous "goto" usage.
-
-Thu Aug 14 11:30:04 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * compile.c: added case-insensitive modifier ('I') to
- address and s/// regexps. The s/// case also accepts
- the more popular 'i' modifier. (The address regexp
- cannot use 'i' as a modifier, as that conflicts with
- the use of the 'i'nsert command.)
-
-Thu Aug 14 09:29:06 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * compile.c: abstracted out match_slash() from the s///, y///,
- and address-regexp special-case codes.
-
- * execute.c: made dump_append_queue() use ck_fread() instead
- of hand-rolled error checking.
-
-Mon Jul 28 10:50:41 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * sed.c, sed.h, execute.c: POSIX.2, section 4.55.7, says that
- a newline must end *every* output line. But I think that
- it is useful (when seding a binary file) to omit a trailing
- newline if the input lacks one. Thus the addition of
- POSIXLY_CORRECT behavior.
-
- * execute.c: however, when seding multiple files my feeling
- is that it makes sense to have each file but the last
- behave as-if it ended in a newline. Modified read_pattern_space()
- accordingly.
-
- * utils.c: realized that add1_buffer(), for performance reasons,
- shouldn't be calling memcpy() (indirectly via add_buffer()),
- so rewrote it.
-
-Sat Jul 26 23:08:28 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * execute.c: attempted to make read_pattern_space more
- efficient for the the non-mmap() case.
-
- * utils.c, utils.h, execute.c: new function ck_fread()
- created and used.
-
-Sat Jul 26 20:22:14 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * execute.c, compile.c, sed.c: abstracted the mmap()
- interface into map_file()/unmap_file() [sed.c], and
- changed the ad-hoc code in compile_file() [compile.c]
- and process_file() [execute.c] to make use of the new
- interface.
-
-Sat Jul 26 19:45:46 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * execute.c, compile.c, configure.in: Check to see if mmap()
- is available; if so make use of it on regular files.
-
- * compile.c: compile_file() now closes the input file
- when it is through!
-
-Sun Jul 20 23:57:02 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * compile.c: modified parsing to permit whitespace in more
- places where it makes sense;
- added backslash escaping to the y/// command, per POSIX.
-
- * execute.c: Merged append_pattern_space() into read_pattern_space();
- moved body of 's' command to new function do_subst();
- moved body of 'l' command to new function do_list();
- changed output of 'l' command to conform to POSIX.2;
- made line handling conform to POSIX; added output_line() function;
- redesigned append-space algorithm; added append_queue structure and
- the next_append_slot() and dump_append_queue() functions.
-
- * sed.h: moved the definition of what is now struct subst
- outside of the definition of struct sed_cmd.
-
-Sat Jul 19 16:29:09 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * sed.c, execute.c, sed.h, Makefile.am: Separated out the
- pieces dealing with executing the program from the top-level
- parameter parsing and control.
-
-Sat Jul 19 01:16:35 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * sed.c, compile.c, sed.h, Makefile.am: separate out the
- pieces dealing with compiling the program from the pieces
- dealing with interpreting the result.
-
- * compile.c: add functions in_nonblank() and in_integer(),
- and change interface to compile_address() with an eye
- to making code clearer.
-
-Fri Jul 18 13:35:50 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * utils.c: attempt at a quasi-unification of the
- STDC and traditional C approaches to panic().
-
- * sed.c: eliminate some gratuitous bit twiddling.
- (Using flag bits can be a useful technique, but
- this code is cleaner without them.)
-
- * sed.c: place mutually exclusive members of struct addr
- within a union, mainly to document the exclusivity;
- eliminate unused structure members from struct fp_list;
- eliminate unnecessary module-global variables;
- remove some #if 0 code that is too odd to keep;
- allegedly simplified the 'l' case of execute_program();
- allegedly simplified inchar();
- localized some static variables;
- renamed some variables to better document their purpose;
- removed some goto-s rendered obsolete by other changes.
-
-Thu Jul 17 15:30:44 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * utils.c, utils.h, sed.c: added and made use of
- ck_free() function.
-
- * utils.c, utils.h, sed.c: changed all the *_buffer()
- functions to take/return an incomplete type
- "struct buffer *" instead of using VOID *.
-
- * utils.c, utils.h, sed.c: renamed "finish_buffer()"
- to "free_buffer()", on the premise that the new
- name better describes the function's purpose.
-
-Wed Jul 16 13:52:14 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * utils.c, utils.h, sed.c: added and made use of
- ck_memdup() function.
-
- * sed.c: protected a call to add1_buffer() in
- compile_program() which could have tried to
- push an EOF if a a/i/c command ended with
- a '\', EOF sequence.
-
- * utils.c: added sanity check to add1_buffer() so that
- EOF will not be added to the buffer.
-
-Wed Jul 16 03:56:26 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * configure.in, compat.h, compat.c: added memchr.
-
- * sed.c: got rid of arbitrary NUM_FPS limit;
- made global functions and variables "static" where appropriate;
- make various cosmetic changes, hopefully improving readability;
- simplified some redundant predicates;
- simplified some code, but nothing fundamental (yet?).
-
-Wed Jul 16 00:24:54 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * alloca.c, getopt.c, getopt.h, getopt1.c: updated from
- versions in textutils-1.22.
-
- * Makefile.in, Makefile.am, configure.in: put in automake support.
-
- * basicdefs.h, compat.h, compat.c [, sed.c, utils.c]: took out
- some very ugly compatibility #ifdefs and packaged into one
- place.
-
- * sed.c, utils.c: some gratuitous formatting changes.
-
- * utils.c: changed datatype of utils_id_s in order to
- eliminate arbitrary array size.
-
-Sun Jul 13 17:00:26 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * sed.c, utils.c, utils.h: de-linting oriented cleanup.
-
-Sun Jul 13 00:46:48 PDT 1997 Ken Pizzini <ken@gnu.org>
-
- * sed.c: fixed bug which caused SEGV for files missing a
- final newline. Corrected calls to regnexec to pass the
- proper parameters, in the proper order.
-
-Sat Dec 30 20:16:59 1995 Tom Lord <lord@beehive>
-
- *** Version 3.00 released
-
- * sed.c: Use posix entry points to regexp functions.
- Fix enough bugs to pass the test-suite.
-
-....... Jason Molenda <crash@cygnus.com>
-
- * testsuite/: trippy test suite.
-
-
-Wed May 11 07:46:24 1994 Chip Salzenberg (chip@fin.uucp)
-
- *** Version 2.05 released
-
- * sed.c (compile_address): Recognize numeric addresses.
- Fixes typo made during installation of "~" feature.
-
-Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
-
- *** Version 2.04 released
-
- * sed.c: applied a patch from
- From: kap1@tao.cpe.uchicago.edu (Dietrich Kappe)
-
- Dietrich writes:
-
- As my contribution to the creeping feature creature in sed,
- here is a new type of address. The address has form n~m,
- which means "the line number is equal to n modulo m." The
- modifications to sed are trivial, and the general
- usefulness of this address should be obvious. If m is 0 or
- missing, 1 is used in its place (could be a bug or a
- feature :-).
-
-Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
-
- * rx.c (solve_destination): protect `solution' more carefully.
- This is a cleanup of a patch from Kevin Buettner
- (kev@cujo.geg.mot.com).
-
-Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
-
- * rx.c: make translation tables unsigned chars
-
- * sed.c (main): Compile accumulated -e commands as
- soon as a -f command comes along. This ensures that
- the commands are executed in the right order.
-
-Mon Oct 25 14:41:47 1993 Tom Lord (lord@rtl.cygnus.com)
-
- * sed.c (execute_program): 'w' flushes the buffer after it
- writes -- diagnosed by doug@research.att.com. 'r' and 'w' to
- the same file is now supported -- hopefully even in a way that
- satisfies Posix (it now behaves differently from some
- /bin/sed's and the spec is hard to read so i'm not sure).
-
- Also, 'r' of a non-existent file is now permitted.
-
-Mon Oct 11 21:06:10 1993 Tom Lord (lord@cygnus.com)
-
- * sed.c (execute_program): remember that 'b' and 't' are more
- like longjmp than goto. Patch from tom@basil.icce.rug.nl (Tom
- R.Hageman)
-
- * rx.c: patch from From: fin!chip@rutgers.edu (Chip
- Salzenberg) to get rid of compiler warnings.
-
-
-Sat Aug 7 01:04:59 1993 Tom Lord (lord@unix7.andrew.cmu.edu)
-
- *** Version 2.03 released
-
- * sed.c (compile_regex): report error messages for bogus
- regexps.
-
- SEE ALSO: ChangeLog.rx
-
-
-Wed Jul 21 00:28:03 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
-
- * alloca.c: upgraded to a more recent version
-
- * rx.c (re_search_2): prefer matches with longer
- subexpressions to those with shorter ones, giving precedence
- to low numbered subexpressions.
-
- * rx.c (re_compile): don't free `params' if its null.
-
-Fri Jul 16 01:12:08 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
-
- * rx.[ch], sed.c: rx replaces regex.
-
-
-
-Thu May 27 11:13:03 1993 Tom Lord (lord@unix3.andrew.cmu.edu)
-
- * sed.c (execute_program, match_addr): caught more cases
- that need to be sensitive to a missing \n at EOF.
-
-Fri May 21 00:39:22 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
-
- * sed.c (execute_program): apply gaumondp's patch
- to fix '\xabcxs/foo/bar/'.
-
- * sed.c (execute_program):
- If a second address is a regexp, never match it on the
- same line as the first address.
-
- * sed.c (compile_regexp):
- Numeric ranges x,y s.t. y < x are now treated as x,x.
- There was a bug in that they were being handled like x,x+1.
-
- * sed.c (execute_program, read_pattern_space,
- append_pattern_space) don't add newlines to lines
- that don't have them.
-
-Wed May 19 13:34:45 1993 Tom Lord (lord@unix9.andrew.cmu.edu)
-
- * sed.c (compile_program): grok \\n in comments.
-
-Mon May 17 16:34:50 1993 Tom Lord (lord@unix9.andrew.cmu.edu)
-
- * alloca.c: new (standard) file
-
- * configure.in: AC_CONSTified
-
- * sed.c (compile_program): properly diagnose the error of
- a missing command (e.g. sed /x/). (thanks gaumondp)
-
- * sed.c (compile_regexp): handle character classes correctly.
- Thanks gaumondp@ERE.UMontreal.CA
- and schwab@issan.informatik.uni-dortmund.de.
-
-Thu May 6 12:37:18 1993 Tom Lord (lord@unix10.andrew.cmu.edu)
-
- * sed.c (compile_filename, execute_program): don't use
- `access' or `/dev/null'.
-
- * sed.c (execute_program): 'N' at EOF should delete the pat buf.
-
- * sed.c (compile_filename): truncate, don't append files
- being openned for `w' or `s///w'
-
- * sed.c (execute_program): -n switch shouldn't effect `i' or `c'.
-
- * sed.c (compile_program): don't compile unescaped newlines
- into the substitution string of an `s' command (they are an error).
-
- * sed.c (compile_regex): correctly skip over character
- sets that contain `]'.
-
- * sed.c (execute_program): patch from gaumondp
- Correctly handle empty-string matches in the case of an `s'
- command with a repeat count.
-
- * sed.c (compile_program): patch from gaumondp@ere.UMontreal.ca.
- Don't consume characters after the label of a `b', `t' or `:' command.
-
- * sed.c (compile_program): unmatched open braces are an error.
-
- * sed.c (compile_file): when consuming an initial comment,
- count lines correctly.
-
-Wed Nov 18 02:10:58 1992 Tom Lord (lord@unix2.andrew.cmu.edu)
-
- * sed.c (execute_program): Made s///p print even if -n was
- specified.
-
- * sed.c (compile_string): Changed the type of this function to
- fix a compile warning.
-
-Wed Nov 4 17:15:34 1992 Tom Lord (lord@unix7.andrew.cmu.edu)
-
- * sed.c (main): Initialize the hold area to contain "\n"
- instead of "". In execute_program, all lines are expected
- to be newline terminated. Also, if H is the first command
- in the script, the result is a pattern buffer that begins
- with a blank line. Thanks to pinard@iro.umontreal.ca
- (Francois Pinard) for pointing out this and many other bugs.
-
- * sed.c (execute_program): Fixed a case of `D' command.
- Thanks Chris Weber <weber@bucknell.edu>
-
- * sed.c: added new tests of no_default_output to make -n work.
- Thanks Andrew Herbert <andrew@werple.apana.org.au>
-
- * sed.c, configure.in,Makefile.in: autoconfed bcopy and const.
- Thanks "J.T. Conklin" <jtc@gain.com>
-
- * sed.c: made prog_cur, prog_start, and prog_end unsigned so
- that users could write `sed -e s/ÿ/foo/g'.
-
-Tue Oct 13 00:04:05 1992 Tom Lord (lord@unix3.andrew.cmu.edu)
-
- * sed.c (execute_program): fixed the cycling behavior of 'D'
-
- * sed.c: integrated patch that closes files
-
- * sed.c: changed regexp syntax
-
-Fri May 22 15:11:12 1992 Tom Lord (lord at moriarty.bh.andrew.cmu.edu)
-
- * regex.c: this is not my change, but a pointer to the fact
- that karl@gnu fixed some regexp bugs that were plaguing sed.
-
-Thu Apr 30 13:02:21 1992 Tom Lord (lord at unix3.andrew.cmu.edu)
-
- * sed.c (compile_program, execute_program)
- subprograms are now compiled with an explicit continuation ;)
- return_v and return_i in struct vector. execute_program
- no longer recurses to execute subprograms (case '{') and now
- understands a return instruction (case '{').
-
-Tue Apr 28 17:13:04 1992 Tom Lord (lord at unix7.andrew.cmu.edu)
-
- * sed.c (compile_address) added \?regexp? syntax for addresses.
-
- * sed.c (main) added {} intervals to the obscure regexp
- syntax.
-
- * sed.c (compile_program) after calling compile_address,
- normalize numeric addresses (make a2.addr_number > a1.addr_number).
- This is necessary because line numbers must match exactly,
- but sed does not try to match a2 until after a1 has matched,
- yet a1,a2 where a2 <= a1 is defined to be equivelent to
- a1,a1+1
-
-Sat Feb 29 10:55:54 1992 David J. MacKenzie (djm@nutrimat)
-
- * sed.c (usage): Document long options as starting with `--'.
-
-Mon Dec 9 23:56:40 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * sed.c: Include sys/types.h, for new regex.h.
-
-Tue Nov 5 02:16:01 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * utils.c: Change NO_VFPRINTF to VPRINTF_MISSING, for
- compatibility with autoconf.
-
-Mon Sep 2 22:02:40 1991 David J. MacKenzie (djm at apple-gunkies)
-
- * sed.c (compile_regex): Treat \ as a normal character when in
- a char class.
-
-Thu Aug 8 00:15:33 1991 David J. MacKenzie (djm at bleen)
-
- * Version 1.08.
-
- * sed.c (compile_filename): If reading a file fails, read
- /dev/null instead. It's what Unix and POSIX do, effectively.
-
- * sed.c (compile_regex): The 'slash' character doesn't
- terminate the regex if it's in a character class.
-
- * sed.c (main): If given no args, or bad option, print usage
- message.
- (usage): New function.
-
- * sed.c (execute_program): Amount written for 'P' command was
- wrong. From stephend@ksr.com (Stephen Davis).
-
-Wed Aug 7 16:51:14 1991 David J. MacKenzie (djm at apple-gunkies)
-
- * sed.c (append_pattern_space): Check for buffer full before
- instead of after writing to buffer. Don't need to test for
- EOF initially anymore, due to the next change.
- (execute_program): For 'n' and 'N' commands, if eof is reached
- in input, quit the script like Unix sed does.
- Fix memory allocation problems for 'a' and 'r' commands.
- (compile_program): Fix off by one error in processing comments.
- All of the above are from Tapani Tarvainen, tarvaine@tukki.jyu.fi.
-
- * sed.c (setup_jump): Use isblank instead of testing for ' '
- or '\t', for POSIX locales.
-
- * utils.c (ck_strdup): Renamed from strdup.
- * sed.c: Change callers.
-
- * sed.c, utils.c: Clean up declarations and includes to get
- rid of compiler warnings.
-
- * sed.c (main): Add long-named options. Don't complain if -n
- is given twice.
-
-Fri Aug 2 12:33:16 1991 David J. MacKenzie (djm at apple-gunkies)
-
- * configure: Support +srcdir arg. Create config.status and
- remove it and Makefile if interrupted while creating them.
- * Makefile.in: Change DESTDIR to prefix.
-
-Mon Jul 15 13:07:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
-
- * sed.c (main): Add -V option to print version number.
- (USAGE): Mention -V.
-
-Mon Jul 8 01:42:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
-
- * sed.c: Define bcopy in terms of memcpy if STDC_HEADERS as
- well as if USG.
- (compile_filename): Don't glob filename (for 'r' and 'w'
- commands). Unix sed doesn't do it and it's not very useful,
- since it can only match 0 or 1 files.
- (execute_program): Change '\a' to 007 since some compilers
- don't recognize \a.
- * utils.c: New file; code moved from sed.c.
- * Replace Makefile with Makefile.in and configure.
- Update README.
-
-Tue Mar 26 13:00:48 EST 1991 Jay Fenlason (hack@gnu.ai.mit.edu)
-
- * sed.c (match_address) Added a trivial cast for portability.
-
-Mon Feb 25 13:23:29 EST 1991 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c Changed 's' command to work with latest version of regex()
- routines, which mysteriously changed somewhere in there. . .
- A one-line patch from David Eckelkamp (eckelkamp@mcc.com).
-
- Initialize the fastmap in the hopes that it'll make sed faster.
-
-Thu Feb 21 13:42:27 EST 1991 Jay Fenlason (hack@ai.mti.edu)
-
- * sed.c Change panic to compile with other __STDC__ compilers.
-
-Wed Jan 30 10:46:38 EST 1991 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c Changed version number. Made new release.
-
-Tue Nov 27 15:34:51 EST 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c (setup_jump) Don't blow chunks if there isn't a label
- after a b or t command.
-
- (main) Don't panic if it a branch command doesn't have
- a label to branch to.
-
- (main) Collect all the -e arguments together and parse them
- all at once. This way, -e { -e mumble -e } will work.
-
- All these small patches from David Schmidt (davids@isc-br.isc-br.com)
-
-Tue Sep 11 12:51:37 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c Changed some function forward declarations to use VOID *
- instead of char *
-
-Mon Jul 16 11:12:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c (ck_malloc) Use malloc(1) instead of malloc(0) if given
- a request for zero bytes.
-
-Tue Jun 5 02:05:37 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * sed.c: Remove excess newlines from calls to panic.
- Reformat some comments to fit in 79 columns.
- Base whether to use void * on __STDC__, not __GNU__.
- (main): Add missing arg when printing usage message.
- Print usage if given invalid arg.
- (panic) [__STDC__]: Add missing ", ...".
- (compile_filename): Print correct error message if glob_filename
- returns NULL.
-
-Thu Apr 5 21:41:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * sed.c (execute_program, case 'r'): When need to realloc append.text,
- multiply append.alloc by 2 instead of adding
- cur_cmd->x.cmd_txt.text_len.
-
-Tue Mar 6 15:55:35 EST 1990 Jay Fenlason (hack@ai.mit.edu)
-
- * sed.c (compile_regex) Allocate 10 bytes extra space needed by
- re_compile_pattern.
-
-Sun Feb 25 16:32:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * sed.c (execute_program, case 'l'): Print \00 instead of \0.
- Print backslash as \\ not \.
- Print \xx instead of /xx.
-
-Thu Feb 1 14:02:28 EST 1990 hack@wookumz
-
- * sed.c (memchr) Use () inside inner loop so it will work correctly.
- A two character patch from Robert A Bruce (rab@allspice.berkeley.edu)
-
-Wed Sep 27 18:47:39 EDT 1989 hack@ai.mit.edu
-
- * sed.c (compile_regex) New function. When compiling regex,
- turn ^ into \` and $ into \' so that they won't match on embedded
- newlines. UN*X pattern matching is a crock.
- (compile_program, compile_address) call compile_regex.
-
-Mon Sep 18 10:15:32 EDT 1989 hack@ai.mit.edu
-
- * sed.c (compile_program): define translate as unsigned char * so
- that y command will work on non-ascii characters.
-
- Changed version number to 1.06.
-
-Thu Sep 14 15:57:08 EDT 1989 hack@ai.mit.edu
-
- * sed.c (compile_program) Let programs use ; to terminate } as
- well as newline.
-
- (read_file) Print an error msg to stderr if it can't open an
- input file.
-
-Thu Mar 23 18:04:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * Makefile, sed.c: Added new copyright notice.
-
- * Makefile: Make distributions which follow the symlinks.
-
-hack@ai.mit.edu
-
- 1.05 Fixed error in 'r' (now does things in the right order)
-
- 1.04 Fixed s/re/rep/[number]
-
- 1.03 Fixes from Mike Haertel for regexps that match the
- empty string, and for Ritchie stdio (non-sticky EOF)
-
- 1.02 Fixed 't', 'b', ':' to trim leading spaces and tabs
- Fixed \\ in replacement of 's' command
- Added comments
-
- 1.01 Added s/re/rep/[digits]
- added #n as first line of script
- added filename globbing
- added 'l' command
- All in the name of POSIX
-
- 1.00 Began (thinking about) distributing this file
-
-Local Variables:
-mode: indented-text
-left-margin: 8
-version-control: never
-End:
diff --git a/sources/host-tools/sed-4.2.1/INSTALL b/sources/host-tools/sed-4.2.1/INSTALL
deleted file mode 100644
index 23e5f25..0000000
--- a/sources/host-tools/sed-4.2.1/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
-Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script). Here is a another example:
-
- /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
-configuration-related scripts to be executed by `/bin/bash'.
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/sources/host-tools/sed-4.2.1/Makefile.am b/sources/host-tools/sed-4.2.1/Makefile.am
deleted file mode 100644
index 178a6cd..0000000
--- a/sources/host-tools/sed-4.2.1/Makefile.am
+++ /dev/null
@@ -1,59 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-# Automake requirements
-AUTOMAKE_OPTIONS = gnits 1.10 dist-bzip2
-ACLOCAL_AMFLAGS = -I m4
-
-PACKAGE = sed
-
-SUBDIRS = lib po sed doc testsuite
-
-noinst_DATA = bootstrap.sh
-noinst_HEADERS = basicdefs.h
-
-EXTRA_DIST = BUGS THANKS COPYING.DOC README.boot \
- autoboot build-aux/texi2dvi build-aux/help2man
-
-html:
- cd doc && make html
-
-DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS)
-EXTRA_DC_FLAGS =
-
-dist-hook:
- test $(COPYRIGHT_YEAR) = `date +%Y` || \
- { echo Copyright year not updated; exit 1; }
- cmp bootstrap.sh $(srcdir)/bootstrap.sh > /dev/null 2>&1 || \
- cp -p bootstrap.sh $(srcdir)/bootstrap.sh
- cp -p $(srcdir)/bootstrap.sh $(distdir)/bootstrap.sh
-
-full-distcheck:
- make distcheck EXTRA_DC_FLAGS='--enable-regex-tests'
- make distcheck EXTRA_DC_FLAGS='--enable-html'
- make distcheck EXTRA_DC_FLAGS='--disable-i18n'
- make distcheck EXTRA_DC_FLAGS='--disable-nls'
- make distcheck EXTRA_DC_FLAGS='--without-included-gettext'
- @case "$(host)" in \
- *-linux*|*-gnu*) \
- echo make distcheck EXTRA_DC_FLAGS=\'--without-included-regex\'; \
- make distcheck EXTRA_DC_FLAGS='--without-included-regex' \
- ;; \
- *) \
- echo Skipping check --without-included-regex \
- ;; \
- esac
-
-## update-regex:
-## HOST=sources.redhat.com && \
-## BASEURL="http://$$HOST/cgi-bin/cvsweb.cgi/~checkout~/libc/posix" && \
-## QUERY='cvsroot=glibc&content-type=text/plain' && \
-## wget -O lib/regcomp.c "$$BASEURL/regcomp.c?$$QUERY" && \
-## wget -O lib/regexec.c "$$BASEURL/regexec.c?$$QUERY" && \
-## wget -O lib/regex.c "$$BASEURL/regex.c?$$QUERY" && \
-## wget -O lib/regex_.h "$$BASEURL/regex.h?$$QUERY" && \
-## wget -O lib/regex_internal.c "$$BASEURL/regex_internal.c?$$QUERY" && \
-## wget -O lib/regex_internal.h "$$BASEURL/regex_internal.h?$$QUERY" && \
-## wget -O testsuite/BOOST.tests "$$BASEURL/BOOST.tests?$$QUERY" && \
-## wget -O testsuite/PCRE.tests "$$BASEURL/PCRE.tests?$$QUERY" && \
-## wget -O testsuite/SPENCER.tests "$$BASEURL/rxspencer/tests?$$QUERY"
-
diff --git a/sources/host-tools/sed-4.2.1/Makefile.in b/sources/host-tools/sed-4.2.1/Makefile.in
deleted file mode 100644
index 8a71213..0000000
--- a/sources/host-tools/sed-4.2.1/Makefile.in
+++ /dev/null
@@ -1,1061 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/bootstrap.sh.in $(srcdir)/config_h.in \
- $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING COPYING.DOC \
- ChangeLog INSTALL NEWS README-alpha THANKS \
- build-aux/config.guess build-aux/config.rpath \
- build-aux/config.sub build-aux/depcomp build-aux/install-sh \
- build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lstat.m4 \
- $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/mbrlen.m4 \
- $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
- $(top_srcdir)/m4/selinux-context-h.m4 \
- $(top_srcdir)/m4/selinux-selinux-h.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
- $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strverscmp.m4 \
- $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wcrtomb.m4 \
- $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctype.m4 \
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = bootstrap.sh
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(noinst_DATA)
-HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WRITE = @GNULIB_WRITE@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNSETENV = @HAVE_UNSETENV@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE__BOOL = @HAVE__BOOL@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSED_LIBDEPS = @LIBSED_LIBDEPS@
-LIBSED_LTLIBDEPS = @LIBSED_LTLIBDEPS@
-LIB_ACL = @LIB_ACL@
-LIB_SELINUX = @LIB_SELINUX@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = sed
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED_FEATURE_VERSION = @SED_FEATURE_VERSION@
-SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
-SELINUX_SELINUX_H = @SELINUX_SELINUX_H@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDBOOL_H = @STDBOOL_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_STAT_H = @SYS_STAT_H@
-SYS_TIME_H = @SYS_TIME_H@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-USE_ACL = @USE_ACL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VOID_UNSETENV = @VOID_UNSETENV@
-WCHAR_H = @WCHAR_H@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WCTYPE_H = @WCTYPE_H@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XFAIL_TESTS = @XFAIL_TESTS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# Automake requirements
-AUTOMAKE_OPTIONS = gnits 1.10 dist-bzip2
-ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = lib po sed doc testsuite
-noinst_DATA = bootstrap.sh
-noinst_HEADERS = basicdefs.h
-EXTRA_DIST = BUGS THANKS COPYING.DOC README.boot \
- autoboot build-aux/texi2dvi build-aux/help2man
-
-DISTCHECK_CONFIGURE_FLAGS = XGETTEXT='$(SHELL) -c : dummy' $(EXTRA_DC_FLAGS)
-EXTRA_DC_FLAGS =
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
- cd $(srcdir) && $(AUTOMAKE) --gnits \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnits Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config_h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config_h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-bootstrap.sh: $(top_builddir)/config.status $(srcdir)/bootstrap.sh.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config_h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config_h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config_h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) config_h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @case `sed 15q $(srcdir)/NEWS` in \
- *"$(VERSION)"*) : ;; \
- *) \
- echo "NEWS not updated; not releasing" 1>&2; \
- exit 1;; \
- esac
- $(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA) $(HEADERS) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-generic \
- ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
- dist-hook dist-lzma dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-generic distclean-hdr distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
-
-
-html:
- cd doc && make html
-
-dist-hook:
- test $(COPYRIGHT_YEAR) = `date +%Y` || \
- { echo Copyright year not updated; exit 1; }
- cmp bootstrap.sh $(srcdir)/bootstrap.sh > /dev/null 2>&1 || \
- cp -p bootstrap.sh $(srcdir)/bootstrap.sh
- cp -p $(srcdir)/bootstrap.sh $(distdir)/bootstrap.sh
-
-full-distcheck:
- make distcheck EXTRA_DC_FLAGS='--enable-regex-tests'
- make distcheck EXTRA_DC_FLAGS='--enable-html'
- make distcheck EXTRA_DC_FLAGS='--disable-i18n'
- make distcheck EXTRA_DC_FLAGS='--disable-nls'
- make distcheck EXTRA_DC_FLAGS='--without-included-gettext'
- @case "$(host)" in \
- *-linux*|*-gnu*) \
- echo make distcheck EXTRA_DC_FLAGS=\'--without-included-regex\'; \
- make distcheck EXTRA_DC_FLAGS='--without-included-regex' \
- ;; \
- *) \
- echo Skipping check --without-included-regex \
- ;; \
- esac
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/NEWS b/sources/host-tools/sed-4.2.1/NEWS
deleted file mode 100644
index cd755d2..0000000
--- a/sources/host-tools/sed-4.2.1/NEWS
+++ /dev/null
@@ -1,502 +0,0 @@
-Sed 4.2.1
-
-* fix parsing of s/[[[[[[[[[]//
-
-* security contexts are preserved by -i too under SELinux
-
-* temporary files for sed -i are not made group/world-readable until
- they are complete
-
-----------------------------------------------------------------------------
-Sed 4.2
-
-* now released under GPLv3
-
-* added a new extension `z` to clear pattern space even in the presence
-of invalid multibyte sequences
-
-* a preexisting GNU gettext installation is needed in order to compile
-GNU sed with NLS support
-
-* new option --follow-symlinks, available when editing a file in-place.
-This option may not be available on some systems (in this case, the
-option will *not* be a no-op; it will be completely unavailable).
-In the future, the option may be added as a no-op on systems without
-symbolic links at all, since in this case a no-op is effectively
-indistinguishable from a correct implementation.
-
-* hold-space is reset between different files in -i and -s modes.
-
-* multibyte processing fixed
-
-* the following GNU extensions are turned off by --posix: options [iImMsSxX]
-in the `s' command, address kinds `FIRST~STEP' and `ADDR1,+N' and `ADDR1,~N',
-line address 0, `e' or `z' commands, text between an `a' or `c' or `i'
-command and the following backslash, arguments to the `l' command.
---posix disables all extensions to regular expressions.
-
-* fixed bug in 'i\' giving a segmentation violation if given alone.
-
-* much improved portability
-
-* much faster in UTF-8 locales
-
-* will correctly replace ACLs when using -i
-
-* will now accept NUL bytes for `.'
-
-----------------------------------------------------------------------------
-Sed 4.1.5
-
-* fix parsing of a negative character class not including a closed bracket,
- like [^]] or [^]a-z].
-
-* fix parsing of [ inside an y command, like y/[/A/.
-
-* output the result of commands a, r, R when a q command is found.
-
-----------------------------------------------------------------------------
-Sed 4.1.4
-
-* \B correctly means "not on a word boundary" rather than "inside a word"
-
-* bugfixes for platform without internationalization
-
-* more thorough testing framework for tarballs (`make full-distcheck')
-
-----------------------------------------------------------------------------
-Sed 4.1.3
-
-* regex addresses do not use leftmost-longest matching. In other words,
- /.\+/ only looks for a single character, and does not try to find as
- many of them as possible like it used to do.
-
-* added a note to BUGS and the manual about changed interpretation
- of `s|abc\|def||', and about localization issues.
-
-* fixed --disable-nls build problems on Solaris.
-
-* fixed `make check' in non-English locales.
-
-* `make check' tests the regex library by default if the included regex
- is used (regex tests had to be enabled separately up to now).
-
-----------------------------------------------------------------------------
-Sed 4.1.2
-
-* fix bug in 'y' command in multi-byte character sets
-
-* fix severe bug in parsing of ranges with an embedded open bracket
-
-* fix off-by-one error when printing a "bad command" error
-
-----------------------------------------------------------------------------
-Sed 4.1.1
-
-* preserve permissions of in-place edited files
-
-* yield an error when running -i on terminals or other non regular files
-
-* do not interpret - as stdin when running in in-place editing mode
-
-* fix bug that prevented 's' command modifiers from working
-
-----------------------------------------------------------------------------
-Sed 4.1
-
-* // matches the last regular expression even in POSIXLY_CORRECT mode.
-
-* change the way we treat lines which are not terminated by a newline.
-Such lines are printed without the terminating newline (as before)
-but as soon as more text is sent to the same output stream, the
-missing newline is printed, so that the two lines don't concatenate.
-The behavior is now independent from POSIXLY_CORRECT because POSIX
-actually has undefined behavior in this case, and the new implementation
-arguably gives the ``least expected surprise''. Thanks to Stepan
-Kasal for the implementation.
-
-* documentation improvements, with updated references to the POSIX.2
-specification
-
-* error messages on I/O errors are better, and -i does not leave temporary
-files around (e.g. when running ``sed -i'' on a directory).
-
-* escapes are accepted in the y command (for example: y/o/\n/ transforms
-o's into newlines)
-
-* -i option tries to set the owner and group to the same as the input file
-
-* `L' command is deprecated and will be removed in sed 4.2.
-
-* line number addresses are processed differently -- this is supposedly
-conformant to POSIX and surely more idiot-proof. Line number addresses
-are not affected by jumping around them: they are activated and
-deactivated exactly where the script says, while previously
- 5,8b
- 1,5d
-would actually delete lines 1,2,3,4 and 9 (!).
-
-* multibyte characters are taken in consideration to compute the
-operands of s and y, provided you set LC_CTYPE correctly. They are
-also considered by \l, \L, \u, \U, \E.
-
-* [\n] matches either backslash or 'n' when POSIXLY_CORRECT.
-
-* new option --posix, disables all GNU extensions. POSIXLY_CORRECT only
-disables GNU extensions that violate the POSIX standard.
-
-* options -h and -V are not supported anymore, use --help and --version.
-
-* removed documentation for \s and \S which worked incorrectly
-
-* restored correct behavior for \w and \W: match [[:alnum:]_] and
-[^[:alnum:]_] (they used to match [[:alpha:]_] and [^[:alpha:]_]
-
-* the special address 0 can only be used in 0,/RE/ or 0~STEP addresses;
-other cases give an error (you are hindering portability for no reason
-if specifying 0,N and you are giving a dead command if specifying 0
-alone).
-
-* when a \ is used to escape the character that would terminate an operand
-of the s or y commands, the backslash is removed before the regex is
-compiled. This is left undefined by POSIX; this behavior makes `s+x\+++g'
-remove occurrences of `x+', consistently with `s/x\///g'. (However, if
-you enjoy yourself trying `s*x\***g', sed will use the `x*' regex, and you
-won't be able to pass down `x\*' while using * as the delimiter; ideas on
-how to simplify the parser in this respect, and/or gain more coherent
-semantics, are welcome).
-
-
-----------------------------------------------------------------------------
-Sed 4.0.9
-
-* 0 address behaves correctly in single-file (-i and -s) mode.
-
-* documentation improvements.
-
-* tested with many hosts and compilers.
-
-* updated regex matcher from upstream, with many bugfixes and speedups.
-
-* the `N' command's feature that is detailed in the BUGS file was disabled
-by the first change below in sed 4.0.8. The behavior has now been
-restored, and is only enabled if POSIXLY_CORRECT behavior is not
-requested.
-
-----------------------------------------------------------------------------
-Sed 4.0.8
-
-* fix `sed n' printing the last line twice.
-
-* fix incorrect error message for invalid character classes.
-
-* fix segmentation violation with repeated empty subexpressions.
-
-* fix incorrect parsing of ^ after escaped (.
-
-* more comprehensive test suite (and with many expected failures...)
-
-----------------------------------------------------------------------------
-Sed 4.0.7
-
-* VPATH builds working on non-glibc machines
-
-* fixed bug in s///Np: was printing even if less than N matches were
-found.
-
-* fixed infinite loop on s///N when LHS matched a null string and
-there were not enough matches in pattern space
-
-* behavior of s///N is consistent with s///g when the LHS can match
-a null string (and the infinite loop did not happen :-)
-
-* updated some translations
-
-----------------------------------------------------------------------------
-Sed 4.0.6
-
-* added parameter to `v' for the version of sed that is expected.
-
-* configure switch --without-included-regex to use the system regex matcher
-
-* fix for -i option under Cygwin
-
-----------------------------------------------------------------------------
-Sed 4.0.5
-
-* portability fixes
-
-* improvements to some error messages (e.g. y/abc/defg/ incorrectly said
-`excess characters after command' instead of `y arguments have different
-lengths')
-
-* `a', `i', `l', `L', `r' accept two addresses except in POSIXLY_CORRECT
-mode. Only `q' and `Q' do not accept two addresses in standard (GNU) mode.
-
-----------------------------------------------------------------------------
-Sed 4.0.4
-
-* documentation fixes
-
-* update regex matcher
-
-----------------------------------------------------------------------------
-Sed 4.0.3
-
-* fix packaging problem (two missing translation catalogs)
-
-----------------------------------------------------------------------------
-Sed 4.0.2
-
-* more translations
-
-* fix build problems (vpath builds and bootstrap builds)
-
-----------------------------------------------------------------------------
-Sed 4.0.1
-
-* Remove last vestiges of super-sed
-
-* man page automatically built
-
-* more translations provided
-
-* portability improvements
-
-----------------------------------------------------------------------------
-Sed 4.0
-
-* Update regex matcher
-
-----------------------------------------------------------------------------
-Sed 3.96
-
-* `y' command supports multibyte character sets
-
-* Update regex matcher
-
-----------------------------------------------------------------------------
-Sed 3.95
-
-* `R' command reads a single line from a file.
-
-* CR-LF pairs are always ignored under Windows, even if (under Cygwin)
-a disk is mounted as binary.
-
-* More attention to errors on stdout
-
-* New `W' command to write first line of pattern space to a file
-
-* Can customize line wrap width on single `l' commands
-
-* `L' command formats and reflows paragraphs like `fmt' does.
-
-* The test suite makefiles are better organized (this change is
-transparent however).
-
-* Compiles and bootstraps out-of-the-box under MinGW32 and Cygwin.
-
-* Optimizes cases when pattern space is truncated at its start or at
-its end by `D' or by a substitution command with an empty RHS.
-For example scripts like this,
-
- seq 1 10000 | tr \\n \ | ./sed ':a; s/^[0-9][0-9]* //; ta'
-
-whose behavior was quadratic with previous versions of sed, have
-now linear behavior.
-
-* New command `e' to pipe the output of a command into the output
-of sed.
-
-* New option `e' to pass the output of the `s' command through the
-Bourne shell and get the result into pattern space.
-
-* Switched to obstacks in the parser -- less memory-related bugs
-(there were none AFAIK but you never know) and less memory usage.
-
-* New option -i, to support in-place editing a la Perl. Usually one
-had to use ed or, for more complex tasks, resort to Perl; this is
-not necessary anymore.
-
-* Dumped buffering code. The performance loss is 10%, but it caused
-bugs in systems with CRLF termination. The current solution is
-not definitive, though.
-
-* Bug fix: Made the behavior of s/A*/x/g (i.e. `s' command with a
-possibly empty LHS) more consistent:
-
- pattern GNU sed 3.x GNU sed 4.x
- B xBx xBx
- BC xBxCx xBxCx
- BAC xBxxCx xBxCx
- BAAC xBxxCx xBxCx
-
-* Bug fix: the // empty regular expressions now refers to the last
-regular expression that was matched, rather than to the last
-regular expression that was compiled. This richer behavior seems
-to be the correct one (albeit neither one is POSIXLY_CORRECT).
-
-* Check for invalid backreferences in the RHS of the `s' command
-(e.g. s/1234/\1/)
-
-* Support for \[lLuUE] in the RHS of the `s' command like in Perl.
-
-* New regular expression matcher
-
-* Bug fix: if a file was redirected to be stdin, sed did not consume
-it. So
- (sed d; sed G) < TESTFILE
-
-double-spaced TESTFILE, while the equivalent `useless use of cat'
- cat TESTFILE | (sed d; sed G)
-
-printed nothing (which is the correct behavior). A test for this
-bug was added to the test suite.
-
-* The documentation is now much better, with a few examples provided,
-and a thorough description of regular expressions. The manual often
-refers to "GNU extensions", but if they are described here they are
-specific to this version.
-
-* Documented command-line option:
- -r, --regexp-extended
- Use extended regexps -- e.g. (abc+) instead of \(abc\+\)
-
-* Added feature to the `w' command and to the `w' option of the `s'
-command: if the file name is /dev/stderr, it means the standard
-error (inspired by awk); and similarly for /dev/stdout. This is
-disabled if POSIXLY_CORRECT is set.
-
-* Added `m' and `M' modifiers to `s' command for multi-line
-matching (Perl-style); in addresses, only `M' works.
-
-* Added `Q' command for `silent quit'; added ability to pass
-an exit code from a sed script to the caller.
-
-* Added `T' command for `branch if failed'.
-
-* Added `v' command, which is a do-nothing intended to fail on
-seds that do not support GNU sed 4.0's extensions.
-
-----------------------------------------------------------------------------
-Sed 3.02.80
-
-* Started new version nomenclature for pre-3.03 releases. (I'm being
-pessimistic in assuming that .90 won't give me enough breathing room.)
-
-* Bug fixes: the regncomp()/regnexec() interfaces proved to be inadequate to
-properly handle expressions such as "s/\</#/g". Re-abstracted the regex
-code in the sed/ tree, and now use the re_search_2() interface to the GNU
-regex routines. This change also fixed a bug where /./ did not match the
-NUL character. Had the glibc folk fix a bug in lib/regex.c where
-'s/0*\([0-9][0-9]\)/X\1X/' failed to match on input "002".
-
-* Added new command-line options:
- -u, --unbuffered
- Do not attempt to read-ahead more than required; do not buffer stdout.
- -l N, --line-length=N
- Specify the desired line-wrap length for the `l' command.
- A length of "0" means "never wrap".
-
-* New internationalization translations added: fr ru de it el sk pt_BR sv
-(plus nl from 3.02a).
-
-* The s/// command now understands the following escapes
-(in both halves):
- \a an "alert" (BEL)
- \f a form-feed
- \n a newline
- \r a carriage-return
- \t a horizontal tab
- \v a vertical tab
- \oNNN a character with the octal value NNN
- \dNNN a character with the decimal value NNN
- \xNN a character with the hexadecimal value NN
-This behavior is disabled if POSIXLY_CORRECT is set, at least for the
-time being (until I can be convinced that this behavior does not violate
-the POSIX standard). (Incidentally, \b (backspace) was omitted because
-of the conflict with the existing "word boundary" meaning. \ooo octal
-format was omitted because of the conflict with backreference syntax.)
-
-* If POSIXLY_CORRECT is set, the empty RE // now is the null match
-instead of "repeat the last REmatch". As far as I can tell
-this behavior is mandated by POSIX, but it would break too many
-legacy sed scripts to blithely change GNU sed's default behavior.
-
-----------------------------------------------------------------------------
-Sed 3.02a
-
-* Added internationalization support, and an initial (already out of date)
-set of Dutch message translations (both provided by Erick Branderhorst).
-
-* Added support for scripts like:
- sed -e 1ifoo -e '$abar'
-(note no need for \ <newline> after a, i, and c commands).
-Also, conditionally (on NO_INPUT_INDENT) added
-experimental support for skipping leading whitespace on
-each {a,i,c} input line.
-
-* Added addressing of the form:
- /foo/,+5 p (print from foo to 5th line following)
- /foo/,~5 p (print from foo to next line whose line number is a multiple of 5)
-The first address of these can be any of the previously existing
-addressing types; the +N and ~N forms are only allowed as the
-second address of a range.
-
-* Added support for pseudo-address "0" as the first address in an
-address-range, simplifying scripts which happen to match the end
-address on the first line of input. For example, a script
-which deletes all lines from the beginning of the file to the
-first line which contains "foo" is now simply "sed 0,/foo/d",
-whereas before one had to go through contortions to deal with
-the possibility that "foo" might appear on the first line of
-the input.
-
-* Made NUL characters in regexps work "correctly" --- i.e., a NUL
-in a RE matches a NUL; it does not prematurely terminate the RE.
-(This only works in -f scripts, as the POSIX.1 exec*() interface
-only passes NUL-terminated strings, and so sed will only be able
-to see up to the first NUL in any -e scriptlet.)
-
-* Wherever a `;' is accepted as a command terminator, also allow a `}'
-or a `#' to appear. (This allows for less cluttered-looking scripts.)
-
-* Lots of internal changes that are only relevant to source junkies
-and development testing. Some of which might cause imperceptible
-performance improvements.
-
-----------------------------------------------------------------------------
-Sed 3.02
-
-* Fixed a bug in the parsing of character classes (e.g., /[[:space:]]/).
-Corrected an omission in djgpp/Makefile.am and an improper dependency
-in testsuite/Makefile.am.
-
-----------------------------------------------------------------------------
-Sed 3.01
-
-* This version of sed mainly contains bug fixes and portability
-enhancements, plus performance enhancements related to sed's handling
-of input files. Due to excess performance penalties, I have reverted
-(relative to 3.00) to using regex.c instead of the rx package for
-regular expression handling, at the expense of losing true POSIX.2
-BRE compatibility. However, performance related to regular expression
-handling *still* needs a fair bit of work.
-
-* One new feature has been added: regular expressions may be followed
-with an "I" directive ("i" was taken [the "i"nsert command]) to
-indicate that the regexp should be matched in a case-insensitive
-manner. Also of note are a new organization to the source code,
-new documentation, and a new maintainer.
-
-----------------------------------------------------------------------------
-Sed 3.0
-
-* This version of sed passes the new test-suite donated by
-Jason Molenda.
-
-* Overall performance has been improved in the following sense: Sed 3.0
-is often slightly slower than sed 2.05. On a few scripts, though, sed
-2.05 was so slow as to be nearly useless or to use up unreasonable
-amounts of memory. These problems have been fixed and in such cases,
-sed 3.0 should have acceptable performance.
diff --git a/sources/host-tools/sed-4.2.1/README b/sources/host-tools/sed-4.2.1/README
deleted file mode 100644
index 3da31c2..0000000
--- a/sources/host-tools/sed-4.2.1/README
+++ /dev/null
@@ -1,13 +0,0 @@
-This is the GNU implementation of sed, the Unix stream editor.
-
-See the NEWS file for a brief summary and the ChangeLog for
-more detailed descriptions of changes.
-
-See the file INSTALL for generic compilation and installation
-instructions.
-
-See the file BUGS for instructions about reporting bugs.
-
-The file README.boot gives instructions for making a "bootstrap"
-version of sed on systems which lack any pre-existing and working
-version of sed.
diff --git a/sources/host-tools/sed-4.2.1/README-alpha b/sources/host-tools/sed-4.2.1/README-alpha
deleted file mode 100644
index 9235efe..0000000
--- a/sources/host-tools/sed-4.2.1/README-alpha
+++ /dev/null
@@ -1,8 +0,0 @@
-This is an alpha version of GNU sed. Please try it on a wide
-range of scripts (especially configure scripts) and submit
-bug reports to bonzini@gnu.org.
-
-Thanks,
-
-Paolo Bonzini
-GNU sed maintainer
diff --git a/sources/host-tools/sed-4.2.1/README.boot b/sources/host-tools/sed-4.2.1/README.boot
deleted file mode 100644
index fd2d1a0..0000000
--- a/sources/host-tools/sed-4.2.1/README.boot
+++ /dev/null
@@ -1,23 +0,0 @@
-Because a working sed is a prerequisite for running the ``configure''
-script, I have provided the script ``bootstrap.sh'' which will attempt
-to build a version of sed adequate for running ``configure''. If it
-fails, edit the ``config.h'' file that was created according to the
-comments found therein, and then try running ``bootstrap.sh'' again.
-
-The bootstrap build is quite likely to babble on and on with
-various compiler warnings. You may want to tell bootstrap.sh
-how to invoke your compiler with warnings disabled. For example,
-with a Bourne-like shell and gcc one could use:
- $ CC='gcc -w' sh bootstrap.sh
-or with a csh-like shell, one could try:
- % env CC='gcc -w' sh bootstrap.sh
-
-Once you get a working version of sed, temporarily install sed/sed
-somewhere in your $PATH, and then really re-build the normal way
-(starting with ``sh configure''); the bootstrap version is almost
-certainly more crippled than it needs to be on your machine.
-
-I don't much care to hear about any bugs in ``bootstrap'' versions
-of sed beyond those which actually keep the ``bootstrap'' version from
-building, or sed's configure script from running properly. I am
-especially uninterested in compiler warnings from the bootstrap build.
diff --git a/sources/host-tools/sed-4.2.1/THANKS b/sources/host-tools/sed-4.2.1/THANKS
deleted file mode 100644
index 76397d2..0000000
--- a/sources/host-tools/sed-4.2.1/THANKS
+++ /dev/null
@@ -1,54 +0,0 @@
-Akim Demaille <akim@epita.fr>
-Alan Modra <alan@spri.levels.unisa.edu.au>
-Arnold Robbins <arnold@skeeve.com>
-Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Andrew Herbert <andrew@werple.apana.org.au>
-Bruno Haible <haible@ilog.fr>
-Chip Salzenberg <chip@fin.uucp>
-Chris Weber <weber@bucknell.edu>
-Corinna Vinschen <vinschen@redhat.com>
-Daniel R. Grayson <dan@math.uiuc.edu>
-David Eckelkamp <eckelkamp@mcc.com>
-David J. MacKenzie <djm@nutrimat>
-David Schmidt <davids@isc-br.isc-br.com>
-Dietrich Kappe <kap1@tao.cpe.uchicago.edu>
-Doug McIlroy <doug@research.att.com>
-Eero Hakkinen <eero17@bigfoot.com>
-Eli Zaretskii <eliz@is.elta.co.il>
-Eric Pement <epement@moody.edu>
-Erick Branderhorst <Erick.Branderhorst@asml.nl>
-Francois Pinard <pinard@iro.umontreal.ca>
-Gaumond Pierre <gaumondp@ERE.UMontreal.CA>
-Greg Ubben <gsu@romulus.ncsc.mil>
-Isamu Hasegawa <isamu@yamato.ibm.com>
-J.T. Conklin <jtc@gain.com>
-Jakub Jelinek <jakub@redhat.com>
-Jason Molenda <crash@cygnus.com>
-Jim Meyering <meyering@ascend.com>
-Laurent Vogel <lvl@club-internet.fr>
-Karl Berry <karl@freefriends.org>
-Karl Heuer <kwzh@gnu.org>
-Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Kevin Buettner <kev@cujo.geg.mot.com>
-Maciej W. Rozycki <macro@linux-mips.org>
-Mark Kettenis <kettenis@phys.uva.nl>
-Michael De La Rue <delarue@NTCCSC01WA.ntc.nokia.com>
-Michel de Ruiter <mdruiter@cs.vu.nl>
-Paul Eggert <eggert@twinsun.com>
-Robert A Bruce <rab@allspice.berkeley.edu>
-Ronnie Glasscock <Ronnie.N.Glasscock@bridge.bellsouth.com>
-Sergey Farbotka <z8sergey8z@gmail.com>
-Simon Taylor <simon@unisolve.com.au>
-Stepan Kasal <kasal@ucw.cz>
-Stephen Davis <stephend@ksr.com>
-Steve Ingram <si@maps-r-us.com>
-Tapani Tarvainen <tarvaine@tukki.jyu.fi>
-Timothy J Luoma <luomat@peak.org>
-Tom R.Hageman <tom@basil.icce.rug.nl>
-Ulrich Drepper <drepper@redhat.com>
-Vladimir Marek <vladimir.marek@sun.com>
-Vladimir Volovich <vvv@vvv.vsu.ru>
-Wichert Akkerman <wakkerma@debian.org>
-Zhongxing Xu <xuzhongxing@gmail.com>
-
-And the GNU translation teams.
diff --git a/sources/host-tools/sed-4.2.1/aclocal.m4 b/sources/host-tools/sed-4.2.1/aclocal.m4
deleted file mode 100644
index 7e32c36..0000000
--- a/sources/host-tools/sed-4.2.1/aclocal.m4
+++ /dev/null
@@ -1,957 +0,0 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 13
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/00gnulib.m4])
-m4_include([m4/acl.m4])
-m4_include([m4/alloca.m4])
-m4_include([m4/btowc.m4])
-m4_include([m4/codeset.m4])
-m4_include([m4/dirname.m4])
-m4_include([m4/dos.m4])
-m4_include([m4/double-slash-root.m4])
-m4_include([m4/errno_h.m4])
-m4_include([m4/error.m4])
-m4_include([m4/exitfail.m4])
-m4_include([m4/extensions.m4])
-m4_include([m4/getdelim.m4])
-m4_include([m4/getline.m4])
-m4_include([m4/getopt.m4])
-m4_include([m4/getpagesize.m4])
-m4_include([m4/gettext.m4])
-m4_include([m4/gettimeofday.m4])
-m4_include([m4/glibc21.m4])
-m4_include([m4/gnulib-common.m4])
-m4_include([m4/gnulib-comp.m4])
-m4_include([m4/iconv.m4])
-m4_include([m4/include_next.m4])
-m4_include([m4/inline.m4])
-m4_include([m4/intlmacosx.m4])
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix.m4])
-m4_include([m4/localcharset.m4])
-m4_include([m4/locale-fr.m4])
-m4_include([m4/locale-ja.m4])
-m4_include([m4/locale-zh.m4])
-m4_include([m4/longlong.m4])
-m4_include([m4/lstat.m4])
-m4_include([m4/malloc.m4])
-m4_include([m4/mbrlen.m4])
-m4_include([m4/mbrtowc.m4])
-m4_include([m4/mbsinit.m4])
-m4_include([m4/mbstate_t.m4])
-m4_include([m4/memchr.m4])
-m4_include([m4/mkstemp.m4])
-m4_include([m4/mmap-anon.m4])
-m4_include([m4/multiarch.m4])
-m4_include([m4/nls.m4])
-m4_include([m4/pathmax.m4])
-m4_include([m4/po.m4])
-m4_include([m4/progtest.m4])
-m4_include([m4/quote.m4])
-m4_include([m4/quotearg.m4])
-m4_include([m4/realloc.m4])
-m4_include([m4/regex.m4])
-m4_include([m4/rename.m4])
-m4_include([m4/selinux-context-h.m4])
-m4_include([m4/selinux-selinux-h.m4])
-m4_include([m4/ssize_t.m4])
-m4_include([m4/stdbool.m4])
-m4_include([m4/stdint.m4])
-m4_include([m4/stdio_h.m4])
-m4_include([m4/stdlib_h.m4])
-m4_include([m4/strerror.m4])
-m4_include([m4/string_h.m4])
-m4_include([m4/strndup.m4])
-m4_include([m4/strnlen.m4])
-m4_include([m4/strverscmp.m4])
-m4_include([m4/sys_stat_h.m4])
-m4_include([m4/sys_time_h.m4])
-m4_include([m4/tempname.m4])
-m4_include([m4/threadlib.m4])
-m4_include([m4/unistd_h.m4])
-m4_include([m4/unlocked-io.m4])
-m4_include([m4/wchar.m4])
-m4_include([m4/wcrtomb.m4])
-m4_include([m4/wctob.m4])
-m4_include([m4/wctype.m4])
-m4_include([m4/wint_t.m4])
-m4_include([m4/xalloc.m4])
-m4_include([m4/xstrndup.m4])
diff --git a/sources/host-tools/sed-4.2.1/autoboot b/sources/host-tools/sed-4.2.1/autoboot
deleted file mode 100755
index b8b2cbd..0000000
--- a/sources/host-tools/sed-4.2.1/autoboot
+++ /dev/null
@@ -1,652 +0,0 @@
-#! /bin/sh
-
-# Bootstrap this package from checked-out sources.
-
-# Copyright (C) 2003-2008 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Paul Eggert.
-
-nl='
-'
-
-# Ensure file names are sorted consistently across platforms.
-LC_ALL=C
-export LC_ALL
-
-local_gl_dir=gl
-
-# Temporary directory names.
-bt='._bootmp'
-bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
-bt2=${bt}2
-
-usage() {
- echo >&2 "\
-Usage: $0 [OPTION]...
-Bootstrap this package from the checked-out sources.
-
-Options:
- --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
- sources reside. Use this if you already
- have gnulib sources on your machine, and
- do not want to waste your bandwidth downloading
- them again.
- --copy Copy files instead of creating symbolic links.
- --force Attempt to bootstrap even if the sources seem
- not to have been checked out.
- --skip-po Do not download po files.
-
-If the file $0.conf exists in the same directory as this script, its
-contents are read as shell variables to configure the bootstrap.
-
-Running without arguments will suffice in most cases.
-"
-}
-
-# Configuration.
-
-# Name of the Makefile.am
-gnulib_mk=gnulib.mk
-
-# List of gnulib modules needed.
-gnulib_modules=
-
-# Any gnulib files needed that are not in modules.
-gnulib_files=
-
-# The command to download all .po files for a specified domain into
-# a specified directory. Fill in the first %s is the domain name, and
-# the second with the destination directory. Use rsync's -L and -r
-# options because the latest/%s directory and the .po files within are
-# all symlinks.
-po_download_command_format=\
-"rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'"
-
-extract_package_name='
- /^AC_INIT(/{
- /.*,.*,.*, */{
- s///
- s/[][]//g
- s/)$//
- p
- q
- }
- s/AC_INIT(\[*//
- s/]*,.*//
- s/^GNU //
- y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- s/[^A-Za-z0-9_]/-/g
- p
- }
-'
-package=`sed -n "$extract_package_name" configure.ac` || exit
-gnulib_name=lib$package
-
-build_aux=build-aux
-source_base=lib
-m4_base=m4
-doc_base=doc
-tests_base=tests
-
-# Extra files from gnulib, which override files from other sources.
-gnulib_extra_files="
- $build_aux/install-sh
- $build_aux/missing
- $build_aux/mdate-sh
- $build_aux/texinfo.tex
- $build_aux/depcomp
- $build_aux/config.guess
- $build_aux/config.sub
- doc/INSTALL
-"
-
-# Additional gnulib-tool options to use. Use "\newline" to break lines.
-gnulib_tool_option_extras=
-
-# Other locale categories that need message catalogs.
-EXTRA_LOCALE_CATEGORIES=
-
-# Additional xgettext options to use. Use "\\\newline" to break lines.
-XGETTEXT_OPTIONS='\\\
- --flag=_:1:pass-c-format\\\
- --flag=N_:1:pass-c-format\\\
- --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
-'
-
-# Package bug report address for gettext files
-MSGID_BUGS_ADDRESS=bug-$package@gnu.org
-
-# Files we don't want to import.
-excluded_files=
-
-# File that should exist in the top directory of a checked out hierarchy,
-# but not in a distribution tarball.
-checkout_only_file=README-hacking
-
-# Whether to use copies instead of symlinks.
-copy=false
-
-# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
-# those files to be generated in directories like lib/, m4/, and po/.
-# Or set it to 'auto' to make this script select which to use based
-# on which version control system (if any) is used in the source directory.
-vc_ignore=auto
-
-# Override the default configuration, if necessary.
-# Make sure that bootstrap.conf is sourced from the current directory
-# if we were invoked as "sh bootstrap".
-case "$0" in
- */*) test -r "$0.conf" && . "$0.conf" ;;
- *) test -r "$0.conf" && . ./"$0.conf" ;;
-esac
-
-
-if test "$vc_ignore" = auto; then
- vc_ignore=
- test -d .git && vc_ignore=.gitignore
- test -d CVS && vc_ignore="$vc_ignore .cvsignore"
-fi
-
-# Translate configuration into internal form.
-
-# Parse options.
-
-for option
-do
- case $option in
- --help)
- usage
- exit;;
- --gnulib-srcdir=*)
- GNULIB_SRCDIR=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;;
- --skip-po)
- SKIP_PO=t;;
- --force)
- checkout_only_file=;;
- --copy)
- copy=true;;
- *)
- echo >&2 "$0: $option: unknown option"
- exit 1;;
- esac
-done
-
-if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
- echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
- exit 1
-fi
-
-# If $STR is not already on a line by itself in $FILE, insert it,
-# sorting the new contents of the file and replacing $FILE with the result.
-insert_sorted_if_absent() {
- file=$1
- str=$2
- test -f $file || touch $file
- echo "$str" | sort -u - $file | cmp -s - $file \
- || echo "$str" | sort -u - $file -o $file \
- || exit 1
-}
-
-# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
-found_aux_dir=no
-grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
- >/dev/null && found_aux_dir=yes
-grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
- >/dev/null && found_aux_dir=yes
-if test $found_aux_dir = no; then
- echo "$0: expected line not found in configure.ac. Add the following:" >&2
- echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2
- exit 1
-fi
-
-# If $build_aux doesn't exist, create it now, otherwise some bits
-# below will malfunction. If creating it, also mark it as ignored.
-if test ! -d $build_aux; then
- mkdir $build_aux
- for dot_ig in x $vc_ignore; do
- test $dot_ig = x && continue
- insert_sorted_if_absent $dot_ig $build_aux
- done
-fi
-
-echo "$0: Bootstrapping from checked-out $package sources..."
-
-# See if we can use gnulib's git-merge-changelog merge driver.
-if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
- if git config merge.merge-changelog.driver >/dev/null ; then
- :
- elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
- echo "initializing git-merge-changelog driver"
- git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
- git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
- else
- echo "consider installing git-merge-changelog from gnulib"
- fi
-fi
-
-
-cleanup_gnulib() {
- status=$?
- rm -fr gnulib
- exit $status
-}
-
-git_modules_config () {
- test -f .gitmodules && git config --file .gitmodules "$@"
-}
-
-# Get gnulib files.
-
-case ${GNULIB_SRCDIR--} in
--)
- if git_modules_config submodule.gnulib.url >/dev/null; then
- echo "$0: getting gnulib files..."
- git submodule init || exit $?
- git submodule update || exit $?
-
- elif [ ! -d gnulib ]; then
- echo "$0: getting gnulib files..."
-
- trap cleanup_gnulib 1 2 13 15
-
- git clone --depth 2 git://git.sv.gnu.org/gnulib ||
- cleanup_gnulib
-
- trap - 1 2 13 15
- fi
- GNULIB_SRCDIR=gnulib
- ;;
-*)
- # Redirect the gnulib submodule to the directory on the command line
- # if possible.
- if test -d "$GNULIB_SRCDIR"/.git && \
- git_modules_config submodule.gnulib.url >/dev/null; then
- git submodule init
- GNULIB_SRCDIR=`cd $GNULIB_SRCDIR && pwd`
- git config --replace-all submodule.gnulib.url $GNULIB_SRCDIR
- echo "$0: getting gnulib files..."
- git submodule update || exit $?
- GNULIB_SRCDIR=gnulib
- fi
- ;;
-esac
-
-gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
-<$gnulib_tool || exit
-
-# Get translations.
-
-download_po_files() {
- subdir=$1
- domain=$2
- echo "$0: getting translations into $subdir for $domain..."
- cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
- eval "$cmd"
-}
-
-# Download .po files to $po_dir/.reference and copy only the new
-# or modified ones into $po_dir. Also update $po_dir/LINGUAS.
-update_po_files() {
- # Directory containing primary .po files.
- # Overwrite them only when we're sure a .po file is new.
- po_dir=$1
- domain=$2
-
- # Download *.po files into this dir.
- # Usually contains *.s1 checksum files.
- ref_po_dir="$po_dir/.reference"
-
- test -d $ref_po_dir || mkdir $ref_po_dir || return
- download_po_files $ref_po_dir $domain \
- && ls "$ref_po_dir"/*.po 2>/dev/null |
- sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS"
-
- langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
- test "$langs" = '*' && langs=x
- for po in $langs; do
- case $po in x) continue;; esac
- new_po="$ref_po_dir/$po.po"
- cksum_file="$ref_po_dir/$po.s1"
- if ! test -f "$cksum_file" ||
- ! test -f "$po_dir/$po.po" ||
- ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then
- echo "updated $po_dir/$po.po..."
- cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file"
- fi
- done
-}
-
-case $SKIP_PO in
-'')
- if test -d po; then
- update_po_files po $package || exit
- fi
-
- if test -d runtime-po; then
- update_po_files runtime-po $package-runtime || exit
- fi;;
-esac
-
-symlink_to_dir()
-{
- src=$1/$2
- dst=${3-$2}
-
- test -f "$src" && {
-
- # If the destination directory doesn't exist, create it.
- # This is required at least for "lib/uniwidth/cjk.h".
- dst_dir=`dirname "$dst"`
- if ! test -d "$dst_dir"; then
- mkdir -p "$dst_dir"
-
- # If we've just created a directory like lib/uniwidth,
- # tell version control system(s) it's ignorable.
- # FIXME: for now, this does only one level
- parent=`dirname "$dst_dir"`
- for dot_ig in x $vc_ignore; do
- test $dot_ig = x && continue
- ig=$parent/$dot_ig
- insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
- done
- fi
-
- if $copy; then
- {
- test ! -h "$dst" || {
- echo "$0: rm -f $dst" &&
- rm -f "$dst"
- }
- } &&
- test -f "$dst" &&
- cmp -s "$src" "$dst" || {
- echo "$0: cp -fp $src $dst" &&
- cp -fp "$src" "$dst"
- }
- else
- test -h "$dst" &&
- src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 &&
- dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 &&
- test "$src_i" = "$dst_i" || {
- dot_dots=
- case $src in
- /*) ;;
- *)
- case /$dst/ in
- *//* | */../* | */./* | /*/*/*/*/*/)
- echo >&2 "$0: invalid symlink calculation: $src -> $dst"
- exit 1;;
- /*/*/*/*/) dot_dots=../../../;;
- /*/*/*/) dot_dots=../../;;
- /*/*/) dot_dots=../;;
- esac;;
- esac
-
- echo "$0: ln -fs $dot_dots$src $dst" &&
- ln -fs "$dot_dots$src" "$dst"
- }
- fi
- }
-}
-
-cp_mark_as_generated()
-{
- cp_src=$1
- cp_dst=$2
-
- if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then
- symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst"
- elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then
- symlink_to_dir $local_gl_dir "$cp_dst"
- else
- case $cp_dst in
- *.[ch]) c1='/* '; c2=' */';;
- *.texi) c1='@c '; c2= ;;
- *.m4|*/Make*|Make*) c1='# ' ; c2= ;;
- *) c1= ; c2= ;;
- esac
-
- # If the destination directory doesn't exist, create it.
- # This is required at least for "lib/uniwidth/cjk.h".
- dst_dir=`dirname "$cp_dst"`
- test -d "$dst_dir" || mkdir -p "$dst_dir"
-
- if test -z "$c1"; then
- cmp -s "$cp_src" "$cp_dst" || {
- # Copy the file first to get proper permissions if it
- # doesn't already exist. Then overwrite the copy.
- echo "$0: cp -f $cp_src $cp_dst" &&
- rm -f "$cp_dst" &&
- cp "$cp_src" "$cp_dst-t" &&
- sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
- mv -f "$cp_dst-t" "$cp_dst"
- }
- else
- # Copy the file first to get proper permissions if it
- # doesn't already exist. Then overwrite the copy.
- cp "$cp_src" "$cp_dst-t" &&
- (
- echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" &&
- echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
- sed "s!$bt_regex/!!g" "$cp_src"
- ) > $cp_dst-t &&
- if cmp -s "$cp_dst-t" "$cp_dst"; then
- rm -f "$cp_dst-t"
- else
- echo "$0: cp $cp_src $cp_dst # with edits" &&
- mv -f "$cp_dst-t" "$cp_dst"
- fi
- fi
- fi
-}
-
-version_controlled_file() {
- dir=$1
- file=$2
- found=no
- if test -d CVS; then
- grep -F "/$file/" $dir/CVS/Entries 2>/dev/null |
- grep '^/[^/]*/[0-9]' > /dev/null && found=yes
- elif test -d .git; then
- git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes
- elif test -d .svn; then
- svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
- else
- echo "$0: no version control for $dir/$file?" >&2
- fi
- test $found = yes
-}
-
-slurp() {
- for dir in . `(cd $1 && find * -type d -print)`; do
- copied=
- sep=
- for file in `ls -a $1/$dir`; do
- case $file in
- .|..) continue;;
- .*) continue;; # FIXME: should all file names starting with "." be ignored?
- esac
- test -d $1/$dir/$file && continue
- for excluded_file in $excluded_files; do
- test "$dir/$file" = "$excluded_file" && continue 2
- done
- if test $file = Makefile.am; then
- copied=$copied${sep}$gnulib_mk; sep=$nl
- remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
- sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || {
- echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
- rm -f $dir/$gnulib_mk &&
- sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
- }
- elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
- version_controlled_file $dir $file; then
- echo "$0: $dir/$file overrides $1/$dir/$file"
- else
- copied=$copied$sep$file; sep=$nl
- if test $file = gettext.m4; then
- echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
- rm -f $dir/$file
- sed '
- /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
- AC_DEFUN([AM_INTL_SUBDIR], [
- /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
- AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
- $a\
- AC_DEFUN([gl_LOCK_EARLY], [])
- ' $1/$dir/$file >$dir/$file
- else
- cp_mark_as_generated $1/$dir/$file $dir/$file
- fi
- fi || exit
- done
-
- for dot_ig in x $vc_ignore; do
- test $dot_ig = x && continue
- ig=$dir/$dot_ig
- if test -n "$copied"; then
- insert_sorted_if_absent $ig "$copied"
- # If an ignored file name ends with .in.h, then also add
- # the name with just ".h". Many gnulib headers are generated,
- # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
- # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
- f=`echo "$copied"|sed 's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
- insert_sorted_if_absent $ig "$f"
-
- # For files like sys_stat.in.h and sys_time.in.h, record as
- # ignorable the directory we might eventually create: sys/.
- f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
- insert_sorted_if_absent $ig "$f"
- fi
- done
- done
-}
-
-
-# Create boot temporary directories to import from gnulib and gettext.
-rm -fr $bt $bt2 &&
-mkdir $bt $bt2 || exit
-
-# Import from gnulib.
-
-gnulib_tool_options="\
- --import\
- --no-changelog\
- --aux-dir $bt/$build_aux\
- --doc-base $bt/$doc_base\
- --lib $gnulib_name\
- --m4-base $bt/$m4_base/\
- --source-base $bt/$source_base/\
- --tests-base $bt/$tests_base\
- --local-dir $local_gl_dir\
- $gnulib_tool_option_extras\
-"
-echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
-$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
-slurp $bt || exit
-
-for file in $gnulib_files; do
- symlink_to_dir "$GNULIB_SRCDIR" $file || exit
-done
-
-
-# Import from gettext.
-with_gettext=yes
-grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
- with_gettext=no
-
-if test $with_gettext = yes; then
- echo "$0: (cd $bt2; autopoint) ..."
- cp configure.ac $bt2 &&
- (cd $bt2 && autopoint && rm configure.ac) &&
- slurp $bt2 $bt || exit
-fi
-rm -fr $bt $bt2 || exit
-
-# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
-# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
-# The following requires GNU find 4.2.3 or newer. Considering the usual
-# portability constraints of this script, that may seem a very demanding
-# requirement, but it should be ok. Ignore any failure, which is fine,
-# since this is only a convenience to help developers avoid the relatively
-# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
-# between successive runs of this script.
-find "$m4_base" "$source_base" \
- -depth \( -name '*.m4' -o -name '*.[ch]' \) \
- -type l -xtype l -delete > /dev/null 2>&1
-
-# Reconfigure, getting other files.
-
-for command in \
- libtool \
- 'aclocal --force -I m4' \
- 'autoconf --force' \
- 'autoheader --force' \
- 'automake --add-missing --copy --force-missing';
-do
- if test "$command" = libtool; then
- grep '^[ ]*AM_PROG_LIBTOOL\>' configure.ac >/dev/null ||
- continue
- command='libtoolize -c -f'
- fi
- echo "$0: $command ..."
- $command || exit
-done
-
-
-# Get some extra files from gnulib, overriding existing files.
-for file in $gnulib_extra_files; do
- case $file in
- */INSTALL) dst=INSTALL;;
- build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;;
- *) dst=$file;;
- esac
- symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit
-done
-
-if test $with_gettext = yes; then
- # Create gettext configuration.
- echo "$0: Creating po/Makevars from po/Makevars.template ..."
- rm -f po/Makevars
- sed '
- /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
- /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
- /^XGETTEXT_OPTIONS *=/{
- s/$/ \\/
- a\
- '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
- }
- ' po/Makevars.template >po/Makevars
-
- if test -d runtime-po; then
- # Similarly for runtime-po/Makevars, but not quite the same.
- rm -f runtime-po/Makevars
- sed '
- /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
- /^subdir *=.*/s/=.*/= runtime-po/
- /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
- /^XGETTEXT_OPTIONS *=/{
- s/$/ \\/
- a\
- '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
- }
- ' <po/Makevars.template >runtime-po/Makevars
-
- # Copy identical files from po to runtime-po.
- (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
- fi
-fi
-
-echo "$0: done. Now you can run './configure'."
diff --git a/sources/host-tools/sed-4.2.1/basicdefs.h b/sources/host-tools/sed-4.2.1/basicdefs.h
deleted file mode 100644
index 72f7503..0000000
--- a/sources/host-tools/sed-4.2.1/basicdefs.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef BASICDEFS_H
-#define BASICDEFS_H
-
-#include <alloca.h>
-
-#ifdef HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-#ifdef HAVE_WCTYPE_H
-# include <wctype.h>
-#endif
-
-
-#ifdef BOOTSTRAP
-# define false 0
-# define true 1
-# define bool unsigned
-# define __bool_true_false_are_defined 1
-#else
-# include <stdbool.h>
-#endif
-
-#include <gettext.h>
-#define N_(String) gettext_noop(String)
-#define _(String) gettext(String)
-
-/* type countT is used to keep track of line numbers, etc. */
-typedef unsigned long countT;
-
-/* Oftentimes casts are used as an ugly hack to silence warnings
- * from the compiler. However, sometimes those warnings really
- * do point to something worth avoiding. I define this
- * dummy marker to make searching for them with a text editor
- * much easier, in case I want to verify that they are all
- * legitimate. It is defined in the way it is so that it is
- * easy to disable all casts so that the compiler (or lint)
- * can tell me potentially interesting things about what would
- * happen to the code without the explicit casts.
- */
-#ifdef LOUD_LINT
-# define CAST(x)
-#else
-# define CAST(x) (x)
-#endif
-
-
-/* Can the compiler grok function prototypes? */
-#if (defined __STDC__ && __STDC__-0) || defined __GNUC__ || __PROTOTYPES
-# define P_(s) s
-#else
-# define P_(s) ()
-#endif
-
-/* (VOID *) is the generic pointer type; some ancient compilers
- don't know about (void *), and typically use (char *) instead.
- VCAST() is used to cast to and from (VOID *)s --- but if the
- compiler *does* support (void *) make this a no-op, so that
- the compiler can detect if we omitted an essential function
- declaration somewhere.
- */
-#ifndef VOID
-# define VOID void
-# define VCAST(t)
-#else
-# define VCAST(t) (t)
-#endif
-
-/* some basic definitions to avoid undue promulgating of VCAST ugliness */
-#define MALLOC(n,t) (VCAST(t *)ck_malloc((n)*sizeof(t)))
-#define REALLOC(x,n,t) (VCAST(t *)ck_realloc(VCAST(VOID *)(x),(n)*sizeof(t)))
-#define MEMDUP(x,n,t) (VCAST(t *)ck_memdup(VCAST(VOID *)(x),(n)*sizeof(t)))
-#define FREE(x) (ck_free(VCAST(VOID *)x))
-#define MEMCPY(d,s,l) (memcpy(VCAST(VOID *)(d),VCAST(const VOID *)(s),l))
-#define MEMMOVE(d,s,l) (memmove(VCAST(VOID *)(d),VCAST(const VOID *)(s),l))
-#define OB_MALLOC(o,n,t) ((t *)(void *)obstack_alloc(o,(n)*sizeof(t)))
-
-#define obstack_chunk_alloc ck_malloc
-#define obstack_chunk_free ck_free
-
-
-#ifdef HAVE_MEMORY_H
-# include <memory.h>
-#endif
-
-#ifndef HAVE_MEMMOVE
-# ifndef memmove
- /* ../lib/libsed.a provides a memmove() if the system doesn't.
- Here is where we declare its return type; we don't prototype
- it because that sometimes causes problems when we're running in
- bootstrap mode on a system which really does support memmove(). */
- extern VOID *memmove();
-# endif
-#endif
-
-#ifndef HAVE_MEMCPY
-# ifndef memcpy
-# define memcpy(d, s, n) memmove(d, s, n)
-# endif
-#endif
-
-#ifndef HAVE_STRERROR
- extern char *strerror P_((int e));
-#endif
-
-
-/* handle misdesigned <ctype.h> macros (snarfed from lib/regex.c) */
-/* Jim Meyering writes:
-
- "... Some ctype macros are valid only for character codes that
- isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
- using /bin/cc or gcc but without giving an ansi option). So, all
- ctype uses should be through macros like ISPRINT... If
- STDC_HEADERS is defined, then autoconf has verified that the ctype
- macros don't need to be guarded with references to isascii. ...
- Defining isascii to 1 should let any compiler worth its salt
- eliminate the && through constant folding."
- Solaris defines some of these symbols so we must undefine them first. */
-
-#undef ISASCII
-#if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)
-# define ISASCII(c) 1
-#else
-# define ISASCII(c) isascii(c)
-#endif
-
-#if defined isblank || defined HAVE_ISBLANK
-# define ISBLANK(c) (ISASCII (c) && isblank (c))
-#else
-# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
-#endif
-
-#undef ISPRINT
-#define ISPRINT(c) (ISASCII (c) && isprint (c))
-#define ISDIGIT(c) (ISASCII (c) && isdigit (c))
-#define ISALNUM(c) (ISASCII (c) && isalnum (c))
-#define ISALPHA(c) (ISASCII (c) && isalpha (c))
-#define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
-#define ISLOWER(c) (ISASCII (c) && islower (c))
-#define ISPUNCT(c) (ISASCII (c) && ispunct (c))
-#define ISSPACE(c) (ISASCII (c) && isspace (c))
-#define ISUPPER(c) (ISASCII (c) && isupper (c))
-#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
-
-#ifndef initialize_main
-# ifdef __EMX__
-# define initialize_main(argcp, argvp) \
- { _response(argcp, argvp); _wildcard(argcp, argvp); }
-# else /* NOT __EMX__ */
-# define initialize_main(argcp, argvp)
-# endif
-#endif
-
-#endif /*!BASICDEFS_H*/
diff --git a/sources/host-tools/sed-4.2.1/bootstrap.sh b/sources/host-tools/sed-4.2.1/bootstrap.sh
deleted file mode 100755
index 091f57c..0000000
--- a/sources/host-tools/sed-4.2.1/bootstrap.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-#! /bin/sh
-
-# edit this to taste; note that you can also override via the environment:
-case "$CC" in
- "") CC=cc
-esac
-
-if test -f config.h; then :; else
- echo "Creating basic config.h..."
- cat >config.h <<'END_OF_CONFIG_H'
-/* A bootstrap version of config.h, for systems which can't
- auto-configure due to a lack of a working sed. If you are on
- a sufficiently odd machine you may need to hand-tweak this file.
-
- Regardless, once you get a working version of sed you really should
- re-build starting with a run of "configure", as the bootstrap
- version is almost certainly more crippled than it needs to be on
- your machine.
-*/
-
-#define PACKAGE "sed"
-#define PACKAGE_BUGREPORT "bug-gnu-utils@gnu.org"
-#define VERSION "4.2.1-boot"
-#define SED_FEATURE_VERSION "4.2"
-#define BOOTSTRAP 1
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-/* Define if your compiler/headers don't support const. */
-#undef const
-#define __getopt_argv_const const
-
-/* Define if headers have no definition. */
-/* #define mbstate_t int */
-#define HAVE_WCHAR_H 1
-#define HAVE_MBRTOWC 1
-
-/* Toggle if you encounter errors in lib/mkstemp.c. */
-#define HAVE_UNISTD_H 1
-#define HAVE_FCNTL_H 1
-#undef HAVE_SYS_FILE_H
-#undef HAVE_IO_H
-
-/* Emulate stdbool.h. */
-#define bool int
-#define true 1
-#define false 0
-
-/* Avoid uselessly complicated gnulib stuff. */
-#define _LOCALCHARSET_H
-#define locale_charset() "C"
-
-/* All other config.h.in options intentionally omitted. Report as a
- bug if you need extra "#define"s in here. */
-
-END_OF_CONFIG_H
-
- cat > conftest.c << \EOF
-#define size_t unsigned
-#include <sys/types.h>
-#include <stdio.h>
-
-size_t s;
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo '#define size_t unsigned' >> config.h
- echo checking for size_t... no
- else
- echo checking for size_t... yes
- fi
-
- cat > conftest.c << \EOF
-#define ssize_t int
-#include <sys/types.h>
-#include <stdio.h>
-
-ssize_t s;
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo '#define ssize_t int' >> config.h
- echo checking for ssize_t... no
- else
- echo checking for ssize_t... yes
- fi
-
- cat > conftest.c << \EOF
-void *foo;
-
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo checking for void *... yes
- else
- echo '#define VOID char' >> config.h
- echo checking for void *... no
- fi
-
- rm -f conftest.*
-
- cat >> config.h << \EOF
-#include <sys/types.h>
-#include <stdio.h>
-EOF
-
-fi
-
-# tell the user what we're doing from here on...
-set -x -e
-
-# the ``|| exit 1''s are for fail-stop; set -e doesn't work on some systems
-
-rm -f lib/*.o sed/*.o sed/sed
-cd lib || exit 1
-cp alloca.in.h alloca.h || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c alloca.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c copy-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c error.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c exitfail.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c file-has-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getdelim.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getline.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt1.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c malloc.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c mkstemp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c obstack.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c quote.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c quotearg.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c regex.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c set-mode-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c strerror.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c strverscmp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c tempname.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c xalloc-die.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c xmalloc.c || exit 1
-
-cd ../sed || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c sed.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c fmt.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c compile.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c execute.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c mbcs.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c utils.c || exit 1
-
-${CC} -o sed *.o ../lib/*.o || exit 1
diff --git a/sources/host-tools/sed-4.2.1/bootstrap.sh.in b/sources/host-tools/sed-4.2.1/bootstrap.sh.in
deleted file mode 100755
index 9905b7a..0000000
--- a/sources/host-tools/sed-4.2.1/bootstrap.sh.in
+++ /dev/null
@@ -1,147 +0,0 @@
-#! /bin/sh
-
-# edit this to taste; note that you can also override via the environment:
-case "$CC" in
- "") CC=cc
-esac
-
-if test -f config.h; then :; else
- echo "Creating basic config.h..."
- cat >config.h <<'END_OF_CONFIG_H'
-/* A bootstrap version of config.h, for systems which can't
- auto-configure due to a lack of a working sed. If you are on
- a sufficiently odd machine you may need to hand-tweak this file.
-
- Regardless, once you get a working version of sed you really should
- re-build starting with a run of "configure", as the bootstrap
- version is almost certainly more crippled than it needs to be on
- your machine.
-*/
-
-#define PACKAGE "sed"
-#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
-#define VERSION "@VERSION@-boot"
-#define SED_FEATURE_VERSION "@SED_FEATURE_VERSION@"
-#define BOOTSTRAP 1
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-/* Define if your compiler/headers don't support const. */
-#undef const
-#define __getopt_argv_const const
-
-/* Define if headers have no definition. */
-/* #define mbstate_t int */
-#define HAVE_WCHAR_H 1
-#define HAVE_MBRTOWC 1
-
-/* Toggle if you encounter errors in lib/mkstemp.c. */
-#define HAVE_UNISTD_H 1
-#define HAVE_FCNTL_H 1
-#undef HAVE_SYS_FILE_H
-#undef HAVE_IO_H
-
-/* Emulate stdbool.h. */
-#define bool int
-#define true 1
-#define false 0
-
-/* Avoid uselessly complicated gnulib stuff. */
-#define _LOCALCHARSET_H
-#define locale_charset() "C"
-
-/* All other config.h.in options intentionally omitted. Report as a
- bug if you need extra "#define"s in here. */
-
-END_OF_CONFIG_H
-
- cat > conftest.c << \EOF
-#define size_t unsigned
-#include <sys/types.h>
-#include <stdio.h>
-
-size_t s;
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo '#define size_t unsigned' >> config.h
- echo checking for size_t... no
- else
- echo checking for size_t... yes
- fi
-
- cat > conftest.c << \EOF
-#define ssize_t int
-#include <sys/types.h>
-#include <stdio.h>
-
-ssize_t s;
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo '#define ssize_t int' >> config.h
- echo checking for ssize_t... no
- else
- echo checking for ssize_t... yes
- fi
-
- cat > conftest.c << \EOF
-void *foo;
-
-EOF
- if $CC -c conftest.c -o conftest.o > /dev/null 2>&1 ; then
- echo checking for void *... yes
- else
- echo '#define VOID char' >> config.h
- echo checking for void *... no
- fi
-
- rm -f conftest.*
-
- cat >> config.h << \EOF
-#include <sys/types.h>
-#include <stdio.h>
-EOF
-
-fi
-
-# tell the user what we're doing from here on...
-set -x -e
-
-# the ``|| exit 1''s are for fail-stop; set -e doesn't work on some systems
-
-rm -f lib/*.o sed/*.o sed/sed
-cd lib || exit 1
-cp alloca.in.h alloca.h || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c alloca.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c copy-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c error.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c exitfail.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c file-has-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getdelim.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getline.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c getopt1.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c malloc.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c mkstemp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c obstack.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c quote.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c quotearg.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c regex.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c set-mode-acl.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c strerror.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c strverscmp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c tempname.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c xalloc-die.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -c xmalloc.c || exit 1
-
-cd ../sed || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c sed.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c fmt.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c compile.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c execute.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c mbcs.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c regexp.c || exit 1
-${CC} -DHAVE_CONFIG_H -I.. -I. -I../lib -c utils.c || exit 1
-
-${CC} -o sed *.o ../lib/*.o || exit 1
diff --git a/sources/host-tools/sed-4.2.1/build-aux/config.guess b/sources/host-tools/sed-4.2.1/build-aux/config.guess
deleted file mode 100755
index e3a2116..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/config.guess
+++ /dev/null
@@ -1,1533 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
-
-timestamp='2009-06-10'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[456])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd | genuineintel)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/config.rpath b/sources/host-tools/sed-4.2.1/build-aux/config.rpath
deleted file mode 100755
index 85c2f20..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/config.rpath
+++ /dev/null
@@ -1,672 +0,0 @@
-#! /bin/sh
-# Output a system dependent set of variables, describing how to set the
-# run time search path of shared libraries in an executable.
-#
-# Copyright 1996-2008 Free Software Foundation, Inc.
-# Taken from GNU libtool, 2001
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# The first argument passed to this file is the canonical host specification,
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
-# should be set by the caller.
-#
-# The set of defined variables is at the end of this script.
-
-# Known limitations:
-# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
-# than 256 bytes, otherwise the compiler driver will dump core. The only
-# known workaround is to choose shorter directory names for the build
-# directory and/or the installation directory.
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-shrext=.so
-
-host="$1"
-host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-# Code taken from libtool.m4's _LT_CC_BASENAME.
-
-for cc_temp in $CC""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
-
-# Code taken from libtool.m4's _LT_COMPILER_PIC.
-
-wl=
-if test "$GCC" = yes; then
- wl='-Wl,'
-else
- case "$host_os" in
- aix*)
- wl='-Wl,'
- ;;
- darwin*)
- case $cc_basename in
- xlc*)
- wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- ;;
- hpux9* | hpux10* | hpux11*)
- wl='-Wl,'
- ;;
- irix5* | irix6* | nonstopux*)
- wl='-Wl,'
- ;;
- newsos6)
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- ecc*)
- wl='-Wl,'
- ;;
- icc* | ifort*)
- wl='-Wl,'
- ;;
- lf95*)
- wl='-Wl,'
- ;;
- pgcc | pgf77 | pgf90)
- wl='-Wl,'
- ;;
- ccc*)
- wl='-Wl,'
- ;;
- como)
- wl='-lopt='
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
- osf3* | osf4* | osf5*)
- wl='-Wl,'
- ;;
- rdos*)
- ;;
- solaris*)
- wl='-Wl,'
- ;;
- sunos4*)
- wl='-Qoption ld '
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- wl='-Wl,'
- ;;
- sysv4*MP*)
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- wl='-Wl,'
- ;;
- unicos*)
- wl='-Wl,'
- ;;
- uts4*)
- ;;
- esac
-fi
-
-# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
-
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-
-case "$host_os" in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- case "$host_os" in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- fi
- ;;
- amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we cannot use
- # them.
- ld_shlibs=no
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- interix[3-9]*)
- hardcode_direct=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- netbsd*)
- ;;
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
- sunos4*)
- hardcode_direct=yes
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- esac
- if test "$ld_shlibs" = no; then
- hardcode_libdir_flag_spec=
- fi
-else
- case "$host_os" in
- aix3*)
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- else
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
- fi
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- fi
- # Begin _LT_AC_SYS_LIBPATH_AIX.
- echo 'int main () { return 0; }' > conftest.c
- ${CC} ${LDFLAGS} conftest.c -o conftest
- aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- fi
- if test -z "$aix_libpath"; then
- aix_libpath="/usr/lib:/lib"
- fi
- rm -f conftest.c conftest
- # End _LT_AC_SYS_LIBPATH_AIX.
- if test "$aix_use_runtimelinking" = yes; then
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- else
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- fi
- fi
- ;;
- amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
- bsdi[45]*)
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- libext=lib
- ;;
- darwin* | rhapsody*)
- hardcode_direct=no
- if test "$GCC" = yes ; then
- :
- else
- case $cc_basename in
- xlc*)
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- ;;
- dgux*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- freebsd1*)
- ld_shlibs=no
- ;;
- freebsd2.2*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- freebsd2*)
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- freebsd* | dragonfly*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- hpux9*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- hpux10*)
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
- hpux11*)
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- ;;
- *)
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
- irix5* | irix6* | nonstopux*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- netbsd*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- newsos6)
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- osf3*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- osf4* | osf5*)
- if test "$GCC" = yes; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- # Both cc and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
- solaris*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- sunos4*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- sysv4)
- case $host_vendor in
- sni)
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- hardcode_direct=no
- ;;
- motorola)
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- ;;
- sysv4.3*)
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- ld_shlibs=yes
- fi
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator=':'
- ;;
- uts4*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
-fi
-
-# Check dynamic linker characteristics
-# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
-# Unlike libtool.m4, here we don't care about _all_ names of the library, but
-# only about the one the linker finds when passed -lNAME. This is the last
-# element of library_names_spec in libtool.m4, or possibly two of them if the
-# linker has special search rules.
-library_names_spec= # the last element of library_names_spec in libtool.m4
-libname_spec='lib$name'
-case "$host_os" in
- aix3*)
- library_names_spec='$libname.a'
- ;;
- aix[4-9]*)
- library_names_spec='$libname$shrext'
- ;;
- amigaos*)
- library_names_spec='$libname.a'
- ;;
- beos*)
- library_names_spec='$libname$shrext'
- ;;
- bsdi[45]*)
- library_names_spec='$libname$shrext'
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- shrext=.dll
- library_names_spec='$libname.dll.a $libname.lib'
- ;;
- darwin* | rhapsody*)
- shrext=.dylib
- library_names_spec='$libname$shrext'
- ;;
- dgux*)
- library_names_spec='$libname$shrext'
- ;;
- freebsd1*)
- ;;
- freebsd* | dragonfly*)
- case "$host_os" in
- freebsd[123]*)
- library_names_spec='$libname$shrext$versuffix' ;;
- *)
- library_names_spec='$libname$shrext' ;;
- esac
- ;;
- gnu*)
- library_names_spec='$libname$shrext'
- ;;
- hpux9* | hpux10* | hpux11*)
- case $host_cpu in
- ia64*)
- shrext=.so
- ;;
- hppa*64*)
- shrext=.sl
- ;;
- *)
- shrext=.sl
- ;;
- esac
- library_names_spec='$libname$shrext'
- ;;
- interix[3-9]*)
- library_names_spec='$libname$shrext'
- ;;
- irix5* | irix6* | nonstopux*)
- library_names_spec='$libname$shrext'
- case "$host_os" in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
- *) libsuff= shlibsuff= ;;
- esac
- ;;
- esac
- ;;
- linux*oldld* | linux*aout* | linux*coff*)
- ;;
- linux* | k*bsd*-gnu)
- library_names_spec='$libname$shrext'
- ;;
- knetbsd*-gnu)
- library_names_spec='$libname$shrext'
- ;;
- netbsd*)
- library_names_spec='$libname$shrext'
- ;;
- newsos6)
- library_names_spec='$libname$shrext'
- ;;
- nto-qnx*)
- library_names_spec='$libname$shrext'
- ;;
- openbsd*)
- library_names_spec='$libname$shrext$versuffix'
- ;;
- os2*)
- libname_spec='$name'
- shrext=.dll
- library_names_spec='$libname.a'
- ;;
- osf3* | osf4* | osf5*)
- library_names_spec='$libname$shrext'
- ;;
- rdos*)
- ;;
- solaris*)
- library_names_spec='$libname$shrext'
- ;;
- sunos4*)
- library_names_spec='$libname$shrext$versuffix'
- ;;
- sysv4 | sysv4.3*)
- library_names_spec='$libname$shrext'
- ;;
- sysv4*MP*)
- library_names_spec='$libname$shrext'
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- library_names_spec='$libname$shrext'
- ;;
- uts4*)
- library_names_spec='$libname$shrext'
- ;;
-esac
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
-shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
-escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
-
-# How to pass a linker flag through the compiler.
-wl="$escaped_wl"
-
-# Static library suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally "so").
-shlibext="$shlibext"
-
-# Format of library name prefix.
-libname_spec="$escaped_libname_spec"
-
-# Library names that the linker finds when passed -lNAME.
-library_names_spec="$escaped_library_names_spec"
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct="$hardcode_direct"
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L="$hardcode_minus_L"
-
-EOF
diff --git a/sources/host-tools/sed-4.2.1/build-aux/config.sub b/sources/host-tools/sed-4.2.1/build-aux/config.sub
deleted file mode 100755
index eb0389a..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/config.sub
+++ /dev/null
@@ -1,1693 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
-
-timestamp='2009-06-11'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -kopensolaris* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/depcomp b/sources/host-tools/sed-4.2.1/build-aux/depcomp
deleted file mode 100755
index df8eea7..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/depcomp
+++ /dev/null
@@ -1,630 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
- depmode=msvisualcpp
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am. Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
- for arg
- do
- case $arg in
- -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
- *) set fnord "$@" "$arg" ;;
- esac
- shift # fnord
- shift # $arg
- done
- "$@"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> "$depfile"
- echo >> "$depfile"
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- if test "$libtool" = yes; then
- tmpdepfile1=$dir$base.u
- tmpdepfile2=$base.u
- tmpdepfile3=$dir.libs/$base.u
- "$@" -Wc,-M
- else
- tmpdepfile1=$dir$base.u
- tmpdepfile2=$dir$base.u
- tmpdepfile3=$dir$base.u
- "$@" -M
- fi
- stat=$?
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp2)
- # The "hp" stanza above does not work with aCC (C++) and HP's ia64
- # compilers, which have integrated preprocessors. The correct option
- # to use with these is +Maked; it writes dependencies to a file named
- # 'foo.d', which lands next to the object file, wherever that
- # happens to be.
- # Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- if test "$libtool" = yes; then
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir.libs/$base.d
- "$@" -Wc,+Maked
- else
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir$base.d
- "$@" +Maked
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
- sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile" "$tmpdepfile2"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test "X$1" != 'X--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test "X$1" != 'X--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no eat=no
- for arg
- do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- if test $eat = yes; then
- eat=no
- continue
- fi
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -arch)
- eat=yes ;;
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix=`echo "$object" | sed 's/^.*\././'`
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test "X$1" != 'X--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test "X$1" != 'X--mode=compile'; do
- shift
- done
- shift
- fi
-
- IFS=" "
- for arg
- do
- case "$arg" in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E 2>/dev/null |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvcmsys)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/help2man b/sources/host-tools/sed-4.2.1/build-aux/help2man
deleted file mode 100755
index af57f41..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/help2man
+++ /dev/null
@@ -1,559 +0,0 @@
-#!/usr/bin/env perl
-
-# Generate a short man page from --help and --version output.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software
-# Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Written by Brendan O'Dea <bod@debian.org>
-# Available from ftp://ftp.gnu.org/gnu/help2man/
-
-use 5.005;
-use strict;
-use Getopt::Long;
-use Text::Tabs qw(expand);
-use POSIX qw(strftime setlocale LC_TIME);
-
-my $this_program = 'help2man';
-my $this_version = '1.28';
-my $version_info = <<EOT;
-GNU $this_program $this_version
-
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-Written by Brendan O'Dea <bod\@debian.org>
-EOT
-
-my $help_info = <<EOT;
-`$this_program' generates a man page out of `--help' and `--version' output.
-
-Usage: $this_program [OPTION]... EXECUTABLE
-
- -n, --name=STRING description for the NAME paragraph
- -s, --section=SECTION section number for manual page (1, 6, 8)
- -m, --manual=TEXT name of manual (User Commands, ...)
- -S, --source=TEXT source of program (FSF, Debian, ...)
- -i, --include=FILE include material from `FILE'
- -I, --opt-include=FILE include material from `FILE' if it exists
- -o, --output=FILE send output to `FILE'
- -p, --info-page=TEXT name of Texinfo manual
- -N, --no-info suppress pointer to Texinfo manual
- --help print this help, then exit
- --version print version number, then exit
-
-EXECUTABLE should accept `--help' and `--version' options although
-alternatives may be specified using:
-
- -h, --help-option=STRING help option string
- -v, --version-option=STRING version option string
-
-Report bugs to <bug-help2man\@gnu.org>.
-EOT
-
-my $section = 1;
-my $manual = '';
-my $source = '';
-my $help_option = '--help';
-my $version_option = '--version';
-my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info);
-
-my %opt_def = (
- 'n|name=s' => \$opt_name,
- 's|section=s' => \$section,
- 'm|manual=s' => \$manual,
- 'S|source=s' => \$source,
- 'i|include=s' => sub { push @opt_include, [ pop, 1 ] },
- 'I|opt-include=s' => sub { push @opt_include, [ pop, 0 ] },
- 'o|output=s' => \$opt_output,
- 'p|info-page=s' => \$opt_info,
- 'N|no-info' => \$opt_no_info,
- 'h|help-option=s' => \$help_option,
- 'v|version-option=s' => \$version_option,
-);
-
-# Parse options.
-Getopt::Long::config('bundling');
-GetOptions (%opt_def,
- help => sub { print $help_info; exit },
- version => sub { print $version_info; exit },
-) or die $help_info;
-
-die $help_info unless @ARGV == 1;
-
-my %include = ();
-my %append = ();
-my @include = (); # retain order given in include file
-
-# Process include file (if given). Format is:
-#
-# [section name]
-# verbatim text
-#
-# or
-#
-# /pattern/
-# verbatim text
-#
-
-while (@opt_include)
-{
- my ($inc, $required) = @{shift @opt_include};
-
- next unless -f $inc or $required;
- die "$this_program: can't open `$inc' ($!)\n"
- unless open INC, $inc;
-
- my $key;
- my $hash = \%include;
-
- while (<INC>)
- {
- # [section]
- if (/^\[([^]]+)\]/)
- {
- $key = uc $1;
- $key =~ s/^\s+//;
- $key =~ s/\s+$//;
- $hash = \%include;
- push @include, $key unless $include{$key};
- next;
- }
-
- # /pattern/
- if (m!^/(.*)/([ims]*)!)
- {
- my $pat = $2 ? "(?$2)$1" : $1;
-
- # Check pattern.
- eval { $key = qr($pat) };
- if ($@)
- {
- $@ =~ s/ at .*? line \d.*//;
- die "$inc:$.:$@";
- }
-
- $hash = \%append;
- next;
- }
-
- # Check for options before the first section--anything else is
- # silently ignored, allowing the first for comments and
- # revision info.
- unless ($key)
- {
- # handle options
- if (/^-/)
- {
- local @ARGV = split;
- GetOptions %opt_def;
- }
-
- next;
- }
-
- $hash->{$key} ||= '';
- $hash->{$key} .= $_;
- }
-
- close INC;
-
- die "$this_program: no valid information found in `$inc'\n"
- unless $key;
-}
-
-# Compress trailing blank lines.
-for my $hash (\(%include, %append))
-{
- for (keys %$hash) { $hash->{$_} =~ s/\n+$/\n/ }
-}
-
-# Turn off localisation of executable's ouput.
-@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
-
-# Turn off localisation of date (for strftime).
-setlocale LC_TIME, 'C';
-
-# Grab help and version info from executable.
-my ($help_text, $version_text) = map {
- join '', map { s/ +$//; expand $_ } `$ARGV[0] $_ 2>/dev/null`
- or die "$this_program: can't get `$_' info from $ARGV[0]\n"
-} $help_option, $version_option;
-
-my $date = strftime "%B %Y", localtime;
-(my $program = $ARGV[0]) =~ s!.*/!!;
-my $package = $program;
-my $version;
-
-if ($opt_output)
-{
- unlink $opt_output
- or die "$this_program: can't unlink $opt_output ($!)\n"
- if -e $opt_output;
-
- open STDOUT, ">$opt_output"
- or die "$this_program: can't create $opt_output ($!)\n";
-}
-
-# The first line of the --version information is assumed to be in one
-# of the following formats:
-#
-# <version>
-# <program> <version>
-# {GNU,Free} <program> <version>
-# <program> ({GNU,Free} <package>) <version>
-# <program> - {GNU,Free} <package> <version>
-#
-# and seperated from any copyright/author details by a blank line.
-
-($_, $version_text) = split /\n+/, $version_text, 2;
-
-if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or
- /^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/)
-{
- $program = $1;
- $package = $2;
- $version = $3;
-}
-elsif (/^((?:GNU|Free) +)?(\S+) +(.*)/)
-{
- $program = $2;
- $package = $1 ? "$1$2" : $2;
- $version = $3;
-}
-else
-{
- $version = $_;
-}
-
-$program =~ s!.*/!!;
-
-# No info for `info' itself.
-$opt_no_info = 1 if $program eq 'info';
-
-# --name overrides --include contents.
-$include{NAME} = "$program \\- $opt_name\n" if $opt_name;
-
-# Default (useless) NAME paragraph.
-$include{NAME} ||= "$program \\- manual page for $program $version\n";
-
-# Man pages traditionally have the page title in caps.
-my $PROGRAM = uc $program;
-
-# Set default page head/footers
-$source ||= "$program $version";
-unless ($manual)
-{
- for ($section)
- {
- if (/^(1[Mm]|8)/) { $manual = 'System Administration Utilities' }
- elsif (/^6/) { $manual = 'Games' }
- else { $manual = 'User Commands' }
- }
-}
-
-# Extract usage clause(s) [if any] for SYNOPSIS.
-if ($help_text =~ s/^Usage:( +(\S+))(.*)((?:\n(?: {6}\1| *or: +\S).*)*)//m)
-{
- my @syn = $2 . $3;
-
- if ($_ = $4)
- {
- s/^\n//;
- for (split /\n/) { s/^ *(or: +)?//; push @syn, $_ }
- }
-
- my $synopsis = '';
- for (@syn)
- {
- $synopsis .= ".br\n" if $synopsis;
- s!^\S*/!!;
- s/^(\S+) *//;
- $synopsis .= ".B $1\n";
- s/\s+$//;
- s/(([][]|\.\.+)+)/\\fR$1\\fI/g;
- s/^/\\fI/ unless s/^\\fR//;
- $_ .= '\fR';
- s/(\\fI)( *)/$2$1/g;
- s/\\fI\\fR//g;
- s/^\\fR//;
- s/\\fI$//;
- s/^\./\\&./;
-
- $synopsis .= "$_\n";
- }
-
- $include{SYNOPSIS} ||= $synopsis;
-}
-
-# Process text, initial section is DESCRIPTION.
-my $sect = 'DESCRIPTION';
-$_ = "$help_text\n\n$version_text";
-
-# Normalise paragraph breaks.
-s/^\n+//;
-s/\n*$/\n/;
-s/\n\n+/\n\n/g;
-
-# Temporarily exchange leading dots, apostrophes and backslashes for
-# tokens.
-s/^\./\x80/mg;
-s/^'/\x81/mg;
-s/\\/\x82/g;
-
-# Start a new paragraph (if required) for these.
-s/([^\n])\n(Report +bugs|Email +bug +reports +to|Written +by)/$1\n\n$2/g;
-
-sub convert_option;
-
-while (length)
-{
- # Convert some standard paragraph names.
- if (s/^(Options|Examples): *\n//)
- {
- $sect = uc $1;
- next;
- }
-
- # Copyright section
- if (/^Copyright +[(\xa9]/)
- {
- $sect = 'COPYRIGHT';
- $include{$sect} ||= '';
- $include{$sect} .= ".PP\n" if $include{$sect};
-
- my $copy;
- ($copy, $_) = split /\n\n/, $_, 2;
-
- for ($copy)
- {
- # Add back newline
- s/\n*$/\n/;
-
- # Convert iso9959-1 copyright symbol or (c) to nroff
- # character.
- s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg;
-
- # Insert line breaks before additional copyright messages
- # and the disclaimer.
- s/(.)\n(Copyright |This +is +free +software)/$1\n.br\n$2/g;
-
- # Join hyphenated lines.
- s/([A-Za-z])-\n */$1/g;
- }
-
- $include{$sect} .= $copy;
- $_ ||= '';
- next;
- }
-
- # Catch bug report text.
- if (/^(Report +bugs|Email +bug +reports +to) /)
- {
- $sect = 'REPORTING BUGS';
- }
-
- # Author section.
- elsif (/^Written +by/)
- {
- $sect = 'AUTHOR';
- }
-
- # Examples, indicated by an indented leading $, % or > are
- # rendered in a constant width font.
- if (/^( +)([\$\%>] )\S/)
- {
- my $indent = $1;
- my $prefix = $2;
- my $break = '.IP';
- $include{$sect} ||= '';
- while (s/^$indent\Q$prefix\E(\S.*)\n*//)
- {
- $include{$sect} .= "$break\n\\f(CW$prefix$1\\fR\n";
- $break = '.br';
- }
-
- next;
- }
-
- my $matched = '';
- $include{$sect} ||= '';
-
- # Sub-sections have a trailing colon and the second line indented.
- if (s/^(\S.*:) *\n / /)
- {
- $matched .= $& if %append;
- $include{$sect} .= qq(.SS "$1"\n);
- }
-
- my $indent = 0;
- my $content = '';
-
- # Option with description.
- if (s/^( {1,10}([+-]\S.*?))(?:( +(?!-))|\n( {20,}))(\S.*)\n//)
- {
- $matched .= $& if %append;
- $indent = length ($4 || "$1$3");
- $content = ".TP\n\x83$2\n\x83$5\n";
- unless ($4)
- {
- # Indent may be different on second line.
- $indent = length $& if /^ {20,}/;
- }
- }
-
- # Option without description.
- elsif (s/^ {1,10}([+-]\S.*)\n//)
- {
- $matched .= $& if %append;
- $content = ".HP\n\x83$1\n";
- $indent = 80; # not continued
- }
-
- # Indented paragraph with tag.
- elsif (s/^( +(\S.*?) +)(\S.*)\n//)
- {
- $matched .= $& if %append;
- $indent = length $1;
- $content = ".TP\n\x83$2\n\x83$3\n";
- }
-
- # Indented paragraph.
- elsif (s/^( +)(\S.*)\n//)
- {
- $matched .= $& if %append;
- $indent = length $1;
- $content = ".IP\n\x83$2\n";
- }
-
- # Left justified paragraph.
- else
- {
- s/(.*)\n//;
- $matched .= $& if %append;
- $content = ".PP\n" if $include{$sect};
- $content .= "$1\n";
- }
-
- # Append continuations.
- while (s/^ {$indent}(\S.*)\n//)
- {
- $matched .= $& if %append;
- $content .= "\x83$1\n"
- }
-
- # Move to next paragraph.
- s/^\n+//;
-
- for ($content)
- {
- # Leading dot and apostrophe protection.
- s/\x83\./\x80/g;
- s/\x83'/\x81/g;
- s/\x83//g;
-
- # Convert options.
- s/(^| )(-[][\w=-]+)/$1 . convert_option $2/mge;
- }
-
- # Check if matched paragraph contains /pat/.
- if (%append)
- {
- for my $pat (keys %append)
- {
- if ($matched =~ $pat)
- {
- $content .= ".PP\n" unless $append{$pat} =~ /^\./;
- $content .= $append{$pat};
- }
- }
- }
-
- $include{$sect} .= $content;
-}
-
-# Refer to the real documentation.
-unless ($opt_no_info)
-{
- my $info_page = $opt_info || $program;
-
- $sect = 'SEE ALSO';
- $include{$sect} ||= '';
- $include{$sect} .= ".PP\n" if $include{$sect};
- $include{$sect} .= <<EOT;
-The full documentation for
-.B $program
-is maintained as a Texinfo manual. If the
-.B info
-and
-.B $program
-programs are properly installed at your site, the command
-.IP
-.B info $info_page
-.PP
-should give you access to the complete manual.
-EOT
-}
-
-# Output header.
-print <<EOT;
-.\\" DO NOT MODIFY THIS FILE! It was generated by $this_program $this_version.
-.TH $PROGRAM "$section" "$date" "$source" "$manual"
-EOT
-
-# Section ordering.
-my @pre = qw(NAME SYNOPSIS DESCRIPTION OPTIONS EXAMPLES);
-my @post = ('AUTHOR', 'REPORTING BUGS', 'COPYRIGHT', 'SEE ALSO');
-my $filter = join '|', @pre, @post;
-
-# Output content.
-for (@pre, (grep ! /^($filter)$/o, @include), @post)
-{
- if ($include{$_})
- {
- my $quote = /\W/ ? '"' : '';
- print ".SH $quote$_$quote\n";
-
- for ($include{$_})
- {
- # Replace leading dot, apostrophe and backslash tokens.
- s/\x80/\\&./g;
- s/\x81/\\&'/g;
- s/\x82/\\e/g;
- print;
- }
- }
-}
-
-exit;
-
-# Convert option dashes to \- to stop nroff from hyphenating 'em, and
-# embolden. Option arguments get italicised.
-sub convert_option
-{
- local $_ = '\fB' . shift;
-
- s/-/\\-/g;
- unless (s/\[=(.*)\]$/\\fR[=\\fI$1\\fR]/)
- {
- s/=(.)/\\fR=\\fI$1/;
- s/ (.)/ \\fI$1/;
- $_ .= '\fR';
- }
-
- $_;
-}
diff --git a/sources/host-tools/sed-4.2.1/build-aux/install-sh b/sources/host-tools/sed-4.2.1/build-aux/install-sh
deleted file mode 100755
index 6781b98..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/install-sh
+++ /dev/null
@@ -1,520 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2009-04-28.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" "" $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
- case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
-
- -d) dir_arg=true;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
-
- -o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- --) shift
- break;;
-
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
-
- *) break;;
- esac
- shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
- # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dst_arg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
- shift # fnord
- fi
- shift # arg
- dst_arg=$arg
- done
-fi
-
-if test $# -eq 0; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
-
- # Set umask so as not to create temps with too-generous modes.
- # However, 'strip' requires both read and write access to temps.
- case $mode in
- # Optimize common cases.
- *644) cp_umask=133;;
- *755) cp_umask=22;;
-
- *[0-7])
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw='% 200'
- fi
- cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
- *)
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw=,u+rw
- fi
- cp_umask=$mode$u_plus_rw;;
- esac
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- dstdir=$dst
- test -d "$dstdir"
- dstdir_status=$?
- else
-
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dst_arg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
- fi
- dstdir=$dst
- dst=$dstdir/`basename "$src"`
- dstdir_status=0
- else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- obsolete_mkdir_used=false
-
- if test $dstdir_status != 0; then
- case $posix_mkdir in
- '')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
- esac
-
- if
- $posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
- )
- then :
- else
-
- # The umask is ridiculous, or mkdir does not conform to POSIX,
- # or it failed possibly due to a race condition. Create the
- # directory the slow way, step by step, checking for races as we go.
-
- case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
- esac
-
- eval "$initialize_posix_glob"
-
- oIFS=$IFS
- IFS=/
- $posix_glob set -f
- set fnord $dstdir
- shift
- $posix_glob set +f
- IFS=$oIFS
-
- prefixes=
-
- for d
- do
- test -z "$d" && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
- done
-
- if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
- fi
- fi
- fi
-
- if test -n "$dir_arg"; then
- { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
- { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
- test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
- else
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
- # Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
-
- trap '' 0
- fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/link-warning.h b/sources/host-tools/sed-4.2.1/build-aux/link-warning.h
deleted file mode 100644
index fda0194..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/link-warning.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
- a linker warning on most glibc systems.
- We use a linker warning rather than a preprocessor warning, because
- #warning cannot be used inside macros. */
-#ifndef GL_LINK_WARNING
- /* This works on platforms with GNU ld and ELF object format.
- Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
- Testing __ELF__ guarantees the ELF object format.
- Testing __GNUC__ is necessary for the compound expression syntax. */
-# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
-# define GL_LINK_WARNING(message) \
- GL_LINK_WARNING1 (__FILE__, __LINE__, message)
-# define GL_LINK_WARNING1(file, line, message) \
- GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */
-# define GL_LINK_WARNING2(file, line, message) \
- GL_LINK_WARNING3 (file ":" #line ": warning: " message)
-# define GL_LINK_WARNING3(message) \
- ({ static const char warning[sizeof (message)] \
- __attribute__ ((__unused__, \
- __section__ (".gnu.warning"), \
- __aligned__ (1))) \
- = message "\n"; \
- (void)0; \
- })
-# else
-# define GL_LINK_WARNING(message) ((void) 0)
-# endif
-#endif
diff --git a/sources/host-tools/sed-4.2.1/build-aux/mdate-sh b/sources/host-tools/sed-4.2.1/build-aux/mdate-sh
deleted file mode 100755
index e631b22..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/mdate-sh
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/bin/sh
-# Get modification time of a file or directory and pretty-print it.
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009 Free
-# Software Foundation, Inc.
-# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No file. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: mdate-sh [--help] [--version] FILE
-
-Pretty-print the modification time of FILE.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "mdate-sh $scriptversion"
- exit $?
- ;;
-esac
-
-# Prevent date giving response in another language.
-LANG=C
-export LANG
-LC_ALL=C
-export LC_ALL
-LC_TIME=C
-export LC_TIME
-
-# GNU ls changes its time format in response to the TIME_STYLE
-# variable. Since we cannot assume `unset' works, revert this
-# variable to its documented default.
-if test "${TIME_STYLE+set}" = set; then
- TIME_STYLE=posix-long-iso
- export TIME_STYLE
-fi
-
-save_arg1=$1
-
-# Find out how to get the extended ls output of a file or directory.
-if ls -L /dev/null 1>/dev/null 2>&1; then
- ls_command='ls -L -l -d'
-else
- ls_command='ls -l -d'
-fi
-# Avoid user/group names that might have spaces, when possible.
-if ls -n /dev/null 1>/dev/null 2>&1; then
- ls_command="$ls_command -n"
-fi
-
-# A `ls -l' line looks as follows on OS/2.
-# drwxrwx--- 0 Aug 11 2001 foo
-# This differs from Unix, which adds ownership information.
-# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
-#
-# To find the date, we split the line on spaces and iterate on words
-# until we find a month. This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
-# will be owned by a user whose name is a month. So we first look at
-# the extended ls output of the root directory to decide how many
-# words should be skipped to get the date.
-
-# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
-set x`$ls_command /`
-
-# Find which argument is the month.
-month=
-command=
-until test $month
-do
- shift
- # Add another shift to the command.
- command="$command shift;"
- case $1 in
- Jan) month=January; nummonth=1;;
- Feb) month=February; nummonth=2;;
- Mar) month=March; nummonth=3;;
- Apr) month=April; nummonth=4;;
- May) month=May; nummonth=5;;
- Jun) month=June; nummonth=6;;
- Jul) month=July; nummonth=7;;
- Aug) month=August; nummonth=8;;
- Sep) month=September; nummonth=9;;
- Oct) month=October; nummonth=10;;
- Nov) month=November; nummonth=11;;
- Dec) month=December; nummonth=12;;
- esac
-done
-
-# Get the extended ls output of the file or directory.
-set dummy x`eval "$ls_command \"\$save_arg1\""`
-
-# Remove all preceding arguments
-eval $command
-
-# Because of the dummy argument above, month is in $2.
-#
-# On a POSIX system, we should have
-#
-# $# = 5
-# $1 = file size
-# $2 = month
-# $3 = day
-# $4 = year or time
-# $5 = filename
-#
-# On Darwin 7.7.0 and 7.6.0, we have
-#
-# $# = 4
-# $1 = day
-# $2 = month
-# $3 = year or time
-# $4 = filename
-
-# Get the month.
-case $2 in
- Jan) month=January; nummonth=1;;
- Feb) month=February; nummonth=2;;
- Mar) month=March; nummonth=3;;
- Apr) month=April; nummonth=4;;
- May) month=May; nummonth=5;;
- Jun) month=June; nummonth=6;;
- Jul) month=July; nummonth=7;;
- Aug) month=August; nummonth=8;;
- Sep) month=September; nummonth=9;;
- Oct) month=October; nummonth=10;;
- Nov) month=November; nummonth=11;;
- Dec) month=December; nummonth=12;;
-esac
-
-case $3 in
- ???*) day=$1;;
- *) day=$3; shift;;
-esac
-
-# Here we have to deal with the problem that the ls output gives either
-# the time of day or the year.
-case $3 in
- *:*) set `date`; eval year=\$$#
- case $2 in
- Jan) nummonthtod=1;;
- Feb) nummonthtod=2;;
- Mar) nummonthtod=3;;
- Apr) nummonthtod=4;;
- May) nummonthtod=5;;
- Jun) nummonthtod=6;;
- Jul) nummonthtod=7;;
- Aug) nummonthtod=8;;
- Sep) nummonthtod=9;;
- Oct) nummonthtod=10;;
- Nov) nummonthtod=11;;
- Dec) nummonthtod=12;;
- esac
- # For the first six month of the year the time notation can also
- # be used for files modified in the last year.
- if (expr $nummonth \> $nummonthtod) > /dev/null;
- then
- year=`expr $year - 1`
- fi;;
- *) year=$3;;
-esac
-
-# The result.
-echo $day $month $year
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/missing b/sources/host-tools/sed-4.2.1/build-aux/missing
deleted file mode 100755
index 28055d2..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/missing
+++ /dev/null
@@ -1,376 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
-
-Send bug reports to <bug-automake@gnu.org>."
- exit $?
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing $scriptversion (GNU Automake)"
- exit $?
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
-esac
-
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/sources/host-tools/sed-4.2.1/build-aux/texi2dvi b/sources/host-tools/sed-4.2.1/build-aux/texi2dvi
deleted file mode 100755
index 0286bd7..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/texi2dvi
+++ /dev/null
@@ -1,656 +0,0 @@
-#! /bin/sh
-# texi2dvi --- produce DVI (or PDF) files from Texinfo (or LaTeX) sources.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
-# 2002, 2003 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, you can either send email to this
-# program's maintainer or write to: The Free Software Foundation,
-# Inc.; 51 Franklin Street, Fifth Floor; Boston, MA 02110-1301, USA.
-#
-# Original author: Noah Friedman <friedman@gnu.org>.
-#
-# Please send bug reports, etc. to bug-texinfo@gnu.org.
-# If possible, please send a copy of the output of the script called with
-# the `--debug' option when making a bug report.
-
-program=`echo $0 | sed -e 's!.*/!!'`
-version="texi2dvi (GNU Texinfo 4.5)
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-There is NO warranty. You may redistribute this software
-under the terms of the GNU General Public License.
-For more information about these matters, see the files named COPYING."
-
-usage="Usage: $program [OPTION]... FILE...
-
-Run each Texinfo or LaTeX FILE through TeX in turn until all
-cross-references are resolved, building all indices. The directory
-containing each FILE is searched for included files. The suffix of FILE
-is used to determine its language (LaTeX or Texinfo).
-
-Makeinfo is used to perform Texinfo macro expansion before running TeX
-when needed.
-
-Operation modes:
- -b, --batch no interaction
- -c, --clean remove all auxiliary files
- -D, --debug turn on shell debugging (set -x)
- -h, --help display this help and exit successfully
- -o, --output=OFILE leave output in OFILE (implies --clean);
- Only one input FILE may be specified in this case
- -q, --quiet no output unless errors (implies --batch)
- -s, --silent same as --quiet
- -v, --version display version information and exit successfully
- -V, --verbose report on what is done
-
-TeX tuning:
- -@ use @input instead of \input; for preloaded Texinfo
- -e, -E, --expand force macro expansion using makeinfo
- -I DIR search DIR for Texinfo files
- -l, --language=LANG specify the LANG of FILE (LaTeX or Texinfo)
- -p, --pdf use pdftex or pdflatex for processing
- -t, --texinfo=CMD insert CMD after @setfilename in copy of input file
- multiple values accumulate
-
-The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
-TEX (or PDFTEX), and TEXINDEX environment variables are used to run
-those commands, if they are set.
-
-Email bug reports to <bug-texinfo@gnu.org>,
-general questions and discussion to <help-texinfo@gnu.org>.
-Texinfo home page: http://www.gnu.org/software/texinfo/"
-
-# Initialize variables for option overriding and otherwise.
-# Don't use `unset' since old bourne shells don't have this command.
-# Instead, assign them an empty value.
-batch=false # eval for batch mode
-clean=
-debug=
-escape='\'
-expand= # t for expansion via makeinfo
-miincludes= # makeinfo include path
-oformat=dvi
-oname= # --output
-quiet= # by default let the tools' message be displayed
-set_language=
-textra=
-tmpdir=${TMPDIR:-/tmp}/t2d$$ # avoid collisions on 8.3 filesystems.
-txincludes= # TEXINPUTS extensions, with trailing colon
-txiprereq=19990129 # minimum texinfo.tex version to have macro expansion
-verbose=false # echo for verbose mode
-
-orig_pwd=`pwd`
-
-# Systems which define $COMSPEC or $ComSpec use semicolons to separate
-# directories in TEXINPUTS.
-if test -n "$COMSPEC$ComSpec"; then
- path_sep=";"
-else
- path_sep=":"
-fi
-
-# Pacify verbose cds.
-CDPATH=${ZSH_VERSION+.}$path_sep
-
-# In case someone crazy insists on using grep -E.
-: ${EGREP=egrep}
-
-# Save this so we can construct a new TEXINPUTS path for each file.
-TEXINPUTS_orig="$TEXINPUTS"
-# Unfortunately makeindex does not read TEXINPUTS.
-INDEXSTYLE_orig="$INDEXSTYLE"
-export TEXINPUTS INDEXSTYLE
-
-# Push a token among the arguments that will be used to notice when we
-# ended options/arguments parsing.
-# Use "set dummy ...; shift" rather than 'set - ..." because on
-# Solaris set - turns off set -x (but keeps set -e).
-# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3
-# still expand "$@" to a single argument (the empty string) rather
-# than nothing at all.
-arg_sep="$$--$$"
-set dummy ${1+"$@"} "$arg_sep"; shift
-
-#
-# Parse command line arguments.
-while test x"$1" != x"$arg_sep"; do
-
- # Handle --option=value by splitting apart and putting back on argv.
- case "$1" in
- --*=*)
- opt=`echo "$1" | sed -e 's/=.*//'`
- val=`echo "$1" | sed -e 's/[^=]*=//'`
- shift
- set dummy "$opt" "$val" ${1+"$@"}; shift
- ;;
- esac
-
- # This recognizes --quark as --quiet. So what.
- case "$1" in
- -@ ) escape=@;;
- # Silently and without documentation accept -b and --b[atch] as synonyms.
- -b | --b*) batch=eval;;
- -q | -s | --q* | --s*) quiet=t; batch=eval;;
- -c | --c*) clean=t;;
- -D | --d*) debug=t;;
- -e | -E | --e*) expand=t;;
- -h | --h*) echo "$usage"; exit 0;;
- -I | --I*)
- shift
- miincludes="$miincludes -I $1"
- txincludes="$txincludes$1$path_sep"
- ;;
- -l | --l*) shift; set_language=$1;;
- -o | --o*)
- shift
- clean=t
- case "$1" in
- /* | ?:/*) oname=$1;;
- *) oname="$orig_pwd/$1";;
- esac;;
- -p | --p*) oformat=pdf;;
- -t | --t*) shift; textra="$textra\\
-$1";;
- -v | --vers*) echo "$version"; exit 0;;
- -V | --verb*) verbose=echo;;
- --) # What remains are not options.
- shift
- while test x"$1" != x"$arg_sep"; do
- set dummy ${1+"$@"} "$1"; shift
- shift
- done
- break;;
- -*)
- echo "$0: Unknown or ambiguous option \`$1'." >&2
- echo "$0: Try \`--help' for more information." >&2
- exit 1;;
- *) set dummy ${1+"$@"} "$1"; shift;;
- esac
- shift
-done
-# Pop the token
-shift
-
-# Interpret remaining command line args as filenames.
-case $# in
- 0)
- echo "$0: Missing file arguments." >&2
- echo "$0: Try \`--help' for more information." >&2
- exit 2
- ;;
- 1) ;;
- *)
- if test -n "$oname"; then
- echo "$0: Can't use option \`--output' with more than one argument." >&2
- exit 2
- fi
- ;;
-esac
-
-# Prepare the temporary directory. Remove it at exit, unless debugging.
-if test -z "$debug"; then
- trap "cd / && rm -rf $tmpdir" 0 1 2 15
-fi
-
-# Create the temporary directory with strict rights
-(umask 077 && mkdir $tmpdir) || exit 1
-
-# Prepare the tools we might need. This may be extra work in some
-# cases, but improves the readibility of the script.
-utildir=$tmpdir/utils
-mkdir $utildir || exit 1
-
-# A sed script that preprocesses Texinfo sources in order to keep the
-# iftex sections only. We want to remove non TeX sections, and
-# comment (with `@c texi2dvi') TeX sections so that makeinfo does not
-# try to parse them. Nevertheless, while commenting TeX sections,
-# don't comment @macro/@end macro so that makeinfo does propagate
-# them. Unfortunately makeinfo --iftex --no-ifhtml --no-ifinfo
-# doesn't work well enough (yet) to use that, so work around with sed.
-comment_iftex_sed=$utildir/comment.sed
-cat <<EOF >$comment_iftex_sed
-/^@tex/,/^@end tex/{
- s/^/@c texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
- s/^/@c texi2dvi/
- /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{
- s/^@c texi2dvi//
- }
-}
-/^@html/,/^@end html/{
- s/^/@c (texi2dvi)/
-}
-/^@ifhtml/,/^@end ifhtml/{
- s/^/@c (texi2dvi)/
-}
-/^@ifnottex/,/^@end ifnottex/{
- s/^/@c (texi2dvi)/
-}
-/^@ifinfo/,/^@end ifinfo/{
- /^@node/p
- /^@menu/,/^@end menu/p
- t
- s/^/@c (texi2dvi)/
-}
-s/^@ifnotinfo/@c texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/
-EOF
-# Uncommenting is simple: Remove any leading `@c texi2dvi'.
-uncomment_iftex_sed=$utildir/uncomment.sed
-cat <<EOF >$uncomment_iftex_sed
-s/^@c texi2dvi//
-EOF
-
-# A shell script that computes the list of xref files.
-# Takes the filename (without extension) of which we look for xref
-# files as argument. The index files must be reported last.
-get_xref_files=$utildir/get_xref.sh
-cat <<\EOF >$get_xref_files
-#! /bin/sh
-
-# Get list of xref files (indexes, tables and lists).
-# Find all files having root filename with a two-letter extension,
-# saves the ones that are really Texinfo-related files. .?o? catches
-# many files: .toc, .log, LaTeX tables and lists, FiXme's .lox, maybe more.
-for this_file in "$1".?o? "$1".aux "$1".?? "$1".idx; do
- # If file is empty, skip it.
- test -s "$this_file" || continue
- # If the file is not suitable to be an index or xref file, don't
- # process it. The file can't be if its first character is not a
- # backslash or single quote.
- first_character=`sed -n '1s/^\(.\).*$/\1/p;q' $this_file`
- if test "x$first_character" = "x\\" \
- || test "x$first_character" = "x'"; then
- xref_files="$xref_files ./$this_file"
- fi
-done
-echo "$xref_files"
-EOF
-chmod 500 $get_xref_files
-
-# File descriptor usage:
-# 0 standard input
-# 1 standard output (--verbose messages)
-# 2 standard error
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 tools output (turned off by --quiet)
-
-# Tools' output. If quiet, discard, else redirect to the message flow.
-if test "$quiet" = t; then
- exec 5>/dev/null
-else
- exec 5>&1
-fi
-
-# Enable tracing
-test "$debug" = t && set -x
-
-#
-# TeXify files.
-
-for command_line_filename in ${1+"$@"}; do
- $verbose "Processing $command_line_filename ..."
-
- # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
- # prepend `./' in order to avoid that the tools take it as an option.
- echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >/dev/null \
- || command_line_filename="./$command_line_filename"
-
- # See if the file exists. If it doesn't we're in trouble since, even
- # though the user may be able to reenter a valid filename at the tex
- # prompt (assuming they're attending the terminal), this script won't
- # be able to find the right xref files and so forth.
- if test ! -r "$command_line_filename"; then
- echo "$0: Could not read $command_line_filename, skipping." >&2
- continue
- fi
-
- # Get the name of the current directory. We want the full path
- # because in clean mode we are in tmp, in which case a relative
- # path has no meaning.
- filename_dir=`echo $command_line_filename | sed 's!/[^/]*$!!;s!^$!.!'`
- filename_dir=`cd "$filename_dir" >/dev/null && pwd`
-
- # Strip directory part but leave extension.
- filename_ext=`basename "$command_line_filename"`
- # Strip extension.
- filename_noext=`echo "$filename_ext" | sed 's/\.[^.]*$//'`
- ext=`echo "$filename_ext" | sed 's/^.*\.//'`
-
- # _src. Use same basename since we want to generate aux files with
- # the same basename as the manual. If --expand, then output the
- # macro-expanded file to here, else copy the original file.
- tmpdir_src=$tmpdir/src
- filename_src=$tmpdir_src/$filename_noext.$ext
-
- # _xtr. The file with the user's extra commands.
- tmpdir_xtr=$tmpdir/xtr
- filename_xtr=$tmpdir_xtr/$filename_noext.$ext
-
- # _bak. Copies of the previous xref files (another round is run if
- # they differ from the new one).
- tmpdir_bak=$tmpdir/bak
-
- # Make all those directories and give up if we can't succeed.
- mkdir $tmpdir_src $tmpdir_xtr $tmpdir_bak || exit 1
-
- # Source file might include additional sources.
- # We want `.:$orig_pwd' before anything else. (We'll add `.:' later
- # after all other directories have been turned into absolute paths.)
- # `.' goes first to ensure that any old .aux, .cps,
- # etc. files in ${directory} don't get used in preference to fresher
- # files in `.'. Include orig_pwd in case we are in clean mode, where
- # we've cd'd to a temp directory.
- common="$orig_pwd$path_sep$filename_dir$path_sep$txincludes"
- TEXINPUTS="$common$TEXINPUTS_orig"
- INDEXSTYLE="$common$INDEXSTYLE_orig"
-
- # Convert relative paths to absolute paths, so we can run in another
- # directory (e.g., in --clean mode, or during the macro-support
- # detection.)
- #
- # Empty path components are meaningful to tex. We rewrite them
- # as `EMPTY' so they don't get lost when we split on $path_sep.
- TEXINPUTS=`echo $TEXINPUTS |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'`
- INDEXSTYLE=`echo $INDEXSTYLE |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'`
- save_IFS=$IFS
- IFS=$path_sep
- set x $TEXINPUTS; shift
- TEXINPUTS=.
- for dir
- do
- case $dir in
- EMPTY)
- TEXINPUTS=$TEXINPUTS$path_sep
- ;;
- [\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed.
- TEXINPUTS=$TEXINPUTS$path_sep$dir
- ;;
- *)
- abs=`cd "$dir" && pwd` && TEXINPUTS=$TEXINPUTS$path_sep$abs
- ;;
- esac
- done
- set x $INDEXSTYLE; shift
- INDEXSTYLE=.
- for dir
- do
- case $dir in
- EMPTY)
- INDEXSTYLE=$INDEXSTYLE$path_sep
- ;;
- [\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed.
- INDEXSTYLE=$INDEXSTYLE$path_sep$dir
- ;;
- *)
- abs=`cd "$dir" && pwd` && INDEXSTYLE=$INDEXSTYLE$path_sep$abs
- ;;
- esac
- done
- IFS=$save_IFS
-
- # If the user explicitly specified the language, use that.
- # Otherwise, if the first line is \input texinfo, assume it's texinfo.
- # Otherwise, guess from the file extension.
- if test -n "$set_language"; then
- language=$set_language
- elif sed 1q "$command_line_filename" | grep 'input texinfo' >/dev/null; then
- language=texinfo
- else
- language=
- fi
-
- # Get the type of the file (latex or texinfo) from the given language
- # we just guessed, or from the file extension if not set yet.
- case ${language:-$filename_ext} in
- [lL]a[tT]e[xX] | *.ltx | *.tex)
- # Assume a LaTeX file. LaTeX needs bibtex and uses latex for
- # compilation. No makeinfo.
- bibtex=${BIBTEX:-bibtex}
- makeinfo= # no point in running makeinfo on latex source.
- texindex=${MAKEINDEX:-makeindex}
- if test $oformat = dvi; then
- tex=${LATEX:-latex}
- else
- tex=${PDFLATEX:-pdflatex}
- fi
- ;;
-
- *)
- # Assume a Texinfo file. Texinfo files need makeinfo, texindex and tex.
- bibtex=
- texindex=${TEXINDEX:-texindex}
- if test $oformat = dvi; then
- tex=${TEX:-tex}
- else
- tex=${PDFTEX:-pdftex}
- fi
- # Unless required by the user, makeinfo expansion is wanted only
- # if texinfo.tex is too old.
- if test "$expand" = t; then
- makeinfo=${MAKEINFO:-makeinfo}
- else
- # Check if texinfo.tex performs macro expansion by looking for
- # its version. The version is a date of the form YEAR-MO-DA.
- # We don't need to use [0-9] to match the digits since anyway
- # the comparison with $txiprereq, a number, will fail with non
- # digits.
- txiversion_tex=txiversion.tex
- echo '\input texinfo.tex @bye' >$tmpdir/$txiversion_tex
- # Run in the tmpdir to avoid leaving files.
- eval `cd $tmpdir >/dev/null &&
- $tex $txiversion_tex 2>/dev/null |
- sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p'`
- $verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
- if test "$txiprereq" -le "$txiversion" >/dev/null 2>&1; then
- makeinfo=
- else
- makeinfo=${MAKEINFO:-makeinfo}
- fi
- # As long as we had to run TeX, offer the user this convenience
- if test "$txiformat" = Texinfo; then
- escape=@
- fi
- fi
- ;;
- esac
-
- # Expand macro commands in the original source file using Makeinfo.
- # Always use `end' footnote style, since the `separate' style
- # generates different output (arguably this is a bug in -E).
- # Discard main info output, the user asked to run TeX, not makeinfo.
- if test -n "$makeinfo"; then
- $verbose "Macro-expanding $command_line_filename to $filename_src ..."
- sed -f $comment_iftex_sed "$command_line_filename" \
- | $makeinfo --footnote-style=end -I "$filename_dir" $miincludes \
- -o /dev/null --macro-expand=- \
- | sed -f $uncomment_iftex_sed >"$filename_src"
- filename_input=$filename_src
- fi
-
- # If makeinfo failed (or was not even run), use the original file as input.
- if test $? -ne 0 \
- || test ! -r "$filename_src"; then
- $verbose "Reverting to $command_line_filename ..."
- filename_input=$filename_dir/$filename_ext
- fi
-
- # Used most commonly for @finalout, @smallbook, etc.
- if test -n "$textra"; then
- $verbose "Inserting extra commands: $textra"
- sed '/^@setfilename/a\
-'"$textra" "$filename_input" >$filename_xtr
- filename_input=$filename_xtr
- fi
-
- # If clean mode was specified, then move to the temporary directory.
- if test "$clean" = t; then
- $verbose "cd $tmpdir_src"
- cd "$tmpdir_src" || exit 1
- fi
-
- while :; do # will break out of loop below
- orig_xref_files=`$get_xref_files "$filename_noext"`
-
- # Save copies of originals for later comparison.
- if test -n "$orig_xref_files"; then
- $verbose "Backing up xref files: `echo $orig_xref_files | sed 's|\./||g'`"
- cp $orig_xref_files $tmpdir_bak
- fi
-
- # Run bibtex on current file.
- # - If its input (AUX) exists.
- # - If AUX contains both `\bibdata' and `\bibstyle'.
- # - If some citations are missing (LOG contains `Citation').
- # or the LOG complains of a missing .bbl
- #
- # We run bibtex first, because I can see reasons for the indexes
- # to change after bibtex is run, but I see no reason for the
- # converse.
- #
- # Don't try to be too smart. Running bibtex only if the bbl file
- # exists and is older than the LaTeX file is wrong, since the
- # document might include files that have changed. Because there
- # can be several AUX (if there are \include's), but a single LOG,
- # looking for missing citations in LOG is easier, though we take
- # the risk to match false messages.
- if test -n "$bibtex" \
- && test -r "$filename_noext.aux" \
- && test -r "$filename_noext.log" \
- && (grep '^\\bibdata[{]' "$filename_noext.aux" \
- && grep '^\\bibstyle[{]' "$filename_noext.aux" \
- && (grep 'Warning:.*Citation.*undefined' "$filename_noext.log" \
- || grep 'No file .*\.bbl\.' "$filename_noext.log")) \
- >/dev/null 2>&1; \
- then
- $verbose "Running $bibtex $filename_noext ..."
- if $bibtex "$filename_noext" >&5; then :; else
- echo "$0: $bibtex exited with bad status, quitting." >&2
- exit 1
- fi
- fi
-
- # What we'll run texindex on -- exclude non-index files.
- # Since we know index files are last, it is correct to remove everything
- # before .aux and .?o?. But don't really do <anything>o<anything>
- # -- don't match whitespace as <anything>.
- # Otherwise, if orig_xref_files contains something like
- # foo.xo foo.whatever
- # the space after the o will get matched.
- index_files=`echo "$orig_xref_files" \
- | sed "s!.*\.aux!!g;
- s!./$filename_noext\.[^ ]o[^ ]!!g;
- s/^[ ]*//;s/[ ]*$//"`
- # Run texindex (or makeindex) on current index files. If they
- # already exist, and after running TeX a first time the index
- # files don't change, then there's no reason to run TeX again.
- # But we won't know that if the index files are out of date or
- # nonexistent.
- if test -n "$texindex" && test -n "$index_files"; then
- $verbose "Running $texindex $index_files ..."
- if $texindex $index_files 2>&5 1>&2; then :; else
- echo "$0: $texindex exited with bad status, quitting." >&2
- exit 1
- fi
- fi
-
- # Finally, run TeX.
- # Prevent $ESCAPE from being interpreted by the shell if it happens
- # to be `/'.
- $batch tex_args="\\${escape}nonstopmode\ \\${escape}input"
- cmd="$tex $tex_args $filename_input"
- $verbose "Running $cmd ..."
- if $cmd >&5; then :; else
- echo "$0: $tex exited with bad status, quitting." >&2
- echo "$0: see $filename_noext.log for errors." >&2
- test "$clean" = t \
- && cp "$filename_noext.log" "$orig_pwd"
- exit 1
- fi
-
-
- # Decide if looping again is needed.
- finished=t
-
- # LaTeX (and the package changebar) report in the LOG file if it
- # should be rerun. This is needed for files included from
- # subdirs, since texi2dvi does not try to compare xref files in
- # subdirs. Performing xref files test is still good since LaTeX
- # does not report changes in xref files.
- if grep "Rerun to get" "$filename_noext.log" >/dev/null 2>&1; then
- finished=
- fi
-
- # Check if xref files changed.
- new_xref_files=`$get_xref_files "$filename_noext"`
- $verbose "Original xref files = `echo $orig_xref_files | sed 's|\./||g'`"
- $verbose "New xref files = `echo $new_xref_files | sed 's|\./||g'`"
-
- # If old and new lists don't at least have the same file list,
- # then one file or another has definitely changed.
- test "x$orig_xref_files" != "x$new_xref_files" && finished=
-
- # File list is the same. We must compare each file until we find
- # a difference.
- if test -n "$finished"; then
- for this_file in $new_xref_files; do
- $verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..."
- # cmp -s returns nonzero exit status if files differ.
- if cmp -s "$this_file" "$tmpdir_bak/$this_file"; then :; else
- # We only need to keep comparing until we find one that
- # differs, because we'll have to run texindex & tex again no
- # matter how many more there might be.
- finished=
- $verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..."
- test "$debug" = t && diff -c "$tmpdir_bak/$this_file" "$this_file"
- break
- fi
- done
- fi
-
- # If finished, exit the loop, else rerun the loop.
- test -n "$finished" && break
- done
-
- # If we were in clean mode, compilation was in a tmp directory.
- # Copy the DVI (or PDF) file into the directory where the compilation
- # has been done. (The temp dir is about to get removed anyway.)
- # We also return to the original directory so that
- # - the next file is processed in correct conditions
- # - the temporary file can be removed
- if test -n "$clean"; then
- if test -n "$oname"; then
- dest=$oname
- else
- dest=$orig_pwd
- fi
- $verbose "Copying $oformat file from `pwd` to $dest"
- cp -p "./$filename_noext.$oformat" "$dest"
- cd / # in case $orig_pwd is on a different drive (for DOS)
- cd $orig_pwd || exit 1
- fi
-
- # Remove temporary files.
- if test "x$debug" = "x"; then
- $verbose "Removing $tmpdir_src $tmpdir_xtr $tmpdir_bak ..."
- cd /
- rm -rf $tmpdir_src $tmpdir_xtr $tmpdir_bak
- fi
-done
-
-$verbose "$0 done."
-exit 0 # exit successfully, not however we ended the loop.
diff --git a/sources/host-tools/sed-4.2.1/build-aux/texinfo.tex b/sources/host-tools/sed-4.2.1/build-aux/texinfo.tex
deleted file mode 100644
index 4592fbb..0000000
--- a/sources/host-tools/sed-4.2.1/build-aux/texinfo.tex
+++ /dev/null
@@ -1,9287 +0,0 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-%
-% Load plain if necessary, i.e., if running under initex.
-\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-%
-\def\texinfoversion{2009-05-24.17}
-%
-% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009 Free Software Foundation, Inc.
-%
-% This texinfo.tex file is free software: you can redistribute it and/or
-% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation, either version 3 of the
-% License, or (at your option) any later version.
-%
-% This texinfo.tex file is distributed in the hope that it will be
-% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-% General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this program. If not, see <http://www.gnu.org/licenses/>.
-%
-% As a special exception, when this file is read by TeX when processing
-% a Texinfo source document, you may use the result without
-% restriction. (This has been our intent since Texinfo was invented.)
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org).
-% The texinfo.tex in any given distribution could well be out
-% of date, so if that's what you're using, please check.
-%
-% Send bug reports to bug-texinfo@gnu.org. Please include including a
-% complete document in each bug report with which we can reproduce the
-% problem. Patches are, of course, greatly appreciated.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution. For a simple
-% manual foo.texi, however, you can get away with this:
-% tex foo.texi
-% texindex foo.??
-% tex foo.texi
-% tex foo.texi
-% dvips foo.dvi -o # or whatever; this makes foo.ps.
-% The extra TeX runs get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
-%
-% It is possible to adapt texinfo.tex for other languages, to some
-% extent. You can get the existing language-specific files from the
-% full Texinfo distribution.
-%
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-
-
-\message{Loading texinfo [version \texinfoversion]:}
-
-% If in a .fmt file, print the version number
-% and turn on active characters that we couldn't do earlier because
-% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
- \catcode`+=\active \catcode`\_=\active}
-
-
-\chardef\other=12
-
-% We never want plain's \outer definition of \+ in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-% Save some plain tex macros whose names we will redefine.
-\let\ptexb=\b
-\let\ptexbullet=\bullet
-\let\ptexc=\c
-\let\ptexcomma=\,
-\let\ptexdot=\.
-\let\ptexdots=\dots
-\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
-\let\ptexfootnote=\footnote
-\let\ptexgtr=>
-\let\ptexhat=^
-\let\ptexi=\i
-\let\ptexindent=\indent
-\let\ptexinsert=\insert
-\let\ptexlbrace=\{
-\let\ptexless=<
-\let\ptexnewwrite\newwrite
-\let\ptexnoindent=\noindent
-\let\ptexplus=+
-\let\ptexrbrace=\}
-\let\ptexslash=\/
-\let\ptexstar=\*
-\let\ptext=\t
-\let\ptextop=\top
-{\catcode`\'=\active
-\global\let\ptexquoteright'}% Math-mode def from plain.tex.
-\let\ptexraggedright=\raggedright
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
- \let\linenumber = \empty % Pre-3.0.
-\else
- \def\linenumber{l.\the\inputlineno:\space}
-\fi
-
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
-\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
-\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
-\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
-\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
-\ifx\putwordof\undefined \gdef\putwordof{of}\fi
-\ifx\putwordon\undefined \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
-\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
-\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
-%
-\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
-\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
-\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
-\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
-\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
-\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
-\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
-\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
-\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
-\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
-\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
-\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
-%
-\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
-\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
-\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
-\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
-
-% Since the category of space is not known, we have to be careful.
-\chardef\spacecat = 10
-\def\spaceisspace{\catcode`\ =\spacecat}
-
-% sometimes characters are active, so we need control sequences.
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
-\chardef\dashChar = `\-
-\chardef\dotChar = `\.
-\chardef\exclamChar= `\!
-\chardef\lquoteChar= `\`
-\chardef\questChar = `\?
-\chardef\rquoteChar= `\'
-\chardef\semiChar = `\;
-\chardef\underChar = `\_
-
-% Ignore a token.
-%
-\def\gobble#1{}
-
-% The following is used inside several \edef's.
-\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
-
-% Hyphenation fixes.
-\hyphenation{
- Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
- ap-pen-dix bit-map bit-maps
- data-base data-bases eshell fall-ing half-way long-est man-u-script
- man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
- par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
- spell-ing spell-ings
- stand-alone strong-est time-stamp time-stamps which-ever white-space
- wide-spread wrap-around
-}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen\bindingoffset
-\newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt}
-
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal. We don't just call \tracingall here,
-% since that produces some useless output on the terminal. We also make
-% some effort to order the tracing commands to reduce output in the log
-% file; cf. trace.sty in LaTeX.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\def\loggingall{%
- \tracingstats2
- \tracingpages1
- \tracinglostchars2 % 2 gives us more in etex
- \tracingparagraphs1
- \tracingoutput1
- \tracingmacros2
- \tracingrestores1
- \showboxbreadth\maxdimen \showboxdepth\maxdimen
- \ifx\eTeXversion\undefined\else % etex gives us more logging
- \tracingscantokens1
- \tracingifs1
- \tracinggroups1
- \tracingnesting2
- \tracingassigns1
- \fi
- \tracingcommands3 % 3 gives us more in etex
- \errorcontextlines16
-}%
-
-% add check for \lastpenalty to plain's definitions. If the last thing
-% we did was a \nobreak, we don't want to insert more space.
-%
-\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
- \removelastskip\penalty-50\smallskip\fi\fi}
-\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
- \removelastskip\penalty-100\medskip\fi\fi}
-\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
- \removelastskip\penalty-200\bigskip\fi\fi}
-
-% For @cropmarks command.
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
-
-% Output a mark which sets \thischapter, \thissection and \thiscolor.
-% We dump everything together because we only have one kind of mark.
-% This works because we only use \botmark / \topmark, not \firstmark.
-%
-% A mark contains a subexpression of the \ifcase ... \fi construct.
-% \get*marks macros below extract the needed part using \ifcase.
-%
-% Another complication is to let the user choose whether \thischapter
-% (\thissection) refers to the chapter (section) in effect at the top
-% of a page, or that at the bottom of a page. The solution is
-% described on page 260 of The TeXbook. It involves outputting two
-% marks for the sectioning macros, one before the section break, and
-% one after. I won't pretend I can describe this better than DEK...
-\def\domark{%
- \toks0=\expandafter{\lastchapterdefs}%
- \toks2=\expandafter{\lastsectiondefs}%
- \toks4=\expandafter{\prevchapterdefs}%
- \toks6=\expandafter{\prevsectiondefs}%
- \toks8=\expandafter{\lastcolordefs}%
- \mark{%
- \the\toks0 \the\toks2
- \noexpand\or \the\toks4 \the\toks6
- \noexpand\else \the\toks8
- }%
-}
-% \topmark doesn't work for the very first chapter (after the title
-% page or the contents), so we use \firstmark there -- this gets us
-% the mark with the chapter defs, unless the user sneaks in, e.g.,
-% @setcolor (or @url, or @link, etc.) between @contents and the very
-% first @chapter.
-\def\gettopheadingmarks{%
- \ifcase0\topmark\fi
- \ifx\thischapter\empty \ifcase0\firstmark\fi \fi
-}
-\def\getbottomheadingmarks{\ifcase1\botmark\fi}
-\def\getcolormarks{\ifcase2\topmark\fi}
-
-% Avoid "undefined control sequence" errors.
-\def\lastchapterdefs{}
-\def\lastsectiondefs{}
-\def\prevchapterdefs{}
-\def\prevsectiondefs{}
-\def\lastcolordefs{}
-
-% Main output routine.
-\chardef\PAGE = 255
-\output = {\onepageout{\pagecontents\PAGE}}
-
-\newbox\headlinebox
-\newbox\footlinebox
-
-% \onepageout takes a vbox as an argument. Note that \pagecontents
-% does insertions, but you have to call it yourself.
-\def\onepageout#1{%
- \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
- %
- \ifodd\pageno \advance\hoffset by \bindingoffset
- \else \advance\hoffset by -\bindingoffset\fi
- %
- % Do this outside of the \shipout so @code etc. will be expanded in
- % the headline as they should be, not taken literally (outputting ''code).
- \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
- \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
- \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
- \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
- %
- {%
- % Have to do this stuff outside the \shipout because we want it to
- % take effect in \write's, yet the group defined by the \vbox ends
- % before the \shipout runs.
- %
- \indexdummies % don't expand commands in the output.
- \normalturnoffactive % \ in index entries must not stay \, e.g., if
- % the page break happens to be in the middle of an example.
- % We don't want .vr (or whatever) entries like this:
- % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
- % "\acronym" won't work when it's read back in;
- % it needs to be
- % {\code {{\tt \backslashcurfont }acronym}
- \shipout\vbox{%
- % Do this early so pdf references go to the beginning of the page.
- \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
- %
- \ifcropmarks \vbox to \outervsize\bgroup
- \hsize = \outerhsize
- \vskip-\topandbottommargin
- \vtop to0pt{%
- \line{\ewtop\hfil\ewtop}%
- \nointerlineskip
- \line{%
- \vbox{\moveleft\cornerthick\nstop}%
- \hfill
- \vbox{\moveright\cornerthick\nstop}%
- }%
- \vss}%
- \vskip\topandbottommargin
- \line\bgroup
- \hfil % center the page within the outer (page) hsize.
- \ifodd\pageno\hskip\bindingoffset\fi
- \vbox\bgroup
- \fi
- %
- \unvbox\headlinebox
- \pagebody{#1}%
- \ifdim\ht\footlinebox > 0pt
- % Only leave this space if the footline is nonempty.
- % (We lessened \vsize for it in \oddfootingyyy.)
- % The \baselineskip=24pt in plain's \makefootline has no effect.
- \vskip 24pt
- \unvbox\footlinebox
- \fi
- %
- \ifcropmarks
- \egroup % end of \vbox\bgroup
- \hfil\egroup % end of (centering) \line\bgroup
- \vskip\topandbottommargin plus1fill minus1fill
- \boxmaxdepth = \cornerthick
- \vbox to0pt{\vss
- \line{%
- \vbox{\moveleft\cornerthick\nsbot}%
- \hfill
- \vbox{\moveright\cornerthick\nsbot}%
- }%
- \nointerlineskip
- \line{\ewbot\hfil\ewbot}%
- }%
- \egroup % \vbox from first cropmarks clause
- \fi
- }% end of \shipout\vbox
- }% end of group with \indexdummies
- \advancepageno
- \ifnum\outputpenalty>-20000 \else\dosupereject\fi
-}
-
-\newinsert\margin \dimen\margin=\maxdimen
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-% marginal hacks, juha@viisa.uucp (Juha Takala)
-\ifvoid\margin\else % marginal info is present
- \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-\dimen@=\dp#1\relax \unvbox#1\relax
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-% Here are the rules for the cropmarks. Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
- {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
- {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1. The argument is the rest of
-% the input line (except we remove a trailing comment). #1 should be a
-% macro which expects an ordinary undelimited TeX argument.
-%
-\def\parsearg{\parseargusing{}}
-\def\parseargusing#1#2{%
- \def\argtorun{#2}%
- \begingroup
- \obeylines
- \spaceisspace
- #1%
- \parseargline\empty% Insert the \empty token, see \finishparsearg below.
-}
-
-{\obeylines %
- \gdef\parseargline#1^^M{%
- \endgroup % End of the group started in \parsearg.
- \argremovecomment #1\comment\ArgTerm%
- }%
-}
-
-% First remove any @comment, then any @c comment.
-\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-
-% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
-%
-% \argremovec might leave us with trailing space, e.g.,
-% @end itemize @c foo
-% This space token undergoes the same procedure and is eventually removed
-% by \finishparsearg.
-%
-\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
-\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
-\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
- \def\temp{#3}%
- \ifx\temp\empty
- % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
- \let\temp\finishparsearg
- \else
- \let\temp\argcheckspaces
- \fi
- % Put the space token in:
- \temp#1 #3\ArgTerm
-}
-
-% If a _delimited_ argument is enclosed in braces, they get stripped; so
-% to get _exactly_ the rest of the line, we had to prevent such situation.
-% We prepended an \empty token at the very beginning and we expand it now,
-% just before passing the control to \argtorun.
-% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
-% either the null string, or it ends with \^^M---thus there is no danger
-% that a pair of braces would be stripped.
-%
-% But first, we have to remove the trailing space token.
-%
-\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
-
-% \parseargdef\foo{...}
-% is roughly equivalent to
-% \def\foo{\parsearg\Xfoo}
-% \def\Xfoo#1{...}
-%
-% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-% favourite TeX trick. --kasal, 16nov03
-
-\def\parseargdef#1{%
- \expandafter \doparseargdef \csname\string#1\endcsname #1%
-}
-\def\doparseargdef#1#2{%
- \def#2{\parsearg#1}%
- \def#1##1%
-}
-
-% Several utility definitions with active space:
-{
- \obeyspaces
- \gdef\obeyedspace{ }
-
- % Make each space character in the input produce a normal interword
- % space in the output. Don't allow a line break at this space, as this
- % is used only in environments like @example, where each line of input
- % should produce a line of output anyway.
- %
- \gdef\sepspaces{\obeyspaces\let =\tie}
-
- % If an index command is used in an @example environment, any spaces
- % therein should become regular spaces in the raw index file, not the
- % expansion of \tie (\leavevmode \penalty \@M \ ).
- \gdef\unsepspaces{\let =\space}
-}
-
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-% Define the framework for environments in texinfo.tex. It's used like this:
-%
-% \envdef\foo{...}
-% \def\Efoo{...}
-%
-% It's the responsibility of \envdef to insert \begingroup before the
-% actual body; @end closes the group after calling \Efoo. \envdef also
-% defines \thisenv, so the current environment is known; @end checks
-% whether the environment name matches. The \checkenv macro can also be
-% used to check whether the current environment is the one expected.
-%
-% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as environments; they don't open a group. (The
-% implementation of @end takes care not to call \endgroup in this
-% special case.)
-
-
-% At run-time, environments start with this:
-\def\startenvironment#1{\begingroup\def\thisenv{#1}}
-% initialize
-\let\thisenv\empty
-
-% ... but they get defined via ``\envdef\foo{...}'':
-\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
-\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-
-% Check whether we're in the right environment:
-\def\checkenv#1{%
- \def\temp{#1}%
- \ifx\thisenv\temp
- \else
- \badenverr
- \fi
-}
-
-% Environment mismatch, #1 expected:
-\def\badenverr{%
- \errhelp = \EMsimple
- \errmessage{This command can appear only \inenvironment\temp,
- not \inenvironment\thisenv}%
-}
-\def\inenvironment#1{%
- \ifx#1\empty
- out of any environment%
- \else
- in environment \expandafter\string#1%
- \fi
-}
-
-% @end foo executes the definition of \Efoo.
-% But first, it executes a specialized version of \checkenv
-%
-\parseargdef\end{%
- \if 1\csname iscond.#1\endcsname
- \else
- % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
- \expandafter\checkenv\csname#1\endcsname
- \csname E#1\endcsname
- \endgroup
- \fi
-}
-
-\newhelp\EMsimple{Press RETURN to continue.}
-
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
- % Definitions to produce \{ and \} commands for indices,
- % and @{ and @} for the aux/toc files.
- \catcode`\{ = \other \catcode`\} = \other
- \catcode`\[ = 1 \catcode`\] = 2
- \catcode`\! = 0 \catcode`\\ = \other
- !gdef!lbracecmd[\{]%
- !gdef!rbracecmd[\}]%
- !gdef!lbraceatcmd[@{]%
- !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
- \def\temp{#1}%
- \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
- \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
- \else \errmessage{@dotless can be used only with i or j}%
- \fi\fi
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence. (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo. Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
- L\kern-.36em
- {\setbox0=\hbox{T}%
- \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
- \kern-.15em
- \TeX
-}
-
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @/ allows a line break.
-\let\/=\allowbreak
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=\endofsentencespacefactor\space}
-
-% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=\endofsentencespacefactor\space}
-
-% @? is an end-of-sentence query.
-\def\?{?\spacefactor=\endofsentencespacefactor\space}
-
-% @frenchspacing on|off says whether to put extra space after punctuation.
-%
-\def\onword{on}
-\def\offword{off}
-%
-\parseargdef\frenchspacing{%
- \def\temp{#1}%
- \ifx\temp\onword \plainfrenchspacing
- \else\ifx\temp\offword \plainnonfrenchspacing
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
- \fi\fi
-}
-
-% @w prevents a word break. Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox. We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line. According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0). If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-%
-% Another complication is that the group might be very large. This can
-% cause the glue on the previous page to be unduly stretched, because it
-% does not have much material. In this case, it's better to add an
-% explicit \vfill so that the extra space is at the bottom. The
-% threshold for doing this is if the group is more than \vfilllimit
-% percent of a page (\vfilllimit can be changed inside of @tex).
-%
-\newbox\groupbox
-\def\vfilllimit{0.7}
-%
-\envdef\group{%
- \ifnum\catcode`\^^M=\active \else
- \errhelp = \groupinvalidhelp
- \errmessage{@group invalid in context where filling is enabled}%
- \fi
- \startsavinginserts
- %
- \setbox\groupbox = \vtop\bgroup
- % Do @comment since we are called inside an environment such as
- % @example, where each end-of-line in the input causes an
- % end-of-line in the output. We don't want the end-of-line after
- % the `@group' to put extra space in the output. Since @group
- % should appear on a line by itself (according to the Texinfo
- % manual), we don't worry about eating any user text.
- \comment
-}
-%
-% The \vtop produces a box with normal height and large depth; thus, TeX puts
-% \baselineskip glue before it, and (when the next line of text is done)
-% \lineskip glue after it. Thus, space below is not quite equal to space
-% above. But it's pretty close.
-\def\Egroup{%
- % To get correct interline space between the last line of the group
- % and the first line afterwards, we have to propagate \prevdepth.
- \endgraf % Not \par, as it may have been set to \lisppar.
- \global\dimen1 = \prevdepth
- \egroup % End the \vtop.
- % \dimen0 is the vertical size of the group's box.
- \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
- % \dimen2 is how much space is left on the page (more or less).
- \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
- % if the group doesn't fit on the current page, and it's a big big
- % group, force a page break.
- \ifdim \dimen0 > \dimen2
- \ifdim \pagetotal < \vfilllimit\pageheight
- \page
- \fi
- \fi
- \box\groupbox
- \prevdepth = \dimen1
- \checkinserts
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-%
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil \mil=0.001in
-
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
-\parseargdef\need{%
- % Ensure vertical mode, so we don't make a big box in the middle of a
- % paragraph.
- \par
- %
- % If the @need value is less than one line space, it's useless.
- \dimen0 = #1\mil
- \dimen2 = \ht\strutbox
- \advance\dimen2 by \dp\strutbox
- \ifdim\dimen0 > \dimen2
- %
- % Do a \strut just to make the height of this box be normal, so the
- % normal leading is inserted relative to the preceding line.
- % And a page break here is fine.
- \vtop to #1\mil{\strut\vfil}%
- %
- % TeX does not even consider page breaks if a penalty added to the
- % main vertical list is 10000 or more. But in order to see if the
- % empty box we just added fits on the page, we must make it consider
- % page breaks. On the other hand, we don't want to actually break the
- % page after the empty box. So we use a penalty of 9999.
- %
- % There is an extremely small chance that TeX will actually break the
- % page at this \penalty, if there are no other feasible breakpoints in
- % sight. (If the user is using lots of big @group commands, which
- % almost-but-not-quite fill up a page, TeX will have a hard time doing
- % good page breaking, for example.) However, I could not construct an
- % example where a page broke at this \penalty; if it happens in a real
- % document, then we can reconsider our strategy.
- \penalty9999
- %
- % Back up by the size of the box, whether we did a page break or not.
- \kern -#1\mil
- %
- % Do not allow a page break right after this kern.
- \nobreak
- \fi
-}
-
-% @br forces paragraph break (and is undocumented).
-
-\let\br = \par
-
-% @page forces the start of a new page.
-%
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
-
-% This defn is used inside nofill environments such as @example.
-\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
- \leftline{\hskip\leftskip{\rm#1}}}}
-
-% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
-% paragraph. For more general purposes, use the \margin insertion
-% class. WHICH is `l' or `r'.
-%
-\newskip\inmarginspacing \inmarginspacing=1cm
-\def\strutdepth{\dp\strutbox}
-%
-\def\doinmargin#1#2{\strut\vadjust{%
- \nobreak
- \kern-\strutdepth
- \vtop to \strutdepth{%
- \baselineskip=\strutdepth
- \vss
- % if you have multiple lines of stuff to put here, you'll need to
- % make the vbox yourself of the appropriate size.
- \ifx#1l%
- \llap{\ignorespaces #2\hskip\inmarginspacing}%
- \else
- \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
- \fi
- \null
- }%
-}}
-\def\inleftmargin{\doinmargin l}
-\def\inrightmargin{\doinmargin r}
-%
-% @inmargin{TEXT [, RIGHT-TEXT]}
-% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
-% else use TEXT for both).
-%
-\def\inmargin#1{\parseinmargin #1,,\finish}
-\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \def\lefttext{#1}% have both texts
- \def\righttext{#2}%
- \else
- \def\lefttext{#1}% have only one text
- \def\righttext{#1}%
- \fi
- %
- \ifodd\pageno
- \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
- \else
- \def\temp{\inleftmargin\lefttext}%
- \fi
- \temp
-}
-
-% @include FILE -- \input text of FILE.
-%
-\def\include{\parseargusing\filenamecatcodes\includezzz}
-\def\includezzz#1{%
- \pushthisfilestack
- \def\thisfile{#1}%
- {%
- \makevalueexpandable % we want to expand any @value in FILE.
- \turnoffactive % and allow special characters in the expansion
- \indexnofonts % Allow `@@' and other weird things in file names.
- \edef\temp{\noexpand\input #1 }%
- %
- % This trickery is to read FILE outside of a group, in case it makes
- % definitions, etc.
- \expandafter
- }\temp
- \popthisfilestack
-}
-\def\filenamecatcodes{%
- \catcode`\\=\other
- \catcode`~=\other
- \catcode`^=\other
- \catcode`_=\other
- \catcode`|=\other
- \catcode`<=\other
- \catcode`>=\other
- \catcode`+=\other
- \catcode`-=\other
- \catcode`\`=\other
- \catcode`\'=\other
-}
-
-\def\pushthisfilestack{%
- \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
-}
-\def\pushthisfilestackX{%
- \expandafter\pushthisfilestackY\thisfile\StackTerm
-}
-\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
- \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
-}
-
-\def\popthisfilestack{\errthisfilestackempty}
-\def\errthisfilestackempty{\errmessage{Internal error:
- the stack of filenames is empty.}}
-
-\def\thisfile{}
-
-% @center line
-% outputs that line, centered.
-%
-\parseargdef\center{%
- \ifhmode
- \let\next\centerH
- \else
- \let\next\centerV
- \fi
- \next{\hfil \ignorespaces#1\unskip \hfil}%
-}
-\def\centerH#1{%
- {%
- \hfil\break
- \advance\hsize by -\leftskip
- \advance\hsize by -\rightskip
- \line{#1}%
- \break
- }%
-}
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
-
-% @sp n outputs n lines of vertical space
-
-\parseargdef\sp{\vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore is another way to write a comment
-
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
-\let\c=\comment
-
-% @paragraphindent NCHARS
-% We'll use ems for NCHARS, close enough.
-% NCHARS can also be the word `asis' or `none'.
-% We cannot feasibly implement @paragraphindent asis, though.
-%
-\def\asisword{asis} % no translation, these are keywords
-\def\noneword{none}
-%
-\parseargdef\paragraphindent{%
- \def\temp{#1}%
- \ifx\temp\asisword
- \else
- \ifx\temp\noneword
- \defaultparindent = 0pt
- \else
- \defaultparindent = #1em
- \fi
- \fi
- \parindent = \defaultparindent
-}
-
-% @exampleindent NCHARS
-% We'll use ems for NCHARS like @paragraphindent.
-% It seems @exampleindent asis isn't necessary, but
-% I preserve it to make it similar to @paragraphindent.
-\parseargdef\exampleindent{%
- \def\temp{#1}%
- \ifx\temp\asisword
- \else
- \ifx\temp\noneword
- \lispnarrowing = 0pt
- \else
- \lispnarrowing = #1em
- \fi
- \fi
-}
-
-% @firstparagraphindent WORD
-% If WORD is `none', then suppress indentation of the first paragraph
-% after a section heading. If WORD is `insert', then do indent at such
-% paragraphs.
-%
-% The paragraph indentation is suppressed or not by calling
-% \suppressfirstparagraphindent, which the sectioning commands do.
-% We switch the definition of this back and forth according to WORD.
-% By default, we suppress indentation.
-%
-\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
-\def\insertword{insert}
-%
-\parseargdef\firstparagraphindent{%
- \def\temp{#1}%
- \ifx\temp\noneword
- \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
- \else\ifx\temp\insertword
- \let\suppressfirstparagraphindent = \relax
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @firstparagraphindent option `\temp'}%
- \fi\fi
-}
-
-% Here is how we actually suppress indentation. Redefine \everypar to
-% \kern backwards by \parindent, and then reset itself to empty.
-%
-% We also make \indent itself not actually do anything until the next
-% paragraph.
-%
-\gdef\dosuppressfirstparagraphindent{%
- \gdef\indent{%
- \restorefirstparagraphindent
- \indent
- }%
- \gdef\noindent{%
- \restorefirstparagraphindent
- \noindent
- }%
- \global\everypar = {%
- \kern -\parindent
- \restorefirstparagraphindent
- }%
-}
-
-\gdef\restorefirstparagraphindent{%
- \global \let \indent = \ptexindent
- \global \let \noindent = \ptexnoindent
- \global \everypar = {}%
-}
-
-
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
- \catcode`\_ = \active
- \gdef\mathunderscore{%
- \catcode`\_=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
- }
-}
-% Another complication: we want \\ (and @\) to output a \ character.
-% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-% this is not advertised and we don't care. Texinfo does not
-% otherwise define @\.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
- \tex
- \mathunderscore
- \let\\ = \mathbackslash
- \mathactive
- % make the texinfo accent commands work in math mode
- \let\"=\ddot
- \let\'=\acute
- \let\==\bar
- \let\^=\hat
- \let\`=\grave
- \let\u=\breve
- \let\v=\check
- \let\~=\tilde
- \let\dotaccent=\dot
- $\finishmath
-}
-\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
- \catcode`^ = \active
- \catcode`< = \active
- \catcode`> = \active
- \catcode`+ = \active
- \catcode`' = \active
- \gdef\mathactive{%
- \let^ = \ptexhat
- \let< = \ptexless
- \let> = \ptexgtr
- \let+ = \ptexplus
- \let' = \ptexquoteright
- }
-}
-
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in the cm
-% typewriter fonts as three actual period characters; on the other hand,
-% in other typewriter fonts three periods are wider than 1.5em. So do
-% whichever is larger.
-%
-\def\dots{%
- \leavevmode
- \setbox0=\hbox{...}% get width of three periods
- \ifdim\wd0 > 1.5em
- \dimen0 = \wd0
- \else
- \dimen0 = 1.5em
- \fi
- \hbox to \dimen0{%
- \hskip 0pt plus.25fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \dots
- \spacefactor=\endofsentencespacefactor
-}
-
-% @comma{} is so commas can be inserted into text without messing up
-% Texinfo's parsing.
-%
-\let\comma = ,
-
-% @refill is a no-op.
-\let\refill=\relax
-
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
- \fixbackslash % Turn off hack to swallow `\input texinfo'.
- \iflinks
- \tryauxfile
- % Open the new aux file. TeX will close it automatically at exit.
- \immediate\openout\auxfile=\jobname.aux
- \fi % \openindices needs to do some work in any case.
- \openindices
- \let\setfilename=\comment % Ignore extra @setfilename cmds.
- %
- % If texinfo.cnf is present on the system, read it.
- % Useful for site-wide @afourpaper, etc.
- \openin 1 texinfo.cnf
- \ifeof 1 \else \input texinfo.cnf \fi
- \closein 1
- %
- \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
- \newindex{cp}%
- \newcodeindex{fn}%
- \newcodeindex{vr}%
- \newcodeindex{tp}%
- \newcodeindex{ky}%
- \newcodeindex{pg}%
-}
-
-% @bye.
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-
-\message{pdf,}
-% adobe `portable' document format
-\newcount\tempnum
-\newcount\lnkcount
-\newtoks\filename
-\newcount\filenamelength
-\newcount\pgn
-\newtoks\toksA
-\newtoks\toksB
-\newtoks\toksC
-\newtoks\toksD
-\newbox\boxA
-\newcount\countA
-\newif\ifpdf
-\newif\ifpdfmakepagedest
-
-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set). So we test for \relax and 0 as well as \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
-\else
- \ifx\pdfoutput\relax
- \else
- \ifcase\pdfoutput
- \else
- \pdftrue
- \fi
- \fi
-\fi
-
-% PDF uses PostScript string constants for the names of xref targets,
-% for display in the outlines, and in other places. Thus, we have to
-% double any backslashes. Otherwise, a name like "\node" will be
-% interpreted as a newline (\n), followed by o, d, e. Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's what we do).
-
-% double active backslashes.
-%
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslashdouble{%
- @catcode`@\=@active
- @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters. hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens, with minor
-% changes for Texinfo. It is included here under the GPL by permission
-% from the author, Heiko Oberdiek.
-%
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-%
-\def\HyPsdSubst#1#2#3{%
- \def\HyPsdReplace##1#1##2\END{%
- ##1%
- \ifx\\##2\\%
- \else
- #2%
- \HyReturnAfterFi{%
- \HyPsdReplace##2\END
- }%
- \fi
- }%
- \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
- \xdef#1{#1}% redefine it as its expansion; the definition is simply
- % \lastnode when called from \setref -> \pdfmkdest.
- \HyPsdSubst{(}{\realbackslash(}{#1}%
- \HyPsdSubst{)}{\realbackslash)}{#1}%
-}
-
-\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
-with PDF output, and none of those formats could be found. (.eps cannot
-be supported due to the design of the PDF format; use regular TeX (DVI
-output) for that.)}
-
-\ifpdf
- %
- % Color manipulation macros based on pdfcolor.tex.
- \def\cmykDarkRed{0.28 1 1 0.35}
- \def\cmykBlack{0 0 0 1}
- %
- % k sets the color for filling (usual text, etc.);
- % K sets the color for stroking (thin rules, e.g., normal _'s).
- \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}}
- %
- % Set color, and create a mark which defines \thiscolor accordingly,
- % so that \makeheadline knows which color to restore.
- \def\setcolor#1{%
- \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
- \domark
- \pdfsetcolor{#1}%
- }
- %
- \def\maincolor{\cmykBlack}
- \pdfsetcolor{\maincolor}
- \edef\thiscolor{\maincolor}
- \def\lastcolordefs{}
- %
- \def\makefootline{%
- \baselineskip24pt
- \line{\pdfsetcolor{\maincolor}\the\footline}%
- }
- %
- \def\makeheadline{%
- \vbox to 0pt{%
- \vskip-22.5pt
- \line{%
- \vbox to8.5pt{}%
- % Extract \thiscolor definition from the marks.
- \getcolormarks
- % Typeset the headline with \maincolor, then restore the color.
- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
- }%
- \vss
- }%
- \nointerlineskip
- }
- %
- %
- \pdfcatalog{/PageMode /UseOutlines}
- %
- % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
- \def\dopdfimage#1#2#3{%
- \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
- \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
- %
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
- \let\pdfimgext=\empty
- \begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
- \errhelp = \nopdfimagehelp
- \errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
- \fi
- \else \gdef\pdfimgext{pdf}%
- \fi
- \else \gdef\pdfimgext{JPG}%
- \fi
- \else \gdef\pdfimgext{jpeg}%
- \fi
- \else \gdef\pdfimgext{jpg}%
- \fi
- \else \gdef\pdfimgext{png}%
- \fi
- \closein 1
- \endgroup
- %
- % without \immediate, ancient pdftex seg faults when the same image is
- % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
- \ifnum\pdftexversion < 14
- \immediate\pdfimage
- \else
- \immediate\pdfximage
- \fi
- \ifdim \wd0 >0pt width \imagewidth \fi
- \ifdim \wd2 >0pt height \imageheight \fi
- \ifnum\pdftexversion<13
- #1.\pdfimgext
- \else
- {#1.\pdfimgext}%
- \fi
- \ifnum\pdftexversion < 14 \else
- \pdfrefximage \pdflastximage
- \fi}
- %
- \def\pdfmkdest#1{{%
- % We have to set dummies so commands such as @code, and characters
- % such as \, aren't expanded when present in a section title.
- \indexnofonts
- \turnoffactive
- \activebackslashdouble
- \makevalueexpandable
- \def\pdfdestname{#1}%
- \backslashparens\pdfdestname
- \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
- }}
- %
- % used to mark target names; must be expandable.
- \def\pdfmkpgn#1{#1}
- %
- % by default, use a color that is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\cmykDarkRed}
- \def\linkcolor{\cmykDarkRed}
- \def\endlink{\setcolor{\maincolor}\pdfendlink}
- %
- % Adding outlines to PDF; macros for calculating structure of outlines
- % come from Petr Olsak
- \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
- \else \csname#1\endcsname \fi}
- \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
- \advance\tempnum by 1
- \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
- %
- % #1 is the section text, which is what will be displayed in the
- % outline by the pdf viewer. #2 is the pdf expression for the number
- % of subentries (or empty, for subsubsections). #3 is the node text,
- % which might be empty if this toc entry had no corresponding node.
- % #4 is the page number
- %
- \def\dopdfoutline#1#2#3#4{%
- % Generate a link to the node text if that exists; else, use the
- % page number. We could generate a destination for the section
- % text in the case where a section has no node, but it doesn't
- % seem worth the trouble, since most documents are normally structured.
- \def\pdfoutlinedest{#3}%
- \ifx\pdfoutlinedest\empty
- \def\pdfoutlinedest{#4}%
- \else
- % Doubled backslashes in the name.
- {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
- \backslashparens\pdfoutlinedest}%
- \fi
- %
- % Also double the backslashes in the display string.
- {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
- \backslashparens\pdfoutlinetext}%
- %
- \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
- }
- %
- \def\pdfmakeoutlines{%
- \begingroup
- % Thanh's hack / proper braces in bookmarks
- \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
- \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
- %
- % Read toc silently, to get counts of subentries for \pdfoutline.
- \def\numchapentry##1##2##3##4{%
- \def\thischapnum{##2}%
- \def\thissecnum{0}%
- \def\thissubsecnum{0}%
- }%
- \def\numsecentry##1##2##3##4{%
- \advancenumber{chap\thischapnum}%
- \def\thissecnum{##2}%
- \def\thissubsecnum{0}%
- }%
- \def\numsubsecentry##1##2##3##4{%
- \advancenumber{sec\thissecnum}%
- \def\thissubsecnum{##2}%
- }%
- \def\numsubsubsecentry##1##2##3##4{%
- \advancenumber{subsec\thissubsecnum}%
- }%
- \def\thischapnum{0}%
- \def\thissecnum{0}%
- \def\thissubsecnum{0}%
- %
- % use \def rather than \let here because we redefine \chapentry et
- % al. a second time, below.
- \def\appentry{\numchapentry}%
- \def\appsecentry{\numsecentry}%
- \def\appsubsecentry{\numsubsecentry}%
- \def\appsubsubsecentry{\numsubsubsecentry}%
- \def\unnchapentry{\numchapentry}%
- \def\unnsecentry{\numsecentry}%
- \def\unnsubsecentry{\numsubsecentry}%
- \def\unnsubsubsecentry{\numsubsubsecentry}%
- \readdatafile{toc}%
- %
- % Read toc second time, this time actually producing the outlines.
- % The `-' means take the \expnumber as the absolute number of
- % subentries, which we calculated on our first read of the .toc above.
- %
- % We use the node names as the destinations.
- \def\numchapentry##1##2##3##4{%
- \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
- \def\numsecentry##1##2##3##4{%
- \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
- \def\numsubsecentry##1##2##3##4{%
- \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
- \def\numsubsubsecentry##1##2##3##4{% count is always zero
- \dopdfoutline{##1}{}{##3}{##4}}%
- %
- % PDF outlines are displayed using system fonts, instead of
- % document fonts. Therefore we cannot use special characters,
- % since the encoding is unknown. For example, the eogonek from
- % Latin 2 (0xea) gets translated to a | character. Info from
- % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
- %
- % xx to do this right, we have to translate 8-bit characters to
- % their "best" equivalent, based on the @documentencoding. Right
- % now, I guess we'll just let the pdf reader have its way.
- \indexnofonts
- \setupdatafile
- \catcode`\\=\active \otherbackslash
- \input \tocreadfilename
- \endgroup
- }
- %
- \def\skipspaces#1{\def\PP{#1}\def\D{|}%
- \ifx\PP\D\let\nextsp\relax
- \else\let\nextsp\skipspaces
- \ifx\p\space\else\addtokens{\filename}{\PP}%
- \advance\filenamelength by 1
- \fi
- \fi
- \nextsp}
- \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
- \ifnum\pdftexversion < 14
- \let \startlink \pdfannotlink
- \else
- \let \startlink \pdfstartlink
- \fi
- % make a live url in pdf output.
- \def\pdfurl#1{%
- \begingroup
- % it seems we really need yet another set of dummies; have not
- % tried to figure out what each command should do in the context
- % of @url. for now, just make @/ a no-op, that's the only one
- % people have actually reported a problem with.
- %
- \normalturnoffactive
- \def\@{@}%
- \let\/=\empty
- \makevalueexpandable
- % do we want to go so far as to use \indexnofonts instead of just
- % special-casing \var here?
- \def\var##1{##1}%
- %
- \leavevmode\setcolor{\urlcolor}%
- \startlink attr{/Border [0 0 0]}%
- user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
- \endgroup}
- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
- \def\maketoks{%
- \expandafter\poptoks\the\toksA|ENDTOKS|\relax
- \ifx\first0\adn0
- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
- \else
- \ifnum0=\countA\else\makelink\fi
- \ifx\first.\let\next=\done\else
- \let\next=\maketoks
- \addtokens{\toksB}{\the\toksD}
- \ifx\first,\addtokens{\toksB}{\space}\fi
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
- \next}
- \def\makelink{\addtokens{\toksB}%
- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
- \def\pdflink#1{%
- \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
- \setcolor{\linkcolor}#1\endlink}
- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-\else
- % non-pdf mode
- \let\pdfmkdest = \gobble
- \let\pdfurl = \gobble
- \let\endlink = \relax
- \let\setcolor = \gobble
- \let\pdfsetcolor = \gobble
- \let\pdfmakeoutlines = \relax
-\fi % \ifx\pdfoutput
-
-
-\message{fonts,}
-
-% Change the current font style to #1, remembering it in \curfontstyle.
-% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-% italics, not bold italics.
-%
-\def\setfontstyle#1{%
- \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
- \csname ten#1\endcsname % change the current font
-}
-
-% Select #1 fonts with the current style.
-%
-\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-
-\def\rm{\fam=0 \setfontstyle{rm}}
-\def\it{\fam=\itfam \setfontstyle{it}}
-\def\sl{\fam=\slfam \setfontstyle{sl}}
-\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
-
-% Unfortunately, we have to override this for titles and the like, since
-% in those cases "rm" is bold. Sigh.
-\def\rmisbold{\rm\def\curfontstyle{bf}}
-
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf.
-\newfam\sffam
-\def\sf{\fam=\sffam \setfontstyle{sf}}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-% We don't need math for this font style.
-\def\ttsl{\setfontstyle{ttsl}}
-
-
-% Default leading.
-\newdimen\textleading \textleading = 13.2pt
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly. There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-% can get a sort of poor man's double spacing by redefining this.
-\def\baselinefactor{1}
-%
-\def\setleading#1{%
- \dimen0 = #1\relax
- \normalbaselineskip = \baselinefactor\dimen0
- \normallineskip = \lineskipfactor\normalbaselineskip
- \normalbaselines
- \setbox\strutbox =\hbox{%
- \vrule width0pt height\strutheightpercent\baselineskip
- depth \strutdepthpercent \baselineskip
- }%
-}
-
-% PDF CMaps. See also LaTeX's t1.cmap.
-%
-% do nothing with this by default.
-\expandafter\let\csname cmapOT1\endcsname\gobble
-\expandafter\let\csname cmapOT1IT\endcsname\gobble
-\expandafter\let\csname cmapOT1TT\endcsname\gobble
-
-% if we are producing pdf, and we have \pdffontattr, then define cmaps.
-% (\pdffontattr was introduced many years ago, but people still run
-% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\undefined \else
- \begingroup
- \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
- \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
-%%DocumentNeededResources: ProcSet (CIDInit)
-%%IncludeResource: ProcSet (CIDInit)
-%%BeginResource: CMap (TeX-OT1-0)
-%%Title: (TeX-OT1-0 TeX OT1 0)
-%%Version: 1.000
-%%EndComments
-/CIDInit /ProcSet findresource begin
-12 dict begin
-begincmap
-/CIDSystemInfo
-<< /Registry (TeX)
-/Ordering (OT1)
-/Supplement 0
->> def
-/CMapName /TeX-OT1-0 def
-/CMapType 2 def
-1 begincodespacerange
-<00> <7F>
-endcodespacerange
-8 beginbfrange
-<00> <01> <0393>
-<09> <0A> <03A8>
-<23> <26> <0023>
-<28> <3B> <0028>
-<3F> <5B> <003F>
-<5D> <5E> <005D>
-<61> <7A> <0061>
-<7B> <7C> <2013>
-endbfrange
-40 beginbfchar
-<02> <0398>
-<03> <039B>
-<04> <039E>
-<05> <03A0>
-<06> <03A3>
-<07> <03D2>
-<08> <03A6>
-<0B> <00660066>
-<0C> <00660069>
-<0D> <0066006C>
-<0E> <006600660069>
-<0F> <00660066006C>
-<10> <0131>
-<11> <0237>
-<12> <0060>
-<13> <00B4>
-<14> <02C7>
-<15> <02D8>
-<16> <00AF>
-<17> <02DA>
-<18> <00B8>
-<19> <00DF>
-<1A> <00E6>
-<1B> <0153>
-<1C> <00F8>
-<1D> <00C6>
-<1E> <0152>
-<1F> <00D8>
-<21> <0021>
-<22> <201D>
-<27> <2019>
-<3C> <00A1>
-<3D> <003D>
-<3E> <00BF>
-<5C> <201C>
-<5F> <02D9>
-<60> <2018>
-<7D> <02DD>
-<7E> <007E>
-<7F> <00A8>
-endbfchar
-endcmap
-CMapName currentdict /CMap defineresource pop
-end
-end
-%%EndResource
-%%EOF
- }\endgroup
- \expandafter\edef\csname cmapOT1\endcsname#1{%
- \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
- }%
-%
-% \cmapOT1IT
- \begingroup
- \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
- \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
-%%DocumentNeededResources: ProcSet (CIDInit)
-%%IncludeResource: ProcSet (CIDInit)
-%%BeginResource: CMap (TeX-OT1IT-0)
-%%Title: (TeX-OT1IT-0 TeX OT1IT 0)
-%%Version: 1.000
-%%EndComments
-/CIDInit /ProcSet findresource begin
-12 dict begin
-begincmap
-/CIDSystemInfo
-<< /Registry (TeX)
-/Ordering (OT1IT)
-/Supplement 0
->> def
-/CMapName /TeX-OT1IT-0 def
-/CMapType 2 def
-1 begincodespacerange
-<00> <7F>
-endcodespacerange
-8 beginbfrange
-<00> <01> <0393>
-<09> <0A> <03A8>
-<25> <26> <0025>
-<28> <3B> <0028>
-<3F> <5B> <003F>
-<5D> <5E> <005D>
-<61> <7A> <0061>
-<7B> <7C> <2013>
-endbfrange
-42 beginbfchar
-<02> <0398>
-<03> <039B>
-<04> <039E>
-<05> <03A0>
-<06> <03A3>
-<07> <03D2>
-<08> <03A6>
-<0B> <00660066>
-<0C> <00660069>
-<0D> <0066006C>
-<0E> <006600660069>
-<0F> <00660066006C>
-<10> <0131>
-<11> <0237>
-<12> <0060>
-<13> <00B4>
-<14> <02C7>
-<15> <02D8>
-<16> <00AF>
-<17> <02DA>
-<18> <00B8>
-<19> <00DF>
-<1A> <00E6>
-<1B> <0153>
-<1C> <00F8>
-<1D> <00C6>
-<1E> <0152>
-<1F> <00D8>
-<21> <0021>
-<22> <201D>
-<23> <0023>
-<24> <00A3>
-<27> <2019>
-<3C> <00A1>
-<3D> <003D>
-<3E> <00BF>
-<5C> <201C>
-<5F> <02D9>
-<60> <2018>
-<7D> <02DD>
-<7E> <007E>
-<7F> <00A8>
-endbfchar
-endcmap
-CMapName currentdict /CMap defineresource pop
-end
-end
-%%EndResource
-%%EOF
- }\endgroup
- \expandafter\edef\csname cmapOT1IT\endcsname#1{%
- \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
- }%
-%
-% \cmapOT1TT
- \begingroup
- \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
- \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
-%%DocumentNeededResources: ProcSet (CIDInit)
-%%IncludeResource: ProcSet (CIDInit)
-%%BeginResource: CMap (TeX-OT1TT-0)
-%%Title: (TeX-OT1TT-0 TeX OT1TT 0)
-%%Version: 1.000
-%%EndComments
-/CIDInit /ProcSet findresource begin
-12 dict begin
-begincmap
-/CIDSystemInfo
-<< /Registry (TeX)
-/Ordering (OT1TT)
-/Supplement 0
->> def
-/CMapName /TeX-OT1TT-0 def
-/CMapType 2 def
-1 begincodespacerange
-<00> <7F>
-endcodespacerange
-5 beginbfrange
-<00> <01> <0393>
-<09> <0A> <03A8>
-<21> <26> <0021>
-<28> <5F> <0028>
-<61> <7E> <0061>
-endbfrange
-32 beginbfchar
-<02> <0398>
-<03> <039B>
-<04> <039E>
-<05> <03A0>
-<06> <03A3>
-<07> <03D2>
-<08> <03A6>
-<0B> <2191>
-<0C> <2193>
-<0D> <0027>
-<0E> <00A1>
-<0F> <00BF>
-<10> <0131>
-<11> <0237>
-<12> <0060>
-<13> <00B4>
-<14> <02C7>
-<15> <02D8>
-<16> <00AF>
-<17> <02DA>
-<18> <00B8>
-<19> <00DF>
-<1A> <00E6>
-<1B> <0153>
-<1C> <00F8>
-<1D> <00C6>
-<1E> <0152>
-<1F> <00D8>
-<20> <2423>
-<27> <2019>
-<60> <2018>
-<7F> <00A8>
-endbfchar
-endcmap
-CMapName currentdict /CMap defineresource pop
-end
-end
-%%EndResource
-%%EOF
- }\endgroup
- \expandafter\edef\csname cmapOT1TT\endcsname#1{%
- \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
- }%
-\fi\fi
-
-
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
-\def\setfont#1#2#3#4#5{%
- \font#1=\fontprefix#2#3 scaled #4
- \csname cmap#5\endcsname#1%
-}
-% This is what gets called when #5 of \setfont is empty.
-\let\cmap\gobble
-% emacs-page end of cmaps
-
-% Use cm as the default font prefix.
-% To specify the font prefix, you must define \fontprefix
-% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
-\def\fontprefix{cm}
-\fi
-% Support font families that don't use the same naming scheme as CM.
-\def\rmshape{r}
-\def\rmbshape{bx} %where the normal face is bold
-\def\bfshape{b}
-\def\bxshape{bx}
-\def\ttshape{tt}
-\def\ttbshape{tt}
-\def\ttslshape{sltt}
-\def\itshape{ti}
-\def\itbshape{bxti}
-\def\slshape{sl}
-\def\slbshape{bxsl}
-\def\sfshape{ss}
-\def\sfbshape{ss}
-\def\scshape{csc}
-\def\scbshape{csc}
-
-% Definitions for a main text size of 11pt. This is the default in
-% Texinfo.
-%
-\def\definetextfontsizexi{%
-% Text fonts (11.2pt, magstep1).
-\def\textnominalsize{11pt}
-\edef\mainmagstep{\magstephalf}
-\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
-\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
-\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
-\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
-\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
-\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
-\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-\def\textecsize{1095}
-
-% A few fonts for @defun names and args.
-\setfont\defbf\bfshape{10}{\magstep1}{OT1}
-\setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
-\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-
-% Fonts for indices, footnotes, small examples (9pt).
-\def\smallnominalsize{9pt}
-\setfont\smallrm\rmshape{9}{1000}{OT1}
-\setfont\smalltt\ttshape{9}{1000}{OT1TT}
-\setfont\smallbf\bfshape{10}{900}{OT1}
-\setfont\smallit\itshape{9}{1000}{OT1IT}
-\setfont\smallsl\slshape{9}{1000}{OT1}
-\setfont\smallsf\sfshape{9}{1000}{OT1}
-\setfont\smallsc\scshape{10}{900}{OT1}
-\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
-\font\smalli=cmmi9
-\font\smallsy=cmsy9
-\def\smallecsize{0900}
-
-% Fonts for small examples (8pt).
-\def\smallernominalsize{8pt}
-\setfont\smallerrm\rmshape{8}{1000}{OT1}
-\setfont\smallertt\ttshape{8}{1000}{OT1TT}
-\setfont\smallerbf\bfshape{10}{800}{OT1}
-\setfont\smallerit\itshape{8}{1000}{OT1IT}
-\setfont\smallersl\slshape{8}{1000}{OT1}
-\setfont\smallersf\sfshape{8}{1000}{OT1}
-\setfont\smallersc\scshape{10}{800}{OT1}
-\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
-\font\smalleri=cmmi8
-\font\smallersy=cmsy8
-\def\smallerecsize{0800}
-
-% Fonts for title page (20.4pt):
-\def\titlenominalsize{20pt}
-\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
-\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
-\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
-\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
-\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
-\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
-\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
-\def\titleecsize{2074}
-
-% Chapter (and unnumbered) fonts (17.28pt).
-\def\chapnominalsize{17pt}
-\setfont\chaprm\rmbshape{12}{\magstep2}{OT1}
-\setfont\chapit\itbshape{10}{\magstep3}{OT1IT}
-\setfont\chapsl\slbshape{10}{\magstep3}{OT1}
-\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT}
-\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT}
-\setfont\chapsf\sfbshape{17}{1000}{OT1}
-\let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}{OT1}
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-\def\chapecsize{1728}
-
-% Section fonts (14.4pt).
-\def\secnominalsize{14pt}
-\setfont\secrm\rmbshape{12}{\magstep1}{OT1}
-\setfont\secit\itbshape{10}{\magstep2}{OT1IT}
-\setfont\secsl\slbshape{10}{\magstep2}{OT1}
-\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
-\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT}
-\setfont\secsf\sfbshape{12}{\magstep1}{OT1}
-\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}{OT1}
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-\def\sececsize{1440}
-
-% Subsection fonts (13.15pt).
-\def\ssecnominalsize{13pt}
-\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1}
-\setfont\ssecit\itbshape{10}{1315}{OT1IT}
-\setfont\ssecsl\slbshape{10}{1315}{OT1}
-\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT}
-\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1}
-\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{1315}{OT1}
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled 1315
-\def\ssececsize{1200}
-
-% Reduced fonts for @acro in text (10pt).
-\def\reducednominalsize{10pt}
-\setfont\reducedrm\rmshape{10}{1000}{OT1}
-\setfont\reducedtt\ttshape{10}{1000}{OT1TT}
-\setfont\reducedbf\bfshape{10}{1000}{OT1}
-\setfont\reducedit\itshape{10}{1000}{OT1IT}
-\setfont\reducedsl\slshape{10}{1000}{OT1}
-\setfont\reducedsf\sfshape{10}{1000}{OT1}
-\setfont\reducedsc\scshape{10}{1000}{OT1}
-\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT}
-\font\reducedi=cmmi10
-\font\reducedsy=cmsy10
-\def\reducedecsize{1000}
-
-% reset the current fonts
-\textfonts
-\rm
-} % end of 11pt text font size definitions
-
-
-% Definitions to make the main text be 10pt Computer Modern, with
-% section, chapter, etc., sizes following suit. This is for the GNU
-% Press printing of the Emacs 22 manual. Maybe other manuals in the
-% future. Used with @smallbook, which sets the leading to 12pt.
-%
-\def\definetextfontsizex{%
-% Text fonts (10pt).
-\def\textnominalsize{10pt}
-\edef\mainmagstep{1000}
-\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
-\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
-\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
-\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
-\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
-\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
-\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-\def\textecsize{1000}
-
-% A few fonts for @defun names and args.
-\setfont\defbf\bfshape{10}{\magstephalf}{OT1}
-\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
-\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-
-% Fonts for indices, footnotes, small examples (9pt).
-\def\smallnominalsize{9pt}
-\setfont\smallrm\rmshape{9}{1000}{OT1}
-\setfont\smalltt\ttshape{9}{1000}{OT1TT}
-\setfont\smallbf\bfshape{10}{900}{OT1}
-\setfont\smallit\itshape{9}{1000}{OT1IT}
-\setfont\smallsl\slshape{9}{1000}{OT1}
-\setfont\smallsf\sfshape{9}{1000}{OT1}
-\setfont\smallsc\scshape{10}{900}{OT1}
-\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
-\font\smalli=cmmi9
-\font\smallsy=cmsy9
-\def\smallecsize{0900}
-
-% Fonts for small examples (8pt).
-\def\smallernominalsize{8pt}
-\setfont\smallerrm\rmshape{8}{1000}{OT1}
-\setfont\smallertt\ttshape{8}{1000}{OT1TT}
-\setfont\smallerbf\bfshape{10}{800}{OT1}
-\setfont\smallerit\itshape{8}{1000}{OT1IT}
-\setfont\smallersl\slshape{8}{1000}{OT1}
-\setfont\smallersf\sfshape{8}{1000}{OT1}
-\setfont\smallersc\scshape{10}{800}{OT1}
-\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
-\font\smalleri=cmmi8
-\font\smallersy=cmsy8
-\def\smallerecsize{0800}
-
-% Fonts for title page (20.4pt):
-\def\titlenominalsize{20pt}
-\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
-\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
-\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
-\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
-\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
-\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
-\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
-\def\titleecsize{2074}
-
-% Chapter fonts (14.4pt).
-\def\chapnominalsize{14pt}
-\setfont\chaprm\rmbshape{12}{\magstep1}{OT1}
-\setfont\chapit\itbshape{10}{\magstep2}{OT1IT}
-\setfont\chapsl\slbshape{10}{\magstep2}{OT1}
-\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT}
-\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT}
-\setfont\chapsf\sfbshape{12}{\magstep1}{OT1}
-\let\chapbf\chaprm
-\setfont\chapsc\scbshape{10}{\magstep2}{OT1}
-\font\chapi=cmmi12 scaled \magstep1
-\font\chapsy=cmsy10 scaled \magstep2
-\def\chapecsize{1440}
-
-% Section fonts (12pt).
-\def\secnominalsize{12pt}
-\setfont\secrm\rmbshape{12}{1000}{OT1}
-\setfont\secit\itbshape{10}{\magstep1}{OT1IT}
-\setfont\secsl\slbshape{10}{\magstep1}{OT1}
-\setfont\sectt\ttbshape{12}{1000}{OT1TT}
-\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT}
-\setfont\secsf\sfbshape{12}{1000}{OT1}
-\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep1}{OT1}
-\font\seci=cmmi12
-\font\secsy=cmsy10 scaled \magstep1
-\def\sececsize{1200}
-
-% Subsection fonts (10pt).
-\def\ssecnominalsize{10pt}
-\setfont\ssecrm\rmbshape{10}{1000}{OT1}
-\setfont\ssecit\itbshape{10}{1000}{OT1IT}
-\setfont\ssecsl\slbshape{10}{1000}{OT1}
-\setfont\ssectt\ttbshape{10}{1000}{OT1TT}
-\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT}
-\setfont\ssecsf\sfbshape{10}{1000}{OT1}
-\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{1000}{OT1}
-\font\sseci=cmmi10
-\font\ssecsy=cmsy10
-\def\ssececsize{1000}
-
-% Reduced fonts for @acro in text (9pt).
-\def\reducednominalsize{9pt}
-\setfont\reducedrm\rmshape{9}{1000}{OT1}
-\setfont\reducedtt\ttshape{9}{1000}{OT1TT}
-\setfont\reducedbf\bfshape{10}{900}{OT1}
-\setfont\reducedit\itshape{9}{1000}{OT1IT}
-\setfont\reducedsl\slshape{9}{1000}{OT1}
-\setfont\reducedsf\sfshape{9}{1000}{OT1}
-\setfont\reducedsc\scshape{10}{900}{OT1}
-\setfont\reducedttsl\ttslshape{10}{900}{OT1TT}
-\font\reducedi=cmmi9
-\font\reducedsy=cmsy9
-\def\reducedecsize{0900}
-
-% reduce space between paragraphs
-\divide\parskip by 2
-
-% reset the current fonts
-\textfonts
-\rm
-} % end of 10pt text font size definitions
-
-
-% We provide the user-level command
-% @fonttextsize 10
-% (or 11) to redefine the text font size. pt is assumed.
-%
-\def\xword{10}
-\def\xiword{11}
-%
-\parseargdef\fonttextsize{%
- \def\textsizearg{#1}%
- \wlog{doing @fonttextsize \textsizearg}%
- %
- % Set \globaldefs so that documents can use this inside @tex, since
- % makeinfo 4.8 does not support it, but we need it nonetheless.
- %
- \begingroup \globaldefs=1
- \ifx\textsizearg\xword \definetextfontsizex
- \else \ifx\textsizearg\xiword \definetextfontsizexi
- \else
- \errhelp=\EMsimple
- \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
- \fi\fi
- \endgroup
-}
-
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families. Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
-%
-\def\resetmathfonts{%
- \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
- \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
- \textfont\ttfam=\tentt \textfont\sffam=\tensf
-}
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE. We do this because \STYLE needs to also set the
-% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire
-% \tenSTYLE to set the current font.
-%
-% Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower). These relative commands are used in
-% the LaTeX logo and acronyms.
-%
-% This all needs generalizing, badly.
-%
-\def\textfonts{%
- \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
- \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
- \let\tenttsl=\textttsl
- \def\curfontsize{text}%
- \def\lsize{reduced}\def\lllsize{smaller}%
- \resetmathfonts \setleading{\textleading}}
-\def\titlefonts{%
- \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
- \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
- \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
- \let\tenttsl=\titlettsl
- \def\curfontsize{title}%
- \def\lsize{chap}\def\lllsize{subsec}%
- \resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rmisbold #1}}
-\def\chapfonts{%
- \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
- \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
- \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
- \let\tenttsl=\chapttsl
- \def\curfontsize{chap}%
- \def\lsize{sec}\def\lllsize{text}%
- \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
- \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
- \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
- \let\tenttsl=\secttsl
- \def\curfontsize{sec}%
- \def\lsize{subsec}\def\lllsize{reduced}%
- \resetmathfonts \setleading{16pt}}
-\def\subsecfonts{%
- \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
- \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
- \let\tenttsl=\ssecttsl
- \def\curfontsize{ssec}%
- \def\lsize{text}\def\lllsize{small}%
- \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts
-\def\reducedfonts{%
- \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
- \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
- \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
- \let\tenttsl=\reducedttsl
- \def\curfontsize{reduced}%
- \def\lsize{small}\def\lllsize{smaller}%
- \resetmathfonts \setleading{10.5pt}}
-\def\smallfonts{%
- \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
- \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
- \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
- \let\tenttsl=\smallttsl
- \def\curfontsize{small}%
- \def\lsize{smaller}\def\lllsize{smaller}%
- \resetmathfonts \setleading{10.5pt}}
-\def\smallerfonts{%
- \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
- \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
- \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
- \let\tenttsl=\smallerttsl
- \def\curfontsize{smaller}%
- \def\lsize{smaller}\def\lllsize{smaller}%
- \resetmathfonts \setleading{9.5pt}}
-
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}{OT1}
-\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
-
-% Define these just so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
-% Set the fonts to use with the @small... environments.
-\let\smallexamplefonts = \smallfonts
-
-% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample
-% can fit this many characters:
-% 8.5x11=86 smallbook=72 a4=90 a5=69
-% If we use \scriptfonts (8pt), then we can fit this many characters:
-% 8.5x11=90+ smallbook=80 a4=90+ a5=77
-% For me, subjectively, the few extra characters that fit aren't worth
-% the additional smallness of 8pt. So I'm making the default 9pt.
-%
-% By the way, for comparison, here's what fits with @example (10pt):
-% 8.5x11=71 smallbook=60 a4=75 a5=58
-% --karl, 24jan03.
-
-% Set up the default fonts, so we can use them for creating boxes.
-%
-\definetextfontsizexi
-
-
-\message{markup,}
-
-% Check if we are currently using a typewriter font. Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
-% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
-% define and register \INITMACRO to be called on markup style changes.
-% \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
-
-\let\currentmarkupstyle\empty
-
-\def\setupmarkupstyle#1{%
- \csname markup#1true\endcsname
- \def\currentmarkupstyle{#1}%
- \markupstylesetup
-}
-
-\let\markupstylesetup\empty
-
-\def\defmarkupstylesetup#1{%
- \expandafter\def\expandafter\markupstylesetup
- \expandafter{\markupstylesetup #1}%
- \def#1%
-}
-
-% Markup style setup for left and right quotes.
-\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
- \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
-}
-
-\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
- \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
-}
-
-{
-\catcode`\'=\active
-\catcode`\`=\active
-
-\gdef\markupsetuplqdefault{\let`\lq}
-\gdef\markupsetuprqdefault{\let'\rq}
-
-\gdef\markupsetcodequoteleft{\let`\codequoteleft}
-\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
-}
-
-\let\markupsetuplqcode \markupsetcodequoteleft
-\let\markupsetuprqcode \markupsetcodequoteright
-\let\markupsetuplqexample \markupsetcodequoteleft
-\let\markupsetuprqexample \markupsetcodequoteright
-\let\markupsetuplqverb \markupsetcodequoteleft
-\let\markupsetuprqverb \markupsetcodequoteright
-\let\markupsetuplqverbatim \markupsetcodequoteleft
-\let\markupsetuprqverbatim \markupsetcodequoteright
-
-\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
-%
-\def\codequoteright{%
- \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
- \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
- '%
- \else \char'15 \fi
- \else \char'15 \fi
-}
-%
-% and a similar option for the left quote char vs. a grave accent.
-% Modern fonts display ASCII 0x60 as a grave accent, so some people like
-% the code environments to do likewise.
-%
-\def\codequoteleft{%
- \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
- \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
- % [Knuth] pp. 380,381,391
- % \relax disables Spanish ligatures ?` and !` of \tt font.
- \relax`%
- \else \char'22 \fi
- \else \char'22 \fi
-}
-
-% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
-\def\noligaturesquoteleft{\relax\lq}
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
- \ptexslash\fi\fi\fi}
-\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
-
-% like \smartslanted except unconditionally uses \ttsl.
-% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-
-% @cite is like \smartslanted except unconditionally use \sl. We never want
-% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\slanted=\smartslanted
-\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
-\let\dfn=\smartslanted
-\let\emph=\smartitalic
-
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}} % roman font
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
-
-% @b, explicit bold. Also @strong.
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-% @sansserif, explicit sans.
-\def\sansserif#1{{\sf #1}}
-
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph. Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
-
-% Set sfcode to normal for the chars that usually have another value.
-% Can't use plain's \frenchspacing because it uses the `\x notation, and
-% sometimes \x has an active definition that messes things up.
-%
-\catcode`@=11
- \def\plainfrenchspacing{%
- \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
- \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
- \def\endofsentencespacefactor{1000}% for @. and friends
- }
- \def\plainnonfrenchspacing{%
- \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
- \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
- \def\endofsentencespacefactor{3000}% for @. and friends
- }
-\catcode`@=\other
-\def\endofsentencespacefactor{3000}% default
-
-% @t, explicit typewriter.
-\def\t#1{%
- {\tt \rawbackslash \plainfrenchspacing #1}%
- \null
-}
-
-% @samp.
-\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
-
-% definition of @key that produces a lozenge. Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-% \vbox{\hrule\kern-0.4pt
-% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-% \kern-0.4pt\hrule}%
-% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-
-% definition of @key with no lozenge. If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle. But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
- \nohyphenation
- \ifmonospace\else\tt\fi
- #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\def\tclose#1{%
- {%
- % Change normal interword space to be same as for the current font.
- \spaceskip = \fontdimen2\font
- %
- % Switch to typewriter.
- \tt
- %
- % But `\ ' produces the large typewriter interword space.
- \def\ {{\spaceskip = 0pt{} }}%
- %
- % Turn off hyphenation.
- \nohyphenation
- %
- \rawbackslash
- \plainfrenchspacing
- #1%
- }%
- \null
-}
-
-% We *must* turn on hyphenation at `-' and `_' in @code.
-% Otherwise, it is too hard to avoid overfull hboxes
-% in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-% -- rms.
-{
- \catcode`\-=\active \catcode`\_=\active
- \catcode`\'=\active \catcode`\`=\active
- \global\let'=\rq \global\let`=\lq % default definitions
- %
- \global\def\code{\begingroup
- \setupmarkupstyle{code}%
- % The following should really be moved into \setupmarkupstyle handlers.
- \catcode\dashChar=\active \catcode\underChar=\active
- \ifallowcodebreaks
- \let-\codedash
- \let_\codeunder
- \else
- \let-\realdash
- \let_\realunder
- \fi
- \codex
- }
-}
-
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
-\def\codeunder{%
- % this is all so @math{@code{var_name}+1} can work. In math mode, _
- % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
- % will therefore expand the active definition of _, which is us
- % (inside @code that is), therefore an endless loop.
- \ifusingtt{\ifmmode
- \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
- \else\normalunderscore \fi
- \discretionary{}{}{}}%
- {\_}%
-}
-\def\codex #1{\tclose{#1}\endgroup}
-
-% An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__. This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general. @allowcodebreaks provides a way to control this.
-%
-\newif\ifallowcodebreaks \allowcodebreakstrue
-
-\def\keywordtrue{true}
-\def\keywordfalse{false}
-
-\parseargdef\allowcodebreaks{%
- \def\txiarg{#1}%
- \ifx\txiarg\keywordtrue
- \allowcodebreakstrue
- \else\ifx\txiarg\keywordfalse
- \allowcodebreaksfalse
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
- \fi\fi
-}
-
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-% `example' (@kbd uses ttsl only inside of @example and friends),
-% or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
- \def\txiarg{#1}%
- \ifx\txiarg\worddistinct
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\txiarg\wordexample
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\txiarg\wordcode
- \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
- \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct'.
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
-
-% @clicksequence{File @click{} Open ...}
-\def\clicksequence#1{\begingroup #1\endgroup}
-
-% @clickstyle @arrow (by default)
-\parseargdef\clickstyle{\def\click{#1}}
-\def\click{\arrow}
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url. Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
-
-% @url synonym for @uref, since that's how everyone uses it.
-%
-\let\url=\uref
-
-% rms does not like angle brackets --karl, 17may97.
-% So now @email is just like @uref, unless we are pdf.
-%
-%\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
- \def\email#1{\doemail#1,,\finish}
- \def\doemail#1,#2,#3\finish{\begingroup
- \unsepspaces
- \pdfurl{mailto:#1}%
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
- \endlink
- \endgroup}
-\else
- \let\email=\uref
-\fi
-
-% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
-%
-\def\dmn#1{\thinspace #1}
-
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find. We need it for
-% Polish suppressed-l. --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
-% @acronym for "FBI", "NATO", and the like.
-% We print this one point size smaller, since it's intended for
-% all-uppercase.
-%
-\def\acronym#1{\doacronym #1,,\finish}
-\def\doacronym#1,#2,#3\finish{%
- {\selectfonts\lsize #1}%
- \def\temp{#2}%
- \ifx\temp\empty \else
- \space ({\unsepspaces \ignorespaces \temp \unskip})%
- \fi
-}
-
-% @abbr for "Comput. J." and the like.
-% No font change, but don't do end-of-sentence spacing.
-%
-\def\abbr#1{\doabbr #1,,\finish}
-\def\doabbr#1,#2,#3\finish{%
- {\plainfrenchspacing #1}%
- \def\temp{#2}%
- \ifx\temp\empty \else
- \space ({\unsepspaces \ignorespaces \temp \unskip})%
- \fi
-}
-
-
-\message{glyphs,}
-
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
-% Since these characters are used in examples, they should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-%
-\def\point{$\star$}
-\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
-\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% The @error{} command.
-% Adapted from the TeXbook's \boxit.
-%
-\newbox\errorbox
-%
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
-%
-\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{%
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-%
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
-% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
-%
-\def\pounds{{\it\$}}
-
-% @euro{} comes from a separate font, depending on the current style.
-% We use the free feym* fonts from the eurosym package by Henrik
-% Theiling, which support regular, slanted, bold and bold slanted (and
-% "outlined" (blackboard board, sort of) versions, which we don't need).
-% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
-%
-% Although only regular is the truly official Euro symbol, we ignore
-% that. The Euro is designed to be slightly taller than the regular
-% font height.
-%
-% feymr - regular
-% feymo - slanted
-% feybr - bold
-% feybo - bold slanted
-%
-% There is no good (free) typewriter version, to my knowledge.
-% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
-% Hmm.
-%
-% Also doesn't work in math. Do we need to do math with euro symbols?
-% Hope not.
-%
-%
-\def\euro{{\eurofont e}}
-\def\eurofont{%
- % We set the font at each command, rather than predefining it in
- % \textfonts and the other font-switching commands, so that
- % installations which never need the symbol don't have to have the
- % font installed.
- %
- % There is only one designed size (nominal 10pt), so we always scale
- % that to the current nominal size.
- %
- % By the way, simply using "at 1em" works for cmr10 and the like, but
- % does not work for cmbx10 and other extended/shrunken fonts.
- %
- \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
- %
- \ifx\curfontstyle\bfstylename
- % bold:
- \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
- \else
- % regular:
- \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
- \fi
- \thiseurofont
-}
-
-% Glyphs from the EC fonts. We don't use \let for the aliases, because
-% sometimes we redefine the original macro, and the alias should reflect
-% the redefinition.
-%
-% Use LaTeX names for the Icelandic letters.
-\def\DH{{\ecfont \char"D0}} % Eth
-\def\dh{{\ecfont \char"F0}} % eth
-\def\TH{{\ecfont \char"DE}} % Thorn
-\def\th{{\ecfont \char"FE}} % thorn
-%
-\def\guillemetleft{{\ecfont \char"13}}
-\def\guillemotleft{\guillemetleft}
-\def\guillemetright{{\ecfont \char"14}}
-\def\guillemotright{\guillemetright}
-\def\guilsinglleft{{\ecfont \char"0E}}
-\def\guilsinglright{{\ecfont \char"0F}}
-\def\quotedblbase{{\ecfont \char"12}}
-\def\quotesinglbase{{\ecfont \char"0D}}
-%
-% This positioning is not perfect (see the ogonek LaTeX package), but
-% we have the precomposed glyphs for the most common cases. We put the
-% tests to use those glyphs in the single \ogonek macro so we have fewer
-% dummy definitions to worry about for index entries, etc.
-%
-% ogonek is also used with other letters in Lithuanian (IOU), but using
-% the precomposed glyphs for those is not so easy since they aren't in
-% the same EC font.
-\def\ogonek#1{{%
- \def\temp{#1}%
- \ifx\temp\macrocharA\Aogonek
- \else\ifx\temp\macrochara\aogonek
- \else\ifx\temp\macrocharE\Eogonek
- \else\ifx\temp\macrochare\eogonek
- \else
- \ecfont \setbox0=\hbox{#1}%
- \ifdim\ht0=1ex\accent"0C #1%
- \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
- \fi
- \fi\fi\fi\fi
- }%
-}
-\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
-\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
-\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
-\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
-%
-% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
-\def\ecfont{%
- % We can't distinguish serif/sans and italic/slanted, but this
- % is used for crude hacks anyway (like adding French and German
- % quotes to documents typeset with CM, where we lose kerning), so
- % hopefully nobody will notice/care.
- \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
- \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
- \else
- % regular:
- \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
- \fi
- \thisecfont
-}
-
-% @registeredsymbol - R in a circle. The font for the R should really
-% be smaller yet, but lllsize is the best we can do for now.
-% Adapted from the plain.tex definition of \copyright.
-%
-\def\registeredsymbol{%
- $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
- \hfil\crcr\Orb}}%
- }$%
-}
-
-% @textdegree - the normal degrees sign.
-%
-\def\textdegree{$^\circ$}
-
-% Laurent Siebenmann reports \Orb undefined with:
-% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
-% so we'll define it if necessary.
-%
-\ifx\Orb\undefined
-\def\Orb{\mathhexbox20D}
-\fi
-
-% Quotes.
-\chardef\quotedblleft="5C
-\chardef\quotedblright=`\"
-\chardef\quoteleft=`\`
-\chardef\quoteright=`\'
-
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page. Must do @settitle before @titlepage.
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
-
-\envdef\titlepage{%
- % Open one extra group, as we want to close it in the middle of \Etitlepage.
- \begingroup
- \parindent=0pt \textfonts
- % Leave some space at the very top of the page.
- \vglue\titlepagetopglue
- % No rule at page bottom unless we print one at the top with @title.
- \finishedtitlepagetrue
- %
- % Most title ``pages'' are actually two pages long, with space
- % at the top of the second. We don't want the ragged left on the second.
- \let\oldpage = \page
- \def\page{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- \let\page = \oldpage
- \page
- \null
- }%
-}
-
-\def\Etitlepage{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- % It is important to do the page break before ending the group,
- % because the headline and footline are only empty inside the group.
- % If we use the new definition of \page, we always get a blank page
- % after the title page, which we certainly don't want.
- \oldpage
- \endgroup
- %
- % Need this before the \...aftertitlepage checks so that if they are
- % in effect the toc pages will come out with page numbers.
- \HEADINGSon
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
-}
-
-\def\finishtitlepage{%
- \vskip4pt \hrule height 2pt width \hsize
- \vskip\titlepagebottomglue
- \finishedtitlepagetrue
-}
-
-%%% Macros to be used within @titlepage:
-
-\let\subtitlerm=\tenrm
-\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-
-\parseargdef\title{%
- \checkenv\titlepage
- \leftline{\titlefonts\rmisbold #1}
- % print a rule at the page bottom also.
- \finishedtitlepagefalse
- \vskip4pt \hrule height 4pt width \hsize \vskip4pt
-}
-
-\parseargdef\subtitle{%
- \checkenv\titlepage
- {\subtitlefont \rightline{#1}}%
-}
-
-% @author should come last, but may come many times.
-% It can also be used inside @quotation.
-%
-\parseargdef\author{%
- \def\temp{\quotation}%
- \ifx\thisenv\temp
- \def\quotationauthor{#1}% printed in \Equotation.
- \else
- \checkenv\titlepage
- \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
- {\secfonts\rmisbold \leftline{#1}}%
- \fi
-}
-
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks\evenheadline % headline on even pages
-\newtoks\oddheadline % headline on odd pages
-\newtoks\evenfootline % footline on even pages
-\newtoks\oddfootline % footline on odd pages
-
-% Now make TeX use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
- \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
- \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what @headings on does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
-\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
-\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
-\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
-\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
- \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
- %
- % Leave some space for the footline. Hopefully ok to assume
- % @evenfooting will not be used by itself.
- \global\advance\pageheight by -12pt
- \global\advance\vsize by -12pt
-}
-
-\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-
-% @evenheadingmarks top \thischapter <- chapter at the top of a page
-% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page
-%
-% The same set of arguments for:
-%
-% @oddheadingmarks
-% @evenfootingmarks
-% @oddfootingmarks
-% @everyheadingmarks
-% @everyfootingmarks
-
-\def\evenheadingmarks{\headingmarks{even}{heading}}
-\def\oddheadingmarks{\headingmarks{odd}{heading}}
-\def\evenfootingmarks{\headingmarks{even}{footing}}
-\def\oddfootingmarks{\headingmarks{odd}{footing}}
-\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
- \headingmarks{odd}{heading}{#1} }
-\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
- \headingmarks{odd}{footing}{#1} }
-% #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
-\def\headingmarks#1#2#3 {%
- \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname
- \global\expandafter\let\csname get#1#2marks\endcsname \temp
-}
-
-\everyheadingmarks bottom
-\everyfootingmarks bottom
-
-% @headings double turns headings on for double-sided printing.
-% @headings single turns headings on for single-sided printing.
-% @headings off turns them off.
-% @headings on same as @headings double, retained for compatibility.
-% @headings after turns on double-sided headings after this page.
-% @headings doubleafter turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off at the start of a document,
-% and turned `on' after @end titlepage.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{%
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-\let\contentsalignmacro = \chappager
-
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-
-% Subroutines used in generating headings
-% This produces Day Month Year style of output.
-% Only define if not already defined, in case a txi-??.tex file has set
-% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
-\def\today{%
- \number\day\space
- \ifcase\month
- \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
- \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
- \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
- \fi
- \space\number\year}
-\fi
-
-% @settitle line... specifies the title of the document, for headings.
-% It generates no output of its own.
-\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg{\gdef\thistitle}}
-
-
-\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\newif\ifitemxneedsnegativevskip
-
-\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-
-\def\itemzzz #1{\begingroup %
- \advance\hsize by -\rightskip
- \advance\hsize by -\tableindent
- \setbox0=\hbox{\itemindicate{#1}}%
- \itemindex{#1}%
- \nobreak % This prevents a break before @itemx.
- %
- % If the item text does not fit in the space we have, put it on a line
- % by itself, and do not allow a page break either before or after that
- % line. We do not start a paragraph here because then if the next
- % command is, e.g., @kindex, the whatsit would get put into the
- % horizontal list on a line by itself, resulting in extra blank space.
- \ifdim \wd0>\itemmax
- %
- % Make this a paragraph so we get the \parskip glue and wrapping,
- % but leave it ragged-right.
- \begingroup
- \advance\leftskip by-\tableindent
- \advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil
- \leavevmode\unhbox0\par
- \endgroup
- %
- % We're going to be starting a paragraph, but we don't want the
- % \parskip glue -- logically it's part of the @item we just started.
- \nobreak \vskip-\parskip
- %
- % Stop a page break at the \parskip glue coming up. However, if
- % what follows is an environment such as @example, there will be no
- % \parskip glue; then the negative vskip we just inserted would
- % cause the example and the item to crash together. So we use this
- % bizarre value of 10001 as a signal to \aboveenvbreak to insert
- % \parskip glue after all. Section titles are handled this way also.
- %
- \penalty 10001
- \endgroup
- \itemxneedsnegativevskipfalse
- \else
- % The item text fits into the space. Start a paragraph, so that the
- % following text (if any) will end up on the same line.
- \noindent
- % Do this with kerns and \unhbox so that if there is a footnote in
- % the item text, it can migrate to the main vertical list and
- % eventually be printed.
- \nobreak\kern-\tableindent
- \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
- \unhbox0
- \nobreak\kern\dimen0
- \endgroup
- \itemxneedsnegativevskiptrue
- \fi
-}
-
-\def\item{\errmessage{@item while not in a list environment}}
-\def\itemx{\errmessage{@itemx while not in a list environment}}
-
-% @table, @ftable, @vtable.
-\envdef\table{%
- \let\itemindex\gobble
- \tablecheck{table}%
-}
-\envdef\ftable{%
- \def\itemindex ##1{\doind {fn}{\code{##1}}}%
- \tablecheck{ftable}%
-}
-\envdef\vtable{%
- \def\itemindex ##1{\doind {vr}{\code{##1}}}%
- \tablecheck{vtable}%
-}
-\def\tablecheck#1{%
- \ifnum \the\catcode`\^^M=\active
- \endgroup
- \errmessage{This command won't work in this context; perhaps the problem is
- that we are \inenvironment\thisenv}%
- \def\next{\doignore{#1}}%
- \else
- \let\next\tablex
- \fi
- \next
-}
-\def\tablex#1{%
- \def\itemindicate{#1}%
- \parsearg\tabley
-}
-\def\tabley#1{%
- {%
- \makevalueexpandable
- \edef\temp{\noexpand\tablez #1\space\space\space}%
- \expandafter
- }\temp \endtablez
-}
-\def\tablez #1 #2 #3 #4\endtablez{%
- \aboveenvbreak
- \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
- \ifnum 0#2>0 \tableindent=#2\mil \fi
- \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
- \itemmax=\tableindent
- \advance \itemmax by -\itemmargin
- \advance \leftskip by \tableindent
- \exdentamount=\tableindent
- \parindent = 0pt
- \parskip = \smallskipamount
- \ifdim \parskip=0pt \parskip=2pt \fi
- \let\item = \internalBitem
- \let\itemx = \internalBitemx
-}
-\def\Etable{\endgraf\afterenvbreak}
-\let\Eftable\Etable
-\let\Evtable\Etable
-\let\Eitemize\Etable
-\let\Eenumerate\Etable
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\envdef\itemize{\parsearg\doitemize}
-
-\def\doitemize#1{%
- \aboveenvbreak
- \itemmax=\itemindent
- \advance\itemmax by -\itemmargin
- \advance\leftskip by \itemindent
- \exdentamount=\itemindent
- \parindent=0pt
- \parskip=\smallskipamount
- \ifdim\parskip=0pt \parskip=2pt \fi
- %
- % Try typesetting the item mark that if the document erroneously says
- % something like @itemize @samp (intending @table), there's an error
- % right away at the @itemize. It's not the best error message in the
- % world, but it's better than leaving it to the @item. This means if
- % the user wants an empty mark, they have to say @w{} not just @w.
- \def\itemcontents{#1}%
- \setbox0 = \hbox{\itemcontents}%
- %
- % @itemize with no arg is equivalent to @itemize @bullet.
- \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
- %
- \let\item=\itemizeitem
-}
-
-% Definition of @item while inside @itemize and @enumerate.
-%
-\def\itemizeitem{%
- \advance\itemno by 1 % for enumerations
- {\let\par=\endgraf \smallbreak}% reasonable place to break
- {%
- % If the document has an @itemize directly after a section title, a
- % \nobreak will be last on the list, and \sectionheading will have
- % done a \vskip-\parskip. In that case, we don't want to zero
- % parskip, or the item text will crash with the heading. On the
- % other hand, when there is normal text preceding the item (as there
- % usually is), we do want to zero parskip, or there would be too much
- % space. In that case, we won't have a \nobreak before. At least
- % that's the theory.
- \ifnum\lastpenalty<10000 \parskip=0in \fi
- \noindent
- \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
- %
- \vadjust{\penalty 1200}}% not good to break after first line of item.
- \flushcr
-}
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-%
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list. No
-% argument is the same as `1'.
-%
-\envparseargdef\enumerate{\enumeratey #1 \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
- % If we were given no argument, pretend we were given `1'.
- \def\thearg{#1}%
- \ifx\thearg\empty \def\thearg{1}\fi
- %
- % Detect if the argument is a single token. If so, it might be a
- % letter. Otherwise, the only valid thing it can be is a number.
- % (We will always have one token, because of the test we just made.
- % This is a good thing, since \splitoff doesn't work given nothing at
- % all -- the first parameter is undelimited.)
- \expandafter\splitoff\thearg\endmark
- \ifx\rest\empty
- % Only one token in the argument. It could still be anything.
- % A ``lowercase letter'' is one whose \lccode is nonzero.
- % An ``uppercase letter'' is one whose \lccode is both nonzero, and
- % not equal to itself.
- % Otherwise, we assume it's a number.
- %
- % We need the \relax at the end of the \ifnum lines to stop TeX from
- % continuing to look for a <number>.
- %
- \ifnum\lccode\expandafter`\thearg=0\relax
- \numericenumerate % a number (we hope)
- \else
- % It's a letter.
- \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
- \lowercaseenumerate % lowercase letter
- \else
- \uppercaseenumerate % uppercase letter
- \fi
- \fi
- \else
- % Multiple tokens in the argument. We hope it's a number.
- \numericenumerate
- \fi
-}
-
-% An @enumerate whose labels are integers. The starting integer is
-% given in \thearg.
-%
-\def\numericenumerate{%
- \itemno = \thearg
- \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more lowercase letters in @enumerate; get a bigger
- alphabet}%
- \fi
- \char\lccode\itemno
- }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more uppercase letters in @enumerate; get a bigger
- alphabet}
- \fi
- \char\uccode\itemno
- }%
-}
-
-% Call \doitemize, adding a period to the first argument and supplying the
-% common last two arguments. Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-%
-\def\startenumeration#1{%
- \advance\itemno by -1
- \doitemize{#1.}\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-
-% @multitable macros
-% Amy Hendrickson, 8/18/94, 3/6/96
-%
-% @multitable ... @end multitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble. Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-% @multitable @columnfractions .25 .3 .45
-% @item ...
-%
-% Numbers following @columnfractions are the percent of the total
-% current hsize to be used for each column. You may use as many
-% columns as desired.
-
-
-% Or use a template:
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item ...
-% using the widest term desired in each column.
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab do not need to be on their own lines, but it will not hurt
-% if they are.
-
-% Sample multitable:
-
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item first col stuff @tab second col stuff @tab third col
-% @item
-% first col stuff
-% @tab
-% second col stuff
-% @tab
-% third col
-% @item first col stuff @tab second col stuff
-% @tab Many paragraphs of text may be used in any column.
-%
-% They will wrap at the width determined by the template.
-% @item@tab@tab This will be in third column.
-% @end multitable
-
-% Default dimensions may be reset by user.
-% @multitableparskip is vertical space between paragraphs in table.
-% @multitableparindent is paragraph indent in table.
-% @multitablecolmargin is horizontal space to be left between columns.
-% @multitablelinespace is space to leave between table items, baseline
-% to baseline.
-% 0pt means it depends on current normal line spacing.
-%
-\newskip\multitableparskip
-\newskip\multitableparindent
-\newdimen\multitablecolspace
-\newskip\multitablelinespace
-\multitableparskip=0pt
-\multitableparindent=6pt
-\multitablecolspace=12pt
-\multitablelinespace=0pt
-
-% Macros used to set up halign preamble:
-%
-\let\endsetuptable\relax
-\def\xendsetuptable{\endsetuptable}
-\let\columnfractions\relax
-\def\xcolumnfractions{\columnfractions}
-\newif\ifsetpercent
-
-% #1 is the @columnfraction, usually a decimal number like .5, but might
-% be just 1. We just use it, whatever it is.
-%
-\def\pickupwholefraction#1 {%
- \global\advance\colcount by 1
- \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
- \setuptable
-}
-
-\newcount\colcount
-\def\setuptable#1{%
- \def\firstarg{#1}%
- \ifx\firstarg\xendsetuptable
- \let\go = \relax
- \else
- \ifx\firstarg\xcolumnfractions
- \global\setpercenttrue
- \else
- \ifsetpercent
- \let\go\pickupwholefraction
- \else
- \global\advance\colcount by 1
- \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
- % separator; typically that is always in the input, anyway.
- \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
- \fi
- \fi
- \ifx\go\pickupwholefraction
- % Put the argument back for the \pickupwholefraction call, so
- % we'll always have a period there to be parsed.
- \def\go{\pickupwholefraction#1}%
- \else
- \let\go = \setuptable
- \fi%
- \fi
- \go
-}
-
-% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry. \everycr resets \everytab so we don't have to
-% undo it ourselves.
-\def\headitemfont{\b}% for people to use in the template row; not changeable
-\def\headitem{%
- \checkenv\multitable
- \crcr
- \global\everytab={\bf}% can't use \headitemfont since the parsing differs
- \the\everytab % for the first item
-}%
-%
-% A \tab used to include \hskip1sp. But then the space in a template
-% line is not enough. That is bad. So let's go back to just `&' until
-% we again encounter the problem the 1sp was intended to solve.
-% --karl, nathan@acm.org, 20apr99.
-\def\tab{\checkenv\multitable &\the\everytab}%
-
-% @multitable ... @end multitable definitions:
-%
-\newtoks\everytab % insert after every tab.
-%
-\envdef\multitable{%
- \vskip\parskip
- \startsavinginserts
- %
- % @item within a multitable starts a normal row.
- % We use \def instead of \let so that if one of the multitable entries
- % contains an @itemize, we don't choke on the \item (seen as \crcr aka
- % \endtemplate) expanding \doitemize.
- \def\item{\crcr}%
- %
- \tolerance=9500
- \hbadness=9500
- \setmultitablespacing
- \parskip=\multitableparskip
- \parindent=\multitableparindent
- \overfullrule=0pt
- \global\colcount=0
- %
- \everycr = {%
- \noalign{%
- \global\everytab={}%
- \global\colcount=0 % Reset the column counter.
- % Check for saved footnotes, etc.
- \checkinserts
- % Keeps underfull box messages off when table breaks over pages.
- %\filbreak
- % Maybe so, but it also creates really weird page breaks when the
- % table breaks over pages. Wouldn't \vfil be better? Wait until the
- % problem manifests itself, so it can be fixed for real --karl.
- }%
- }%
- %
- \parsearg\domultitable
-}
-\def\domultitable#1{%
- % To parse everything between @multitable and @item:
- \setuptable#1 \endsetuptable
- %
- % This preamble sets up a generic column definition, which will
- % be used as many times as user calls for columns.
- % \vtop will set a single line and will also let text wrap and
- % continue for many paragraphs if desired.
- \halign\bgroup &%
- \global\advance\colcount by 1
- \multistrut
- \vtop{%
- % Use the current \colcount to find the correct column width:
- \hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
- \else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
- \fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively
- % marking characters.
- \noindent\ignorespaces##\unskip\multistrut
- }\cr
-}
-\def\Emultitable{%
- \crcr
- \egroup % end the \halign
- \global\setpercentfalse
-}
-
-\def\setmultitablespacing{%
- \def\multistrut{\strut}% just use the standard line spacing
- %
- % Compute \multitablelinespace (if not defined by user) for use in
- % \multitableparskip calculation. We used define \multistrut based on
- % this, but (ironically) that caused the spacing to be off.
- % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
-\ifdim\multitablelinespace=0pt
-\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
-\global\advance\multitablelinespace by-\ht0
-\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%% If so, set to same dimension as multitablelinespace.
-\ifdim\multitableparskip>\multitablelinespace
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
-\fi%
-\ifdim\multitableparskip=0pt
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
-\fi}
-
-
-\message{conditionals,}
-
-% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
-% @ifnotxml always succeed. They currently do nothing; we don't
-% attempt to check whether the conditionals are properly nested. But we
-% have to remember that they are conditionals, so that @end doesn't
-% attempt to close an environment group.
-%
-\def\makecond#1{%
- \expandafter\let\csname #1\endcsname = \relax
- \expandafter\let\csname iscond.#1\endcsname = 1
-}
-\makecond{iftex}
-\makecond{ifnotdocbook}
-\makecond{ifnothtml}
-\makecond{ifnotinfo}
-\makecond{ifnotplaintext}
-\makecond{ifnotxml}
-
-% Ignore @ignore, @ifhtml, @ifinfo, and the like.
-%
-\def\direntry{\doignore{direntry}}
-\def\documentdescription{\doignore{documentdescription}}
-\def\docbook{\doignore{docbook}}
-\def\html{\doignore{html}}
-\def\ifdocbook{\doignore{ifdocbook}}
-\def\ifhtml{\doignore{ifhtml}}
-\def\ifinfo{\doignore{ifinfo}}
-\def\ifnottex{\doignore{ifnottex}}
-\def\ifplaintext{\doignore{ifplaintext}}
-\def\ifxml{\doignore{ifxml}}
-\def\ignore{\doignore{ignore}}
-\def\menu{\doignore{menu}}
-\def\xml{\doignore{xml}}
-
-% Ignore text until a line `@end #1', keeping track of nested conditionals.
-%
-% A count to remember the depth of nesting.
-\newcount\doignorecount
-
-\def\doignore#1{\begingroup
- % Scan in ``verbatim'' mode:
- \obeylines
- \catcode`\@ = \other
- \catcode`\{ = \other
- \catcode`\} = \other
- %
- % Make sure that spaces turn into tokens that match what \doignoretext wants.
- \spaceisspace
- %
- % Count number of #1's that we've seen.
- \doignorecount = 0
- %
- % Swallow text until we reach the matching `@end #1'.
- \dodoignore{#1}%
-}
-
-{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
- \obeylines %
- %
- \gdef\dodoignore#1{%
- % #1 contains the command name as a string, e.g., `ifinfo'.
- %
- % Define a command to find the next `@end #1'.
- \long\def\doignoretext##1^^M@end #1{%
- \doignoretextyyy##1^^M@#1\_STOP_}%
- %
- % And this command to find another #1 command, at the beginning of a
- % line. (Otherwise, we would consider a line `@c @ifset', for
- % example, to count as an @ifset for nesting.)
- \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
- %
- % And now expand that command.
- \doignoretext ^^M%
- }%
-}
-
-\def\doignoreyyy#1{%
- \def\temp{#1}%
- \ifx\temp\empty % Nothing found.
- \let\next\doignoretextzzz
- \else % Found a nested condition, ...
- \advance\doignorecount by 1
- \let\next\doignoretextyyy % ..., look for another.
- % If we're here, #1 ends with ^^M\ifinfo (for example).
- \fi
- \next #1% the token \_STOP_ is present just after this macro.
-}
-
-% We have to swallow the remaining "\_STOP_".
-%
-\def\doignoretextzzz#1{%
- \ifnum\doignorecount = 0 % We have just found the outermost @end.
- \let\next\enddoignore
- \else % Still inside a nested condition.
- \advance\doignorecount by -1
- \let\next\doignoretext % Look for the next @end.
- \fi
- \next
-}
-
-% Finish off ignored text.
-{ \obeylines%
- % Ignore anything after the last `@end #1'; this matters in verbatim
- % environments, where otherwise the newline after an ignored conditional
- % would result in a blank line in the output.
- \gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
-}
-
-
-% @set VAR sets the variable VAR to an empty value.
-% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-%
-% Since we want to separate VAR from REST-OF-LINE (which might be
-% empty), we can't just use \parsearg; we have to insert a space of our
-% own to delimit the rest of the line, and then take it out again if we
-% didn't need it.
-% We rely on the fact that \parsearg sets \catcode`\ =10.
-%
-\parseargdef\set{\setyyy#1 \endsetyyy}
-\def\setyyy#1 #2\endsetyyy{%
- {%
- \makevalueexpandable
- \def\temp{#2}%
- \edef\next{\gdef\makecsname{SET#1}}%
- \ifx\temp\empty
- \next{}%
- \else
- \setzzz#2\endsetzzz
- \fi
- }%
-}
-% Remove the trailing space \setxxx inserted.
-\def\setzzz#1 \endsetzzz{\next{#1}}
-
-% @clear VAR clears (i.e., unsets) the variable VAR.
-%
-\parseargdef\clear{%
- {%
- \makevalueexpandable
- \global\expandafter\let\csname SET#1\endcsname=\relax
- }%
-}
-
-% @value{foo} gets the text saved in variable foo.
-\def\value{\begingroup\makevalueexpandable\valuexxx}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-{
- \catcode`\- = \active \catcode`\_ = \active
- %
- \gdef\makevalueexpandable{%
- \let\value = \expandablevalue
- % We don't want these characters active, ...
- \catcode`\-=\other \catcode`\_=\other
- % ..., but we might end up with active ones in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}, though.
- % So \let them to their normal equivalents.
- \let-\realdash \let_\normalunderscore
- }
-}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we call \makevalueexpandable in \indexdummies).
-% The command has to be fully expandable (if the variable is set), since
-% the result winds up in the index file. This means that if the
-% variable's value contains other Texinfo commands, it's almost certain
-% it will fail (although perhaps we could fix that with sufficient work
-% to do a one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- {[No value for ``#1'']}%
- \message{Variable `#1', used in @value, is not set.}%
- \else
- \csname SET#1\endcsname
- \fi
-}
-
-% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-% with @set.
-%
-% To get special treatment of `@end ifset,' call \makeond and the redefine.
-%
-\makecond{ifset}
-\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
-\def\doifset#1#2{%
- {%
- \makevalueexpandable
- \let\next=\empty
- \expandafter\ifx\csname SET#2\endcsname\relax
- #1% If not set, redefine \next.
- \fi
- \expandafter
- }\next
-}
-\def\ifsetfail{\doignore{ifset}}
-
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-% defined with @set, or has been undefined with @clear.
-%
-% The `\else' inside the `\doifset' parameter is a trick to reuse the
-% above code: if the variable is not set, do nothing, if it is set,
-% then redefine \next to \ifclearfail.
-%
-\makecond{ifclear}
-\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
-\def\ifclearfail{\doignore{ifclear}}
-
-% @dircategory CATEGORY -- specify a category of the dir file
-% which this file should belong to. Ignore this in TeX.
-\let\dircategory=\comment
-
-% @defininfoenclose.
-\let\definfoenclose=\comment
-
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within macros and \if's.
-\edef\newwrite{\makecsname{ptexnewwrite}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index. The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-%
-\def\newindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
- \fi
- \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
- \noexpand\doindex{#1}}
-}
-
-% @defindex foo == \newindex{foo}
-%
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-%
-\def\defcodeindex{\parsearg\newcodeindex}
-%
-\def\newcodeindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1
- \fi
- \expandafter\xdef\csname#1index\endcsname{%
- \noexpand\docodeindex{#1}}%
-}
-
-
-% @synindex foo bar makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-%
-% @syncodeindex foo bar similar, but put all entries made for index foo
-% inside @code.
-%
-\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
-\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
-
-% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
-% #3 the target index (bar).
-\def\dosynindex#1#2#3{%
- % Only do \closeout if we haven't already done it, else we'll end up
- % closing the target index.
- \expandafter \ifx\csname donesynindex#2\endcsname \relax
- % The \closeout helps reduce unnecessary open files; the limit on the
- % Acorn RISC OS is a mere 16 files.
- \expandafter\closeout\csname#2indfile\endcsname
- \expandafter\let\csname donesynindex#2\endcsname = 1
- \fi
- % redefine \fooindfile:
- \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
- \expandafter\let\csname#2indfile\endcsname=\temp
- % redefine \fooindex:
- \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-% and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-% Take care of Texinfo commands that can appear in an index entry.
-% Since there are some commands we want to expand, and others we don't,
-% we have to laboriously prevent expansion for those that we don't.
-%
-\def\indexdummies{%
- \escapechar = `\\ % use backslash in output files.
- \def\@{@}% change to @@ when we switch to @ as escape char in index files.
- \def\ {\realbackslash\space }%
- %
- % Need these in case \tex is in effect and \{ is a \delimiter again.
- % But can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters.
- \let\{ = \mylbrace
- \let\} = \myrbrace
- %
- % I don't entirely understand this, but when an index entry is
- % generated from a macro call, the \endinput which \scanmacro inserts
- % causes processing to be prematurely terminated. This is,
- % apparently, because \indexsorttmp is fully expanded, and \endinput
- % is an expandable command. The redefinition below makes \endinput
- % disappear altogether for that purpose -- although logging shows that
- % processing continues to some further point. On the other hand, it
- % seems \endinput does not hurt in the printed index arg, since that
- % is still getting written without apparent harm.
- %
- % Sample source (mac-idx3.tex, reported by Graham Percival to
- % help-texinfo, 22may06):
- % @macro funindex {WORD}
- % @findex xyz
- % @end macro
- % ...
- % @funindex commtest
- %
- % The above is not enough to reproduce the bug, but it gives the flavor.
- %
- % Sample whatsit resulting:
- % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
- %
- % So:
- \let\endinput = \empty
- %
- % Do the redefinitions.
- \commondummies
-}
-
-% For the aux and toc files, @ is the escape character. So we want to
-% redefine everything using @ as the escape character (instead of
-% \realbackslash, still used for index files). When everything uses @,
-% this will be simpler.
-%
-\def\atdummies{%
- \def\@{@@}%
- \def\ {@ }%
- \let\{ = \lbraceatcmd
- \let\} = \rbraceatcmd
- %
- % Do the redefinitions.
- \commondummies
- \otherbackslash
-}
-
-% Called from \indexdummies and \atdummies.
-%
-\def\commondummies{%
- %
- % \definedummyword defines \#1 as \string\#1\space, thus effectively
- % preventing its expansion. This is used only for control% words,
- % not control letters, because the \space would be incorrect for
- % control characters, but is needed to separate the control word
- % from whatever follows.
- %
- % For control letters, we have \definedummyletter, which omits the
- % space.
- %
- % These can be used both for control words that take an argument and
- % those that do not. If it is followed by {arg} in the input, then
- % that will dutifully get written to the index (or wherever).
- %
- \def\definedummyword ##1{\def##1{\string##1\space}}%
- \def\definedummyletter##1{\def##1{\string##1}}%
- \let\definedummyaccent\definedummyletter
- %
- \commondummiesnofonts
- %
- \definedummyletter\_%
- %
- % Non-English letters.
- \definedummyword\AA
- \definedummyword\AE
- \definedummyword\DH
- \definedummyword\L
- \definedummyword\O
- \definedummyword\OE
- \definedummyword\TH
- \definedummyword\aa
- \definedummyword\ae
- \definedummyword\dh
- \definedummyword\exclamdown
- \definedummyword\l
- \definedummyword\o
- \definedummyword\oe
- \definedummyword\ordf
- \definedummyword\ordm
- \definedummyword\questiondown
- \definedummyword\ss
- \definedummyword\th
- %
- % Although these internal commands shouldn't show up, sometimes they do.
- \definedummyword\bf
- \definedummyword\gtr
- \definedummyword\hat
- \definedummyword\less
- \definedummyword\sf
- \definedummyword\sl
- \definedummyword\tclose
- \definedummyword\tt
- %
- \definedummyword\LaTeX
- \definedummyword\TeX
- %
- % Assorted special characters.
- \definedummyword\bullet
- \definedummyword\comma
- \definedummyword\copyright
- \definedummyword\registeredsymbol
- \definedummyword\dots
- \definedummyword\enddots
- \definedummyword\equiv
- \definedummyword\error
- \definedummyword\euro
- \definedummyword\guillemetleft
- \definedummyword\guillemetright
- \definedummyword\guilsinglleft
- \definedummyword\guilsinglright
- \definedummyword\expansion
- \definedummyword\minus
- \definedummyword\ogonek
- \definedummyword\pounds
- \definedummyword\point
- \definedummyword\print
- \definedummyword\quotedblbase
- \definedummyword\quotedblleft
- \definedummyword\quotedblright
- \definedummyword\quoteleft
- \definedummyword\quoteright
- \definedummyword\quotesinglbase
- \definedummyword\result
- \definedummyword\textdegree
- %
- % We want to disable all macros so that they are not expanded by \write.
- \macrolist
- %
- \normalturnoffactive
- %
- % Handle some cases of @value -- where it does not contain any
- % (non-fully-expandable) commands.
- \makevalueexpandable
-}
-
-% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-%
-\def\commondummiesnofonts{%
- % Control letters and accents.
- \definedummyletter\!%
- \definedummyaccent\"%
- \definedummyaccent\'%
- \definedummyletter\*%
- \definedummyaccent\,%
- \definedummyletter\.%
- \definedummyletter\/%
- \definedummyletter\:%
- \definedummyaccent\=%
- \definedummyletter\?%
- \definedummyaccent\^%
- \definedummyaccent\`%
- \definedummyaccent\~%
- \definedummyword\u
- \definedummyword\v
- \definedummyword\H
- \definedummyword\dotaccent
- \definedummyword\ogonek
- \definedummyword\ringaccent
- \definedummyword\tieaccent
- \definedummyword\ubaraccent
- \definedummyword\udotaccent
- \definedummyword\dotless
- %
- % Texinfo font commands.
- \definedummyword\b
- \definedummyword\i
- \definedummyword\r
- \definedummyword\sc
- \definedummyword\t
- %
- % Commands that take arguments.
- \definedummyword\acronym
- \definedummyword\cite
- \definedummyword\code
- \definedummyword\command
- \definedummyword\dfn
- \definedummyword\emph
- \definedummyword\env
- \definedummyword\file
- \definedummyword\kbd
- \definedummyword\key
- \definedummyword\math
- \definedummyword\option
- \definedummyword\pxref
- \definedummyword\ref
- \definedummyword\samp
- \definedummyword\strong
- \definedummyword\tie
- \definedummyword\uref
- \definedummyword\url
- \definedummyword\var
- \definedummyword\verb
- \definedummyword\w
- \definedummyword\xref
-}
-
-% \indexnofonts is used when outputting the strings to sort the index
-% by, and when constructing control sequence names. It eliminates all
-% control sequences and just writes whatever the best ASCII sort string
-% would be for a given command (usually its argument).
-%
-\def\indexnofonts{%
- % Accent commands should become @asis.
- \def\definedummyaccent##1{\let##1\asis}%
- % We can just ignore other control letters.
- \def\definedummyletter##1{\let##1\empty}%
- % Hopefully, all control words can become @asis.
- \let\definedummyword\definedummyaccent
- %
- \commondummiesnofonts
- %
- % Don't no-op \tt, since it isn't a user-level command
- % and is used in the definitions of the active chars like <, >, |, etc.
- % Likewise with the other plain tex font commands.
- %\let\tt=\asis
- %
- \def\ { }%
- \def\@{@}%
- % how to handle braces?
- \def\_{\normalunderscore}%
- %
- % Non-English letters.
- \def\AA{AA}%
- \def\AE{AE}%
- \def\DH{DZZ}%
- \def\L{L}%
- \def\OE{OE}%
- \def\O{O}%
- \def\TH{ZZZ}%
- \def\aa{aa}%
- \def\ae{ae}%
- \def\dh{dzz}%
- \def\exclamdown{!}%
- \def\l{l}%
- \def\oe{oe}%
- \def\ordf{a}%
- \def\ordm{o}%
- \def\o{o}%
- \def\questiondown{?}%
- \def\ss{ss}%
- \def\th{zzz}%
- %
- \def\LaTeX{LaTeX}%
- \def\TeX{TeX}%
- %
- % Assorted special characters.
- % (The following {} will end up in the sort string, but that's ok.)
- \def\bullet{bullet}%
- \def\comma{,}%
- \def\copyright{copyright}%
- \def\dots{...}%
- \def\enddots{...}%
- \def\equiv{==}%
- \def\error{error}%
- \def\euro{euro}%
- \def\expansion{==>}%
- \def\guillemetleft{<<}%
- \def\guillemetright{>>}%
- \def\guilsinglleft{<}%
- \def\guilsinglright{>}%
- \def\minus{-}%
- \def\point{.}%
- \def\pounds{pounds}%
- \def\print{-|}%
- \def\quotedblbase{"}%
- \def\quotedblleft{"}%
- \def\quotedblright{"}%
- \def\quoteleft{`}%
- \def\quoteright{'}%
- \def\quotesinglbase{,}%
- \def\registeredsymbol{R}%
- \def\result{=>}%
- \def\textdegree{o}%
- %
- % We need to get rid of all macros, leaving only the arguments (if present).
- % Of course this is not nearly correct, but it is the best we can do for now.
- % makeinfo does not expand macros in the argument to @deffn, which ends up
- % writing an index entry, and texindex isn't prepared for an index sort entry
- % that starts with \.
- %
- % Since macro invocations are followed by braces, we can just redefine them
- % to take a single TeX argument. The case of a macro invocation that
- % goes to end-of-line is not handled.
- %
- \macrolist
-}
-
-\let\indexbackslash=0 %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% Most index entries go through here, but \dosubind is the general case.
-% #1 is the index name, #2 is the entry text.
-\def\doind#1#2{\dosubind{#1}{#2}{}}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% empty if called from \doind, as we usually are (the main exception
-% is with most defuns, which call us directly).
-%
-\def\dosubind#1#2#3{%
- \iflinks
- {%
- % Store the main index entry text (including the third arg).
- \toks0 = {#2}%
- % If third arg is present, precede it with a space.
- \def\thirdarg{#3}%
- \ifx\thirdarg\empty \else
- \toks0 = \expandafter{\the\toks0 \space #3}%
- \fi
- %
- \edef\writeto{\csname#1indfile\endcsname}%
- %
- \safewhatsit\dosubindwrite
- }%
- \fi
-}
-
-% Write the entry in \toks0 to the index file:
-%
-\def\dosubindwrite{%
- % Put the index entry in the margin if desired.
- \ifx\SETmarginindex\relax\else
- \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
- \fi
- %
- % Remember, we are within a group.
- \indexdummies % Must do this here, since \bf, etc expand at this stage
- \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
- % so it will be output as is; and it will print as backslash.
- %
- % Process the index entry with all font commands turned off, to
- % get the string to sort by.
- {\indexnofonts
- \edef\temp{\the\toks0}% need full expansion
- \xdef\indexsorttmp{\temp}%
- }%
- %
- % Set up the complete index entry, with both the sort key and
- % the original text, including any font commands. We write
- % three arguments to \entry to the .?? file (four in the
- % subentry case), texindex reduces to two when writing the .??s
- % sorted result.
- \edef\temp{%
- \write\writeto{%
- \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
- }%
- \temp
-}
-
-% Take care of unwanted page breaks/skips around a whatsit:
-%
-% If a skip is the last thing on the list now, preserve it
-% by backing up by \lastskip, doing the \write, then inserting
-% the skip again. Otherwise, the whatsit generated by the
-% \write or \pdfdest will make \lastskip zero. The result is that
-% sequences like this:
-% @end defun
-% @tindex whatever
-% @defun ...
-% will have extra space inserted, because the \medbreak in the
-% start of the @defun won't see the skip inserted by the @end of
-% the previous defun.
-%
-% But don't do any of this if we're not in vertical mode. We
-% don't want to do a \vskip and prematurely end a paragraph.
-%
-% Avoid page breaks due to these extra skips, too.
-%
-% But wait, there is a catch there:
-% We'll have to check whether \lastskip is zero skip. \ifdim is not
-% sufficient for this purpose, as it ignores stretch and shrink parts
-% of the skip. The only way seems to be to check the textual
-% representation of the skip.
-%
-% The following is almost like \def\zeroskipmacro{0.0pt} except that
-% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
-%
-\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
-%
-\newskip\whatsitskip
-\newcount\whatsitpenalty
-%
-% ..., ready, GO:
-%
-\def\safewhatsit#1{%
-\ifhmode
- #1%
-\else
- % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
- \whatsitskip = \lastskip
- \edef\lastskipmacro{\the\lastskip}%
- \whatsitpenalty = \lastpenalty
- %
- % If \lastskip is nonzero, that means the last item was a
- % skip. And since a skip is discardable, that means this
- % -\whatsitskip glue we're inserting is preceded by a
- % non-discardable item, therefore it is not a potential
- % breakpoint, therefore no \nobreak needed.
- \ifx\lastskipmacro\zeroskipmacro
- \else
- \vskip-\whatsitskip
- \fi
- %
- #1%
- %
- \ifx\lastskipmacro\zeroskipmacro
- % If \lastskip was zero, perhaps the last item was a penalty, and
- % perhaps it was >=10000, e.g., a \nobreak. In that case, we want
- % to re-insert the same penalty (values >10000 are used for various
- % signals); since we just inserted a non-discardable item, any
- % following glue (such as a \parskip) would be a breakpoint. For example:
- %
- % @deffn deffn-whatever
- % @vindex index-whatever
- % Description.
- % would allow a break between the index-whatever whatsit
- % and the "Description." paragraph.
- \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
- \else
- % On the other hand, if we had a nonzero \lastskip,
- % this make-up glue would be preceded by a non-discardable item
- % (the whatsit from the \write), so we must insert a \nobreak.
- \nobreak\vskip\whatsitskip
- \fi
-\fi
-}
-
-% The index entry written in the file actually looks like
-% \entry {sortstring}{page}{topic}
-% or
-% \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-% \initial {c}
-% before the first topic whose initial is c
-% \entry {topic}{pagelist}
-% for a topic that is used without subtopics
-% \primary {topic}
-% for the beginning of a topic that is used with subtopics
-% \secondary {subtopic}{pagelist}
-% for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% @printindex causes a particular index (the ??s file) to get printed.
-% It does not print any chapter heading (usually an @unnumbered).
-%
-\parseargdef\printindex{\begingroup
- \dobreak \chapheadingskip{10000}%
- %
- \smallfonts \rm
- \tolerance = 9500
- \plainfrenchspacing
- \everypar = {}% don't want the \kern\-parindent from indentation suppression.
- %
- % See if the index file exists and is nonempty.
- % Change catcode of @ here so that if the index file contains
- % \initial {@}
- % as its first line, TeX doesn't complain about mismatched braces
- % (because it thinks @} is a control sequence).
- \catcode`\@ = 11
- \openin 1 \jobname.#1s
- \ifeof 1
- % \enddoublecolumns gets confused if there is no text in the index,
- % and it loses the chapter title and the aux file entries for the
- % index. The easiest way to prevent this problem is to make sure
- % there is some text.
- \putwordIndexNonexistent
- \else
- %
- % If the index file exists but is empty, then \openin leaves \ifeof
- % false. We have to make TeX try to read something from the file, so
- % it can discover if there is anything in it.
- \read 1 to \temp
- \ifeof 1
- \putwordIndexIsEmpty
- \else
- % Index files are almost Texinfo source, but we use \ as the escape
- % character. It would be better to use @, but that's too big a change
- % to make right now.
- \def\indexbackslash{\backslashcurfont}%
- \catcode`\\ = 0
- \escapechar = `\\
- \begindoublecolumns
- \input \jobname.#1s
- \enddoublecolumns
- \fi
- \fi
- \closein 1
-\endgroup}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-\def\initial#1{{%
- % Some minor font changes for the special characters.
- \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
- %
- % Remove any glue we may have, we'll be inserting our own.
- \removelastskip
- %
- % We like breaks before the index initials, so insert a bonus.
- \nobreak
- \vskip 0pt plus 3\baselineskip
- \penalty 0
- \vskip 0pt plus -3\baselineskip
- %
- % Typeset the initial. Making this add up to a whole number of
- % baselineskips increases the chance of the dots lining up from column
- % to column. It still won't often be perfect, because of the stretch
- % we need before each entry, but it's better.
- %
- % No shrink because it confuses \balancecolumns.
- \vskip 1.67\baselineskip plus .5\baselineskip
- \leftline{\secbf #1}%
- % Do our best not to break after the initial.
- \nobreak
- \vskip .33\baselineskip plus .1\baselineskip
-}}
-
-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
-% then page number (#2) flushed to the right margin. It is used for index
-% and table of contents entries. The paragraph is indented by \leftskip.
-%
-% A straightforward implementation would start like this:
-% \def\entry#1#2{...
-% But this freezes the catcodes in the argument, and can cause problems to
-% @code, which sets - active. This problem was fixed by a kludge---
-% ``-'' was active throughout whole index, but this isn't really right.
-%
-% The right solution is to prevent \entry from swallowing the whole text.
-% --kasal, 21nov03
-\def\entry{%
- \begingroup
- %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
- % Do not fill out the last line with white space.
- \parfillskip = 0in
- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
- % Do not prefer a separate line ending with a hyphen to fewer lines.
- \finalhyphendemerits = 0
- %
- % \hangindent is only relevant when the entry text and page number
- % don't both fit on one line. In that case, bob suggests starting the
- % dots pretty far over on the line. Unfortunately, a large
- % indentation looks wrong when the entry text itself is broken across
- % lines. So we use a small indentation and put up with long leaders.
- %
- % \hangafter is reset to 1 (which is the value we want) at the start
- % of each paragraph, so we need not do anything with that.
- \hangindent = 2em
- %
- % When the entry text needs to be broken, just fill out the first line
- % with blank space.
- \rightskip = 0pt plus1fil
- %
- % A bit of stretch before each entry for the benefit of balancing
- % columns.
- \vskip 0pt plus1pt
- %
- % Swallow the left brace of the text (first parameter):
- \afterassignment\doentry
- \let\temp =
-}
-\def\doentry{%
- \bgroup % Instead of the swallowed brace.
- \noindent
- \aftergroup\finishentry
- % And now comes the text of the entry.
-}
-\def\finishentry#1{%
- % #1 is the page number.
- %
- % The following is kludged to not output a line of dots in the index if
- % there are no page numbers. The next person who breaks this will be
- % cursed by a Unix daemon.
- \setbox\boxA = \hbox{#1}%
- \ifdim\wd\boxA = 0pt
- \ %
- \else
- %
- % If we must, put the page number on a line of its own, and fill out
- % this line with blank space. (The \hfil is overwhelmed with the
- % fill leaders glue in \indexdotfill if the page number does fit.)
- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
- %
- % The `\ ' here is removed by the implicit \unskip that TeX does as
- % part of (the primitive) \par. Without it, a spurious underfull
- % \hbox ensues.
- \ifpdf
- \pdfgettoks#1.%
- \ \the\toksA
- \else
- \ #1%
- \fi
- \fi
- \par
- \endgroup
-}
-
-% Like plain.tex's \dotfill, except uses up at least 1 em.
-\def\indexdotfill{\cleaders
- \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-\def\secondary#1#2{{%
- \parfillskip=0in
- \parskip=0in
- \hangindent=1in
- \hangafter=1
- \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
- \ifpdf
- \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
- \else
- #2
- \fi
- \par
-}}
-
-% Define two-column mode, which we use to typeset indexes.
-% Adapted from the TeXbook, page 416, which is to say,
-% the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
-
-\newbox\partialpage
-\newdimen\doublecolumnhsize
-
-\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
- % Grab any single-column material above us.
- \output = {%
- %
- % Here is a possibility not foreseen in manmac: if we accumulate a
- % whole lot of material, we might end up calling this \output
- % routine twice in a row (see the doublecol-lose test, which is
- % essentially a couple of indexes with @setchapternewpage off). In
- % that case we just ship out what is in \partialpage with the normal
- % output routine. Generally, \partialpage will be empty when this
- % runs and this will be a no-op. See the indexspread.tex test case.
- \ifvoid\partialpage \else
- \onepageout{\pagecontents\partialpage}%
- \fi
- %
- \global\setbox\partialpage = \vbox{%
- % Unvbox the main output page.
- \unvbox\PAGE
- \kern-\topskip \kern\baselineskip
- }%
- }%
- \eject % run that output routine to set \partialpage
- %
- % Use the double-column output routine for subsequent pages.
- \output = {\doublecolumnout}%
- %
- % Change the page size parameters. We could do this once outside this
- % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
- % format, but then we repeat the same computation. Repeating a couple
- % of assignments once per index is clearly meaningless for the
- % execution time, so we may as well do it in one place.
- %
- % First we halve the line length, less a little for the gutter between
- % the columns. We compute the gutter based on the line length, so it
- % changes automatically with the paper format. The magic constant
- % below is chosen so that the gutter has the same value (well, +-<1pt)
- % as it did when we hard-coded it.
- %
- % We put the result in a separate register, \doublecolumhsize, so we
- % can restore it in \pagesofar, after \hsize itself has (potentially)
- % been clobbered.
- %
- \doublecolumnhsize = \hsize
- \advance\doublecolumnhsize by -.04154\hsize
- \divide\doublecolumnhsize by 2
- \hsize = \doublecolumnhsize
- %
- % Double the \vsize as well. (We don't need a separate register here,
- % since nobody clobbers \vsize.)
- \vsize = 2\vsize
-}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
-\def\doublecolumnout{%
- \splittopskip=\topskip \splitmaxdepth=\maxdepth
- % Get the available space for the double columns -- the normal
- % (undoubled) page height minus any material left over from the
- % previous page.
- \dimen@ = \vsize
- \divide\dimen@ by 2
- \advance\dimen@ by -\ht\partialpage
- %
- % box0 will be the left-hand column, box2 the right.
- \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
- \onepageout\pagesofar
- \unvbox255
- \penalty\outputpenalty
-}
-%
-% Re-output the contents of the output page -- any previous material,
-% followed by the two boxes we just split, in box0 and box2.
-\def\pagesofar{%
- \unvbox\partialpage
- %
- \hsize = \doublecolumnhsize
- \wd0=\hsize \wd2=\hsize
- \hbox to\pagewidth{\box0\hfil\box2}%
-}
-%
-% All done with double columns.
-\def\enddoublecolumns{%
- % The following penalty ensures that the page builder is exercised
- % _before_ we change the output routine. This is necessary in the
- % following situation:
- %
- % The last section of the index consists only of a single entry.
- % Before this section, \pagetotal is less than \pagegoal, so no
- % break occurs before the last section starts. However, the last
- % section, consisting of \initial and the single \entry, does not
- % fit on the page and has to be broken off. Without the following
- % penalty the page builder will not be exercised until \eject
- % below, and by that time we'll already have changed the output
- % routine to the \balancecolumns version, so the next-to-last
- % double-column page will be processed with \balancecolumns, which
- % is wrong: The two columns will go to the main vertical list, with
- % the broken-off section in the recent contributions. As soon as
- % the output routine finishes, TeX starts reconsidering the page
- % break. The two columns and the broken-off section both fit on the
- % page, because the two columns now take up only half of the page
- % goal. When TeX sees \eject from below which follows the final
- % section, it invokes the new output routine that we've set after
- % \balancecolumns below; \onepageout will try to fit the two columns
- % and the final section into the vbox of \pageheight (see
- % \pagebody), causing an overfull box.
- %
- % Note that glue won't work here, because glue does not exercise the
- % page builder, unlike penalties (see The TeXbook, pp. 280-281).
- \penalty0
- %
- \output = {%
- % Split the last of the double-column material. Leave it on the
- % current page, no automatic page break.
- \balancecolumns
- %
- % If we end up splitting too much material for the current page,
- % though, there will be another page break right after this \output
- % invocation ends. Having called \balancecolumns once, we do not
- % want to call it again. Therefore, reset \output to its normal
- % definition right away. (We hope \balancecolumns will never be
- % called on to balance too much material, but if it is, this makes
- % the output somewhat more palatable.)
- \global\output = {\onepageout{\pagecontents\PAGE}}%
- }%
- \eject
- \endgroup % started in \begindoublecolumns
- %
- % \pagegoal was set to the doubled \vsize above, since we restarted
- % the current page. We're now back to normal single-column
- % typesetting, so reset \pagegoal to the normal \vsize (after the
- % \endgroup where \vsize got restored).
- \pagegoal = \vsize
-}
-%
-% Called at the end of the double column material.
-\def\balancecolumns{%
- \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
- \dimen@ = \ht0
- \advance\dimen@ by \topskip
- \advance\dimen@ by-\baselineskip
- \divide\dimen@ by 2 % target to split to
- %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
- \splittopskip = \topskip
- % Loop until we get a decent breakpoint.
- {%
- \vbadness = 10000
- \loop
- \global\setbox3 = \copy0
- \global\setbox1 = \vsplit3 to \dimen@
- \ifdim\ht3>\dimen@
- \global\advance\dimen@ by 1pt
- \repeat
- }%
- %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
- \setbox0=\vbox to\dimen@{\unvbox1}%
- \setbox2=\vbox to\dimen@{\unvbox3}%
- %
- \pagesofar
-}
-\catcode`\@ = \other
-
-
-\message{sectioning,}
-% Chapters, sections, etc.
-
-% \unnumberedno is an oxymoron, of course. But we count the unnumbered
-% sections so that we can refer to them unambiguously in the pdf
-% outlines by their "section number". We avoid collisions with chapter
-% numbers by starting them at 10000. (If a document ever has 10000
-% chapters, we're in trouble anyway, I'm sure.)
-\newcount\unnumberedno \unnumberedno = 10000
-\newcount\chapno
-\newcount\secno \secno=0
-\newcount\subsecno \subsecno=0
-\newcount\subsubsecno \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount\appendixno \appendixno = `\@
-%
-% \def\appendixletter{\char\the\appendixno}
-% We do the following ugly conditional instead of the above simple
-% construct for the sake of pdftex, which needs the actual
-% letter in the expansion, not just typeset.
-%
-\def\appendixletter{%
- \ifnum\appendixno=`A A%
- \else\ifnum\appendixno=`B B%
- \else\ifnum\appendixno=`C C%
- \else\ifnum\appendixno=`D D%
- \else\ifnum\appendixno=`E E%
- \else\ifnum\appendixno=`F F%
- \else\ifnum\appendixno=`G G%
- \else\ifnum\appendixno=`H H%
- \else\ifnum\appendixno=`I I%
- \else\ifnum\appendixno=`J J%
- \else\ifnum\appendixno=`K K%
- \else\ifnum\appendixno=`L L%
- \else\ifnum\appendixno=`M M%
- \else\ifnum\appendixno=`N N%
- \else\ifnum\appendixno=`O O%
- \else\ifnum\appendixno=`P P%
- \else\ifnum\appendixno=`Q Q%
- \else\ifnum\appendixno=`R R%
- \else\ifnum\appendixno=`S S%
- \else\ifnum\appendixno=`T T%
- \else\ifnum\appendixno=`U U%
- \else\ifnum\appendixno=`V V%
- \else\ifnum\appendixno=`W W%
- \else\ifnum\appendixno=`X X%
- \else\ifnum\appendixno=`Y Y%
- \else\ifnum\appendixno=`Z Z%
- % The \the is necessary, despite appearances, because \appendixletter is
- % expanded while writing the .toc file. \char\appendixno is not
- % expandable, thus it is written literally, thus all appendixes come out
- % with the same letter (or @) in the toc without it.
- \else\char\the\appendixno
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-
-% Each @chapter defines these (using marks) as the number+name, number
-% and name of the chapter. Page headings and footings can use
-% these. @section does likewise.
-\def\thischapter{}
-\def\thischapternum{}
-\def\thischaptername{}
-\def\thissection{}
-\def\thissectionnum{}
-\def\thissectionname{}
-
-\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
-
-% @raisesections: treat @section as chapter, @subsection as section, etc.
-\def\raisesections{\global\advance\secbase by -1}
-\let\up=\raisesections % original BFox name
-
-% @lowersections: treat @chapter as section, @section as subsection, etc.
-\def\lowersections{\global\advance\secbase by 1}
-\let\down=\lowersections % original BFox name
-
-% we only have subsub.
-\chardef\maxseclevel = 3
-%
-% A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
-\chardef\unmlevel = \maxseclevel
-%
-% Trace whether the current chapter is an appendix or not:
-% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
-\def\chapheadtype{N}
-
-% Choose a heading macro
-% #1 is heading type
-% #2 is heading level
-% #3 is text for heading
-\def\genhead#1#2#3{%
- % Compute the abs. sec. level:
- \absseclevel=#2
- \advance\absseclevel by \secbase
- % Make sure \absseclevel doesn't fall outside the range:
- \ifnum \absseclevel < 0
- \absseclevel = 0
- \else
- \ifnum \absseclevel > 3
- \absseclevel = 3
- \fi
- \fi
- % The heading type:
- \def\headtype{#1}%
- \if \headtype U%
- \ifnum \absseclevel < \unmlevel
- \chardef\unmlevel = \absseclevel
- \fi
- \else
- % Check for appendix sections:
- \ifnum \absseclevel = 0
- \edef\chapheadtype{\headtype}%
- \else
- \if \headtype A\if \chapheadtype N%
- \errmessage{@appendix... within a non-appendix chapter}%
- \fi\fi
- \fi
- % Check for numbered within unnumbered:
- \ifnum \absseclevel > \unmlevel
- \def\headtype{U}%
- \else
- \chardef\unmlevel = 3
- \fi
- \fi
- % Now print the heading:
- \if \headtype U%
- \ifcase\absseclevel
- \unnumberedzzz{#3}%
- \or \unnumberedseczzz{#3}%
- \or \unnumberedsubseczzz{#3}%
- \or \unnumberedsubsubseczzz{#3}%
- \fi
- \else
- \if \headtype A%
- \ifcase\absseclevel
- \appendixzzz{#3}%
- \or \appendixsectionzzz{#3}%
- \or \appendixsubseczzz{#3}%
- \or \appendixsubsubseczzz{#3}%
- \fi
- \else
- \ifcase\absseclevel
- \chapterzzz{#3}%
- \or \seczzz{#3}%
- \or \numberedsubseczzz{#3}%
- \or \numberedsubsubseczzz{#3}%
- \fi
- \fi
- \fi
- \suppressfirstparagraphindent
-}
-
-% an interface:
-\def\numhead{\genhead N}
-\def\apphead{\genhead A}
-\def\unnmhead{\genhead U}
-
-% @chapter, @appendix, @unnumbered. Increment top-level counter, reset
-% all lower-level sectioning counters to zero.
-%
-% Also set \chaplevelprefix, which we prepend to @float sequence numbers
-% (e.g., figures), q.v. By default (before any chapter), that is empty.
-\let\chaplevelprefix = \empty
-%
-\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz#1{%
- % section resetting is \global in case the chapter is in a group, such
- % as an @include file.
- \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
- \global\advance\chapno by 1
- %
- % Used for \float.
- \gdef\chaplevelprefix{\the\chapno.}%
- \resetallfloatnos
- %
- % \putwordChapter can contain complex things in translations.
- \toks0=\expandafter{\putwordChapter}%
- \message{\the\toks0 \space \the\chapno}%
- %
- % Write the actual heading.
- \chapmacro{#1}{Ynumbered}{\the\chapno}%
- %
- % So @section and the like are numbered underneath this chapter.
- \global\let\section = \numberedsec
- \global\let\subsection = \numberedsubsec
- \global\let\subsubsection = \numberedsubsubsec
-}
-
-\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz
-%
-\def\appendixzzz#1{%
- \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
- \global\advance\appendixno by 1
- \gdef\chaplevelprefix{\appendixletter.}%
- \resetallfloatnos
- %
- % \putwordAppendix can contain complex things in translations.
- \toks0=\expandafter{\putwordAppendix}%
- \message{\the\toks0 \space \appendixletter}%
- %
- \chapmacro{#1}{Yappendix}{\appendixletter}%
- %
- \global\let\section = \appendixsec
- \global\let\subsection = \appendixsubsec
- \global\let\subsubsection = \appendixsubsubsec
-}
-
-\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz#1{%
- \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
- \global\advance\unnumberedno by 1
- %
- % Since an unnumbered has no number, no prefix for figures.
- \global\let\chaplevelprefix = \empty
- \resetallfloatnos
- %
- % This used to be simply \message{#1}, but TeX fully expands the
- % argument to \message. Therefore, if #1 contained @-commands, TeX
- % expanded them. For example, in `@unnumbered The @cite{Book}', TeX
- % expanded @cite (which turns out to cause errors because \cite is meant
- % to be executed, not expanded).
- %
- % Anyway, we don't want the fully-expanded definition of @cite to appear
- % as a result of the \message, we just want `@cite' itself. We use
- % \the<toks register> to achieve this: TeX expands \the<toks> only once,
- % simply yielding the contents of <toks register>. (We also do this for
- % the toc entries.)
- \toks0 = {#1}%
- \message{(\the\toks0)}%
- %
- \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
- %
- \global\let\section = \unnumberedsec
- \global\let\subsection = \unnumberedsubsec
- \global\let\subsubsection = \unnumberedsubsubsec
-}
-
-% @centerchap is like @unnumbered, but the heading is centered.
-\outer\parseargdef\centerchap{%
- % Well, we could do the following in a group, but that would break
- % an assumption that \chapmacro is called at the outermost level.
- % Thus we are safer this way: --kasal, 24feb04
- \let\centerparametersmaybe = \centerparameters
- \unnmhead0{#1}%
- \let\centerparametersmaybe = \relax
-}
-
-% @top is like @unnumbered.
-\let\top\unnumbered
-
-% Sections.
-\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
-\def\seczzz#1{%
- \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
- \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
-}
-
-\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz#1{%
- \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
- \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
-}
-\let\appendixsec\appendixsection
-
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz#1{%
- \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
- \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
-}
-
-% Subsections.
-\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz#1{%
- \global\subsubsecno=0 \global\advance\subsecno by 1
- \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
-}
-
-\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz#1{%
- \global\subsubsecno=0 \global\advance\subsecno by 1
- \sectionheading{#1}{subsec}{Yappendix}%
- {\appendixletter.\the\secno.\the\subsecno}%
-}
-
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz#1{%
- \global\subsubsecno=0 \global\advance\subsecno by 1
- \sectionheading{#1}{subsec}{Ynothing}%
- {\the\unnumberedno.\the\secno.\the\subsecno}%
-}
-
-% Subsubsections.
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz#1{%
- \global\advance\subsubsecno by 1
- \sectionheading{#1}{subsubsec}{Ynumbered}%
- {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz#1{%
- \global\advance\subsubsecno by 1
- \sectionheading{#1}{subsubsec}{Yappendix}%
- {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz#1{%
- \global\advance\subsubsecno by 1
- \sectionheading{#1}{subsubsec}{Ynothing}%
- {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-% These macros control what the section commands do, according
-% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-% Define them by default for a numbered chapter.
-\let\section = \numberedsec
-\let\subsection = \numberedsubsec
-\let\subsubsection = \numberedsubsubsec
-
-% Define @majorheading, @heading and @subheading
-
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
-\def\majorheading{%
- {\advance\chapheadingskip by 10pt \chapbreak }%
- \parsearg\chapheadingzzz
-}
-
-\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
-\def\chapheadingzzz#1{%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}%
- \bigskip \par\penalty 200\relax
- \suppressfirstparagraphindent
-}
-
-% @heading, @subheading, @subsubheading.
-\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
- \suppressfirstparagraphindent}
-\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
- \suppressfirstparagraphindent}
-\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
- \suppressfirstparagraphindent}
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip\chapheadingskip
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-% Because \domark is called before \chapoddpage, the filler page will
-% get the headings for the next chapter, which is wrong. But we don't
-% care -- we just disable all headings on the filler page.
-\def\chapoddpage{%
- \chappager
- \ifodd\pageno \else
- \begingroup
- \evenheadline={\hfil}\evenfootline={\hfil}%
- \oddheadline={\hfil}\oddfootline={\hfil}%
- \hbox to 0pt{}%
- \chappager
- \endgroup
- \fi
-}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
-\global\def\HEADINGSon{\HEADINGSsingle}}
-
-\def\CHAPPAGodd{%
-\global\let\contentsalignmacro = \chapoddpage
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
-\global\def\HEADINGSon{\HEADINGSdouble}}
-
-\CHAPPAGon
-
-% Chapter opening.
-%
-% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
-% Yappendix, Yomitfromtoc), #3 the chapter number.
-%
-% To test against our argument.
-\def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
-\def\Yappendixkeyword{Yappendix}
-%
-\def\chapmacro#1#2#3{%
- % Insert the first mark before the heading break (see notes for \domark).
- \let\prevchapterdefs=\lastchapterdefs
- \let\prevsectiondefs=\lastsectiondefs
- \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
- \gdef\thissection{}}%
- %
- \def\temptype{#2}%
- \ifx\temptype\Ynothingkeyword
- \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
- \gdef\thischapter{\thischaptername}}%
- \else\ifx\temptype\Yomitfromtockeyword
- \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
- \gdef\thischapter{}}%
- \else\ifx\temptype\Yappendixkeyword
- \toks0={#1}%
- \xdef\lastchapterdefs{%
- \gdef\noexpand\thischaptername{\the\toks0}%
- \gdef\noexpand\thischapternum{\appendixletter}%
- % \noexpand\putwordAppendix avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
- }%
- \else
- \toks0={#1}%
- \xdef\lastchapterdefs{%
- \gdef\noexpand\thischaptername{\the\toks0}%
- \gdef\noexpand\thischapternum{\the\chapno}%
- % \noexpand\putwordChapter avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
- }%
- \fi\fi\fi
- %
- % Output the mark. Pass it through \safewhatsit, to take care of
- % the preceding space.
- \safewhatsit\domark
- %
- % Insert the chapter heading break.
- \pchapsepmacro
- %
- % Now the second mark, after the heading break. No break points
- % between here and the heading.
- \let\prevchapterdefs=\lastchapterdefs
- \let\prevsectiondefs=\lastsectiondefs
- \domark
- %
- {%
- \chapfonts \rmisbold
- %
- % Have to define \lastsection before calling \donoderef, because the
- % xref code eventually uses it. On the other hand, it has to be called
- % after \pchapsepmacro, or the headline will change too soon.
- \gdef\lastsection{#1}%
- %
- % Only insert the separating space if we have a chapter/appendix
- % number, and don't print the unnumbered ``number''.
- \ifx\temptype\Ynothingkeyword
- \setbox0 = \hbox{}%
- \def\toctype{unnchap}%
- \else\ifx\temptype\Yomitfromtockeyword
- \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
- \def\toctype{omit}%
- \else\ifx\temptype\Yappendixkeyword
- \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
- \def\toctype{app}%
- \else
- \setbox0 = \hbox{#3\enspace}%
- \def\toctype{numchap}%
- \fi\fi\fi
- %
- % Write the toc entry for this chapter. Must come before the
- % \donoderef, because we include the current node name in the toc
- % entry, and \donoderef resets it to empty.
- \writetocentry{\toctype}{#1}{#3}%
- %
- % For pdftex, we have to write out the node definition (aka, make
- % the pdfdest) after any page break, but before the actual text has
- % been typeset. If the destination for the pdf outline is after the
- % text, then jumping from the outline may wind up with the text not
- % being visible, for instance under high magnification.
- \donoderef{#2}%
- %
- % Typeset the actual heading.
- \nobreak % Avoid page breaks at the interline glue.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
- \hangindent=\wd0 \centerparametersmaybe
- \unhbox0 #1\par}%
- }%
- \nobreak\bigskip % no page break after a chapter title
- \nobreak
-}
-
-% @centerchap -- centered and unnumbered.
-\let\centerparametersmaybe = \relax
-\def\centerparameters{%
- \advance\rightskip by 3\rightskip
- \leftskip = \rightskip
- \parfillskip = 0pt
-}
-
-
-% I don't think this chapter style is supported any more, so I'm not
-% updating it with the new noderef stuff. We'll see. --karl, 11aug03.
-%
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-%
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}\bigskip \par\nobreak
-}
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt
- \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
-}
-\def\CHAPFopen{%
- \global\let\chapmacro=\chfopen
- \global\let\centerchapmacro=\centerchfopen}
-
-
-% Section titles. These macros combine the section number parts and
-% call the generic \sectionheading to do the printing.
-%
-\newskip\secheadingskip
-\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
-
-% Subsection titles.
-\newskip\subsecheadingskip
-\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
-
-% Subsubsection titles.
-\def\subsubsecheadingskip{\subsecheadingskip}
-\def\subsubsecheadingbreak{\subsecheadingbreak}
-
-
-% Print any size, any type, section title.
-%
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
-%
-\def\seckeyword{sec}
-%
-\def\sectionheading#1#2#3#4{%
- {%
- % Switch to the right set of fonts.
- \csname #2fonts\endcsname \rmisbold
- %
- \def\sectionlevel{#2}%
- \def\temptype{#3}%
- %
- % Insert first mark before the heading break (see notes for \domark).
- \let\prevsectiondefs=\lastsectiondefs
- \ifx\temptype\Ynothingkeyword
- \ifx\sectionlevel\seckeyword
- \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
- \gdef\thissection{\thissectionname}}%
- \fi
- \else\ifx\temptype\Yomitfromtockeyword
- % Don't redefine \thissection.
- \else\ifx\temptype\Yappendixkeyword
- \ifx\sectionlevel\seckeyword
- \toks0={#1}%
- \xdef\lastsectiondefs{%
- \gdef\noexpand\thissectionname{\the\toks0}%
- \gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
- }%
- \fi
- \else
- \ifx\sectionlevel\seckeyword
- \toks0={#1}%
- \xdef\lastsectiondefs{%
- \gdef\noexpand\thissectionname{\the\toks0}%
- \gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
- }%
- \fi
- \fi\fi\fi
- %
- % Go into vertical mode. Usually we'll already be there, but we
- % don't want the following whatsit to end up in a preceding paragraph
- % if the document didn't happen to have a blank line.
- \par
- %
- % Output the mark. Pass it through \safewhatsit, to take care of
- % the preceding space.
- \safewhatsit\domark
- %
- % Insert space above the heading.
- \csname #2headingbreak\endcsname
- %
- % Now the second mark, after the heading break. No break points
- % between here and the heading.
- \let\prevsectiondefs=\lastsectiondefs
- \domark
- %
- % Only insert the space after the number if we have a section number.
- \ifx\temptype\Ynothingkeyword
- \setbox0 = \hbox{}%
- \def\toctype{unn}%
- \gdef\lastsection{#1}%
- \else\ifx\temptype\Yomitfromtockeyword
- % for @headings -- no section number, don't include in toc,
- % and don't redefine \lastsection.
- \setbox0 = \hbox{}%
- \def\toctype{omit}%
- \let\sectionlevel=\empty
- \else\ifx\temptype\Yappendixkeyword
- \setbox0 = \hbox{#4\enspace}%
- \def\toctype{app}%
- \gdef\lastsection{#1}%
- \else
- \setbox0 = \hbox{#4\enspace}%
- \def\toctype{num}%
- \gdef\lastsection{#1}%
- \fi\fi\fi
- %
- % Write the toc entry (before \donoderef). See comments in \chapmacro.
- \writetocentry{\toctype\sectionlevel}{#1}{#4}%
- %
- % Write the node reference (= pdf destination for pdftex).
- % Again, see comments in \chapmacro.
- \donoderef{#3}%
- %
- % Interline glue will be inserted when the vbox is completed.
- % That glue will be a valid breakpoint for the page, since it'll be
- % preceded by a whatsit (usually from the \donoderef, or from the
- % \writetocentry if there was no node). We don't want to allow that
- % break, since then the whatsits could end up on page n while the
- % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000.
- \nobreak
- %
- % Output the actual section heading.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
- \hangindent=\wd0 % zero if no section number
- \unhbox0 #1}%
- }%
- % Add extra space after the heading -- half of whatever came above it.
- % Don't allow stretch, though.
- \kern .5 \csname #2headingskip\endcsname
- %
- % Do not let the kern be a potential breakpoint, as it would be if it
- % was followed by glue.
- \nobreak
- %
- % We'll almost certainly start a paragraph next, so don't let that
- % glue accumulate. (Not a breakpoint because it's preceded by a
- % discardable item.)
- \vskip-\parskip
- %
- % This is purely so the last item on the list is a known \penalty >
- % 10000. This is so \startdefun can avoid allowing breakpoints after
- % section headings. Otherwise, it would insert a valid breakpoint between:
- %
- % @section sec-whatever
- % @deffn def-whatever
- \penalty 10001
-}
-
-
-\message{toc,}
-% Table of contents.
-\newwrite\tocfile
-
-% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc.
-%
-% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
-% We append the current node name (if any) and page number as additional
-% arguments for the \{chap,sec,...}entry macros which will eventually
-% read this. The node name is used in the pdf outlines as the
-% destination to jump to.
-%
-% We open the .toc file for writing here instead of at @setfilename (or
-% any other fixed time) so that @contents can be anywhere in the document.
-% But if #1 is `omit', then we don't do anything. This is used for the
-% table of contents chapter openings themselves.
-%
-\newif\iftocfileopened
-\def\omitkeyword{omit}%
-%
-\def\writetocentry#1#2#3{%
- \edef\writetoctype{#1}%
- \ifx\writetoctype\omitkeyword \else
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- %
- \iflinks
- {\atdummies
- \edef\temp{%
- \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
- \temp
- }%
- \fi
- \fi
- %
- % Tell \shipout to create a pdf destination on each page, if we're
- % writing pdf. These are used in the table of contents. We can't
- % just write one on every page because the title pages are numbered
- % 1 and 2 (the page numbers aren't printed), and so are the first
- % two pages of the document. Thus, we'd have two destinations named
- % `1', and two named `2'.
- \ifpdf \global\pdfmakepagedesttrue \fi
-}
-
-
-% These characters do not print properly in the Computer Modern roman
-% fonts, so we must take special care. This is more or less redundant
-% with the Texinfo input format setup at the end of this file.
-%
-\def\activecatcodes{%
- \catcode`\"=\active
- \catcode`\$=\active
- \catcode`\<=\active
- \catcode`\>=\active
- \catcode`\\=\active
- \catcode`\^=\active
- \catcode`\_=\active
- \catcode`\|=\active
- \catcode`\~=\active
-}
-
-
-% Read the toc file, which is essentially Texinfo input.
-\def\readtocfile{%
- \setupdatafile
- \activecatcodes
- \input \tocreadfilename
-}
-
-\newskip\contentsrightmargin \contentsrightmargin=1in
-\newcount\savepageno
-\newcount\lastnegativepageno \lastnegativepageno = -1
-
-% Prepare to read what we've written to \tocfile.
-%
-\def\startcontents#1{%
- % If @setchapternewpage on, and @headings double, the contents should
- % start on an odd page, unlike chapters. Thus, we maintain
- % \contentsalignmacro in parallel with \pagealignmacro.
- % From: Torbjorn Granlund <tege@matematik.su.se>
- \contentsalignmacro
- \immediate\closeout\tocfile
- %
- % Don't need to put `Contents' or `Short Contents' in the headline.
- % It is abundantly clear what they are.
- \chapmacro{#1}{Yomitfromtoc}{}%
- %
- \savepageno = \pageno
- \begingroup % Set up to handle contents files properly.
- \raggedbottom % Worry more about breakpoints than the bottom.
- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
-}
-
-% redefined for the two-volume lispref. We always output on
-% \jobname.toc even if this is redefined.
-%
-\def\tocreadfilename{\jobname.toc}
-
-% Normal (long) toc.
-%
-\def\contents{%
- \startcontents{\putwordTOC}%
- \openin 1 \tocreadfilename\space
- \ifeof 1 \else
- \readtocfile
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \ifeof 1 \else
- \pdfmakeoutlines
- \fi
- \closein 1
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
-}
-
-% And just the chapters.
-\def\summarycontents{%
- \startcontents{\putwordShortTOC}%
- %
- \let\numchapentry = \shortchapentry
- \let\appentry = \shortchapentry
- \let\unnchapentry = \shortunnchapentry
- % We want a true roman here for the page numbers.
- \secfonts
- \let\rm=\shortcontrm \let\bf=\shortcontbf
- \let\sl=\shortcontsl \let\tt=\shortconttt
- \rm
- \hyphenpenalty = 10000
- \advance\baselineskip by 1pt % Open it up a little.
- \def\numsecentry##1##2##3##4{}
- \let\appsecentry = \numsecentry
- \let\unnsecentry = \numsecentry
- \let\numsubsecentry = \numsecentry
- \let\appsubsecentry = \numsecentry
- \let\unnsubsecentry = \numsecentry
- \let\numsubsubsecentry = \numsecentry
- \let\appsubsubsecentry = \numsecentry
- \let\unnsubsubsecentry = \numsecentry
- \openin 1 \tocreadfilename\space
- \ifeof 1 \else
- \readtocfile
- \fi
- \closein 1
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
-}
-\let\shortcontents = \summarycontents
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
-%
-\def\shortchaplabel#1{%
- % This space should be enough, since a single number is .5em, and the
- % widest letter (M) is 1em, at least in the Computer Modern fonts.
- % But use \hss just in case.
- % (This space doesn't include the extra space that gets added after
- % the label; that gets put in by \shortchapentry above.)
- %
- % We'd like to right-justify chapter numbers, but that looks strange
- % with appendix letters. And right-justifying numbers and
- % left-justifying letters looks strange when there is less than 10
- % chapters. Have to read the whole toc once to know how many chapters
- % there are before deciding ...
- \hbox to 1em{#1\hss}%
-}
-
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-% Chapters, in the main contents.
-\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
-%
-% Chapters, in the short toc.
-% See comments in \dochapentry re vbox and related settings.
-\def\shortchapentry#1#2#3#4{%
- \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
-}
-
-% Appendices, in the main contents.
-% Need the word Appendix, and a fixed-size box.
-%
-\def\appendixbox#1{%
- % We use M since it's probably the widest letter.
- \setbox0 = \hbox{\putwordAppendix{} M}%
- \hbox to \wd0{\putwordAppendix{} #1\hss}}
-%
-\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
-
-% Unnumbered chapters.
-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
-
-% Sections.
-\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
-\let\appsecentry=\numsecentry
-\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
-
-% Subsections.
-\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
-\let\appsubsecentry=\numsubsecentry
-\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
-
-% And subsubsections.
-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
-\let\appsubsubsecentry=\numsubsubsecentry
-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
-
-% This parameter controls the indentation of the various levels.
-% Same as \defaultparindent.
-\newdimen\tocindent \tocindent = 15pt
-
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-% page number.
-%
-% If the toc has to be broken over pages, we want it to be at chapters
-% if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
- \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
- \begingroup
- \chapentryfonts
- \tocentry{#1}{\dopageno\bgroup#2\egroup}%
- \endgroup
- \nobreak\vskip .25\baselineskip plus.1\baselineskip
-}
-
-\def\dosecentry#1#2{\begingroup
- \secentryfonts \leftskip=\tocindent
- \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-\def\dosubsecentry#1#2{\begingroup
- \subsecentryfonts \leftskip=2\tocindent
- \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-\def\dosubsubsecentry#1#2{\begingroup
- \subsubsecentryfonts \leftskip=3\tocindent
- \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-% We use the same \entry macro as for the index entries.
-\let\tocentry = \entry
-
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
-
-\def\chapentryfonts{\secfonts \rm}
-\def\secentryfonts{\textfonts}
-\def\subsecentryfonts{\textfonts}
-\def\subsubsecentryfonts{\textfonts}
-
-
-\message{environments,}
-% @foo ... @end foo.
-
-% @tex ... @end tex escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\envdef\tex{%
- \setupmarkupstyle{tex}%
- \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
- \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
- \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
- \catcode `\%=14
- \catcode `\+=\other
- \catcode `\"=\other
- \catcode `\|=\other
- \catcode `\<=\other
- \catcode `\>=\other
- \catcode`\`=\other
- \catcode`\'=\other
- \escapechar=`\\
- %
- \let\b=\ptexb
- \let\bullet=\ptexbullet
- \let\c=\ptexc
- \let\,=\ptexcomma
- \let\.=\ptexdot
- \let\dots=\ptexdots
- \let\equiv=\ptexequiv
- \let\!=\ptexexclam
- \let\i=\ptexi
- \let\indent=\ptexindent
- \let\noindent=\ptexnoindent
- \let\{=\ptexlbrace
- \let\+=\tabalign
- \let\}=\ptexrbrace
- \let\/=\ptexslash
- \let\*=\ptexstar
- \let\t=\ptext
- \expandafter \let\csname top\endcsname=\ptextop % outer
- \let\frenchspacing=\plainfrenchspacing
- %
- \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
- \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
- \def\@{@}%
-}
-% There is no need to define \Etex.
-
-% Define @lisp ... @end lisp.
-% @lisp environment forms a group so it can rebind things,
-% including the definition of @end lisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^^M gets inside @lisp, @example, and other
-% such environments. \null is better than a space, since it doesn't
-% have any width.
-\def\lisppar{\null\endgraf}
-
-% This space is always present above and below environments.
-\newskip\envskipamount \envskipamount = 0pt
-
-% Make spacing and below environment symmetrical. We use \parskip here
-% to help in doing that, since in @example-like environments \parskip
-% is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip.
-%
-\def\aboveenvbreak{{%
- % =10000 instead of <10000 because of a special case in \itemzzz and
- % \sectionheading, q.v.
- \ifnum \lastpenalty=10000 \else
- \advance\envskipamount by \parskip
- \endgraf
- \ifdim\lastskip<\envskipamount
- \removelastskip
- % it's not a good place to break if the last penalty was \nobreak
- % or better ...
- \ifnum\lastpenalty<10000 \penalty-50 \fi
- \vskip\envskipamount
- \fi
- \fi
-}}
-
-\let\afterenvbreak = \aboveenvbreak
-
-% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will
-% also clear it, so that its embedded environments do the narrowing again.
-\let\nonarrowing=\relax
-
-% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-% environment contents.
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
-%
-\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-\def\ctr{{\hskip 6pt\circle\char'010}}
-\def\cbl{{\circle\char'012\hskip -6pt}}
-\def\cbr{{\hskip 6pt\circle\char'011}}
-\def\carttop{\hbox to \cartouter{\hskip\lskip
- \ctl\leaders\hrule height\circthick\hfil\ctr
- \hskip\rskip}}
-\def\cartbot{\hbox to \cartouter{\hskip\lskip
- \cbl\leaders\hrule height\circthick\hfil\cbr
- \hskip\rskip}}
-%
-\newskip\lskip\newskip\rskip
-
-\envdef\cartouche{%
- \ifhmode\par\fi % can't be in the midst of a paragraph.
- \startsavinginserts
- \lskip=\leftskip \rskip=\rightskip
- \leftskip=0pt\rightskip=0pt % we want these *outside*.
- \cartinner=\hsize \advance\cartinner by-\lskip
- \advance\cartinner by-\rskip
- \cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
- % side, and for 6pt waste from
- % each corner char, and rule thickness
- \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing = t%
- \vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
- \hskip\lskip
- \vrule\kern3pt
- \vbox\bgroup
- \kern3pt
- \hsize=\cartinner
- \baselineskip=\normbskip
- \lineskip=\normlskip
- \parskip=\normpskip
- \vskip -\parskip
- \comment % For explanation, see the end of \def\group.
-}
-\def\Ecartouche{%
- \ifhmode\par\fi
- \kern3pt
- \egroup
- \kern3pt\vrule
- \hskip\rskip
- \egroup
- \cartbot
- \egroup
- \checkinserts
-}
-
-
-% This macro is called at the beginning of all the @example variants,
-% inside a group.
-\newdimen\nonfillparindent
-\def\nonfillstart{%
- \aboveenvbreak
- \hfuzz = 12pt % Don't be fussy
- \sepspaces % Make spaces be word-separators rather than space tokens.
- \let\par = \lisppar % don't ignore blank lines
- \obeylines % each line of input is a line of output
- \parskip = 0pt
- % Turn off paragraph indentation but redefine \indent to emulate
- % the normal \indent.
- \nonfillparindent=\parindent
- \parindent = 0pt
- \let\indent\nonfillindent
- %
- \emergencystretch = 0pt % don't try to avoid overfull boxes
- \ifx\nonarrowing\relax
- \advance \leftskip by \lispnarrowing
- \exdentamount=\lispnarrowing
- \else
- \let\nonarrowing = \relax
- \fi
- \let\exdent=\nofillexdent
-}
-
-\begingroup
-\obeyspaces
-% We want to swallow spaces (but not other tokens) after the fake
-% @indent in our nonfill-environments, where spaces are normally
-% active and set to @tie, resulting in them not being ignored after
-% @indent.
-\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
-\gdef\nonfillindentcheck{%
-\ifx\temp %
-\expandafter\nonfillindentgobble%
-\else%
-\leavevmode\nonfillindentbox%
-\fi%
-}%
-\endgroup
-\def\nonfillindentgobble#1{\nonfillindent}
-\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
-
-% If you want all examples etc. small: @set dispenvsize small.
-% If you want even small examples the full size: @set dispenvsize nosmall.
-% This affects the following displayed environments:
-% @example, @display, @format, @lisp
-%
-\def\smallword{small}
-\def\nosmallword{nosmall}
-\let\SETdispenvsize\relax
-\def\setnormaldispenv{%
- \ifx\SETdispenvsize\smallword
- % end paragraph for sake of leading, in case document has no blank
- % line. This is redundant with what happens in \aboveenvbreak, but
- % we need to do it before changing the fonts, and it's inconvenient
- % to change the fonts afterward.
- \ifnum \lastpenalty=10000 \else \endgraf \fi
- \smallexamplefonts \rm
- \fi
-}
-\def\setsmalldispenv{%
- \ifx\SETdispenvsize\nosmallword
- \else
- \ifnum \lastpenalty=10000 \else \endgraf \fi
- \smallexamplefonts \rm
- \fi
-}
-
-% We often define two environments, @foo and @smallfoo.
-% Let's do it by one command:
-\def\makedispenv #1#2{
- \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
- \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
- \expandafter\let\csname E#1\endcsname \afterenvbreak
- \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
-}
-
-% Define two synonyms:
-\def\maketwodispenvs #1#2#3{
- \makedispenv{#1}{#3}
- \makedispenv{#2}{#3}
-}
-
-% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
-%
-% @smallexample and @smalllisp: use smaller fonts.
-% Originally contributed by Pavel@xerox.
-%
-\maketwodispenvs {lisp}{example}{%
- \nonfillstart
- \tt\setupmarkupstyle{example}%
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
-}
-% @display/@smalldisplay: same as @lisp except keep current font.
-%
-\makedispenv {display}{%
- \nonfillstart
- \gobble
-}
-
-% @format/@smallformat: same as @display except don't narrow margins.
-%
-\makedispenv{format}{%
- \let\nonarrowing = t%
- \nonfillstart
- \gobble
-}
-
-% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
-\envdef\flushleft{%
- \let\nonarrowing = t%
- \nonfillstart
- \gobble
-}
-\let\Eflushleft = \afterenvbreak
-
-% @flushright.
-%
-\envdef\flushright{%
- \let\nonarrowing = t%
- \nonfillstart
- \advance\leftskip by 0pt plus 1fill
- \gobble
-}
-\let\Eflushright = \afterenvbreak
-
-
-% @raggedright does more-or-less normal line breaking but no right
-% justification. From plain.tex.
-\envdef\raggedright{%
- \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
-}
-\let\Eraggedright\par
-
-\envdef\raggedleft{%
- \parindent=0pt \leftskip0pt plus2em
- \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
- \hbadness=10000 % Last line will usually be underfull, so turn off
- % badness reporting.
-}
-\let\Eraggedleft\par
-
-\envdef\raggedcenter{%
- \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
- \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
- \hbadness=10000 % Last line will usually be underfull, so turn off
- % badness reporting.
-}
-\let\Eraggedcenter\par
-
-
-% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins. We keep \parskip nonzero in general, since
-% we're doing normal filling. So, when using \aboveenvbreak and
-% \afterenvbreak, temporarily make \parskip 0.
-%
-\def\quotationstart{%
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \parindent=0pt
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
- \ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
- \advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \else
- \let\nonarrowing = \relax
- \fi
- \parsearg\quotationlabel
-}
-
-\envdef\quotation{%
- \setnormaldispenv
- \quotationstart
-}
-
-\envdef\smallquotation{%
- \setsmalldispenv
- \quotationstart
-}
-\let\Esmallquotation = \Equotation
-
-% We have retained a nonzero parskip for the environment, since we're
-% doing normal filling.
-%
-\def\Equotation{%
- \par
- \ifx\quotationauthor\undefined\else
- % indent a bit.
- \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
- \fi
- {\parskip=0pt \afterenvbreak}%
-}
-
-% If we're given an argument, typeset it in bold with a colon after.
-\def\quotationlabel#1{%
- \def\temp{#1}%
- \ifx\temp\empty \else
- {\bf #1: }%
- \fi
-}
-
-
-% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter,
-% we need the curly braces so that makeinfo sees the @verb command, eg:
-% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
-%
-% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook.
-%
-% [Knuth] p.344; only we need to do the other characters Texinfo sets
-% active too. Otherwise, they get lost as the first character on a
-% verbatim line.
-\def\dospecials{%
- \do\ \do\\\do\{\do\}\do\$\do\&%
- \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
- \do\<\do\>\do\|\do\@\do+\do\"%
- % Don't do the quotes -- if we do, @set txicodequoteundirected and
- % @set txicodequotebacktick will not have effect on @verb and
- % @verbatim, and ?` and !` ligatures won't get disabled.
- %\do\`\do\'%
-}
-%
-% [Knuth] p. 380
-\def\uncatcodespecials{%
- \def\do##1{\catcode`##1=\other}\dospecials}
-%
-% Setup for the @verb command.
-%
-% Eight spaces for a tab
-\begingroup
- \catcode`\^^I=\active
- \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
-\endgroup
-%
-\def\setupverb{%
- \tt % easiest (and conventionally used) font for verbatim
- \def\par{\leavevmode\endgraf}%
- \setupmarkupstyle{verb}%
- \tabeightspaces
- % Respect line breaks,
- % print special symbols as themselves, and
- % make each space count
- % must do in this order:
- \obeylines \uncatcodespecials \sepspaces
-}
-
-% Setup for the @verbatim environment
-%
-% Real tab expansion
-\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
-%
-\def\starttabbox{\setbox0=\hbox\bgroup}
-%
-\begingroup
- \catcode`\^^I=\active
- \gdef\tabexpand{%
- \catcode`\^^I=\active
- \def^^I{\leavevmode\egroup
- \dimen0=\wd0 % the width so far, or since the previous tab
- \divide\dimen0 by\tabw
- \multiply\dimen0 by\tabw % compute previous multiple of \tabw
- \advance\dimen0 by\tabw % advance to next multiple of \tabw
- \wd0=\dimen0 \box0 \starttabbox
- }%
- }
-\endgroup
-
-% start the verbatim environment.
-\def\setupverbatim{%
- \let\nonarrowing = t%
- \nonfillstart
- % Easiest (and conventionally used) font for verbatim
- \tt
- \def\par{\leavevmode\egroup\box0\endgraf}%
- \tabexpand
- \setupmarkupstyle{verbatim}%
- % Respect line breaks,
- % print special symbols as themselves, and
- % make each space count
- % must do in this order:
- \obeylines \uncatcodespecials \sepspaces
- \everypar{\starttabbox}%
-}
-
-% Do the @verb magic: verbatim text is quoted by unique
-% delimiter characters. Before first delimiter expect a
-% right brace, after last delimiter expect closing brace:
-%
-% \def\doverb'{'<char>#1<char>'}'{#1}
-%
-% [Knuth] p. 382; only eat outer {}
-\begingroup
- \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
- \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
-\endgroup
-%
-\def\verb{\begingroup\setupverb\doverb}
-%
-%
-% Do the @verbatim magic: define the macro \doverbatim so that
-% the (first) argument ends when '@end verbatim' is reached, ie:
-%
-% \def\doverbatim#1@end verbatim{#1}
-%
-% For Texinfo it's a lot easier than for LaTeX,
-% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
-% we need not redefine '\', '{' and '}'.
-%
-% Inspired by LaTeX's verbatim command set [latex.ltx]
-%
-\begingroup
- \catcode`\ =\active
- \obeylines %
- % ignore everything up to the first ^^M, that's the newline at the end
- % of the @verbatim input line itself. Otherwise we get an extra blank
- % line in the output.
- \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
- % We really want {...\end verbatim} in the body of the macro, but
- % without the active space; thus we have to use \xdef and \gobble.
-\endgroup
-%
-\envdef\verbatim{%
- \setupverbatim\doverbatim
-}
-\let\Everbatim = \afterenvbreak
-
-
-% @verbatiminclude FILE - insert text of file in verbatim environment.
-%
-\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
-%
-\def\doverbatiminclude#1{%
- {%
- \makevalueexpandable
- \setupverbatim
- \indexnofonts % Allow `@@' and other weird things in file names.
- \input #1
- \afterenvbreak
- }%
-}
-
-% @copying ... @end copying.
-% Save the text away for @insertcopying later.
-%
-% We save the uninterpreted tokens, rather than creating a box.
-% Saving the text in a box would be much easier, but then all the
-% typesetting commands (@smallbook, font changes, etc.) have to be done
-% beforehand -- and a) we want @copying to be done first in the source
-% file; b) letting users define the frontmatter in as flexible order as
-% possible is very desirable.
-%
-\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
-\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
-%
-\def\insertcopying{%
- \begingroup
- \parindent = 0pt % paragraph indentation looks wrong on title page
- \scanexp\copyingtext
- \endgroup
-}
-
-
-\message{defuns,}
-% @defun etc.
-
-\newskip\defbodyindent \defbodyindent=.4in
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-\newcount\defunpenalty
-
-% Start the processing of @deffn:
-\def\startdefun{%
- \ifnum\lastpenalty<10000
- \medbreak
- \defunpenalty=10003 % Will keep this @deffn together with the
- % following @def command, see below.
- \else
- % If there are two @def commands in a row, we'll have a \nobreak,
- % which is there to keep the function description together with its
- % header. But if there's nothing but headers, we need to allow a
- % break somewhere. Check specifically for penalty 10002, inserted
- % by \printdefunline, instead of 10000, since the sectioning
- % commands also insert a nobreak penalty, and we don't want to allow
- % a break between a section heading and a defun.
- %
- % As a minor refinement, we avoid "club" headers by signalling
- % with penalty of 10003 after the very first @deffn in the
- % sequence (see above), and penalty of 10002 after any following
- % @def command.
- \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi
- %
- % Similarly, after a section heading, do not allow a break.
- % But do insert the glue.
- \medskip % preceded by discardable penalty, so not a breakpoint
- \fi
- %
- \parindent=0in
- \advance\leftskip by \defbodyindent
- \exdentamount=\defbodyindent
-}
-
-\def\dodefunx#1{%
- % First, check whether we are in the right environment:
- \checkenv#1%
- %
- % As above, allow line break if we have multiple x headers in a row.
- % It's not a great place, though.
- \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
- %
- % And now, it's time to reuse the body of the original defun:
- \expandafter\gobbledefun#1%
-}
-\def\gobbledefun#1\startdefun{}
-
-% \printdefunline \deffnheader{text}
-%
-\def\printdefunline#1#2{%
- \begingroup
- % call \deffnheader:
- #1#2 \endheader
- % common ending:
- \interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil
- \endgraf
- \nobreak\vskip -\parskip
- \penalty\defunpenalty % signal to \startdefun and \dodefunx
- % Some of the @defun-type tags do not enable magic parentheses,
- % rendering the following check redundant. But we don't optimize.
- \checkparencounts
- \endgroup
-}
-
-\def\Edefun{\endgraf\medbreak}
-
-% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
-% the only thing remaining is to define \deffnheader.
-%
-\def\makedefun#1{%
- \expandafter\let\csname E#1\endcsname = \Edefun
- \edef\temp{\noexpand\domakedefun
- \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
- \temp
-}
-
-% \domakedefun \deffn \deffnx \deffnheader
-%
-% Define \deffn and \deffnx, without parameters.
-% \deffnheader has to be defined explicitly.
-%
-\def\domakedefun#1#2#3{%
- \envdef#1{%
- \startdefun
- \parseargusing\activeparens{\printdefunline#3}%
- }%
- \def#2{\dodefunx#1}%
- \def#3%
-}
-
-%%% Untyped functions:
-
-% @deffn category name args
-\makedefun{deffn}{\deffngeneral{}}
-
-% @deffn category class name args
-\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-
-% \defopon {category on}class name args
-\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-
-% \deffngeneral {subind}category name args
-%
-\def\deffngeneral#1#2 #3 #4\endheader{%
- % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
- \dosubind{fn}{\code{#3}}{#1}%
- \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
-}
-
-%%% Typed functions:
-
-% @deftypefn category type name args
-\makedefun{deftypefn}{\deftypefngeneral{}}
-
-% @deftypeop category class type name args
-\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-
-% \deftypeopon {category on}class type name args
-\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypefngeneral {subind}category type name args
-%
-\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
- \dosubind{fn}{\code{#4}}{#1}%
- \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-}
-
-%%% Typed variables:
-
-% @deftypevr category type var args
-\makedefun{deftypevr}{\deftypecvgeneral{}}
-
-% @deftypecv category class type var args
-\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-
-% \deftypecvof {category of}class type var args
-\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypecvgeneral {subind}category type var args
-%
-\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
- \dosubind{vr}{\code{#4}}{#1}%
- \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-}
-
-%%% Untyped variables:
-
-% @defvr category var args
-\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
-
-% @defcv category class var args
-\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-
-% \defcvof {category of}class var args
-\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-
-%%% Type:
-% @deftp category name args
-\makedefun{deftp}#1 #2 #3\endheader{%
- \doind{tp}{\code{#2}}%
- \defname{#1}{}{#2}\defunargs{#3\unskip}%
-}
-
-% Remaining @defun-like shortcuts:
-\makedefun{defun}{\deffnheader{\putwordDeffunc} }
-\makedefun{defmac}{\deffnheader{\putwordDefmac} }
-\makedefun{defspec}{\deffnheader{\putwordDefspec} }
-\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
-\makedefun{defvar}{\defvrheader{\putwordDefvar} }
-\makedefun{defopt}{\defvrheader{\putwordDefopt} }
-\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
-\makedefun{defmethod}{\defopon\putwordMethodon}
-\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
-\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
-\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
-
-% \defname, which formats the name of the @def (not the args).
-% #1 is the category, such as "Function".
-% #2 is the return type, if any.
-% #3 is the function name.
-%
-% We are followed by (but not passed) the arguments, if any.
-%
-\def\defname#1#2#3{%
- % Get the values of \leftskip and \rightskip as they were outside the @def...
- \advance\leftskip by -\defbodyindent
- %
- % How we'll format the type name. Putting it in brackets helps
- % distinguish it from the body text that may end up on the next line
- % just below it.
- \def\temp{#1}%
- \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
- %
- % Figure out line sizes for the paragraph shape.
- % The first line needs space for \box0; but if \rightskip is nonzero,
- % we need only space for the part of \box0 which exceeds it:
- \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
- % The continuations:
- \dimen2=\hsize \advance\dimen2 by -\defargsindent
- % (plain.tex says that \dimen1 should be used only as global.)
- \parshape 2 0in \dimen0 \defargsindent \dimen2
- %
- % Put the type name to the right margin.
- \noindent
- \hbox to 0pt{%
- \hfil\box0 \kern-\hsize
- % \hsize has to be shortened this way:
- \kern\leftskip
- % Intentionally do not respect \rightskip, since we need the space.
- }%
- %
- % Allow all lines to be underfull without complaint:
- \tolerance=10000 \hbadness=10000
- \exdentamount=\defbodyindent
- {%
- % defun fonts. We use typewriter by default (used to be bold) because:
- % . we're printing identifiers, they should be in tt in principle.
- % . in languages with many accents, such as Czech or French, it's
- % common to leave accents off identifiers. The result looks ok in
- % tt, but exceedingly strange in rm.
- % . we don't want -- and --- to be treated as ligatures.
- % . this still does not fix the ?` and !` ligatures, but so far no
- % one has made identifiers using them :).
- \df \tt
- \def\temp{#2}% return value type
- \ifx\temp\empty\else \tclose{\temp} \fi
- #3% output function name
- }%
- {\rm\enskip}% hskip 0.5 em of \tenrm
- %
- \boldbrax
- % arguments will be output next, if any.
-}
-
-% Print arguments in slanted roman (not ttsl), inconsistently with using
-% tt for the name. This is because literal text is sometimes needed in
-% the argument list (groff manual), and ttsl and tt are not very
-% distinguishable. Prevent hyphenation at `-' chars.
-%
-\def\defunargs#1{%
- % use sl by default (not ttsl),
- % tt for the names.
- \df \sl \hyphenchar\font=0
- %
- % On the other hand, if an argument has two dashes (for instance), we
- % want a way to get ttsl. Let's try @var for that.
- \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
- #1%
- \sl\hyphenchar\font=45
-}
-
-% We want ()&[] to print specially on the defun line.
-%
-\def\activeparens{%
- \catcode`\(=\active \catcode`\)=\active
- \catcode`\[=\active \catcode`\]=\active
- \catcode`\&=\active
-}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-{
- \activeparens
- \global\let(=\lparen \global\let)=\rparen
- \global\let[=\lbrack \global\let]=\rbrack
- \global\let& = \&
-
- \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
- \gdef\magicamp{\let&=\amprm}
-}
-
-\newcount\parencount
-
-% If we encounter &foo, then turn on ()-hacking afterwards
-\newif\ifampseen
-\def\amprm#1 {\ampseentrue{\bf\ }}
-
-\def\parenfont{%
- \ifampseen
- % At the first level, print parens in roman,
- % otherwise use the default font.
- \ifnum \parencount=1 \rm \fi
- \else
- % The \sf parens (in \boldbrax) actually are a little bolder than
- % the contained text. This is especially needed for [ and ] .
- \sf
- \fi
-}
-\def\infirstlevel#1{%
- \ifampseen
- \ifnum\parencount=1
- #1%
- \fi
- \fi
-}
-\def\bfafterword#1 {#1 \bf}
-
-\def\opnr{%
- \global\advance\parencount by 1
- {\parenfont(}%
- \infirstlevel \bfafterword
-}
-\def\clnr{%
- {\parenfont)}%
- \infirstlevel \sl
- \global\advance\parencount by -1
-}
-
-\newcount\brackcount
-\def\lbrb{%
- \global\advance\brackcount by 1
- {\bf[}%
-}
-\def\rbrb{%
- {\bf]}%
- \global\advance\brackcount by -1
-}
-
-\def\checkparencounts{%
- \ifnum\parencount=0 \else \badparencount \fi
- \ifnum\brackcount=0 \else \badbrackcount \fi
-}
-% these should not use \errmessage; the glibc manual, at least, actually
-% has such constructs (when documenting function pointers).
-\def\badparencount{%
- \message{Warning: unbalanced parentheses in @def...}%
- \global\parencount=0
-}
-\def\badbrackcount{%
- \message{Warning: unbalanced square brackets in @def...}%
- \global\brackcount=0
-}
-
-
-\message{macros,}
-% @macro.
-
-% To do this right we need a feature of e-TeX, \scantokens,
-% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scantokens#1{%
- \toks0={#1}%
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{\the\toks0}%
- \immediate\closeout\macscribble
- \input \jobname.tmp
- }
-\fi
-
-\def\scanmacro#1{%
- \begingroup
- \newlinechar`\^^M
- \let\xeatspaces\eatspaces
- % Undo catcode changes of \startcontents and \doprintindex
- % When called from @insertcopying or (short)caption, we need active
- % backslash to get it printed correctly. Previously, we had
- % \catcode`\\=\other instead. We'll see whether a problem appears
- % with macro expansion. --kasal, 19aug04
- \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
- % ... and \example
- \spaceisspace
- %
- % Append \endinput to make sure that TeX does not see the ending newline.
- % I've verified that it is necessary both for e-TeX and for ordinary TeX
- % --kasal, 29nov03
- \scantokens{#1\endinput}%
- \endgroup
-}
-
-\def\scanexp#1{%
- \edef\temp{\noexpand\scanmacro{#1}}%
- \temp
-}
-
-\newcount\paramno % Count of parameters
-\newtoks\macname % Macro name
-\newif\ifrecursive % Is it recursive?
-
-% List of all defined macros in the form
-% \definedummyword\macro1\definedummyword\macro2...
-% Currently is also contains all @aliases; the list can be split
-% if there is a need.
-\def\macrolist{}
-
-% Add the macro to \macrolist
-\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
-\def\addtomacrolistxxx#1{%
- \toks0 = \expandafter{\macrolist\definedummyword#1}%
- \xdef\macrolist{\the\toks0}%
-}
-
-% Utility routines.
-% This does \let #1 = #2, with \csnames; that is,
-% \let \csname#1\endcsname = \csname#2\endcsname
-% (except of course we have to play expansion games).
-%
-\def\cslet#1#2{%
- \expandafter\let
- \csname#1\expandafter\endcsname
- \csname#2\endcsname
-}
-
-% Trim leading and trailing spaces off a string.
-% Concepts from aro-bend problem 15 (see CTAN).
-{\catcode`\@=11
-\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-\def\unbrace#1{#1}
-\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-}
-
-% Trim a single trailing ^^M off a string.
-{\catcode`\^^M=\other \catcode`\Q=3%
-\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-\gdef\eatcrb#1Q#2Q{#1}%
-}
-
-% Macro bodies are absorbed as an argument in a context where
-% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
-% Non-ASCII encodings make 8-bit characters active, so un-activate
-% them to avoid their expansion. Must do this non-globally, to
-% confine the change to the current group.
-
-% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
-% body, and then making it the \newlinechar in \scanmacro.
-
-\def\scanctxt{%
- \catcode`\"=\other
- \catcode`\+=\other
- \catcode`\<=\other
- \catcode`\>=\other
- \catcode`\@=\other
- \catcode`\^=\other
- \catcode`\_=\other
- \catcode`\|=\other
- \catcode`\~=\other
- \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
-}
-
-\def\scanargctxt{%
- \scanctxt
- \catcode`\\=\other
- \catcode`\^^M=\other
-}
-
-\def\macrobodyctxt{%
- \scanctxt
- \catcode`\{=\other
- \catcode`\}=\other
- \catcode`\^^M=\other
- \usembodybackslash
-}
-
-\def\macroargctxt{%
- \scanctxt
- \catcode`\\=\other
-}
-
-% \mbodybackslash is the definition of \ in @macro bodies.
-% It maps \foo\ => \csname macarg.foo\endcsname => #N
-% where N is the macro parameter number.
-% We define \csname macarg.\endcsname to be \realbackslash, so
-% \\ in macro replacement text gets you a backslash.
-
-{\catcode`@=0 @catcode`@\=@active
- @gdef@usembodybackslash{@let\=@mbodybackslash}
- @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-}
-\expandafter\def\csname macarg.\endcsname{\realbackslash}
-
-\def\macro{\recursivefalse\parsearg\macroxxx}
-\def\rmacro{\recursivetrue\parsearg\macroxxx}
-
-\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
- \ifx\argl\empty % no arguments
- \paramno=0%
- \else
- \expandafter\parsemargdef \argl;%
- \fi
- \if1\csname ismacro.\the\macname\endcsname
- \message{Warning: redefining \the\macname}%
- \else
- \expandafter\ifx\csname \the\macname\endcsname \relax
- \else \errmessage{Macro name \the\macname\space already defined}\fi
- \global\cslet{macsave.\the\macname}{\the\macname}%
- \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
- \addtomacrolist{\the\macname}%
- \fi
- \begingroup \macrobodyctxt
- \ifrecursive \expandafter\parsermacbody
- \else \expandafter\parsemacbody
- \fi}
-
-\parseargdef\unmacro{%
- \if1\csname ismacro.#1\endcsname
- \global\cslet{#1}{macsave.#1}%
- \global\expandafter\let \csname ismacro.#1\endcsname=0%
- % Remove the macro name from \macrolist:
- \begingroup
- \expandafter\let\csname#1\endcsname \relax
- \let\definedummyword\unmacrodo
- \xdef\macrolist{\macrolist}%
- \endgroup
- \else
- \errmessage{Macro #1 not defined}%
- \fi
-}
-
-% Called by \do from \dounmacro on each macro. The idea is to omit any
-% macro definitions that have been changed to \relax.
-%
-\def\unmacrodo#1{%
- \ifx #1\relax
- % remove this
- \else
- \noexpand\definedummyword \noexpand#1%
- \fi
-}
-
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
-\def\getargs#1{\getargsxxx#1{}}
-\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
-\def\getmacargs#1{\def\argl{#1}}
-
-% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
-% That gets used by \mbodybackslash (above).
-
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-\def\parsemargdefxxx#1,{%
- \if#1;\let\next=\relax
- \else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
- \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
- {\xeatspaces{\hash\the\paramno}}%
- \edef\paramlist{\paramlist\hash\the\paramno,}%
- \fi\next}
-
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
-% Much magic with \expandafter here.
-% \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
-\def\defmacro{%
- \let\hash=##% convert placeholders to macro parameter chars
- \ifrecursive
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\scanmacro{\temp}}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline
- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
- \fi
- \else
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline
- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \expandafter\noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \fi
- \fi}
-
-\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
-% \braceorline decides whether the next nonwhitespace character is a
-% {. If so it reads up to the closing }, if not, it reads the whole
-% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
-\def\braceorlinexxx{%
- \ifx\nchar\bgroup\else
- \expandafter\parsearg
- \fi \macnamexxx}
-
-
-% @alias.
-% We need some trickery to remove the optional spaces around the equal
-% sign. Just make them active and then expand them all to nothing.
-\def\alias{\parseargusing\obeyspaces\aliasxxx}
-\def\aliasxxx #1{\aliasyyy#1\relax}
-\def\aliasyyy #1=#2\relax{%
- {%
- \expandafter\let\obeyedspace=\empty
- \addtomacrolist{#1}%
- \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
- }%
- \next
-}
-
-
-\message{cross references,}
-
-\newwrite\auxfile
-\newif\ifhavexrefs % True if xref values are known.
-\newif\ifwarnedxrefs % True if we warned once that they aren't known.
-
-% @inforef is relatively simple.
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
- node \samp{\ignorespaces#1{}}}
-
-% @node's only job in TeX is to define \lastnode, which is used in
-% cross-references. The @node line might or might not have commas, and
-% might or might not have spaces before the first comma, like:
-% @node foo , bar , ...
-% We don't want such trailing spaces in the node name.
-%
-\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
-%
-% also remove a trailing comma, in case of something like this:
-% @node Help-Cross, , , Cross-refs
-\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
-\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
-
-\let\nwnode=\node
-\let\lastnode=\empty
-
-% Write a cross-reference definition for the current node. #1 is the
-% type (Ynumbered, Yappendix, Ynothing).
-%
-\def\donoderef#1{%
- \ifx\lastnode\empty\else
- \setref{\lastnode}{#1}%
- \global\let\lastnode=\empty
- \fi
-}
-
-% @anchor{NAME} -- define xref target at arbitrary point.
-%
-\newcount\savesfregister
-%
-\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
-\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
-
-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
-% anchor), which consists of three parts:
-% 1) NAME-title - the current sectioning name taken from \lastsection,
-% or the anchor name.
-% 2) NAME-snt - section number and type, passed as the SNT arg, or
-% empty for anchors.
-% 3) NAME-pg - the page number.
-%
-% This is called from \donoderef, \anchor, and \dofloat. In the case of
-% floats, there is an additional part, which is not written here:
-% 4) NAME-lof - the text as it should appear in a @listoffloats.
-%
-\def\setref#1#2{%
- \pdfmkdest{#1}%
- \iflinks
- {%
- \atdummies % preserve commands, but don't expand them
- \edef\writexrdef##1##2{%
- \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
- ##1}{##2}}% these are parameters of \writexrdef
- }%
- \toks0 = \expandafter{\lastsection}%
- \immediate \writexrdef{title}{\the\toks0 }%
- \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
- \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
- }%
- \fi
-}
-
-% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
-% the node name, #2 the name of the Info cross-reference, #3 the printed
-% node name, #4 the name of the Info file, #5 the name of the printed
-% manual. All but the node name can be omitted.
-%
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
- \unsepspaces
- \def\printedmanual{\ignorespaces #5}%
- \def\printedrefname{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual\unskip}%
- \setbox0=\hbox{\printedrefname\unskip}%
- \ifdim \wd0 = 0pt
- % No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
- % Use the node name inside the square brackets.
- \def\printedrefname{\ignorespaces #1}%
- \else
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
- % It is in another manual, so we don't have it.
- \def\printedrefname{\ignorespaces #1}%
- \else
- \ifhavexrefs
- % We know the real title if we have the xref values.
- \def\printedrefname{\refx{#1-title}{}}%
- \else
- % Otherwise just copy the Info node name.
- \def\printedrefname{\ignorespaces #1}%
- \fi%
- \fi
- \fi
- \fi
- %
- % Make link in pdf output.
- \ifpdf
- {\indexnofonts
- \turnoffactive
- % This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions.
- \getfilename{#4}%
- %
- % See comments at \activebackslashdouble.
- {\activebackslashdouble \xdef\pdfxrefdest{#1}%
- \backslashparens\pdfxrefdest}%
- %
- \leavevmode
- \startlink attr{/Border [0 0 0]}%
- \ifnum\filenamelength>0
- goto file{\the\filename.pdf} name{\pdfxrefdest}%
- \else
- goto name{\pdfmkpgn{\pdfxrefdest}}%
- \fi
- }%
- \setcolor{\linkcolor}%
- \fi
- %
- % Float references are printed completely differently: "Figure 1.2"
- % instead of "[somenode], p.3". We distinguish them by the
- % LABEL-title being set to a magic string.
- {%
- % Have to otherify everything special to allow the \csname to
- % include an _ in the xref name, etc.
- \indexnofonts
- \turnoffactive
- \expandafter\global\expandafter\let\expandafter\Xthisreftitle
- \csname XR#1-title\endcsname
- }%
- \iffloat\Xthisreftitle
- % If the user specified the print name (third arg) to the ref,
- % print it instead of our usual "Figure 1.2".
- \ifdim\wd0 = 0pt
- \refx{#1-snt}{}%
- \else
- \printedrefname
- \fi
- %
- % if the user also gave the printed manual name (fifth arg), append
- % "in MANUALNAME".
- \ifdim \wd1 > 0pt
- \space \putwordin{} \cite{\printedmanual}%
- \fi
- \else
- % node/anchor (non-float) references.
- %
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifdim \wd1 > 0pt
- \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
- \else
- % _ (for example) has to be the character _ for the purposes of the
- % control sequence corresponding to the node, but it has to expand
- % into the usual \leavevmode...\vrule stuff for purposes of
- % printing. So we \turnoffactive for the \refx-snt, back on for the
- % printing, back off for the \refx-pg.
- {\turnoffactive
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % output the `[mynode]' via a macro so it can be overridden.
- \xrefprintnodename\printedrefname
- %
- % But we always want a comma and a space:
- ,\space
- %
- % output the `page 3'.
- \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
- \fi
- \endlink
-\endgroup}
-
-% This macro is called from \xrefX for the `[nodename]' part of xref
-% output. It's a separate macro only so it can be changed more easily,
-% since square brackets don't work well in some documents. Particularly
-% one that Bob is working on :).
-%
-\def\xrefprintnodename#1{[#1]}
-
-% Things referred to by \setref.
-%
-\def\Ynothing{}
-\def\Yomitfromtoc{}
-\def\Ynumbered{%
- \ifnum\secno=0
- \putwordChapter@tie \the\chapno
- \else \ifnum\subsecno=0
- \putwordSection@tie \the\chapno.\the\secno
- \else \ifnum\subsubsecno=0
- \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
- \else
- \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
- \fi\fi\fi
-}
-\def\Yappendix{%
- \ifnum\secno=0
- \putwordAppendix@tie @char\the\appendixno{}%
- \else \ifnum\subsecno=0
- \putwordSection@tie @char\the\appendixno.\the\secno
- \else \ifnum\subsubsecno=0
- \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
- \else
- \putwordSection@tie
- @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
- \fi\fi\fi
-}
-
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-%
-\def\refx#1#2{%
- {%
- \indexnofonts
- \otherbackslash
- \expandafter\global\expandafter\let\expandafter\thisrefX
- \csname XR#1\endcsname
- }%
- \ifx\thisrefX\relax
- % If not defined, say something at least.
- \angleleft un\-de\-fined\angleright
- \iflinks
- \ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
- \else
- \ifwarnedxrefs\else
- \global\warnedxrefstrue
- \message{Cross reference values unknown; you must run TeX again.}%
- \fi
- \fi
- \fi
- \else
- % It's defined, so just use it.
- \thisrefX
- \fi
- #2% Output the suffix in any case.
-}
-
-% This is the macro invoked by entries in the aux file. Usually it's
-% just a \def (we prepend XR to the control sequence name to avoid
-% collisions). But if this is a float type, we have more work to do.
-%
-\def\xrdef#1#2{%
- {% The node name might contain 8-bit characters, which in our current
- % implementation are changed to commands like @'e. Don't let these
- % mess up the control sequence name.
- \indexnofonts
- \turnoffactive
- \xdef\safexrefname{#1}%
- }%
- %
- \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
- %
- % Was that xref control sequence that we just defined for a float?
- \expandafter\iffloat\csname XR\safexrefname\endcsname
- % it was a float, and we have the (safe) float type in \iffloattype.
- \expandafter\let\expandafter\floatlist
- \csname floatlist\iffloattype\endcsname
- %
- % Is this the first time we've seen this float type?
- \expandafter\ifx\floatlist\relax
- \toks0 = {\do}% yes, so just \do
- \else
- % had it before, so preserve previous elements in list.
- \toks0 = \expandafter{\floatlist\do}%
- \fi
- %
- % Remember this xref in the control sequence \floatlistFLOATTYPE,
- % for later use in \listoffloats.
- \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
- {\safexrefname}}%
- \fi
-}
-
-% Read the last existing aux file, if any. No error if none exists.
-%
-\def\tryauxfile{%
- \openin 1 \jobname.aux
- \ifeof 1 \else
- \readdatafile{aux}%
- \global\havexrefstrue
- \fi
- \closein 1
-}
-
-\def\setupdatafile{%
- \catcode`\^^@=\other
- \catcode`\^^A=\other
- \catcode`\^^B=\other
- \catcode`\^^C=\other
- \catcode`\^^D=\other
- \catcode`\^^E=\other
- \catcode`\^^F=\other
- \catcode`\^^G=\other
- \catcode`\^^H=\other
- \catcode`\^^K=\other
- \catcode`\^^L=\other
- \catcode`\^^N=\other
- \catcode`\^^P=\other
- \catcode`\^^Q=\other
- \catcode`\^^R=\other
- \catcode`\^^S=\other
- \catcode`\^^T=\other
- \catcode`\^^U=\other
- \catcode`\^^V=\other
- \catcode`\^^W=\other
- \catcode`\^^X=\other
- \catcode`\^^Z=\other
- \catcode`\^^[=\other
- \catcode`\^^\=\other
- \catcode`\^^]=\other
- \catcode`\^^^=\other
- \catcode`\^^_=\other
- % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
- % in xref tags, i.e., node names. But since ^^e4 notation isn't
- % supported in the main text, it doesn't seem desirable. Furthermore,
- % that is not enough: for node names that actually contain a ^
- % character, we would end up writing a line like this: 'xrdef {'hat
- % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
- % argument, and \hat is not an expandable control sequence. It could
- % all be worked out, but why? Either we support ^^ or we don't.
- %
- % The other change necessary for this was to define \auxhat:
- % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
- % and then to call \auxhat in \setq.
- %
- \catcode`\^=\other
- %
- % Special characters. Should be turned off anyway, but...
- \catcode`\~=\other
- \catcode`\[=\other
- \catcode`\]=\other
- \catcode`\"=\other
- \catcode`\_=\other
- \catcode`\|=\other
- \catcode`\<=\other
- \catcode`\>=\other
- \catcode`\$=\other
- \catcode`\#=\other
- \catcode`\&=\other
- \catcode`\%=\other
- \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
- %
- % This is to support \ in node names and titles, since the \
- % characters end up in a \csname. It's easier than
- % leaving it active and making its active definition an actual \
- % character. What I don't understand is why it works in the *value*
- % of the xrdef. Seems like it should be a catcode12 \, and that
- % should not typeset properly. But it works, so I'm moving on for
- % now. --karl, 15jan04.
- \catcode`\\=\other
- %
- % Make the characters 128-255 be printing characters.
- {%
- \count1=128
- \def\loop{%
- \catcode\count1=\other
- \advance\count1 by 1
- \ifnum \count1<256 \loop \fi
- }%
- }%
- %
- % @ is our escape character in .aux files, and we need braces.
- \catcode`\{=1
- \catcode`\}=2
- \catcode`\@=0
-}
-
-\def\readdatafile#1{%
-\begingroup
- \setupdatafile
- \input\jobname.#1
-\endgroup}
-
-
-\message{insertions,}
-% including footnotes.
-
-\newcount \footnoteno
-
-% The trailing space in the following definition for supereject is
-% vital for proper filling; pages come out unaligned when you do a
-% pagealignmacro call if that space before the closing brace is
-% removed. (Generally, numeric constants should always be followed by a
-% space to prevent strange expansion errors.)
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-% @footnotestyle is meaningful for info output only.
-\let\footnotestyle=\comment
-
-{\catcode `\@=11
-%
-% Auto-number footnotes. Otherwise like plain.
-\gdef\footnote{%
- \let\indent=\ptexindent
- \let\noindent=\ptexnoindent
- \global\advance\footnoteno by \@ne
- \edef\thisfootno{$^{\the\footnoteno}$}%
- %
- % In case the footnote comes at the end of a sentence, preserve the
- % extra spacing after we do the footnote number.
- \let\@sf\empty
- \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
- %
- % Remove inadvertent blank space before typesetting the footnote number.
- \unskip
- \thisfootno\@sf
- \dofootnote
-}%
-
-% Don't bother with the trickery in plain.tex to not require the
-% footnote text as a parameter. Our footnotes don't need to be so general.
-%
-% Oh yes, they do; otherwise, @ifset (and anything else that uses
-% \parseargline) fails inside footnotes because the tokens are fixed when
-% the footnote is read. --karl, 16nov96.
-%
-\gdef\dofootnote{%
- \insert\footins\bgroup
- % We want to typeset this text as a normal paragraph, even if the
- % footnote reference occurs in (for example) a display environment.
- % So reset some parameters.
- \hsize=\pagewidth
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\ht\strutbox % top baseline for broken footnotes
- \splitmaxdepth\dp\strutbox
- \floatingpenalty\@MM
- \leftskip\z@skip
- \rightskip\z@skip
- \spaceskip\z@skip
- \xspaceskip\z@skip
- \parindent\defaultparindent
- %
- \smallfonts \rm
- %
- % Because we use hanging indentation in footnotes, a @noindent appears
- % to exdent this text, so make it be a no-op. makeinfo does not use
- % hanging indentation so @noindent can still be needed within footnote
- % text after an @example or the like (not that this is good style).
- \let\noindent = \relax
- %
- % Hang the footnote text off the number. Use \everypar in case the
- % footnote extends for more than one paragraph.
- \everypar = {\hang}%
- \textindent{\thisfootno}%
- %
- % Don't crash into the line above the footnote text. Since this
- % expands into a box, it must come within the paragraph, lest it
- % provide a place where TeX can split the footnote.
- \footstrut
- \futurelet\next\fo@t
-}
-}%end \catcode `\@=11
-
-% In case a @footnote appears in a vbox, save the footnote text and create
-% the real \insert just after the vbox finished. Otherwise, the insertion
-% would be lost.
-% Similarly, if a @footnote appears inside an alignment, save the footnote
-% text to a box and make the \insert when a row of the table is finished.
-% And the same can be done for other insert classes. --kasal, 16nov03.
-
-% Replace the \insert primitive by a cheating macro.
-% Deeper inside, just make sure that the saved insertions are not spilled
-% out prematurely.
-%
-\def\startsavinginserts{%
- \ifx \insert\ptexinsert
- \let\insert\saveinsert
- \else
- \let\checkinserts\relax
- \fi
-}
-
-% This \insert replacement works for both \insert\footins{foo} and
-% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
-%
-\def\saveinsert#1{%
- \edef\next{\noexpand\savetobox \makeSAVEname#1}%
- \afterassignment\next
- % swallow the left brace
- \let\temp =
-}
-\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
-\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
-
-\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
-
-\def\placesaveins#1{%
- \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
- {\box#1}%
-}
-
-% eat @SAVE -- beware, all of them have catcode \other:
-{
- \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-)
- \gdef\gobblesave @SAVE{}
-}
-
-% initialization:
-\def\newsaveins #1{%
- \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
- \next
-}
-\def\newsaveinsX #1{%
- \csname newbox\endcsname #1%
- \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
- \checksaveins #1}%
-}
-
-% initialize:
-\let\checkinserts\empty
-\newsaveins\footins
-\newsaveins\margin
-
-
-% @image. We use the macros from epsf.tex to support this.
-% If epsf.tex is not installed and @image is used, we complain.
-%
-% Check for and read epsf.tex up front. If we read it only at @image
-% time, we might be inside a group, and then its definitions would get
-% undone and the next image would fail.
-\openin 1 = epsf.tex
-\ifeof 1 \else
- % Do not bother showing banner with epsf.tex v2.7k (available in
- % doc/epsf.tex and on ctan).
- \def\epsfannounce{\toks0 = }%
- \input epsf.tex
-\fi
-\closein 1
-%
-% We will only complain once about lack of epsf.tex.
-\newif\ifwarnednoepsf
-\newhelp\noepsfhelp{epsf.tex must be installed for images to
- work. It is also included in the Texinfo distribution, or you can get
- it from ftp://tug.org/tex/epsf.tex.}
-%
-\def\image#1{%
- \ifx\epsfbox\undefined
- \ifwarnednoepsf \else
- \errhelp = \noepsfhelp
- \errmessage{epsf.tex not found, images will be ignored}%
- \global\warnednoepsftrue
- \fi
- \else
- \imagexxx #1,,,,,\finish
- \fi
-}
-%
-% Arguments to @image:
-% #1 is (mandatory) image filename; we tack on .eps extension.
-% #2 is (optional) width, #3 is (optional) height.
-% #4 is (ignored optional) html alt text.
-% #5 is (ignored optional) extension.
-% #6 is just the usual extra ignored arg for parsing this stuff.
-\newif\ifimagevmode
-\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
- \catcode`\^^M = 5 % in case we're inside an example
- \normalturnoffactive % allow _ et al. in names
- % If the image is by itself, center it.
- \ifvmode
- \imagevmodetrue
- \nobreak\medskip
- % Usually we'll have text after the image which will insert
- % \parskip glue, so insert it here too to equalize the space
- % above and below.
- \nobreak\vskip\parskip
- \nobreak
- \fi
- %
- % Leave vertical mode so that indentation from an enclosing
- % environment such as @quotation is respected. On the other hand, if
- % it's at the top level, we don't want the normal paragraph indentation.
- \noindent
- %
- % Output the image.
- \ifpdf
- \dopdfimage{#1}{#2}{#3}%
- \else
- % \epsfbox itself resets \epsf?size at each figure.
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
- \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
- \epsfbox{#1.eps}%
- \fi
- %
- \ifimagevmode \medskip \fi % space after the standalone image
-\endgroup}
-
-
-% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
-% etc. We don't actually implement floating yet, we always include the
-% float "here". But it seemed the best name for the future.
-%
-\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
-
-% There may be a space before second and/or third parameter; delete it.
-\def\eatcommaspace#1, {#1,}
-
-% #1 is the optional FLOATTYPE, the text label for this float, typically
-% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
-% this float will not be numbered and cannot be referred to.
-%
-% #2 is the optional xref label. Also must be present for the float to
-% be referable.
-%
-% #3 is the optional positioning argument; for now, it is ignored. It
-% will somehow specify the positions allowed to float to (here, top, bottom).
-%
-% We keep a separate counter for each FLOATTYPE, which we reset at each
-% chapter-level command.
-\let\resetallfloatnos=\empty
-%
-\def\dofloat#1,#2,#3,#4\finish{%
- \let\thiscaption=\empty
- \let\thisshortcaption=\empty
- %
- % don't lose footnotes inside @float.
- %
- % BEWARE: when the floats start float, we have to issue warning whenever an
- % insert appears inside a float which could possibly float. --kasal, 26may04
- %
- \startsavinginserts
- %
- % We can't be used inside a paragraph.
- \par
- %
- \vtop\bgroup
- \def\floattype{#1}%
- \def\floatlabel{#2}%
- \def\floatloc{#3}% we do nothing with this yet.
- %
- \ifx\floattype\empty
- \let\safefloattype=\empty
- \else
- {%
- % the floattype might have accents or other special characters,
- % but we need to use it in a control sequence name.
- \indexnofonts
- \turnoffactive
- \xdef\safefloattype{\floattype}%
- }%
- \fi
- %
- % If label is given but no type, we handle that as the empty type.
- \ifx\floatlabel\empty \else
- % We want each FLOATTYPE to be numbered separately (Figure 1,
- % Table 1, Figure 2, ...). (And if no label, no number.)
- %
- \expandafter\getfloatno\csname\safefloattype floatno\endcsname
- \global\advance\floatno by 1
- %
- {%
- % This magic value for \lastsection is output by \setref as the
- % XREFLABEL-title value. \xrefX uses it to distinguish float
- % labels (which have a completely different output format) from
- % node and anchor labels. And \xrdef uses it to construct the
- % lists of floats.
- %
- \edef\lastsection{\floatmagic=\safefloattype}%
- \setref{\floatlabel}{Yfloat}%
- }%
- \fi
- %
- % start with \parskip glue, I guess.
- \vskip\parskip
- %
- % Don't suppress indentation if a float happens to start a section.
- \restorefirstparagraphindent
-}
-
-% we have these possibilities:
-% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
-% @float Foo,lbl & no caption: Foo 1.1
-% @float Foo & @caption{Cap}: Foo: Cap
-% @float Foo & no caption: Foo
-% @float ,lbl & Caption{Cap}: 1.1: Cap
-% @float ,lbl & no caption: 1.1
-% @float & @caption{Cap}: Cap
-% @float & no caption:
-%
-\def\Efloat{%
- \let\floatident = \empty
- %
- % In all cases, if we have a float type, it comes first.
- \ifx\floattype\empty \else \def\floatident{\floattype}\fi
- %
- % If we have an xref label, the number comes next.
- \ifx\floatlabel\empty \else
- \ifx\floattype\empty \else % if also had float type, need tie first.
- \appendtomacro\floatident{\tie}%
- \fi
- % the number.
- \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
- \fi
- %
- % Start the printed caption with what we've constructed in
- % \floatident, but keep it separate; we need \floatident again.
- \let\captionline = \floatident
- %
- \ifx\thiscaption\empty \else
- \ifx\floatident\empty \else
- \appendtomacro\captionline{: }% had ident, so need a colon between
- \fi
- %
- % caption text.
- \appendtomacro\captionline{\scanexp\thiscaption}%
- \fi
- %
- % If we have anything to print, print it, with space before.
- % Eventually this needs to become an \insert.
- \ifx\captionline\empty \else
- \vskip.5\parskip
- \captionline
- %
- % Space below caption.
- \vskip\parskip
- \fi
- %
- % If have an xref label, write the list of floats info. Do this
- % after the caption, to avoid chance of it being a breakpoint.
- \ifx\floatlabel\empty \else
- % Write the text that goes in the lof to the aux file as
- % \floatlabel-lof. Besides \floatident, we include the short
- % caption if specified, else the full caption if specified, else nothing.
- {%
- \atdummies
- %
- % since we read the caption text in the macro world, where ^^M
- % is turned into a normal character, we have to scan it back, so
- % we don't write the literal three characters "^^M" into the aux file.
- \scanexp{%
- \xdef\noexpand\gtemp{%
- \ifx\thisshortcaption\empty
- \thiscaption
- \else
- \thisshortcaption
- \fi
- }%
- }%
- \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
- \ifx\gtemp\empty \else : \gtemp \fi}}%
- }%
- \fi
- \egroup % end of \vtop
- %
- % place the captured inserts
- %
- % BEWARE: when the floats start floating, we have to issue warning
- % whenever an insert appears inside a float which could possibly
- % float. --kasal, 26may04
- %
- \checkinserts
-}
-
-% Append the tokens #2 to the definition of macro #1, not expanding either.
-%
-\def\appendtomacro#1#2{%
- \expandafter\def\expandafter#1\expandafter{#1#2}%
-}
-
-% @caption, @shortcaption
-%
-\def\caption{\docaption\thiscaption}
-\def\shortcaption{\docaption\thisshortcaption}
-\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
-\def\defcaption#1#2{\egroup \def#1{#2}}
-
-% The parameter is the control sequence identifying the counter we are
-% going to use. Create it if it doesn't exist and assign it to \floatno.
-\def\getfloatno#1{%
- \ifx#1\relax
- % Haven't seen this figure type before.
- \csname newcount\endcsname #1%
- %
- % Remember to reset this floatno at the next chap.
- \expandafter\gdef\expandafter\resetallfloatnos
- \expandafter{\resetallfloatnos #1=0 }%
- \fi
- \let\floatno#1%
-}
-
-% \setref calls this to get the XREFLABEL-snt value. We want an @xref
-% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we
-% first read the @float command.
-%
-\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
-
-% Magic string used for the XREFLABEL-title value, so \xrefX can
-% distinguish floats from other xref types.
-\def\floatmagic{!!float!!}
-
-% #1 is the control sequence we are passed; we expand into a conditional
-% which is true if #1 represents a float ref. That is, the magic
-% \lastsection value which we \setref above.
-%
-\def\iffloat#1{\expandafter\doiffloat#1==\finish}
-%
-% #1 is (maybe) the \floatmagic string. If so, #2 will be the
-% (safe) float type for this float. We set \iffloattype to #2.
-%
-\def\doiffloat#1=#2=#3\finish{%
- \def\temp{#1}%
- \def\iffloattype{#2}%
- \ifx\temp\floatmagic
-}
-
-% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
-%
-\parseargdef\listoffloats{%
- \def\floattype{#1}% floattype
- {%
- % the floattype might have accents or other special characters,
- % but we need to use it in a control sequence name.
- \indexnofonts
- \turnoffactive
- \xdef\safefloattype{\floattype}%
- }%
- %
- % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
- \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
- \ifhavexrefs
- % if the user said @listoffloats foo but never @float foo.
- \message{\linenumber No `\safefloattype' floats to list.}%
- \fi
- \else
- \begingroup
- \leftskip=\tocindent % indent these entries like a toc
- \let\do=\listoffloatsdo
- \csname floatlist\safefloattype\endcsname
- \endgroup
- \fi
-}
-
-% This is called on each entry in a list of floats. We're passed the
-% xref label, in the form LABEL-title, which is how we save it in the
-% aux file. We strip off the -title and look up \XRLABEL-lof, which
-% has the text we're supposed to typeset here.
-%
-% Figures without xref labels will not be included in the list (since
-% they won't appear in the aux file).
-%
-\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
-\def\listoffloatsdoentry#1-title\finish{{%
- % Can't fully expand XR#1-lof because it can contain anything. Just
- % pass the control sequence. On the other hand, XR#1-pg is just the
- % page number, and we want to fully expand that so we can get a link
- % in pdf output.
- \toksA = \expandafter{\csname XR#1-lof\endcsname}%
- %
- % use the same \entry macro we use to generate the TOC and index.
- \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
- \writeentry
-}}
-
-
-\message{localization,}
-
-% For single-language documents, @documentlanguage is usually given very
-% early, just after @documentencoding. Single argument is the language
-% (de) or locale (de_DE) abbreviation.
-%
-{
- \catcode`\_ = \active
- \globaldefs=1
-\parseargdef\documentlanguage{\begingroup
- \let_=\normalunderscore % normal _ character for filenames
- \tex % read txi-??.tex file in plain TeX.
- % Read the file by the name they passed if it exists.
- \openin 1 txi-#1.tex
- \ifeof 1
- \documentlanguagetrywithoutunderscore{#1_\finish}%
- \else
- \globaldefs = 1 % everything in the txi-LL files needs to persist
- \input txi-#1.tex
- \fi
- \closein 1
- \endgroup % end raw TeX
-\endgroup}
-%
-% If they passed de_DE, and txi-de_DE.tex doesn't exist,
-% try txi-de.tex.
-%
-\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
- \openin 1 txi-#1.tex
- \ifeof 1
- \errhelp = \nolanghelp
- \errmessage{Cannot read language file txi-#1.tex}%
- \else
- \globaldefs = 1 % everything in the txi-LL files needs to persist
- \input txi-#1.tex
- \fi
- \closein 1
-}
-}% end of special _ catcode
-%
-\newhelp\nolanghelp{The given language definition file cannot be found or
-is empty. Maybe you need to install it? Putting it in the current
-directory should work if nowhere else does.}
-
-% This macro is called from txi-??.tex files; the first argument is the
-% \language name to set (without the "\lang@" prefix), the second and
-% third args are \{left,right}hyphenmin.
-%
-% The language names to pass are determined when the format is built.
-% See the etex.log file created at that time, e.g.,
-% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
-%
-% With TeX Live 2008, etex now includes hyphenation patterns for all
-% available languages. This means we can support hyphenation in
-% Texinfo, at least to some extent. (This still doesn't solve the
-% accented characters problem.)
-%
-\catcode`@=11
-\def\txisetlanguage#1#2#3{%
- % do not set the language if the name is undefined in the current TeX.
- \expandafter\ifx\csname lang@#1\endcsname \relax
- \message{no patterns for #1}%
- \else
- \global\language = \csname lang@#1\endcsname
- \fi
- % but there is no harm in adjusting the hyphenmin values regardless.
- \global\lefthyphenmin = #2\relax
- \global\righthyphenmin = #3\relax
-}
-
-% Helpers for encodings.
-% Set the catcode of characters 128 through 255 to the specified number.
-%
-\def\setnonasciicharscatcode#1{%
- \count255=128
- \loop\ifnum\count255<256
- \global\catcode\count255=#1\relax
- \advance\count255 by 1
- \repeat
-}
-
-\def\setnonasciicharscatcodenonglobal#1{%
- \count255=128
- \loop\ifnum\count255<256
- \catcode\count255=#1\relax
- \advance\count255 by 1
- \repeat
-}
-
-% @documentencoding sets the definition of non-ASCII characters
-% according to the specified encoding.
-%
-\parseargdef\documentencoding{%
- % Encoding being declared for the document.
- \def\declaredencoding{\csname #1.enc\endcsname}%
- %
- % Supported encodings: names converted to tokens in order to be able
- % to compare them with \ifx.
- \def\ascii{\csname US-ASCII.enc\endcsname}%
- \def\latnine{\csname ISO-8859-15.enc\endcsname}%
- \def\latone{\csname ISO-8859-1.enc\endcsname}%
- \def\lattwo{\csname ISO-8859-2.enc\endcsname}%
- \def\utfeight{\csname UTF-8.enc\endcsname}%
- %
- \ifx \declaredencoding \ascii
- \asciichardefs
- %
- \else \ifx \declaredencoding \lattwo
- \setnonasciicharscatcode\active
- \lattwochardefs
- %
- \else \ifx \declaredencoding \latone
- \setnonasciicharscatcode\active
- \latonechardefs
- %
- \else \ifx \declaredencoding \latnine
- \setnonasciicharscatcode\active
- \latninechardefs
- %
- \else \ifx \declaredencoding \utfeight
- \setnonasciicharscatcode\active
- \utfeightchardefs
- %
- \else
- \message{Unknown document encoding #1, ignoring.}%
- %
- \fi % utfeight
- \fi % latnine
- \fi % latone
- \fi % lattwo
- \fi % ascii
-}
-
-% A message to be logged when using a character that isn't available
-% the default font encoding (OT1).
-%
-\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
-
-% Take account of \c (plain) vs. \, (Texinfo) difference.
-\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
-
-% First, make active non-ASCII characters in order for them to be
-% correctly categorized when TeX reads the replacement text of
-% macros containing the character definitions.
-\setnonasciicharscatcode\active
-%
-% Latin1 (ISO-8859-1) character definitions.
-\def\latonechardefs{%
- \gdef^^a0{~}
- \gdef^^a1{\exclamdown}
- \gdef^^a2{\missingcharmsg{CENT SIGN}}
- \gdef^^a3{{\pounds}}
- \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
- \gdef^^a5{\missingcharmsg{YEN SIGN}}
- \gdef^^a6{\missingcharmsg{BROKEN BAR}}
- \gdef^^a7{\S}
- \gdef^^a8{\"{}}
- \gdef^^a9{\copyright}
- \gdef^^aa{\ordf}
- \gdef^^ab{\guillemetleft}
- \gdef^^ac{$\lnot$}
- \gdef^^ad{\-}
- \gdef^^ae{\registeredsymbol}
- \gdef^^af{\={}}
- %
- \gdef^^b0{\textdegree}
- \gdef^^b1{$\pm$}
- \gdef^^b2{$^2$}
- \gdef^^b3{$^3$}
- \gdef^^b4{\'{}}
- \gdef^^b5{$\mu$}
- \gdef^^b6{\P}
- %
- \gdef^^b7{$^.$}
- \gdef^^b8{\cedilla\ }
- \gdef^^b9{$^1$}
- \gdef^^ba{\ordm}
- %
- \gdef^^bb{\guilletright}
- \gdef^^bc{$1\over4$}
- \gdef^^bd{$1\over2$}
- \gdef^^be{$3\over4$}
- \gdef^^bf{\questiondown}
- %
- \gdef^^c0{\`A}
- \gdef^^c1{\'A}
- \gdef^^c2{\^A}
- \gdef^^c3{\~A}
- \gdef^^c4{\"A}
- \gdef^^c5{\ringaccent A}
- \gdef^^c6{\AE}
- \gdef^^c7{\cedilla C}
- \gdef^^c8{\`E}
- \gdef^^c9{\'E}
- \gdef^^ca{\^E}
- \gdef^^cb{\"E}
- \gdef^^cc{\`I}
- \gdef^^cd{\'I}
- \gdef^^ce{\^I}
- \gdef^^cf{\"I}
- %
- \gdef^^d0{\DH}
- \gdef^^d1{\~N}
- \gdef^^d2{\`O}
- \gdef^^d3{\'O}
- \gdef^^d4{\^O}
- \gdef^^d5{\~O}
- \gdef^^d6{\"O}
- \gdef^^d7{$\times$}
- \gdef^^d8{\O}
- \gdef^^d9{\`U}
- \gdef^^da{\'U}
- \gdef^^db{\^U}
- \gdef^^dc{\"U}
- \gdef^^dd{\'Y}
- \gdef^^de{\TH}
- \gdef^^df{\ss}
- %
- \gdef^^e0{\`a}
- \gdef^^e1{\'a}
- \gdef^^e2{\^a}
- \gdef^^e3{\~a}
- \gdef^^e4{\"a}
- \gdef^^e5{\ringaccent a}
- \gdef^^e6{\ae}
- \gdef^^e7{\cedilla c}
- \gdef^^e8{\`e}
- \gdef^^e9{\'e}
- \gdef^^ea{\^e}
- \gdef^^eb{\"e}
- \gdef^^ec{\`{\dotless i}}
- \gdef^^ed{\'{\dotless i}}
- \gdef^^ee{\^{\dotless i}}
- \gdef^^ef{\"{\dotless i}}
- %
- \gdef^^f0{\dh}
- \gdef^^f1{\~n}
- \gdef^^f2{\`o}
- \gdef^^f3{\'o}
- \gdef^^f4{\^o}
- \gdef^^f5{\~o}
- \gdef^^f6{\"o}
- \gdef^^f7{$\div$}
- \gdef^^f8{\o}
- \gdef^^f9{\`u}
- \gdef^^fa{\'u}
- \gdef^^fb{\^u}
- \gdef^^fc{\"u}
- \gdef^^fd{\'y}
- \gdef^^fe{\th}
- \gdef^^ff{\"y}
-}
-
-% Latin9 (ISO-8859-15) encoding character definitions.
-\def\latninechardefs{%
- % Encoding is almost identical to Latin1.
- \latonechardefs
- %
- \gdef^^a4{\euro}
- \gdef^^a6{\v S}
- \gdef^^a8{\v s}
- \gdef^^b4{\v Z}
- \gdef^^b8{\v z}
- \gdef^^bc{\OE}
- \gdef^^bd{\oe}
- \gdef^^be{\"Y}
-}
-
-% Latin2 (ISO-8859-2) character definitions.
-\def\lattwochardefs{%
- \gdef^^a0{~}
- \gdef^^a1{\ogonek{A}}
- \gdef^^a2{\u{}}
- \gdef^^a3{\L}
- \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
- \gdef^^a5{\v L}
- \gdef^^a6{\'S}
- \gdef^^a7{\S}
- \gdef^^a8{\"{}}
- \gdef^^a9{\v S}
- \gdef^^aa{\cedilla S}
- \gdef^^ab{\v T}
- \gdef^^ac{\'Z}
- \gdef^^ad{\-}
- \gdef^^ae{\v Z}
- \gdef^^af{\dotaccent Z}
- %
- \gdef^^b0{\textdegree}
- \gdef^^b1{\ogonek{a}}
- \gdef^^b2{\ogonek{ }}
- \gdef^^b3{\l}
- \gdef^^b4{\'{}}
- \gdef^^b5{\v l}
- \gdef^^b6{\'s}
- \gdef^^b7{\v{}}
- \gdef^^b8{\cedilla\ }
- \gdef^^b9{\v s}
- \gdef^^ba{\cedilla s}
- \gdef^^bb{\v t}
- \gdef^^bc{\'z}
- \gdef^^bd{\H{}}
- \gdef^^be{\v z}
- \gdef^^bf{\dotaccent z}
- %
- \gdef^^c0{\'R}
- \gdef^^c1{\'A}
- \gdef^^c2{\^A}
- \gdef^^c3{\u A}
- \gdef^^c4{\"A}
- \gdef^^c5{\'L}
- \gdef^^c6{\'C}
- \gdef^^c7{\cedilla C}
- \gdef^^c8{\v C}
- \gdef^^c9{\'E}
- \gdef^^ca{\ogonek{E}}
- \gdef^^cb{\"E}
- \gdef^^cc{\v E}
- \gdef^^cd{\'I}
- \gdef^^ce{\^I}
- \gdef^^cf{\v D}
- %
- \gdef^^d0{\DH}
- \gdef^^d1{\'N}
- \gdef^^d2{\v N}
- \gdef^^d3{\'O}
- \gdef^^d4{\^O}
- \gdef^^d5{\H O}
- \gdef^^d6{\"O}
- \gdef^^d7{$\times$}
- \gdef^^d8{\v R}
- \gdef^^d9{\ringaccent U}
- \gdef^^da{\'U}
- \gdef^^db{\H U}
- \gdef^^dc{\"U}
- \gdef^^dd{\'Y}
- \gdef^^de{\cedilla T}
- \gdef^^df{\ss}
- %
- \gdef^^e0{\'r}
- \gdef^^e1{\'a}
- \gdef^^e2{\^a}
- \gdef^^e3{\u a}
- \gdef^^e4{\"a}
- \gdef^^e5{\'l}
- \gdef^^e6{\'c}
- \gdef^^e7{\cedilla c}
- \gdef^^e8{\v c}
- \gdef^^e9{\'e}
- \gdef^^ea{\ogonek{e}}
- \gdef^^eb{\"e}
- \gdef^^ec{\v e}
- \gdef^^ed{\'\i}
- \gdef^^ee{\^\i}
- \gdef^^ef{\v d}
- %
- \gdef^^f0{\dh}
- \gdef^^f1{\'n}
- \gdef^^f2{\v n}
- \gdef^^f3{\'o}
- \gdef^^f4{\^o}
- \gdef^^f5{\H o}
- \gdef^^f6{\"o}
- \gdef^^f7{$\div$}
- \gdef^^f8{\v r}
- \gdef^^f9{\ringaccent u}
- \gdef^^fa{\'u}
- \gdef^^fb{\H u}
- \gdef^^fc{\"u}
- \gdef^^fd{\'y}
- \gdef^^fe{\cedilla t}
- \gdef^^ff{\dotaccent{}}
-}
-
-% UTF-8 character definitions.
-%
-% This code to support UTF-8 is based on LaTeX's utf8.def, with some
-% changes for Texinfo conventions. It is included here under the GPL by
-% permission from Frank Mittelbach and the LaTeX team.
-%
-\newcount\countUTFx
-\newcount\countUTFy
-\newcount\countUTFz
-
-\gdef\UTFviiiTwoOctets#1#2{\expandafter
- \UTFviiiDefined\csname u8:#1\string #2\endcsname}
-%
-\gdef\UTFviiiThreeOctets#1#2#3{\expandafter
- \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
-%
-\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
- \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
-
-\gdef\UTFviiiDefined#1{%
- \ifx #1\relax
- \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
- \else
- \expandafter #1%
- \fi
-}
-
-\begingroup
- \catcode`\~13
- \catcode`\"12
-
- \def\UTFviiiLoop{%
- \global\catcode\countUTFx\active
- \uccode`\~\countUTFx
- \uppercase\expandafter{\UTFviiiTmp}%
- \advance\countUTFx by 1
- \ifnum\countUTFx < \countUTFy
- \expandafter\UTFviiiLoop
- \fi}
-
- \countUTFx = "C2
- \countUTFy = "E0
- \def\UTFviiiTmp{%
- \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
- \UTFviiiLoop
-
- \countUTFx = "E0
- \countUTFy = "F0
- \def\UTFviiiTmp{%
- \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
- \UTFviiiLoop
-
- \countUTFx = "F0
- \countUTFy = "F4
- \def\UTFviiiTmp{%
- \xdef~{\noexpand\UTFviiiFourOctets\string~}}
- \UTFviiiLoop
-\endgroup
-
-\begingroup
- \catcode`\"=12
- \catcode`\<=12
- \catcode`\.=12
- \catcode`\,=12
- \catcode`\;=12
- \catcode`\!=12
- \catcode`\~=13
-
- \gdef\DeclareUnicodeCharacter#1#2{%
- \countUTFz = "#1\relax
- \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
- \begingroup
- \parseXMLCharref
- \def\UTFviiiTwoOctets##1##2{%
- \csname u8:##1\string ##2\endcsname}%
- \def\UTFviiiThreeOctets##1##2##3{%
- \csname u8:##1\string ##2\string ##3\endcsname}%
- \def\UTFviiiFourOctets##1##2##3##4{%
- \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
- \expandafter\expandafter\expandafter\expandafter
- \expandafter\expandafter\expandafter
- \gdef\UTFviiiTmp{#2}%
- \endgroup}
-
- \gdef\parseXMLCharref{%
- \ifnum\countUTFz < "A0\relax
- \errhelp = \EMsimple
- \errmessage{Cannot define Unicode char value < 00A0}%
- \else\ifnum\countUTFz < "800\relax
- \parseUTFviiiA,%
- \parseUTFviiiB C\UTFviiiTwoOctets.,%
- \else\ifnum\countUTFz < "10000\relax
- \parseUTFviiiA;%
- \parseUTFviiiA,%
- \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
- \else
- \parseUTFviiiA;%
- \parseUTFviiiA,%
- \parseUTFviiiA!%
- \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
- \fi\fi\fi
- }
-
- \gdef\parseUTFviiiA#1{%
- \countUTFx = \countUTFz
- \divide\countUTFz by 64
- \countUTFy = \countUTFz
- \multiply\countUTFz by 64
- \advance\countUTFx by -\countUTFz
- \advance\countUTFx by 128
- \uccode `#1\countUTFx
- \countUTFz = \countUTFy}
-
- \gdef\parseUTFviiiB#1#2#3#4{%
- \advance\countUTFz by "#10\relax
- \uccode `#3\countUTFz
- \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
-\endgroup
-
-\def\utfeightchardefs{%
- \DeclareUnicodeCharacter{00A0}{\tie}
- \DeclareUnicodeCharacter{00A1}{\exclamdown}
- \DeclareUnicodeCharacter{00A3}{\pounds}
- \DeclareUnicodeCharacter{00A8}{\"{ }}
- \DeclareUnicodeCharacter{00A9}{\copyright}
- \DeclareUnicodeCharacter{00AA}{\ordf}
- \DeclareUnicodeCharacter{00AB}{\guillemetleft}
- \DeclareUnicodeCharacter{00AD}{\-}
- \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
- \DeclareUnicodeCharacter{00AF}{\={ }}
-
- \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
- \DeclareUnicodeCharacter{00B4}{\'{ }}
- \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
- \DeclareUnicodeCharacter{00BA}{\ordm}
- \DeclareUnicodeCharacter{00BB}{\guillemetright}
- \DeclareUnicodeCharacter{00BF}{\questiondown}
-
- \DeclareUnicodeCharacter{00C0}{\`A}
- \DeclareUnicodeCharacter{00C1}{\'A}
- \DeclareUnicodeCharacter{00C2}{\^A}
- \DeclareUnicodeCharacter{00C3}{\~A}
- \DeclareUnicodeCharacter{00C4}{\"A}
- \DeclareUnicodeCharacter{00C5}{\AA}
- \DeclareUnicodeCharacter{00C6}{\AE}
- \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
- \DeclareUnicodeCharacter{00C8}{\`E}
- \DeclareUnicodeCharacter{00C9}{\'E}
- \DeclareUnicodeCharacter{00CA}{\^E}
- \DeclareUnicodeCharacter{00CB}{\"E}
- \DeclareUnicodeCharacter{00CC}{\`I}
- \DeclareUnicodeCharacter{00CD}{\'I}
- \DeclareUnicodeCharacter{00CE}{\^I}
- \DeclareUnicodeCharacter{00CF}{\"I}
-
- \DeclareUnicodeCharacter{00D0}{\DH}
- \DeclareUnicodeCharacter{00D1}{\~N}
- \DeclareUnicodeCharacter{00D2}{\`O}
- \DeclareUnicodeCharacter{00D3}{\'O}
- \DeclareUnicodeCharacter{00D4}{\^O}
- \DeclareUnicodeCharacter{00D5}{\~O}
- \DeclareUnicodeCharacter{00D6}{\"O}
- \DeclareUnicodeCharacter{00D8}{\O}
- \DeclareUnicodeCharacter{00D9}{\`U}
- \DeclareUnicodeCharacter{00DA}{\'U}
- \DeclareUnicodeCharacter{00DB}{\^U}
- \DeclareUnicodeCharacter{00DC}{\"U}
- \DeclareUnicodeCharacter{00DD}{\'Y}
- \DeclareUnicodeCharacter{00DE}{\TH}
- \DeclareUnicodeCharacter{00DF}{\ss}
-
- \DeclareUnicodeCharacter{00E0}{\`a}
- \DeclareUnicodeCharacter{00E1}{\'a}
- \DeclareUnicodeCharacter{00E2}{\^a}
- \DeclareUnicodeCharacter{00E3}{\~a}
- \DeclareUnicodeCharacter{00E4}{\"a}
- \DeclareUnicodeCharacter{00E5}{\aa}
- \DeclareUnicodeCharacter{00E6}{\ae}
- \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
- \DeclareUnicodeCharacter{00E8}{\`e}
- \DeclareUnicodeCharacter{00E9}{\'e}
- \DeclareUnicodeCharacter{00EA}{\^e}
- \DeclareUnicodeCharacter{00EB}{\"e}
- \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
- \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
- \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
- \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
-
- \DeclareUnicodeCharacter{00F0}{\dh}
- \DeclareUnicodeCharacter{00F1}{\~n}
- \DeclareUnicodeCharacter{00F2}{\`o}
- \DeclareUnicodeCharacter{00F3}{\'o}
- \DeclareUnicodeCharacter{00F4}{\^o}
- \DeclareUnicodeCharacter{00F5}{\~o}
- \DeclareUnicodeCharacter{00F6}{\"o}
- \DeclareUnicodeCharacter{00F8}{\o}
- \DeclareUnicodeCharacter{00F9}{\`u}
- \DeclareUnicodeCharacter{00FA}{\'u}
- \DeclareUnicodeCharacter{00FB}{\^u}
- \DeclareUnicodeCharacter{00FC}{\"u}
- \DeclareUnicodeCharacter{00FD}{\'y}
- \DeclareUnicodeCharacter{00FE}{\th}
- \DeclareUnicodeCharacter{00FF}{\"y}
-
- \DeclareUnicodeCharacter{0100}{\=A}
- \DeclareUnicodeCharacter{0101}{\=a}
- \DeclareUnicodeCharacter{0102}{\u{A}}
- \DeclareUnicodeCharacter{0103}{\u{a}}
- \DeclareUnicodeCharacter{0104}{\ogonek{A}}
- \DeclareUnicodeCharacter{0105}{\ogonek{a}}
- \DeclareUnicodeCharacter{0106}{\'C}
- \DeclareUnicodeCharacter{0107}{\'c}
- \DeclareUnicodeCharacter{0108}{\^C}
- \DeclareUnicodeCharacter{0109}{\^c}
- \DeclareUnicodeCharacter{0118}{\ogonek{E}}
- \DeclareUnicodeCharacter{0119}{\ogonek{e}}
- \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
- \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
- \DeclareUnicodeCharacter{010C}{\v{C}}
- \DeclareUnicodeCharacter{010D}{\v{c}}
- \DeclareUnicodeCharacter{010E}{\v{D}}
-
- \DeclareUnicodeCharacter{0112}{\=E}
- \DeclareUnicodeCharacter{0113}{\=e}
- \DeclareUnicodeCharacter{0114}{\u{E}}
- \DeclareUnicodeCharacter{0115}{\u{e}}
- \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
- \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
- \DeclareUnicodeCharacter{011A}{\v{E}}
- \DeclareUnicodeCharacter{011B}{\v{e}}
- \DeclareUnicodeCharacter{011C}{\^G}
- \DeclareUnicodeCharacter{011D}{\^g}
- \DeclareUnicodeCharacter{011E}{\u{G}}
- \DeclareUnicodeCharacter{011F}{\u{g}}
-
- \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
- \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
- \DeclareUnicodeCharacter{0124}{\^H}
- \DeclareUnicodeCharacter{0125}{\^h}
- \DeclareUnicodeCharacter{0128}{\~I}
- \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
- \DeclareUnicodeCharacter{012A}{\=I}
- \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
- \DeclareUnicodeCharacter{012C}{\u{I}}
- \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
-
- \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
- \DeclareUnicodeCharacter{0131}{\dotless{i}}
- \DeclareUnicodeCharacter{0132}{IJ}
- \DeclareUnicodeCharacter{0133}{ij}
- \DeclareUnicodeCharacter{0134}{\^J}
- \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
- \DeclareUnicodeCharacter{0139}{\'L}
- \DeclareUnicodeCharacter{013A}{\'l}
-
- \DeclareUnicodeCharacter{0141}{\L}
- \DeclareUnicodeCharacter{0142}{\l}
- \DeclareUnicodeCharacter{0143}{\'N}
- \DeclareUnicodeCharacter{0144}{\'n}
- \DeclareUnicodeCharacter{0147}{\v{N}}
- \DeclareUnicodeCharacter{0148}{\v{n}}
- \DeclareUnicodeCharacter{014C}{\=O}
- \DeclareUnicodeCharacter{014D}{\=o}
- \DeclareUnicodeCharacter{014E}{\u{O}}
- \DeclareUnicodeCharacter{014F}{\u{o}}
-
- \DeclareUnicodeCharacter{0150}{\H{O}}
- \DeclareUnicodeCharacter{0151}{\H{o}}
- \DeclareUnicodeCharacter{0152}{\OE}
- \DeclareUnicodeCharacter{0153}{\oe}
- \DeclareUnicodeCharacter{0154}{\'R}
- \DeclareUnicodeCharacter{0155}{\'r}
- \DeclareUnicodeCharacter{0158}{\v{R}}
- \DeclareUnicodeCharacter{0159}{\v{r}}
- \DeclareUnicodeCharacter{015A}{\'S}
- \DeclareUnicodeCharacter{015B}{\'s}
- \DeclareUnicodeCharacter{015C}{\^S}
- \DeclareUnicodeCharacter{015D}{\^s}
- \DeclareUnicodeCharacter{015E}{\cedilla{S}}
- \DeclareUnicodeCharacter{015F}{\cedilla{s}}
-
- \DeclareUnicodeCharacter{0160}{\v{S}}
- \DeclareUnicodeCharacter{0161}{\v{s}}
- \DeclareUnicodeCharacter{0162}{\cedilla{t}}
- \DeclareUnicodeCharacter{0163}{\cedilla{T}}
- \DeclareUnicodeCharacter{0164}{\v{T}}
-
- \DeclareUnicodeCharacter{0168}{\~U}
- \DeclareUnicodeCharacter{0169}{\~u}
- \DeclareUnicodeCharacter{016A}{\=U}
- \DeclareUnicodeCharacter{016B}{\=u}
- \DeclareUnicodeCharacter{016C}{\u{U}}
- \DeclareUnicodeCharacter{016D}{\u{u}}
- \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
- \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
-
- \DeclareUnicodeCharacter{0170}{\H{U}}
- \DeclareUnicodeCharacter{0171}{\H{u}}
- \DeclareUnicodeCharacter{0174}{\^W}
- \DeclareUnicodeCharacter{0175}{\^w}
- \DeclareUnicodeCharacter{0176}{\^Y}
- \DeclareUnicodeCharacter{0177}{\^y}
- \DeclareUnicodeCharacter{0178}{\"Y}
- \DeclareUnicodeCharacter{0179}{\'Z}
- \DeclareUnicodeCharacter{017A}{\'z}
- \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
- \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
- \DeclareUnicodeCharacter{017D}{\v{Z}}
- \DeclareUnicodeCharacter{017E}{\v{z}}
-
- \DeclareUnicodeCharacter{01C4}{D\v{Z}}
- \DeclareUnicodeCharacter{01C5}{D\v{z}}
- \DeclareUnicodeCharacter{01C6}{d\v{z}}
- \DeclareUnicodeCharacter{01C7}{LJ}
- \DeclareUnicodeCharacter{01C8}{Lj}
- \DeclareUnicodeCharacter{01C9}{lj}
- \DeclareUnicodeCharacter{01CA}{NJ}
- \DeclareUnicodeCharacter{01CB}{Nj}
- \DeclareUnicodeCharacter{01CC}{nj}
- \DeclareUnicodeCharacter{01CD}{\v{A}}
- \DeclareUnicodeCharacter{01CE}{\v{a}}
- \DeclareUnicodeCharacter{01CF}{\v{I}}
-
- \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
- \DeclareUnicodeCharacter{01D1}{\v{O}}
- \DeclareUnicodeCharacter{01D2}{\v{o}}
- \DeclareUnicodeCharacter{01D3}{\v{U}}
- \DeclareUnicodeCharacter{01D4}{\v{u}}
-
- \DeclareUnicodeCharacter{01E2}{\={\AE}}
- \DeclareUnicodeCharacter{01E3}{\={\ae}}
- \DeclareUnicodeCharacter{01E6}{\v{G}}
- \DeclareUnicodeCharacter{01E7}{\v{g}}
- \DeclareUnicodeCharacter{01E8}{\v{K}}
- \DeclareUnicodeCharacter{01E9}{\v{k}}
-
- \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
- \DeclareUnicodeCharacter{01F1}{DZ}
- \DeclareUnicodeCharacter{01F2}{Dz}
- \DeclareUnicodeCharacter{01F3}{dz}
- \DeclareUnicodeCharacter{01F4}{\'G}
- \DeclareUnicodeCharacter{01F5}{\'g}
- \DeclareUnicodeCharacter{01F8}{\`N}
- \DeclareUnicodeCharacter{01F9}{\`n}
- \DeclareUnicodeCharacter{01FC}{\'{\AE}}
- \DeclareUnicodeCharacter{01FD}{\'{\ae}}
- \DeclareUnicodeCharacter{01FE}{\'{\O}}
- \DeclareUnicodeCharacter{01FF}{\'{\o}}
-
- \DeclareUnicodeCharacter{021E}{\v{H}}
- \DeclareUnicodeCharacter{021F}{\v{h}}
-
- \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
- \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
- \DeclareUnicodeCharacter{0228}{\cedilla{E}}
- \DeclareUnicodeCharacter{0229}{\cedilla{e}}
- \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
- \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
-
- \DeclareUnicodeCharacter{0232}{\=Y}
- \DeclareUnicodeCharacter{0233}{\=y}
- \DeclareUnicodeCharacter{0237}{\dotless{j}}
-
- \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
-
- \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
- \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
- \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
- \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
- \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
- \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
- \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
- \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
- \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
- \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
- \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
- \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
-
- \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
- \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
-
- \DeclareUnicodeCharacter{1E20}{\=G}
- \DeclareUnicodeCharacter{1E21}{\=g}
- \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
- \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
- \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
- \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
- \DeclareUnicodeCharacter{1E26}{\"H}
- \DeclareUnicodeCharacter{1E27}{\"h}
-
- \DeclareUnicodeCharacter{1E30}{\'K}
- \DeclareUnicodeCharacter{1E31}{\'k}
- \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
- \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
- \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
- \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
- \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
- \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
- \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
- \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
- \DeclareUnicodeCharacter{1E3E}{\'M}
- \DeclareUnicodeCharacter{1E3F}{\'m}
-
- \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
- \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
- \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
- \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
- \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
- \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
- \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
- \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
- \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
- \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
-
- \DeclareUnicodeCharacter{1E54}{\'P}
- \DeclareUnicodeCharacter{1E55}{\'p}
- \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
- \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
- \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
- \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
- \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
- \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
- \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
- \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
-
- \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
- \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
- \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
- \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
- \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
- \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
- \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
- \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
- \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
- \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
-
- \DeclareUnicodeCharacter{1E7C}{\~V}
- \DeclareUnicodeCharacter{1E7D}{\~v}
- \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
- \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
-
- \DeclareUnicodeCharacter{1E80}{\`W}
- \DeclareUnicodeCharacter{1E81}{\`w}
- \DeclareUnicodeCharacter{1E82}{\'W}
- \DeclareUnicodeCharacter{1E83}{\'w}
- \DeclareUnicodeCharacter{1E84}{\"W}
- \DeclareUnicodeCharacter{1E85}{\"w}
- \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
- \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
- \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
- \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
- \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
- \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
- \DeclareUnicodeCharacter{1E8C}{\"X}
- \DeclareUnicodeCharacter{1E8D}{\"x}
- \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
- \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
-
- \DeclareUnicodeCharacter{1E90}{\^Z}
- \DeclareUnicodeCharacter{1E91}{\^z}
- \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
- \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
- \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
- \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
- \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
- \DeclareUnicodeCharacter{1E97}{\"t}
- \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
- \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
-
- \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
- \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
-
- \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
- \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
- \DeclareUnicodeCharacter{1EBC}{\~E}
- \DeclareUnicodeCharacter{1EBD}{\~e}
-
- \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
- \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
- \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
- \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
-
- \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
- \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
-
- \DeclareUnicodeCharacter{1EF2}{\`Y}
- \DeclareUnicodeCharacter{1EF3}{\`y}
- \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
-
- \DeclareUnicodeCharacter{1EF8}{\~Y}
- \DeclareUnicodeCharacter{1EF9}{\~y}
-
- \DeclareUnicodeCharacter{2013}{--}
- \DeclareUnicodeCharacter{2014}{---}
- \DeclareUnicodeCharacter{2018}{\quoteleft}
- \DeclareUnicodeCharacter{2019}{\quoteright}
- \DeclareUnicodeCharacter{201A}{\quotesinglbase}
- \DeclareUnicodeCharacter{201C}{\quotedblleft}
- \DeclareUnicodeCharacter{201D}{\quotedblright}
- \DeclareUnicodeCharacter{201E}{\quotedblbase}
- \DeclareUnicodeCharacter{2022}{\bullet}
- \DeclareUnicodeCharacter{2026}{\dots}
- \DeclareUnicodeCharacter{2039}{\guilsinglleft}
- \DeclareUnicodeCharacter{203A}{\guilsinglright}
- \DeclareUnicodeCharacter{20AC}{\euro}
-
- \DeclareUnicodeCharacter{2192}{\expansion}
- \DeclareUnicodeCharacter{21D2}{\result}
-
- \DeclareUnicodeCharacter{2212}{\minus}
- \DeclareUnicodeCharacter{2217}{\point}
- \DeclareUnicodeCharacter{2261}{\equiv}
-}% end of \utfeightchardefs
-
-
-% US-ASCII character definitions.
-\def\asciichardefs{% nothing need be done
- \relax
-}
-
-% Make non-ASCII characters printable again for compatibility with
-% existing Texinfo documents that may use them, even without declaring a
-% document encoding.
-%
-\setnonasciicharscatcode \other
-
-
-\message{formatting,}
-
-\newdimen\defaultparindent \defaultparindent = 15pt
-
-\chapheadingskip = 15pt plus 4pt minus 2pt
-\secheadingskip = 12pt plus 3pt minus 2pt
-\subsecheadingskip = 9pt plus 2pt minus 2pt
-
-% Prevent underfull vbox error messages.
-\vbadness = 10000
-
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
-
-% Following George Bush, get rid of widows and orphans.
-\widowpenalty=10000
-\clubpenalty=10000
-
-% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-% using an old version of TeX, don't do anything. We want the amount of
-% stretch added to depend on the line length, hence the dependence on
-% \hsize. We call this whenever the paper size is set.
-%
-\def\setemergencystretch{%
- \ifx\emergencystretch\thisisundefined
- % Allow us to assign to \emergencystretch anyway.
- \def\emergencystretch{\dimen0}%
- \else
- \emergencystretch = .15\hsize
- \fi
-}
-
-% Parameters in order: 1) textheight; 2) textwidth;
-% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
-% 7) physical page height; 8) physical page width.
-%
-% We also call \setleading{\textleading}, so the caller should define
-% \textleading. The caller should also set \parskip.
-%
-\def\internalpagesizes#1#2#3#4#5#6#7#8{%
- \voffset = #3\relax
- \topskip = #6\relax
- \splittopskip = \topskip
- %
- \vsize = #1\relax
- \advance\vsize by \topskip
- \outervsize = \vsize
- \advance\outervsize by 2\topandbottommargin
- \pageheight = \vsize
- %
- \hsize = #2\relax
- \outerhsize = \hsize
- \advance\outerhsize by 0.5in
- \pagewidth = \hsize
- %
- \normaloffset = #4\relax
- \bindingoffset = #5\relax
- %
- \ifpdf
- \pdfpageheight #7\relax
- \pdfpagewidth #8\relax
- % if we don't reset these, they will remain at "1 true in" of
- % whatever layout pdftex was dumped with.
- \pdfhorigin = 1 true in
- \pdfvorigin = 1 true in
- \fi
- %
- \setleading{\textleading}
- %
- \parindent = \defaultparindent
- \setemergencystretch
-}
-
-% @letterpaper (the default).
-\def\letterpaper{{\globaldefs = 1
- \parskip = 3pt plus 2pt minus 1pt
- \textleading = 13.2pt
- %
- % If page is nothing but text, make it come out even.
- \internalpagesizes{607.2pt}{6in}% that's 46 lines
- {\voffset}{.25in}%
- {\bindingoffset}{36pt}%
- {11in}{8.5in}%
-}}
-
-% Use @smallbook to reset parameters for 7x9.25 trim size.
-\def\smallbook{{\globaldefs = 1
- \parskip = 2pt plus 1pt
- \textleading = 12pt
- %
- \internalpagesizes{7.5in}{5in}%
- {-.2in}{0in}%
- {\bindingoffset}{16pt}%
- {9.25in}{7in}%
- %
- \lispnarrowing = 0.3in
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = .5cm
-}}
-
-% Use @smallerbook to reset parameters for 6x9 trim size.
-% (Just testing, parameters still in flux.)
-\def\smallerbook{{\globaldefs = 1
- \parskip = 1.5pt plus 1pt
- \textleading = 12pt
- %
- \internalpagesizes{7.4in}{4.8in}%
- {-.2in}{-.4in}%
- {0pt}{14pt}%
- {9in}{6in}%
- %
- \lispnarrowing = 0.25in
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = .4cm
-}}
-
-% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{{\globaldefs = 1
- \parskip = 3pt plus 2pt minus 1pt
- \textleading = 13.2pt
- %
- % Double-side printing via postscript on Laserjet 4050
- % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
- % To change the settings for a different printer or situation, adjust
- % \normaloffset until the front-side and back-side texts align. Then
- % do the same for \bindingoffset. You can set these for testing in
- % your texinfo source file like this:
- % @tex
- % \global\normaloffset = -6mm
- % \global\bindingoffset = 10mm
- % @end tex
- \internalpagesizes{673.2pt}{160mm}% that's 51 lines
- {\voffset}{\hoffset}%
- {\bindingoffset}{44pt}%
- {297mm}{210mm}%
- %
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = 5mm
-}}
-
-% Use @afivepaper to print on European A5 paper.
-% From romildo@urano.iceb.ufop.br, 2 July 2000.
-% He also recommends making @example and @lisp be small.
-\def\afivepaper{{\globaldefs = 1
- \parskip = 2pt plus 1pt minus 0.1pt
- \textleading = 12.5pt
- %
- \internalpagesizes{160mm}{120mm}%
- {\voffset}{\hoffset}%
- {\bindingoffset}{8pt}%
- {210mm}{148mm}%
- %
- \lispnarrowing = 0.2in
- \tolerance = 800
- \hfuzz = 1.2pt
- \contentsrightmargin = 0pt
- \defbodyindent = 2mm
- \tableindent = 12mm
-}}
-
-% A specific text layout, 24x15cm overall, intended for A4 paper.
-\def\afourlatex{{\globaldefs = 1
- \afourpaper
- \internalpagesizes{237mm}{150mm}%
- {\voffset}{4.6mm}%
- {\bindingoffset}{7mm}%
- {297mm}{210mm}%
- %
- % Must explicitly reset to 0 because we call \afourpaper.
- \globaldefs = 0
-}}
-
-% Use @afourwide to print on A4 paper in landscape format.
-\def\afourwide{{\globaldefs = 1
- \afourpaper
- \internalpagesizes{241mm}{165mm}%
- {\voffset}{-2.95mm}%
- {\bindingoffset}{7mm}%
- {297mm}{210mm}%
- \globaldefs = 0
-}}
-
-% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-% Perhaps we should allow setting the margins, \topskip, \parskip,
-% and/or leading, also. Or perhaps we should compute them somehow.
-%
-\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
-\def\pagesizesyyy#1,#2,#3\finish{{%
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
- \globaldefs = 1
- %
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{\textleading}%
- %
- \dimen0 = #1\relax
- \advance\dimen0 by \voffset
- %
- \dimen2 = \hsize
- \advance\dimen2 by \normaloffset
- %
- \internalpagesizes{#1}{\hsize}%
- {\voffset}{\normaloffset}%
- {\bindingoffset}{44pt}%
- {\dimen0}{\dimen2}%
-}}
-
-% Set default to letter.
-%
-\letterpaper
-
-
-\message{and turning on texinfo input format.}
-
-% DEL is a comment character, in case @c does not suffice.
-\catcode`\^^? = 14
-
-% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}%$ font-lock fix
-
-% This macro is used to make a character print one way in \tt
-% (where it can probably be output as-is), and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise. Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-%
-\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-
-% Same as above, but check for italic font. Actually this also catches
-% non-italic slanted fonts since it is impossible to distinguish them from
-% italic fonts. But since this is only used by $ and it uses \sl anyway
-% this is not a problem.
-\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
-% Most of these we simply print from the \tt font, but for some, we can
-% use math or other variants that look better in normal text.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt\char34}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-
-\catcode`\_=\active
-\def_{\ifusingtt\normalunderscore\_}
-\let\realunder=_
-% Subroutine for the previous macro.
-\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
-
-\catcode`\|=\active
-\def|{{\tt\char124}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-
-% If a .fmt file is being used, characters that might appear in a file
-% name cannot be active until we have parsed the command line.
-% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-% \otherifyactive is called near the end of this file.
-\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
-
-% Used sometimes to turn off (effectively) the active characters even after
-% parsing them.
-\def\turnoffactive{%
- \normalturnoffactive
- \otherbackslash
-}
-
-\catcode`\@=0
-
-% \backslashcurfont outputs one backslash character in current font,
-% as in \char`\\.
-\global\chardef\backslashcurfont=`\\
-\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work
-
-% \realbackslash is an actual character `\' with catcode other, and
-% \doublebackslash is two of them (for the pdf outlines).
-{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
-
-% In texinfo, backslash is an active character; it prints the backslash
-% in fixed width font.
-\catcode`\\=\active
-@def@normalbackslash{{@tt@backslashcurfont}}
-% On startup, @fixbackslash assigns:
-% @let \ = @normalbackslash
-
-% \rawbackslash defines an active \ to do \backslashcurfont.
-% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
-@gdef@rawbackslash{@let\=@backslashcurfont}
-@gdef@otherbackslash{@let\=@realbackslash}
-
-% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.
-%
-@def@normalturnoffactive{%
- @let\=@normalbackslash
- @let"=@normaldoublequote
- @let~=@normaltilde
- @let^=@normalcaret
- @let_=@normalunderscore
- @let|=@normalverticalbar
- @let<=@normalless
- @let>=@normalgreater
- @let+=@normalplus
- @let$=@normaldollar %$ font-lock fix
- @markupsetuplqdefault
- @markupsetuprqdefault
- @unsepspaces
-}
-
-% Make _ and + \other characters, temporarily.
-% This is canceled by @fixbackslash.
-@otherifyactive
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\' in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-% Also turn back on active characters that might appear in the input
-% file name, in case not using a pre-dumped format.
-%
-@gdef@fixbackslash{%
- @ifx\@eatinput @let\ = @normalbackslash @fi
- @catcode`+=@active
- @catcode`@_=@active
-}
-
-% Say @foo, not \foo, in error messages.
-@escapechar = `@@
-
-% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
-
-@c Finally, make ` and ' active, so that txicodequoteundirected and
-@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
-@c don't make ` and ' active, @code will not get them as active chars.
-@c Do this last of all since we use ` in the previous @catcode assignments.
-@catcode`@'=@active
-@catcode`@`=@active
-@markupsetuplqdefault
-@markupsetuprqdefault
-
-@c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c page-delimiter: "^\\\\message"
-@c time-stamp-start: "def\\\\texinfoversion{"
-@c time-stamp-format: "%:y-%02m-%02d.%02H"
-@c time-stamp-end: "}"
-@c End:
-
-@c vim:sw=2:
-
-@ignore
- arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
-@end ignore
diff --git a/sources/host-tools/sed-4.2.1/config_h.in b/sources/host-tools/sed-4.2.1/config_h.in
deleted file mode 100644
index d68b829..0000000
--- a/sources/host-tools/sed-4.2.1/config_h.in
+++ /dev/null
@@ -1,808 +0,0 @@
-/* config_h.in. Generated from configure.ac by autoheader. */
-
-/* Define if the compiler is building for multiple architectures of Apple
- platforms at once. */
-#undef AA_APPLE_UNIVERSAL_BUILD
-
-/* Define to the number of bits in type 'ptrdiff_t'. */
-#undef BITSIZEOF_PTRDIFF_T
-
-/* Define to the number of bits in type 'sig_atomic_t'. */
-#undef BITSIZEOF_SIG_ATOMIC_T
-
-/* Define to the number of bits in type 'size_t'. */
-#undef BITSIZEOF_SIZE_T
-
-/* Define to the number of bits in type 'wchar_t'. */
-#undef BITSIZEOF_WCHAR_T
-
-/* Define to the number of bits in type 'wint_t'. */
-#undef BITSIZEOF_WINT_T
-
-/* Define to the copyright year printed by --version. */
-#undef COPYRIGHT_YEAR
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to 1 if // is a file system root distinct from /. */
-#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
-
-/* Follow symlinks when processing in place */
-#undef ENABLE_FOLLOW_SYMLINKS
-
-/* Define to 1 if translation of program messages to the user's native
- language is requested. */
-#undef ENABLE_NLS
-
-/* Define on systems for which file names may have a so-called `drive letter'
- prefix, define this to compute the length of that prefix, including the
- colon. */
-#undef FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
-
-/* Define if the backslash character may also serve as a file name component
- separator. */
-#undef FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
-
-/* Define if a drive letter prefix denotes a relative path if it is not
- followed by a file name component separator. */
-#undef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
-
-/* Define if gettimeofday clobbers the localtime buffer. */
-#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
-
-/* Define to indicate the 'malloc' module. */
-#undef GNULIB_MALLOC_GNU
-
-/* Define to 1 if you have the `acl' function. */
-#undef HAVE_ACL
-
-/* Define to 1 if you have the `aclx_get' function. */
-#undef HAVE_ACLX_GET
-
-/* Define to 1 if you have the `acl_copy_ext_native' function. */
-#undef HAVE_ACL_COPY_EXT_NATIVE
-
-/* Define to 1 if you have the `acl_create_entry_np' function. */
-#undef HAVE_ACL_CREATE_ENTRY_NP
-
-/* Define to 1 if you have the `acl_delete_def_file' function. */
-#undef HAVE_ACL_DELETE_DEF_FILE
-
-/* Define to 1 if you have the `acl_delete_fd_np' function. */
-#undef HAVE_ACL_DELETE_FD_NP
-
-/* Define to 1 if you have the `acl_delete_file_np' function. */
-#undef HAVE_ACL_DELETE_FILE_NP
-
-/* Define to 1 if you have the `acl_entries' function. */
-#undef HAVE_ACL_ENTRIES
-
-/* Define to 1 if you have the `acl_extended_file' function. */
-#undef HAVE_ACL_EXTENDED_FILE
-
-/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */
-#undef HAVE_ACL_FIRST_ENTRY
-
-/* Define to 1 if you have the `acl_free' function. */
-#undef HAVE_ACL_FREE
-
-/* Define to 1 if you have the `acl_free_text' function. */
-#undef HAVE_ACL_FREE_TEXT
-
-/* Define to 1 if you have the `acl_from_mode' function. */
-#undef HAVE_ACL_FROM_MODE
-
-/* Define to 1 if you have the `acl_from_text' function. */
-#undef HAVE_ACL_FROM_TEXT
-
-/* Define to 1 if you have the `acl_get_fd' function. */
-#undef HAVE_ACL_GET_FD
-
-/* Define to 1 if you have the `acl_get_file' function. */
-#undef HAVE_ACL_GET_FILE
-
-/* Define to 1 if you have the <acl/libacl.h> header file. */
-#undef HAVE_ACL_LIBACL_H
-
-/* Define to 1 if you have the `acl_set_fd' function. */
-#undef HAVE_ACL_SET_FD
-
-/* Define to 1 if you have the `acl_set_file' function. */
-#undef HAVE_ACL_SET_FILE
-
-/* Define to 1 if you have the `acl_to_short_text' function. */
-#undef HAVE_ACL_TO_SHORT_TEXT
-
-/* Define to 1 if you have the `acl_trivial' function. */
-#undef HAVE_ACL_TRIVIAL
-
-/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */
-#undef HAVE_ACL_TYPE_EXTENDED
-
-/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
- may be supplied by this distribution. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have the <alloca.h> header file. */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the `bcopy' function. */
-#undef HAVE_BCOPY
-
-/* Define to 1 if you have the <bp-sym.h> header file. */
-#undef HAVE_BP_SYM_H
-
-/* Define to 1 if you have the `btowc' function. */
-#undef HAVE_BTOWC
-
-/* Define to 1 if you have the `bzero' function. */
-#undef HAVE_BZERO
-
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
- CoreFoundation framework. */
-#undef HAVE_CFLOCALECOPYCURRENT
-
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
- the CoreFoundation framework. */
-#undef HAVE_CFPREFERENCESCOPYAPPVALUE
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-#undef HAVE_DCGETTEXT
-
-/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_CLEARERR_UNLOCKED
-
-/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
- don't. */
-#undef HAVE_DECL_FEOF_UNLOCKED
-
-/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FERROR_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FFLUSH_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FGETS_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FPUTC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FPUTS_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FREAD_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_FWRITE_UNLOCKED
-
-/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_GETCHAR_UNLOCKED
-
-/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
- don't. */
-#undef HAVE_DECL_GETC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `getdelim', and to 0 if you
- don't. */
-#undef HAVE_DECL_GETDELIM
-
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
- */
-#undef HAVE_DECL_GETENV
-
-/* Define to 1 if you have the declaration of `getline', and to 0 if you
- don't. */
-#undef HAVE_DECL_GETLINE
-
-/* Define to 1 if you have the declaration of `isblank', and to 0 if you
- don't. */
-#undef HAVE_DECL_ISBLANK
-
-/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
- you don't. */
-#undef HAVE_DECL_PUTCHAR_UNLOCKED
-
-/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
- don't. */
-#undef HAVE_DECL_PUTC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `strerror', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRERROR
-
-/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRERROR_R
-
-/* Define to 1 if you have the declaration of `strndup', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRNDUP
-
-/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRNLEN
-
-/* Define to 1 if you have the declaration of `wctob', and to 0 if you don't.
- */
-#undef HAVE_DECL_WCTOB
-
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
- */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define to 1 if you have the `fchmod' function. */
-#undef HAVE_FCHMOD
-
-/* Define to 1 if you have the `fchown' function. */
-#undef HAVE_FCHOWN
-
-/* Define to 1 if you have the `flockfile' function. */
-#undef HAVE_FLOCKFILE
-
-/* Define to 1 if you have the `funlockfile' function. */
-#undef HAVE_FUNLOCKFILE
-
-/* Define to 1 if you have the `getacl' function. */
-#undef HAVE_GETACL
-
-/* Define to 1 if you have the `getdelim' function. */
-#undef HAVE_GETDELIM
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define to 1 if you have the `getopt_long_only' function. */
-#undef HAVE_GETOPT_LONG_ONLY
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define if you have the iconv() function and it works. */
-#undef HAVE_ICONV
-
-/* Define to 1 if the compiler supports one of the keywords 'inline',
- '__inline__', '__inline' and effectively inlines functions marked as such.
- */
-#undef HAVE_INLINE
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
-/* Define to 1 if you have the `isascii' function. */
-#undef HAVE_ISASCII
-
-/* Define to 1 if you have the `isatty' function. */
-#undef HAVE_ISATTY
-
-/* Define to 1 if you have the `isblank' function. */
-#undef HAVE_ISBLANK
-
-/* Define to 1 if you have the `iswcntrl' function. */
-#undef HAVE_ISWCNTRL
-
-/* Define to 1 if you have the `iswctype' function. */
-#undef HAVE_ISWCTYPE
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define to 1 if you have the <libintl.h> header file. */
-#undef HAVE_LIBINTL_H
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if you support file names longer than 14 characters. */
-#undef HAVE_LONG_FILE_NAMES
-
-/* Define to 1 if the system has the type `long long int'. */
-#undef HAVE_LONG_LONG_INT
-
-/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
- to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define if the 'malloc' function is POSIX compliant. */
-#undef HAVE_MALLOC_POSIX
-
-/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
- config.h and <sys/mman.h>. */
-#undef HAVE_MAP_ANONYMOUS
-
-/* Define to 1 if you have the `mbrlen' function. */
-#undef HAVE_MBRLEN
-
-/* Define to 1 if you have the `mbrtowc' function. */
-#undef HAVE_MBRTOWC
-
-/* Define to 1 if you have the `mbsinit' function. */
-#undef HAVE_MBSINIT
-
-/* Define to 1 if <wchar.h> declares mbstate_t. */
-#undef HAVE_MBSTATE_T
-
-/* Define to 1 if you have the <mcheck.h> header file. */
-#undef HAVE_MCHECK_H
-
-/* Define to 1 if you have the `memchr' function. */
-#undef HAVE_MEMCHR
-
-/* Define to 1 if you have the `memcpy' function. */
-#undef HAVE_MEMCPY
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
-/* Define to 1 if you have the `mprotect' function. */
-#undef HAVE_MPROTECT
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-#undef HAVE_NDIR_H
-
-/* Define to 1 if libc includes obstacks. */
-#undef HAVE_OBSTACK
-
-/* Define to 1 if you have the <OS.h> header file. */
-#undef HAVE_OS_H
-
-/* Define to 1 if you have the `pathconf' function. */
-#undef HAVE_PATHCONF
-
-/* Define to 1 if you have the `popen' function. */
-#undef HAVE_POPEN
-
-/* Define to 1 if you have the <random.h> header file. */
-#undef HAVE_RANDOM_H
-
-/* Define if the 'realloc' function is POSIX compliant. */
-#undef HAVE_REALLOC_POSIX
-
-/* Define to 1 if you have the <selinux/context.h> header file. */
-#undef HAVE_SELINUX_CONTEXT_H
-
-/* Define to 1 if you have the <selinux/selinux.h> header file. */
-#undef HAVE_SELINUX_SELINUX_H
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
-#undef HAVE_SIGNED_SIG_ATOMIC_T
-
-/* Define to 1 if 'wchar_t' is a signed integer type. */
-#undef HAVE_SIGNED_WCHAR_T
-
-/* Define to 1 if 'wint_t' is a signed integer type. */
-#undef HAVE_SIGNED_WINT_T
-
-/* Define to 1 if you have the `statacl' function. */
-#undef HAVE_STATACL
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if stdbool.h conforms to C99. */
-#undef HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#undef HAVE_STDDEF_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#undef HAVE_STDIO_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strchr' function. */
-#undef HAVE_STRCHR
-
-/* Define to 1 if you have the `strerror_r' function. */
-#undef HAVE_STRERROR_R
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define if you have the strndup() function and it works. */
-#undef HAVE_STRNDUP
-
-/* Define to 1 if you have the `strtoul' function. */
-#undef HAVE_STRTOUL
-
-/* Define to 1 if the system has the type `struct random_data'. */
-#undef HAVE_STRUCT_RANDOM_DATA
-
-/* Define to 1 if you have the `strverscmp' function. */
-#undef HAVE_STRVERSCMP
-
-/* Define to 1 if you have the <sys/acl.h> header file. */
-#undef HAVE_SYS_ACL_H
-
-/* Define to 1 if you have the <sys/bitypes.h> header file. */
-#undef HAVE_SYS_BITYPES_H
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_DIR_H
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
-
-/* Define to 1 if you have the <sys/inttypes.h> header file. */
-#undef HAVE_SYS_INTTYPES_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_NDIR_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if the system has the type `unsigned long long int'. */
-#undef HAVE_UNSIGNED_LONG_LONG_INT
-
-/* Define to 1 if you have the `vprintf' function. */
-#undef HAVE_VPRINTF
-
-/* Define to 1 if you have the <wchar.h> header file. */
-#undef HAVE_WCHAR_H
-
-/* Define to 1 if you have the `wcrtomb' function. */
-#undef HAVE_WCRTOMB
-
-/* Define to 1 if you have the `wcscoll' function. */
-#undef HAVE_WCSCOLL
-
-/* Define to 1 if you have the `wctob' function. */
-#undef HAVE_WCTOB
-
-/* Define to 1 if you have the <wctype.h> header file. */
-#undef HAVE_WCTYPE_H
-
-/* Define to 1 if you have the <winsock2.h> header file. */
-#undef HAVE_WINSOCK2_H
-
-/* Define if you have the 'wint_t' type. */
-#undef HAVE_WINT_T
-
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
-/* Define to 1 if you have the `_ftime' function. */
-#undef HAVE__FTIME
-
-#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#else
-# define ISSLASH(C) ((C) == '/')
-#endif
-
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
- slash. */
-#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
-/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
-#undef MAP_ANONYMOUS
-
-/* Define if the mbrtowc function has the NULL string argument bug. */
-#undef MBRTOWC_NULL_ARG_BUG
-
-/* Define if the mbrtowc function does not return 0 for a NUL character. */
-#undef MBRTOWC_NUL_RETVAL_BUG
-
-/* Define if the mbrtowc function returns a wrong return value. */
-#undef MBRTOWC_RETVAL_BUG
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'ptrdiff_t'. */
-#undef PTRDIFF_T_SUFFIX
-
-/* Define if rename does not work when the destination file exists, as on
- Windows. */
-#undef RENAME_DEST_EXISTS_BUG
-
-/* Define if rename does not work for source file names with a trailing slash,
- like the one from SunOS 4.1.1_U1. */
-#undef RENAME_TRAILING_SLASH_BUG
-
-/* Define this to 1 if strerror is broken. */
-#undef REPLACE_STRERROR
-
-/* Define to the version of GNU sed whose features are supported by this sed.
- */
-#undef SED_FEATURE_VERSION
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'sig_atomic_t'. */
-#undef SIG_ATOMIC_T_SUFFIX
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'size_t'. */
-#undef SIZE_T_SUFFIX
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-#undef STAT_MACROS_BROKEN
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if strerror_r returns char *. */
-#undef STRERROR_R_CHAR_P
-
-/* Define to nonzero if you want access control list support. */
-#undef USE_ACL
-
-/* Define to 1 if you want getc etc. to use unlocked I/O if available.
- Unlocked I/O can improve performance in unithreaded apps, but it is not
- safe for multithreaded apps. */
-#undef USE_UNLOCKED_IO
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'wchar_t'. */
-#undef WCHAR_T_SUFFIX
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'wint_t'. */
-#undef WINT_T_SUFFIX
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define if you want regoff_t to be at least as wide POSIX requires. */
-#undef _REGEX_LARGE_OFFSETS
-
-/* Include BSD functions in regex, used by the testsuite */
-#undef _REGEX_RE_COMP
-
-/* Define to 500 only on HP-UX. */
-#undef _XOPEN_SOURCE
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define to rpl_ if the getopt replacement functions and variables should be
- used. */
-#undef __GETOPT_PREFIX
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to rpl_gmtime if the replacement function should be used. */
-#undef gmtime
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
- the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
- earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
- __APPLE__ && __MACH__ test for MacOS X.
- __APPLE_CC__ tests for the Apple compiler and its version.
- __STDC_VERSION__ tests for the C99 mode. */
-#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
-# define __GNUC_STDC_INLINE__ 1
-#endif
-
-/* Define to rpl_localtime if the replacement function should be used. */
-#undef localtime
-
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
-/* Define to a type if <wchar.h> does not define. */
-#undef mbstate_t
-
-/* Define to the type of st_nlink in struct stat, or a supertype. */
-#undef nlink_t
-
-/* Define to rpl_re_comp if the replacement should be used. */
-#undef re_comp
-
-/* Define to rpl_re_compile_fastmap if the replacement should be used. */
-#undef re_compile_fastmap
-
-/* Define to rpl_re_compile_pattern if the replacement should be used. */
-#undef re_compile_pattern
-
-/* Define to rpl_re_exec if the replacement should be used. */
-#undef re_exec
-
-/* Define to rpl_re_match if the replacement should be used. */
-#undef re_match
-
-/* Define to rpl_re_match_2 if the replacement should be used. */
-#undef re_match_2
-
-/* Define to rpl_re_search if the replacement should be used. */
-#undef re_search
-
-/* Define to rpl_re_search_2 if the replacement should be used. */
-#undef re_search_2
-
-/* Define to rpl_re_set_registers if the replacement should be used. */
-#undef re_set_registers
-
-/* Define to rpl_re_set_syntax if the replacement should be used. */
-#undef re_set_syntax
-
-/* Define to rpl_re_syntax_options if the replacement should be used. */
-#undef re_syntax_options
-
-/* Define to rpl_regcomp if the replacement should be used. */
-#undef regcomp
-
-/* Define to rpl_regerror if the replacement should be used. */
-#undef regerror
-
-/* Define to rpl_regexec if the replacement should be used. */
-#undef regexec
-
-/* Define to rpl_regfree if the replacement should be used. */
-#undef regfree
-
-/* Define to rpl_rename if the replacement function should be used. */
-#undef rename
-
-/* Define to the equivalent of the C99 'restrict' keyword, or to
- nothing if this is not supported. Do not define if restrict is
- supported directly. */
-#undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
- though the corresponding Sun C compiler does, which causes
- "#define restrict _Restrict" in the previous line. Perhaps some future
- version of Sun C++ will work with _Restrict; if so, it'll probably
- define __RESTRICT, just as Sun C does. */
-#if defined __SUNPRO_CC && !defined __RESTRICT
-# define _Restrict
-#endif
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
-
-/* Define to rpl_strnlen if the replacement function should be used. */
-#undef strnlen
-
-/* Define as a marker that can be attached to function parameter declarations
- for parameters that are not used. This helps to reduce warnings, such as
- from GCC -Wunused-parameter. */
-#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
-#else
-# define _UNUSED_PARAMETER_
-#endif
-
diff --git a/sources/host-tools/sed-4.2.1/configure b/sources/host-tools/sed-4.2.1/configure
deleted file mode 100755
index 6dd4972..0000000
--- a/sources/host-tools/sed-4.2.1/configure
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/configure.ac b/sources/host-tools/sed-4.2.1/configure.ac
deleted file mode 100644
index 326f2ff..0000000
--- a/sources/host-tools/sed-4.2.1/configure.ac
+++ /dev/null
@@ -1,176 +0,0 @@
-dnl Process this file with -*- autoconf -*- to produce a configure script.
-AC_INIT(sed, 4.2.1, bug-gnu-utils@gnu.org, sed)
-AC_CONFIG_AUX_DIR(build-aux)
-AC_CONFIG_SRCDIR([sed/sed.c])
-AM_CONFIG_HEADER(config.h:config_h.in)
-AC_PREREQ(2.60)
-AM_INIT_AUTOMAKE
-
-SED_FEATURE_VERSION=4.2
-AC_DEFINE_UNQUOTED(SED_FEATURE_VERSION, "$SED_FEATURE_VERSION",
- [Define to the version of GNU sed whose features are supported by this sed.])
-AC_SUBST(SED_FEATURE_VERSION)
-
-COPYRIGHT_YEAR=2009
-AC_DEFINE_UNQUOTED(COPYRIGHT_YEAR, $COPYRIGHT_YEAR,
- [Define to the copyright year printed by --version.])
-AC_SUBST(COPYRIGHT_YEAR)
-
-AC_PROG_CC
-gl_EARLY
-gl_INIT
-gl_DISABLE_THREADS
-AC_SYS_LONG_FILE_NAMES
-AC_CACHE_CHECK([whether -lcP is needed], [sed_cv_libcp_needed], [
-AC_TRY_RUN([
-#include <stdio.h>
-#include <errno.h>
-
-int main()
-{
- FILE *fp;
- int result;
- errno = 0;
- fp = fopen ("conftest.c", "r");
- if (!fp) return 0; /* error, assume not needed */
- result = fflush (fp) == EOF && errno == 0;
- fclose (fp);
- return result;
-}], [sed_cv_libcp_needed=no],
- [sed_cv_libcp_needed=yes],
- [sed_cv_libcp_needed="assuming no"])
-])
-if test "$sed_cv_libcp_needed" = yes; then
- LIBS="-lcP $LIBS"
-fi
-
-AC_HEADER_DIRENT
-AC_CHECK_HEADERS_ONCE(io.h limits.h locale.h stdarg.h alloca.h stddef.h
- errno.h wchar.h wctype.h sys/file.h mcheck.h, [], [],
- [AC_INCLUDES_DEFAULT])
-AC_C_CONST
-AC_TYPE_SIZE_T
-AC_CHECK_TYPE(ssize_t, int)
-
-AC_FUNC_VPRINTF
-
-AC_DEFUN([AM_MKINSTALLDIRS], [MKINSTALLDIRS="$mkdir_p" AC_SUBST(MKINSTALLDIRS)])
-AM_GNU_GETTEXT_VERSION(0.15)
-AM_GNU_GETTEXT([external])
-
-AC_CHECK_FUNCS_ONCE(isatty bcopy bzero isascii memcpy memset strchr strtoul
- popen pathconf fchown fchmod setlocale)
-
-AC_ARG_ENABLE(i18n,
-[ --disable-i18n disable internationalization (default=enabled)], ,
-enable_i18n=yes)
-if test "x$enable_i18n" = xno; then
- ac_cv_func_wcscoll=false
-fi
-
-AC_ARG_ENABLE(regex-tests,
-[ --enable-regex-tests enable regex matcher regression tests (default=yes)],
-[if test "x$with_included_regex" = xno; then
- enable_regex_tests=no
-fi],
-enable_regex_tests=$with_included_regex)
-
-AM_CONDITIONAL(TEST_REGEX, test "x$enable_regex_tests" = xyes)
-if test "x$enable_regex_tests" = xyes; then
- AC_DEFINE_UNQUOTED(_REGEX_RE_COMP, 1,
- [Include BSD functions in regex, used by the testsuite])
-fi
-
-# Check whether we are able to follow symlinks
-AC_CHECK_FUNC(lstat, have_lstat=yes)
-AC_CHECK_FUNC(readlink, have_readlink=yes)
-if test "x$have_lstat" = xyes -a "x$have_readlink" = xyes; then
- AC_DEFINE(ENABLE_FOLLOW_SYMLINKS, ,[Follow symlinks when processing in place])
-fi
-
-# Determine whether we should run UTF-8 tests by checking if cyrillic
-# letters are case-folded properly. The test for UTF-8 locales (bot
-# in general and specifically for a Russian one) is a bit weak, but it
-# should match exactly what is done in the testsuite. In fact, sed's
-# logic is portable (though testing it requires care) so it is enough to
-# have a couple of platforms where these tests pass. Right now, only
-# Windows and HP/UX do not support the tests.
-AC_MSG_CHECKING([whether UTF-8 case folding tests should pass])
-AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <stdlib.h>
-#include <wchar.h>
-#ifdef HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-int test(void)
-{
- char in[] = "\xD0\xB4";
- char good[] = "\xD0\x94";
- char out[10];
- wchar_t in_wc, good_wc;
- if (mbtowc (&in_wc, in, 3) == -1)
- return 0;
- if (mbtowc (&good_wc, good, 3) == -1)
- return 0;
- if (towupper (in_wc) != good_wc)
- return 0;
- if (wctomb (out, good_wc) != 2)
- return 0;
- if (memcmp (out, good, 2))
- return 0;
- return 1;
-}
-
-int main()
-{
- char *old;
- int len;
-
- /* Try hardcoding a Russian UTF-8 locale. If the name "ru_RU.UTF-8"
- is invalid, use setlocale again just to get the current locale. */
- old = setlocale (LC_CTYPE, "ru_RU.UTF-8");
- if (old)
- {
- if (test())
- exit (0);
- }
- else
- old = setlocale (LC_CTYPE, "C");
-
- /* Maybe cyrillic case folding is implemented for all UTF-8 locales.
- If the current locale is not UTF-8, the test will be skipped. */
- len = strlen (old);
- if ((len > 6 && !strcmp (old + len - 6, ".UTF-8"))
- || (len > 6 && !strcmp (old + len - 6, ".utf-8"))
- || (len > 5 && !strcmp (old + len - 5, ".UTF8"))
- || (len > 5 && !strcmp (old + len - 5, ".utf8")))
-
- /* ok */
- ;
- else
- exit (1);
-
- /* Run the test in the detected UTF-8 locale. */
- setlocale (LC_CTYPE, old);
- exit (!test ());
-}
-], [AC_MSG_RESULT([yes]); XFAIL_TESTS=],
- [AC_MSG_RESULT([no]); XFAIL_TESTS='utf8-1 utf8-2 utf8-3 utf8-4'],
- [AC_MSG_RESULT([don't care (cross compiling)]); XFAIL_TESTS=])
-
-# Under MinGW, the bsd.sh test fails because of the EOF character (^Z).
-case $host in
- *mingw*) XFAIL_TESTS="$XFAIL_TESTS bsd" ;;
- *) ;;
-esac
-AC_SUBST([XFAIL_TESTS])
-
-AC_CONFIG_FILES([bootstrap.sh], chmod +x bootstrap.sh)
-AC_CONFIG_FILES([testsuite/version.good:testsuite/version.gin])
-AC_CONFIG_FILES([Makefile doc/Makefile \
-lib/Makefile sed/Makefile testsuite/Makefile \
-po/Makefile.in])
-AC_OUTPUT
diff --git a/sources/host-tools/sed-4.2.1/doc/Makefile.am b/sources/host-tools/sed-4.2.1/doc/Makefile.am
deleted file mode 100644
index af6975c..0000000
--- a/sources/host-tools/sed-4.2.1/doc/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-## Process this file with automake to produce Makefile.in
-info_TEXINFOS = sed.texi
-sed_TEXINFOS = config.texi version.texi
-dist_man_MANS = sed.1
-dist_noinst_DATA = sed.x sed-in.texi s-texi
-dist_noinst_SCRIPTS = groupify.sed
-TEXI2DVI = $(top_srcdir)/build-aux/texi2dvi --expand
-HELP2MAN = $(top_srcdir)/build-aux/help2man
-SED = $(top_builddir)/sed/sed
-
-AM_MAKEINFOHTMLFLAGS = --no-split
-
-# To produce better quality output, in the example sed
-# scripts we group comments with lines following them;
-# since mantaining the "@group...@end group" manually
-# is a burden, we do this automatically
-$(srcdir)/sed.texi: $(srcdir)/s-texi
-$(srcdir)/s-texi: sed-in.texi $(srcdir)/groupify.sed
- sed -nf $(srcdir)/groupify.sed \
- < $(srcdir)/sed-in.texi > $(srcdir)/sed-tmp.texi
- if cmp $(srcdir)/sed.texi $(srcdir)/sed-tmp.texi; then \
- rm -f $(srcdir)/sed-tmp.texi; \
- else \
- mv -f $(srcdir)/sed-tmp.texi $(srcdir)/sed.texi; \
- fi
- echo stamp > $(srcdir)/s-texi
-
-sed.1: $(top_srcdir)/sed/sed.c $(top_srcdir)/configure.ac $(srcdir)/sed.x
- $(HELP2MAN) --name "stream editor for filtering and transforming text" \
- -p sed --include $(srcdir)/sed.x -o $(srcdir)/sed.1 $(SED)
-
-dist-hook:
- touch $(distdir)/sed.1
diff --git a/sources/host-tools/sed-4.2.1/doc/Makefile.in b/sources/host-tools/sed-4.2.1/doc/Makefile.in
deleted file mode 100644
index f93617e..0000000
--- a/sources/host-tools/sed-4.2.1/doc/Makefile.in
+++ /dev/null
@@ -1,1053 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = doc
-DIST_COMMON = $(dist_man_MANS) $(dist_noinst_DATA) \
- $(dist_noinst_SCRIPTS) $(sed_TEXINFOS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/stamp-vti \
- $(srcdir)/version.texi
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lstat.m4 \
- $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/mbrlen.m4 \
- $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
- $(top_srcdir)/m4/selinux-context-h.m4 \
- $(top_srcdir)/m4/selinux-selinux-h.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
- $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strverscmp.m4 \
- $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wcrtomb.m4 \
- $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctype.m4 \
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SCRIPTS = $(dist_noinst_SCRIPTS)
-SOURCES =
-DIST_SOURCES =
-INFO_DEPS = $(srcdir)/sed.info
-TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
-am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
-DVIS = sed.dvi
-PDFS = sed.pdf
-PSS = sed.ps
-HTMLS = sed.html
-TEXINFOS = sed.texi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-DVIPS = dvips
-am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-man1dir = $(mandir)/man1
-NROFF = nroff
-MANS = $(dist_man_MANS)
-DATA = $(dist_noinst_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WRITE = @GNULIB_WRITE@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNSETENV = @HAVE_UNSETENV@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE__BOOL = @HAVE__BOOL@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSED_LIBDEPS = @LIBSED_LIBDEPS@
-LIBSED_LTLIBDEPS = @LIBSED_LTLIBDEPS@
-LIB_ACL = @LIB_ACL@
-LIB_SELINUX = @LIB_SELINUX@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED_FEATURE_VERSION = @SED_FEATURE_VERSION@
-SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
-SELINUX_SELINUX_H = @SELINUX_SELINUX_H@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDBOOL_H = @STDBOOL_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_STAT_H = @SYS_STAT_H@
-SYS_TIME_H = @SYS_TIME_H@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-USE_ACL = @USE_ACL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VOID_UNSETENV = @VOID_UNSETENV@
-WCHAR_H = @WCHAR_H@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WCTYPE_H = @WCTYPE_H@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XFAIL_TESTS = @XFAIL_TESTS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-info_TEXINFOS = sed.texi
-sed_TEXINFOS = config.texi version.texi
-dist_man_MANS = sed.1
-dist_noinst_DATA = sed.x sed-in.texi s-texi
-dist_noinst_SCRIPTS = groupify.sed
-TEXI2DVI = $(top_srcdir)/build-aux/texi2dvi --expand
-HELP2MAN = $(top_srcdir)/build-aux/help2man
-SED = $(top_builddir)/sed/sed
-AM_MAKEINFOHTMLFLAGS = --no-split
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .dvi .html .info .pdf .ps .texi
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-.texi.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && cd $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $@ $<; \
- then \
- rc=0; \
- cd $(srcdir); \
- else \
- rc=$$?; \
- cd $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-.texi.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
-
-.texi.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
-
-.texi.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $(@:.html=.htp) $<; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/sed.info: sed.texi $(srcdir)/version.texi $(sed_TEXINFOS)
-sed.dvi: sed.texi $(srcdir)/version.texi $(sed_TEXINFOS)
-sed.pdf: sed.texi $(srcdir)/version.texi $(sed_TEXINFOS)
-sed.html: sed.texi $(srcdir)/version.texi $(sed_TEXINFOS)
-$(srcdir)/version.texi: $(srcdir)/stamp-vti
-$(srcdir)/stamp-vti: sed.texi $(top_srcdir)/configure
- @(dir=.; test -f ./sed.texi || dir=$(srcdir); \
- set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/sed.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/version.texi \
- || (echo "Updating $(srcdir)/version.texi"; \
- cp vti.tmp $(srcdir)/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
- -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f $(distdir)/$$relfile || \
- cp -p $$file $(distdir)/$$relfile; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf sed.aux sed.cp sed.cps sed.fn sed.fns sed.ky sed.log sed.op sed.pg \
- sed.tmp sed.toc sed.tp sed.vr sed.vrs sed.dvi sed.pdf sed.ps \
- sed.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-man1: $(man1_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-uninstall-man1:
- @$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info dist-hook
-check-am: all-am
-check: check-am
-all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(MANS) $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am: $(DVIS)
-
-html: html-am
-
-html-am: $(HTMLS)
-
-info: info-am
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-man
-
-install-dvi: install-dvi-am
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \
- done
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
- else \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
- fi; \
- done
-install-info: install-info-am
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
- echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
- $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
- else : ; fi; \
- done; \
- done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man: install-man1
-
-install-pdf: install-pdf-am
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-install-ps: install-ps-am
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \
- done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
-
-pdf: pdf-am
-
-pdf-am: $(PDFS)
-
-ps: ps-am
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-man uninstall-pdf-am uninstall-ps-am
-
-uninstall-man: uninstall-man1
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic dist-hook \
- dist-info distclean distclean-generic distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-man1 install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-man uninstall-man1 \
- uninstall-pdf-am uninstall-ps-am
-
-
-# To produce better quality output, in the example sed
-# scripts we group comments with lines following them;
-# since mantaining the "@group...@end group" manually
-# is a burden, we do this automatically
-$(srcdir)/sed.texi: $(srcdir)/s-texi
-$(srcdir)/s-texi: sed-in.texi $(srcdir)/groupify.sed
- sed -nf $(srcdir)/groupify.sed \
- < $(srcdir)/sed-in.texi > $(srcdir)/sed-tmp.texi
- if cmp $(srcdir)/sed.texi $(srcdir)/sed-tmp.texi; then \
- rm -f $(srcdir)/sed-tmp.texi; \
- else \
- mv -f $(srcdir)/sed-tmp.texi $(srcdir)/sed.texi; \
- fi
- echo stamp > $(srcdir)/s-texi
-
-sed.1: $(top_srcdir)/sed/sed.c $(top_srcdir)/configure.ac $(srcdir)/sed.x
- $(HELP2MAN) --name "stream editor for filtering and transforming text" \
- -p sed --include $(srcdir)/sed.x -o $(srcdir)/sed.1 $(SED)
-
-dist-hook:
- touch $(distdir)/sed.1
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/doc/config.texi b/sources/host-tools/sed-4.2.1/doc/config.texi
deleted file mode 100644
index aa5e35a..0000000
--- a/sources/host-tools/sed-4.2.1/doc/config.texi
+++ /dev/null
@@ -1,9 +0,0 @@
-@dircategory Text creation and manipulation
-@direntry
-* sed: (sed). Stream EDitor.
-
-@end direntry
-
-@clear PERL
-@set SSEDEXT @acronym{GNU} extensions
-@set SSED @acronym{GNU} @command{sed}
diff --git a/sources/host-tools/sed-4.2.1/doc/groupify.sed b/sources/host-tools/sed-4.2.1/doc/groupify.sed
deleted file mode 100755
index 2430710..0000000
--- a/sources/host-tools/sed-4.2.1/doc/groupify.sed
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sed -nf
-# Script to add @group...@end group tags to sed.texi.in
-# so that comments are not separated from the instructions
-# that they refer to.
-
-# Step 1: search for the conventional "@c start----" comment
-1a\
-@c Do not edit this file!! It is automatically generated from sed-in.texi.
-p
-/^@c start-*$/! b
-
-# Step 2: loop until we find a @ command
-:a
-n
-p
-/^@/! ba
-
-# Step 3: process everything until a "@end" command
-
-# Step 3.1: Print the blank lines before the group. If we reach the "@end",
-# we go back to step 1.
-:b
-n
-/^@end/ {
- p
- b
-}
-/^[ ]*$/ {
- p
- bb
-}
-
-# Step 3.2: Add to hold space every line until an empty one or "@end"
-h
-:c
-n
-/^@end example/! {
- /^[ ]*$/! {
- H
- bc
- }
-}
-
-# Step 3.3: Working in hold space, add @group...@end group if there are
-# at least two lines. Then print the lines we processed and
-# switch back to pattern space.
-x
-/\n/ {
- s/.*/@group\
-&\
-@end group/
-}
-p
-
-# Step 3.4: Switch back to pattern space, print the first blank line
-# and possibly go back to step 3.1
-x
-p
-/^@end/ !bb
diff --git a/sources/host-tools/sed-4.2.1/doc/s-texi b/sources/host-tools/sed-4.2.1/doc/s-texi
deleted file mode 100644
index 859afb1..0000000
--- a/sources/host-tools/sed-4.2.1/doc/s-texi
+++ /dev/null
@@ -1 +0,0 @@
-stamp
diff --git a/sources/host-tools/sed-4.2.1/doc/sed-in.texi b/sources/host-tools/sed-4.2.1/doc/sed-in.texi
deleted file mode 100644
index c8bb21d..0000000
--- a/sources/host-tools/sed-4.2.1/doc/sed-in.texi
+++ /dev/null
@@ -1,4117 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c
-@c -- Stuff that needs adding: ----------------------------------------------
-@c (document the `;' command-separator)
-@c --------------------------------------------------------------------------
-@c Check for consistency: regexps in @code, text that they match in @samp.
-@c
-@c Tips:
-@c @command for command
-@c @samp for command fragments: @samp{cat -s}
-@c @code for sed commands and flags
-@c Use ``quote'' not `quote' or "quote".
-@c
-@c %**start of header
-@setfilename sed.info
-@settitle sed, a stream editor
-@c %**end of header
-
-@c @smallbook
-
-@include version.texi
-
-@c Combine indices.
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@defcodeindex op
-@syncodeindex op fn
-
-@include config.texi
-
-@copying
-This file documents version @value{VERSION} of
-@value{SSED}, a stream editor.
-
-Copyright @copyright{} 1998, 1999, 2001, 2002, 2003, 2004 Free
-Software Foundation, Inc.
-
-This document is released under the terms of the @acronym{GNU} Free
-Documentation License as published by the Free Software Foundation;
-either version 1.1, or (at your option) any later version.
-
-You should have received a copy of the @acronym{GNU} Free Documentation
-License along with @value{SSED}; see the file @file{COPYING.DOC}.
-If not, write to the Free Software Foundation, 59 Temple Place - Suite
-330, Boston, MA 02110-1301, USA.
-
-There are no Cover Texts and no Invariant Sections; this text, along
-with its equivalent in the printed manual, constitutes the Title Page.
-@end copying
-
-@setchapternewpage off
-
-@titlepage
-@title @command{sed}, a stream editor
-@subtitle version @value{VERSION}, @value{UPDATED}
-@author by Ken Pizzini, Paolo Bonzini
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999 Free Software Foundation, Inc.
-
-@insertcopying
-
-Published by the Free Software Foundation, @*
-51 Franklin Street, Fifth Floor @*
-Boston, MA 02110-1301, USA
-@end titlepage
-
-
-@node Top
-@top
-
-@ifnottex
-@insertcopying
-@end ifnottex
-
-@menu
-* Introduction:: Introduction
-* Invoking sed:: Invocation
-* sed Programs:: @command{sed} programs
-* Examples:: Some sample scripts
-* Limitations:: Limitations and (non-)limitations of @value{SSED}
-* Other Resources:: Other resources for learning about @command{sed}
-* Reporting Bugs:: Reporting bugs
-
-* Extended regexps:: @command{egrep}-style regular expressions
-@ifset PERL
-* Perl regexps:: Perl-style regular expressions
-@end ifset
-
-* Concept Index:: A menu with all the topics in this manual.
-* Command and Option Index:: A menu with all @command{sed} commands and
- command-line options.
-
-@detailmenu
---- The detailed node listing ---
-
-sed Programs:
-* Execution Cycle:: How @command{sed} works
-* Addresses:: Selecting lines with @command{sed}
-* Regular Expressions:: Overview of regular expression syntax
-* Common Commands:: Often used commands
-* The "s" Command:: @command{sed}'s Swiss Army Knife
-* Other Commands:: Less frequently used commands
-* Programming Commands:: Commands for @command{sed} gurus
-* Extended Commands:: Commands specific of @value{SSED}
-* Escapes:: Specifying special characters
-
-Examples:
-* Centering lines::
-* Increment a number::
-* Rename files to lower case::
-* Print bash environment::
-* Reverse chars of lines::
-* tac:: Reverse lines of files
-* cat -n:: Numbering lines
-* cat -b:: Numbering non-blank lines
-* wc -c:: Counting chars
-* wc -w:: Counting words
-* wc -l:: Counting lines
-* head:: Printing the first lines
-* tail:: Printing the last lines
-* uniq:: Make duplicate lines unique
-* uniq -d:: Print duplicated lines of input
-* uniq -u:: Remove all duplicated lines
-* cat -s:: Squeezing blank lines
-
-@ifset PERL
-Perl regexps:: Perl-style regular expressions
-* Backslash:: Introduces special sequences
-* Circumflex/dollar sign/period:: Behave specially with regard to new lines
-* Square brackets:: Are a bit different in strange cases
-* Options setting:: Toggle modifiers in the middle of a regexp
-* Non-capturing subpatterns:: Are not counted when backreferencing
-* Repetition:: Allows for non-greedy matching
-* Backreferences:: Allows for more than 10 back references
-* Assertions:: Allows for complex look ahead matches
-* Non-backtracking subpatterns:: Often gives more performance
-* Conditional subpatterns:: Allows if/then/else branches
-* Recursive patterns:: For example to match parentheses
-* Comments:: Because things can get complex...
-@end ifset
-
-@end detailmenu
-@end menu
-
-
-@node Introduction
-@chapter Introduction
-
-@cindex Stream editor
-@command{sed} is a stream editor.
-A stream editor is used to perform basic text
-transformations on an input stream
-(a file or input from a pipeline).
-While in some ways similar to an editor which
-permits scripted edits (such as @command{ed}),
-@command{sed} works by making only one pass over the
-input(s), and is consequently more efficient.
-But it is @command{sed}'s ability to filter text in a pipeline
-which particularly distinguishes it from other types of
-editors.
-
-
-@node Invoking sed
-@chapter Invocation
-
-Normally @command{sed} is invoked like this:
-
-@example
-sed SCRIPT INPUTFILE...
-@end example
-
-The full format for invoking @command{sed} is:
-
-@example
-sed OPTIONS... [SCRIPT] [INPUTFILE...]
-@end example
-
-If you do not specify @var{INPUTFILE}, or if @var{INPUTFILE} is @file{-},
-@command{sed} filters the contents of the standard input. The @var{script}
-is actually the first non-option parameter, which @command{sed} specially
-considers a script and not an input file if (and only if) none of the
-other @var{options} specifies a script to be executed, that is if neither
-of the @option{-e} and @option{-f} options is specified.
-
-@command{sed} may be invoked with the following command-line options:
-
-@table @code
-@item --version
-@opindex --version
-@cindex Version, printing
-Print out the version of @command{sed} that is being run and a copyright notice,
-then exit.
-
-@item --help
-@opindex --help
-@cindex Usage summary, printing
-Print a usage message briefly summarizing these command-line options
-and the bug-reporting address,
-then exit.
-
-@item -n
-@itemx --quiet
-@itemx --silent
-@opindex -n
-@opindex --quiet
-@opindex --silent
-@cindex Disabling autoprint, from command line
-By default, @command{sed} prints out the pattern space
-at the end of each cycle through the script (@pxref{Execution Cycle, ,
-How @code{sed} works}).
-These options disable this automatic printing,
-and @command{sed} only produces output when explicitly told to
-via the @code{p} command.
-
-@item -e @var{script}
-@itemx --expression=@var{script}
-@opindex -e
-@opindex --expression
-@cindex Script, from command line
-Add the commands in @var{script} to the set of commands to be
-run while processing the input.
-
-@item -f @var{script-file}
-@itemx --file=@var{script-file}
-@opindex -f
-@opindex --file
-@cindex Script, from a file
-Add the commands contained in the file @var{script-file}
-to the set of commands to be run while processing the input.
-
-@item -i[@var{SUFFIX}]
-@itemx --in-place[=@var{SUFFIX}]
-@opindex -i
-@opindex --in-place
-@cindex In-place editing, activating
-@cindex @value{SSEDEXT}, in-place editing
-This option specifies that files are to be edited in-place.
-@value{SSED} does this by creating a temporary file and
-sending output to this file rather than to the standard
-output.@footnote{This applies to commands such as @code{=},
-@code{a}, @code{c}, @code{i}, @code{l}, @code{p}. You can
-still write to the standard output by using the @code{w}
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-or @code{W} commands together with the @file{/dev/stdout}
-special file}.
-
-This option implies @option{-s}.
-
-When the end of the file is reached, the temporary file is
-renamed to the output file's original name. The extension,
-if supplied, is used to modify the name of the old file
-before renaming the temporary file, thereby making a backup
-copy@footnote{Note that @value{SSED} creates the backup
-file whether or not any output is actually changed.}).
-
-@cindex In-place editing, Perl-style backup file names
-This rule is followed: if the extension doesn't contain a @code{*},
-then it is appended to the end of the current filename as a
-suffix; if the extension does contain one or more @code{*}
-characters, then @emph{each} asterisk is replaced with the
-current filename. This allows you to add a prefix to the
-backup file, instead of (or in addition to) a suffix, or
-even to place backup copies of the original files into another
-directory (provided the directory already exists).
-
-If no extension is supplied, the original file is
-overwritten without making a backup.
-
-@item -l @var{N}
-@itemx --line-length=@var{N}
-@opindex -l
-@opindex --line-length
-@cindex Line length, setting
-Specify the default line-wrap length for the @code{l} command.
-A length of 0 (zero) means to never wrap long lines. If
-not specified, it is taken to be 70.
-
-@item --posix
-@cindex @value{SSEDEXT}, disabling
-@value{SSED} includes several extensions to @acronym{POSIX}
-sed. In order to simplify writing portable scripts, this
-option disables all the extensions that this manual documents,
-including additional commands.
-@cindex @code{POSIXLY_CORRECT} behavior, enabling
-Most of the extensions accept @command{sed} programs that
-are outside the syntax mandated by @acronym{POSIX}, but some
-of them (such as the behavior of the @command{N} command
-described in @pxref{Reporting Bugs}) actually violate the
-standard. If you want to disable only the latter kind of
-extension, you can set the @code{POSIXLY_CORRECT} variable
-to a non-empty value.
-
-@item -b
-@itemx --binary
-@opindex -b
-@opindex --binary
-This option is available on every platform, but is only effective where the
-operating system makes a distinction between text files and binary files.
-When such a distinction is made---as is the case for MS-DOS, Windows,
-Cygwin---text files are composed of lines separated by a carriage return
-@emph{and} a line feed character, and @command{sed} does not see the
-ending CR. When this option is specified, @command{sed} will open
-input files in binary mode, thus not requesting this special processing
-and considering lines to end at a line feed.
-
-@item --follow-symlinks
-@opindex --follow-symlinks
-This option is available only on platforms that support
-symbolic links and has an effect only if option @option{-i}
-is specified. In this case, if the file that is specified
-on the command line is a symbolic link, @command{sed} will
-follow the link and edit the ultimate destination of the
-link. The default behavior is to break the symbolic link,
-so that the link destination will not be modified.
-
-@item -r
-@itemx --regexp-extended
-@opindex -r
-@opindex --regexp-extended
-@cindex Extended regular expressions, choosing
-@cindex @acronym{GNU} extensions, extended regular expressions
-Use extended regular expressions rather than basic
-regular expressions. Extended regexps are those that
-@command{egrep} accepts; they can be clearer because they
-usually have less backslashes, but are a @acronym{GNU} extension
-and hence scripts that use them are not portable.
-@xref{Extended regexps, , Extended regular expressions}.
-
-@ifset PERL
-@item -R
-@itemx --regexp-perl
-@opindex -R
-@opindex --regexp-perl
-@cindex Perl-style regular expressions, choosing
-@cindex @value{SSEDEXT}, Perl-style regular expressions
-Use Perl-style regular expressions rather than basic
-regular expressions. Perl-style regexps are extremely
-powerful but are a @value{SSED} extension and hence scripts that
-use it are not portable. @xref{Perl regexps, ,
-Perl-style regular expressions}.
-@end ifset
-
-@item -s
-@itemx --separate
-@cindex Working on separate files
-By default, @command{sed} will consider the files specified on the
-command line as a single continuous long stream. This @value{SSED}
-extension allows the user to consider them as separate files:
-range addresses (such as @samp{/abc/,/def/}) are not allowed
-to span several files, line numbers are relative to the start
-of each file, @code{$} refers to the last line of each file,
-and files invoked from the @code{R} commands are rewound at the
-start of each file.
-
-@item -u
-@itemx --unbuffered
-@opindex -u
-@opindex --unbuffered
-@cindex Unbuffered I/O, choosing
-Buffer both input and output as minimally as practical.
-(This is particularly useful if the input is coming from
-the likes of @samp{tail -f}, and you wish to see the transformed
-output as soon as possible.)
-
-@end table
-
-If no @option{-e}, @option{-f}, @option{--expression}, or @option{--file}
-options are given on the command-line,
-then the first non-option argument on the command line is
-taken to be the @var{script} to be executed.
-
-@cindex Files to be processed as input
-If any command-line parameters remain after processing the above,
-these parameters are interpreted as the names of input files to
-be processed.
-@cindex Standard input, processing as input
-A file name of @samp{-} refers to the standard input stream.
-The standard input will be processed if no file names are specified.
-
-
-@node sed Programs
-@chapter @command{sed} Programs
-
-@cindex @command{sed} program structure
-@cindex Script structure
-A @command{sed} program consists of one or more @command{sed} commands,
-passed in by one or more of the
-@option{-e}, @option{-f}, @option{--expression}, and @option{--file}
-options, or the first non-option argument if zero of these
-options are used.
-This document will refer to ``the'' @command{sed} script;
-this is understood to mean the in-order catenation
-of all of the @var{script}s and @var{script-file}s passed in.
-
-Each @code{sed} command consists of an optional address or
-address range, followed by a one-character command name
-and any additional command-specific code.
-
-@menu
-* Execution Cycle:: How @command{sed} works
-* Addresses:: Selecting lines with @command{sed}
-* Regular Expressions:: Overview of regular expression syntax
-* Common Commands:: Often used commands
-* The "s" Command:: @command{sed}'s Swiss Army Knife
-* Other Commands:: Less frequently used commands
-* Programming Commands:: Commands for @command{sed} gurus
-* Extended Commands:: Commands specific of @value{SSED}
-* Escapes:: Specifying special characters
-@end menu
-
-
-@node Execution Cycle
-@section How @command{sed} Works
-
-@cindex Buffer spaces, pattern and hold
-@cindex Spaces, pattern and hold
-@cindex Pattern space, definition
-@cindex Hold space, definition
-@command{sed} maintains two data buffers: the active @emph{pattern} space,
-and the auxiliary @emph{hold} space. Both are initially empty.
-
-@command{sed} operates by performing the following cycle on each
-lines of input: first, @command{sed} reads one line from the input
-stream, removes any trailing newline, and places it in the pattern space.
-Then commands are executed; each command can have an address associated
-to it: addresses are a kind of condition code, and a command is only
-executed if the condition is verified before the command is to be
-executed.
-
-When the end of the script is reached, unless the @option{-n} option
-is in use, the contents of pattern space are printed out to the output
-stream, adding back the trailing newline if it was removed.@footnote{Actually,
-if @command{sed} prints a line without the terminating newline, it will
-nevertheless print the missing newline as soon as more text is sent to
-the same output stream, which gives the ``least expected surprise''
-even though it does not make commands like @samp{sed -n p} exactly
-identical to @command{cat}.} Then the next cycle starts for the next
-input line.
-
-Unless special commands (like @samp{D}) are used, the pattern space is
-deleted between two cycles. The hold space, on the other hand, keeps
-its data between cycles (see commands @samp{h}, @samp{H}, @samp{x},
-@samp{g}, @samp{G} to move data between both buffers).
-
-
-@node Addresses
-@section Selecting lines with @command{sed}
-@cindex Addresses, in @command{sed} scripts
-@cindex Line selection
-@cindex Selecting lines to process
-
-Addresses in a @command{sed} script can be in any of the following forms:
-@table @code
-@item @var{number}
-@cindex Address, numeric
-@cindex Line, selecting by number
-Specifying a line number will match only that line in the input.
-(Note that @command{sed} counts lines continuously across all input files
-unless @option{-i} or @option{-s} options are specified.)
-
-@item @var{first}~@var{step}
-@cindex @acronym{GNU} extensions, @samp{@var{n}~@var{m}} addresses
-This @acronym{GNU} extension matches every @var{step}th line
-starting with line @var{first}.
-In particular, lines will be selected when there exists
-a non-negative @var{n} such that the current line-number equals
-@var{first} + (@var{n} * @var{step}).
-Thus, to select the odd-numbered lines,
-one would use @code{1~2};
-to pick every third line starting with the second, @samp{2~3} would be used;
-to pick every fifth line starting with the tenth, use @samp{10~5};
-and @samp{50~0} is just an obscure way of saying @code{50}.
-
-@item $
-@cindex Address, last line
-@cindex Last line, selecting
-@cindex Line, selecting last
-This address matches the last line of the last file of input, or
-the last line of each file when the @option{-i} or @option{-s} options
-are specified.
-
-@item /@var{regexp}/
-@cindex Address, as a regular expression
-@cindex Line, selecting by regular expression match
-This will select any line which matches the regular expression @var{regexp}.
-If @var{regexp} itself includes any @code{/} characters,
-each must be escaped by a backslash (@code{\}).
-
-@cindex empty regular expression
-@cindex @value{SSEDEXT}, modifiers and the empty regular expression
-The empty regular expression @samp{//} repeats the last regular
-expression match (the same holds if the empty regular expression is
-passed to the @code{s} command). Note that modifiers to regular expressions
-are evaluated when the regular expression is compiled, thus it is invalid to
-specify them together with the empty regular expression.
-
-@item \%@var{regexp}%
-(The @code{%} may be replaced by any other single character.)
-
-@cindex Slash character, in regular expressions
-This also matches the regular expression @var{regexp},
-but allows one to use a different delimiter than @code{/}.
-This is particularly useful if the @var{regexp} itself contains
-a lot of slashes, since it avoids the tedious escaping of every @code{/}.
-If @var{regexp} itself includes any delimiter characters,
-each must be escaped by a backslash (@code{\}).
-
-@item /@var{regexp}/I
-@itemx \%@var{regexp}%I
-@cindex @acronym{GNU} extensions, @code{I} modifier
-@ifset PERL
-@cindex Perl-style regular expressions, case-insensitive
-@end ifset
-The @code{I} modifier to regular-expression matching is a @acronym{GNU}
-extension which causes the @var{regexp} to be matched in
-a case-insensitive manner.
-
-@item /@var{regexp}/M
-@itemx \%@var{regexp}%M
-@ifset PERL
-@cindex @value{SSEDEXT}, @code{M} modifier
-@end ifset
-@cindex Perl-style regular expressions, multiline
-The @code{M} modifier to regular-expression matching is a @value{SSED}
-extension which causes @code{^} and @code{$} to match respectively
-(in addition to the normal behavior) the empty string after a newline,
-and the empty string before a newline. There are special character
-sequences
-@ifset PERL
-(@code{\A} and @code{\Z} in Perl mode, @code{\`} and @code{\'}
-in basic or extended regular expression modes)
-@end ifset
-@ifclear PERL
-(@code{\`} and @code{\'})
-@end ifclear
-which always match the beginning or the end of the buffer.
-@code{M} stands for @cite{multi-line}.
-
-@ifset PERL
-@item /@var{regexp}/S
-@itemx \%@var{regexp}%S
-@cindex @value{SSEDEXT}, @code{S} modifier
-@cindex Perl-style regular expressions, single line
-The @code{S} modifier to regular-expression matching is only valid
-in Perl mode and specifies that the dot character (@code{.}) will
-match the newline character too. @code{S} stands for @cite{single-line}.
-@end ifset
-
-@ifset PERL
-@item /@var{regexp}/X
-@itemx \%@var{regexp}%X
-@cindex @value{SSEDEXT}, @code{X} modifier
-@cindex Perl-style regular expressions, extended
-The @code{X} modifier to regular-expression matching is also
-valid in Perl mode only. If it is used, whitespace in the
-pattern (other than in a character class) and
-characters between a @kbd{#} outside a character class and the
-next newline character are ignored. An escaping backslash
-can be used to include a whitespace or @kbd{#} character as part
-of the pattern.
-@end ifset
-@end table
-
-If no addresses are given, then all lines are matched;
-if one address is given, then only lines matching that
-address are matched.
-
-@cindex Range of lines
-@cindex Several lines, selecting
-An address range can be specified by specifying two addresses
-separated by a comma (@code{,}). An address range matches lines
-starting from where the first address matches, and continues
-until the second address matches (inclusively).
-
-If the second address is a @var{regexp}, then checking for the
-ending match will start with the line @emph{following} the
-line which matched the first address: a range will always
-span at least two lines (except of course if the input stream
-ends).
-
-If the second address is a @var{number} less than (or equal to)
-the line matching the first address, then only the one line is
-matched.
-
-@cindex Special addressing forms
-@cindex Range with start address of zero
-@cindex Zero, as range start address
-@cindex @var{addr1},+N
-@cindex @var{addr1},~N
-@cindex @acronym{GNU} extensions, special two-address forms
-@cindex @acronym{GNU} extensions, @code{0} address
-@cindex @acronym{GNU} extensions, 0,@var{addr2} addressing
-@cindex @acronym{GNU} extensions, @var{addr1},+@var{N} addressing
-@cindex @acronym{GNU} extensions, @var{addr1},~@var{N} addressing
-@value{SSED} also supports some special two-address forms; all these
-are @acronym{GNU} extensions:
-@table @code
-@item 0,/@var{regexp}/
-A line number of @code{0} can be used in an address specification like
-@code{0,/@var{regexp}/} so that @command{sed} will try to match
-@var{regexp} in the first input line too. In other words,
-@code{0,/@var{regexp}/} is similar to @code{1,/@var{regexp}/},
-except that if @var{addr2} matches the very first line of input the
-@code{0,/@var{regexp}/} form will consider it to end the range, whereas
-the @code{1,/@var{regexp}/} form will match the beginning of its range and
-hence make the range span up to the @emph{second} occurrence of the
-regular expression.
-
-Note that this is the only place where the @code{0} address makes
-sense; there is no 0-th line and commands which are given the @code{0}
-address in any other way will give an error.
-
-@item @var{addr1},+@var{N}
-Matches @var{addr1} and the @var{N} lines following @var{addr1}.
-
-@item @var{addr1},~@var{N}
-Matches @var{addr1} and the lines following @var{addr1}
-until the next line whose input line number is a multiple of @var{N}.
-@end table
-
-@cindex Excluding lines
-@cindex Selecting non-matching lines
-Appending the @code{!} character to the end of an address
-specification negates the sense of the match.
-That is, if the @code{!} character follows an address range,
-then only lines which do @emph{not} match the address range
-will be selected.
-This also works for singleton addresses,
-and, perhaps perversely, for the null address.
-
-
-@node Regular Expressions
-@section Overview of Regular Expression Syntax
-
-To know how to use @command{sed}, people should understand regular
-expressions (@dfn{regexp} for short). A regular expression
-is a pattern that is matched against a
-subject string from left to right. Most characters are
-@dfn{ordinary}: they stand for
-themselves in a pattern, and match the corresponding characters
-in the subject. As a trivial example, the pattern
-
-@example
-The quick brown fox
-@end example
-
-@noindent
-matches a portion of a subject string that is identical to
-itself. The power of regular expressions comes from the
-ability to include alternatives and repetitions in the pattern.
-These are encoded in the pattern by the use of @dfn{special characters},
-which do not stand for themselves but instead
-are interpreted in some special way. Here is a brief description
-of regular expression syntax as used in @command{sed}.
-
-@table @code
-@item @var{char}
-A single ordinary character matches itself.
-
-@item *
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Matches a sequence of zero or more instances of matches for the
-preceding regular expression, which must be an ordinary character, a
-special character preceded by @code{\}, a @code{.}, a grouped regexp
-(see below), or a bracket expression. As a @acronym{GNU} extension, a
-postfixed regular expression can also be followed by @code{*}; for
-example, @code{a**} is equivalent to @code{a*}. @acronym{POSIX}
-1003.1-2001 says that @code{*} stands for itself when it appears at
-the start of a regular expression or subexpression, but many
-non@acronym{GNU} implementations do not support this and portable
-scripts should instead use @code{\*} in these contexts.
-
-@item \+
-@cindex @acronym{GNU} extensions, to basic regular expressions
-As @code{*}, but matches one or more. It is a @acronym{GNU} extension.
-
-@item \?
-@cindex @acronym{GNU} extensions, to basic regular expressions
-As @code{*}, but only matches zero or one. It is a @acronym{GNU} extension.
-
-@item \@{@var{i}\@}
-As @code{*}, but matches exactly @var{i} sequences (@var{i} is a
-decimal integer; for portability, keep it between 0 and 255
-inclusive).
-
-@item \@{@var{i},@var{j}\@}
-Matches between @var{i} and @var{j}, inclusive, sequences.
-
-@item \@{@var{i},\@}
-Matches more than or equal to @var{i} sequences.
-
-@item \(@var{regexp}\)
-Groups the inner @var{regexp} as a whole, this is used to:
-
-@itemize @bullet
-@item
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Apply postfix operators, like @code{\(abcd\)*}:
-this will search for zero or more whole sequences
-of @samp{abcd}, while @code{abcd*} would search
-for @samp{abc} followed by zero or more occurrences
-of @samp{d}. Note that support for @code{\(abcd\)*} is
-required by @acronym{POSIX} 1003.1-2001, but many non-@acronym{GNU}
-implementations do not support it and hence it is not universally
-portable.
-
-@item
-Use back references (see below).
-@end itemize
-
-@item .
-Matches any character, including newline.
-
-@item ^
-Matches the null string at beginning of the pattern space, i.e. what
-appears after the circumflex must appear at the beginning of the
-pattern space.
-
-In most scripts, pattern space is initialized to the content of each
-line (@pxref{Execution Cycle, , How @code{sed} works}). So, it is a
-useful simplification to think of @code{^#include} as matching only
-lines where @samp{#include} is the first thing on line---if there are
-spaces before, for example, the match fails. This simplification is
-valid as long as the original content of pattern space is not modified,
-for example with an @code{s} command.
-
-@code{^} acts as a special character only at the beginning of the
-regular expression or subexpression (that is, after @code{\(} or
-@code{\|}). Portable scripts should avoid @code{^} at the beginning of
-a subexpression, though, as @acronym{POSIX} allows implementations that
-treat @code{^} as an ordinary character in that context.
-
-@item $
-It is the same as @code{^}, but refers to end of pattern space.
-@code{$} also acts as a special character only at the end
-of the regular expression or subexpression (that is, before @code{\)}
-or @code{\|}), and its use at the end of a subexpression is not
-portable.
-
-
-@item [@var{list}]
-@itemx [^@var{list}]
-Matches any single character in @var{list}: for example,
-@code{[aeiou]} matches all vowels. A list may include
-sequences like @code{@var{char1}-@var{char2}}, which
-matches any character between (inclusive) @var{char1}
-and @var{char2}.
-
-A leading @code{^} reverses the meaning of @var{list}, so that
-it matches any single character @emph{not} in @var{list}. To include
-@code{]} in the list, make it the first character (after
-the @code{^} if needed), to include @code{-} in the list,
-make it the first or last; to include @code{^} put
-it after the first character.
-
-@cindex @code{POSIXLY_CORRECT} behavior, bracket expressions
-The characters @code{$}, @code{*}, @code{.}, @code{[}, and @code{\}
-are normally not special within @var{list}. For example, @code{[\*]}
-matches either @samp{\} or @samp{*}, because the @code{\} is not
-special here. However, strings like @code{[.ch.]}, @code{[=a=]}, and
-@code{[:space:]} are special within @var{list} and represent collating
-symbols, equivalence classes, and character classes, respectively, and
-@code{[} is therefore special within @var{list} when it is followed by
-@code{.}, @code{=}, or @code{:}. Also, when not in
-@env{POSIXLY_CORRECT} mode, special escapes like @code{\n} and
-@code{\t} are recognized within @var{list}. @xref{Escapes}.
-
-@item @var{regexp1}\|@var{regexp2}
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Matches either @var{regexp1} or @var{regexp2}. Use
-parentheses to use complex alternative regular expressions.
-The matching process tries each alternative in turn, from
-left to right, and the first one that succeeds is used.
-It is a @acronym{GNU} extension.
-
-@item @var{regexp1}@var{regexp2}
-Matches the concatenation of @var{regexp1} and @var{regexp2}.
-Concatenation binds more tightly than @code{\|}, @code{^}, and
-@code{$}, but less tightly than the other regular expression
-operators.
-
-@item \@var{digit}
-Matches the @var{digit}-th @code{\(@dots{}\)} parenthesized
-subexpression in the regular expression. This is called a @dfn{back
-reference}. Subexpressions are implicity numbered by counting
-occurrences of @code{\(} left-to-right.
-
-@item \n
-Matches the newline character.
-
-@item \@var{char}
-Matches @var{char}, where @var{char} is one of @code{$},
-@code{*}, @code{.}, @code{[}, @code{\}, or @code{^}.
-Note that the only C-like
-backslash sequences that you can portably assume to be
-interpreted are @code{\n} and @code{\\}; in particular
-@code{\t} is not portable, and matches a @samp{t} under most
-implementations of @command{sed}, rather than a tab character.
-
-@end table
-
-@cindex Greedy regular expression matching
-Note that the regular expression matcher is greedy, i.e., matches
-are attempted from left to right and, if two or more matches are
-possible starting at the same character, it selects the longest.
-
-@noindent
-Examples:
-@table @samp
-@item abcdef
-Matches @samp{abcdef}.
-
-@item a*b
-Matches zero or more @samp{a}s followed by a single
-@samp{b}. For example, @samp{b} or @samp{aaaaab}.
-
-@item a\?b
-Matches @samp{b} or @samp{ab}.
-
-@item a\+b\+
-Matches one or more @samp{a}s followed by one or more
-@samp{b}s: @samp{ab} is the shortest possible match, but
-other examples are @samp{aaaab} or @samp{abbbbb} or
-@samp{aaaaaabbbbbbb}.
-
-@item .*
-@itemx .\+
-These two both match all the characters in a string;
-however, the first matches every string (including the empty
-string), while the second matches only strings containing
-at least one character.
-
-@item ^main.*(.*)
-his matches a string starting with @samp{main},
-followed by an opening and closing
-parenthesis. The @samp{n}, @samp{(} and @samp{)} need not
-be adjacent.
-
-@item ^#
-This matches a string beginning with @samp{#}.
-
-@item \\$
-This matches a string ending with a single backslash. The
-regexp contains two backslashes for escaping.
-
-@item \$
-Instead, this matches a string consisting of a single dollar sign,
-because it is escaped.
-
-@item [a-zA-Z0-9]
-In the C locale, this matches any @acronym{ASCII} letters or digits.
-
-@item [^ @kbd{tab}]\+
-(Here @kbd{tab} stands for a single tab character.)
-This matches a string of one or more
-characters, none of which is a space or a tab.
-Usually this means a word.
-
-@item ^\(.*\)\n\1$
-This matches a string consisting of two equal substrings separated by
-a newline.
-
-@item .\@{9\@}A$
-This matches nine characters followed by an @samp{A}.
-
-@item ^.\@{15\@}A
-This matches the start of a string that contains 16 characters,
-the last of which is an @samp{A}.
-
-@end table
-
-
-
-@node Common Commands
-@section Often-Used Commands
-
-If you use @command{sed} at all, you will quite likely want to know
-these commands.
-
-@table @code
-@item #
-[No addresses allowed.]
-
-@findex # (comments)
-@cindex Comments, in scripts
-The @code{#} character begins a comment;
-the comment continues until the next newline.
-
-@cindex Portability, comments
-If you are concerned about portability, be aware that
-some implementations of @command{sed} (which are not @sc{posix}
-conformant) may only support a single one-line comment,
-and then only when the very first character of the script is a @code{#}.
-
-@findex -n, forcing from within a script
-@cindex Caveat --- #n on first line
-Warning: if the first two characters of the @command{sed} script
-are @code{#n}, then the @option{-n} (no-autoprint) option is forced.
-If you want to put a comment in the first line of your script
-and that comment begins with the letter @samp{n}
-and you do not want this behavior,
-then be sure to either use a capital @samp{N},
-or place at least one space before the @samp{n}.
-
-@item q [@var{exit-code}]
-This command only accepts a single address.
-
-@findex q (quit) command
-@cindex @value{SSEDEXT}, returning an exit code
-@cindex Quitting
-Exit @command{sed} without processing any more commands or input.
-Note that the current pattern space is printed if auto-print is
-not disabled with the @option{-n} options. The ability to return
-an exit code from the @command{sed} script is a @value{SSED} extension.
-
-@item d
-@findex d (delete) command
-@cindex Text, deleting
-Delete the pattern space;
-immediately start next cycle.
-
-@item p
-@findex p (print) command
-@cindex Text, printing
-Print out the pattern space (to the standard output).
-This command is usually only used in conjunction with the @option{-n}
-command-line option.
-
-@item n
-@findex n (next-line) command
-@cindex Next input line, replace pattern space with
-@cindex Read next input line
-If auto-print is not disabled, print the pattern space,
-then, regardless, replace the pattern space with the next line of input.
-If there is no more input then @command{sed} exits without processing
-any more commands.
-
-@item @{ @var{commands} @}
-@findex @{@} command grouping
-@cindex Grouping commands
-@cindex Command groups
-A group of commands may be enclosed between
-@code{@{} and @code{@}} characters.
-This is particularly useful when you want a group of commands
-to be triggered by a single address (or address-range) match.
-
-@end table
-
-@node The "s" Command
-@section The @code{s} Command
-
-The syntax of the @code{s} (as in substitute) command is
-@samp{s/@var{regexp}/@var{replacement}/@var{flags}}. The @code{/}
-characters may be uniformly replaced by any other single
-character within any given @code{s} command. The @code{/}
-character (or whatever other character is used in its stead)
-can appear in the @var{regexp} or @var{replacement}
-only if it is preceded by a @code{\} character.
-
-The @code{s} command is probably the most important in @command{sed}
-and has a lot of different options. Its basic concept is simple:
-the @code{s} command attempts to match the pattern
-space against the supplied @var{regexp}; if the match is
-successful, then that portion of the pattern
-space which was matched is replaced with @var{replacement}.
-
-@cindex Backreferences, in regular expressions
-@cindex Parenthesized substrings
-The @var{replacement} can contain @code{\@var{n}} (@var{n} being
-a number from 1 to 9, inclusive) references, which refer to
-the portion of the match which is contained between the @var{n}th
-@code{\(} and its matching @code{\)}.
-Also, the @var{replacement} can contain unescaped @code{&}
-characters which reference the whole matched portion
-of the pattern space.
-@cindex @value{SSEDEXT}, case modifiers in @code{s} commands
-Finally, as a @value{SSED} extension, you can include a
-special sequence made of a backslash and one of the letters
-@code{L}, @code{l}, @code{U}, @code{u}, or @code{E}.
-The meaning is as follows:
-
-@table @code
-@item \L
-Turn the replacement
-to lowercase until a @code{\U} or @code{\E} is found,
-
-@item \l
-Turn the
-next character to lowercase,
-
-@item \U
-Turn the replacement to uppercase
-until a @code{\L} or @code{\E} is found,
-
-@item \u
-Turn the next character
-to uppercase,
-
-@item \E
-Stop case conversion started by @code{\L} or @code{\U}.
-@end table
-
-To include a literal @code{\}, @code{&}, or newline in the final
-replacement, be sure to precede the desired @code{\}, @code{&},
-or newline in the @var{replacement} with a @code{\}.
-
-@findex s command, option flags
-@cindex Substitution of text, options
-The @code{s} command can be followed by zero or more of the
-following @var{flags}:
-
-@table @code
-@item g
-@cindex Global substitution
-@cindex Replacing all text matching regexp in a line
-Apply the replacement to @emph{all} matches to the @var{regexp},
-not just the first.
-
-@item @var{number}
-@cindex Replacing only @var{n}th match of regexp in a line
-Only replace the @var{number}th match of the @var{regexp}.
-
-@cindex @acronym{GNU} extensions, @code{g} and @var{number} modifier interaction in @code{s} command
-@cindex Mixing @code{g} and @var{number} modifiers in the @code{s} command
-Note: the @sc{posix} standard does not specify what should happen
-when you mix the @code{g} and @var{number} modifiers,
-and currently there is no widely agreed upon meaning
-across @command{sed} implementations.
-For @value{SSED}, the interaction is defined to be:
-ignore matches before the @var{number}th,
-and then match and replace all matches from
-the @var{number}th on.
-
-@item p
-@cindex Text, printing after substitution
-If the substitution was made, then print the new pattern space.
-
-Note: when both the @code{p} and @code{e} options are specified,
-the relative ordering of the two produces very different results.
-In general, @code{ep} (evaluate then print) is what you want,
-but operating the other way round can be useful for debugging.
-For this reason, the current version of @value{SSED} interprets
-specially the presence of @code{p} options both before and after
-@code{e}, printing the pattern space before and after evaluation,
-while in general flags for the @code{s} command show their
-effect just once. This behavior, although documented, might
-change in future versions.
-
-@item w @var{file-name}
-@cindex Text, writing to a file after substitution
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-@cindex @value{SSEDEXT}, @file{/dev/stderr} file
-If the substitution was made, then write out the result to the named file.
-As a @value{SSED} extension, two special values of @var{file-name} are
-supported: @file{/dev/stderr}, which writes the result to the standard
-error, and @file{/dev/stdout}, which writes to the standard
-output.@footnote{This is equivalent to @code{p} unless the @option{-i}
-option is being used.}
-
-@item e
-@cindex Evaluate Bourne-shell commands, after substitution
-@cindex Subprocesses
-@cindex @value{SSEDEXT}, evaluating Bourne-shell commands
-@cindex @value{SSEDEXT}, subprocesses
-This command allows one to pipe input from a shell command
-into pattern space. If a substitution was made, the command
-that is found in pattern space is executed and pattern space
-is replaced with its output. A trailing newline is suppressed;
-results are undefined if the command to be executed contains
-a @sc{nul} character. This is a @value{SSED} extension.
-
-@item I
-@itemx i
-@cindex @acronym{GNU} extensions, @code{I} modifier
-@cindex Case-insensitive matching
-@ifset PERL
-@cindex Perl-style regular expressions, case-insensitive
-@end ifset
-The @code{I} modifier to regular-expression matching is a @acronym{GNU}
-extension which makes @command{sed} match @var{regexp} in a
-case-insensitive manner.
-
-@item M
-@itemx m
-@cindex @value{SSEDEXT}, @code{M} modifier
-@ifset PERL
-@cindex Perl-style regular expressions, multiline
-@end ifset
-The @code{M} modifier to regular-expression matching is a @value{SSED}
-extension which causes @code{^} and @code{$} to match respectively
-(in addition to the normal behavior) the empty string after a newline,
-and the empty string before a newline. There are special character
-sequences
-@ifset PERL
-(@code{\A} and @code{\Z} in Perl mode, @code{\`} and @code{\'}
-in basic or extended regular expression modes)
-@end ifset
-@ifclear PERL
-(@code{\`} and @code{\'})
-@end ifclear
-which always match the beginning or the end of the buffer.
-@code{M} stands for @cite{multi-line}.
-
-@ifset PERL
-@item S
-@itemx s
-@cindex @value{SSEDEXT}, @code{S} modifier
-@cindex Perl-style regular expressions, single line
-The @code{S} modifier to regular-expression matching is only valid
-in Perl mode and specifies that the dot character (@code{.}) will
-match the newline character too. @code{S} stands for @cite{single-line}.
-@end ifset
-
-@ifset PERL
-@item X
-@itemx x
-@cindex @value{SSEDEXT}, @code{X} modifier
-@cindex Perl-style regular expressions, extended
-The @code{X} modifier to regular-expression matching is also
-valid in Perl mode only. If it is used, whitespace in the
-pattern (other than in a character class) and
-characters between a @kbd{#} outside a character class and the
-next newline character are ignored. An escaping backslash
-can be used to include a whitespace or @kbd{#} character as part
-of the pattern.
-@end ifset
-@end table
-
-
-@node Other Commands
-@section Less Frequently-Used Commands
-
-Though perhaps less frequently used than those in the previous
-section, some very small yet useful @command{sed} scripts can be built with
-these commands.
-
-@table @code
-@item y/@var{source-chars}/@var{dest-chars}/
-(The @code{/} characters may be uniformly replaced by
-any other single character within any given @code{y} command.)
-
-@findex y (transliterate) command
-@cindex Transliteration
-Transliterate any characters in the pattern space which match
-any of the @var{source-chars} with the corresponding character
-in @var{dest-chars}.
-
-Instances of the @code{/} (or whatever other character is used in its stead),
-@code{\}, or newlines can appear in the @var{source-chars} or @var{dest-chars}
-lists, provide that each instance is escaped by a @code{\}.
-The @var{source-chars} and @var{dest-chars} lists @emph{must}
-contain the same number of characters (after de-escaping).
-
-@item a\
-@itemx @var{text}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex a (append text lines) command
-@cindex Appending text after a line
-@cindex Text, appending
-Queue the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output)
-to be output at the end of the current cycle,
-or when the next input line is read.
-
-Escape sequences in @var{text} are processed, so you should
-use @code{\\} in @var{text} to print a single backslash.
-
-As a @acronym{GNU} extension, if between the @code{a} and the newline there is
-other than a whitespace-@code{\} sequence, then the text of this line,
-starting at the first non-whitespace character after the @code{a},
-is taken as the first line of the @var{text} block.
-(This enables a simplification in scripting a one-line add.)
-This extension also works with the @code{i} and @code{c} commands.
-
-@item i\
-@itemx @var{text}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex i (insert text lines) command
-@cindex Inserting text before a line
-@cindex Text, insertion
-Immediately output the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output).
-
-@item c\
-@itemx @var{text}
-@findex c (change to text lines) command
-@cindex Replacing selected lines with other text
-Delete the lines matching the address or address-range,
-and output the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output)
-in place of the last line
-(or in place of each line, if no addresses were specified).
-A new cycle is started after this command is done,
-since the pattern space will have been deleted.
-
-@item =
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex = (print line number) command
-@cindex Printing line number
-@cindex Line number, printing
-Print out the current input line number (with a trailing newline).
-
-@item l @var{n}
-@findex l (list unambiguously) command
-@cindex List pattern space
-@cindex Printing text unambiguously
-@cindex Line length, setting
-@cindex @value{SSEDEXT}, setting line length
-Print the pattern space in an unambiguous form:
-non-printable characters (and the @code{\} character)
-are printed in C-style escaped form; long lines are split,
-with a trailing @code{\} character to indicate the split;
-the end of each line is marked with a @code{$}.
-
-@var{n} specifies the desired line-wrap length;
-a length of 0 (zero) means to never wrap long lines. If omitted,
-the default as specified on the command line is used. The @var{n}
-parameter is a @value{SSED} extension.
-
-@item r @var{filename}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex r (read file) command
-@cindex Read text from a file
-@cindex @value{SSEDEXT}, @file{/dev/stdin} file
-Queue the contents of @var{filename} to be read and
-inserted into the output stream at the end of the current cycle,
-or when the next input line is read.
-Note that if @var{filename} cannot be read, it is treated as
-if it were an empty file, without any error indication.
-
-As a @value{SSED} extension, the special value @file{/dev/stdin}
-is supported for the file name, which reads the contents of the
-standard input.
-
-@item w @var{filename}
-@findex w (write file) command
-@cindex Write to a file
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-@cindex @value{SSEDEXT}, @file{/dev/stderr} file
-Write the pattern space to @var{filename}.
-As a @value{SSED} extension, two special values of @var{file-name} are
-supported: @file{/dev/stderr}, which writes the result to the standard
-error, and @file{/dev/stdout}, which writes to the standard
-output.@footnote{This is equivalent to @code{p} unless the @option{-i}
-option is being used.}
-
-The file will be created (or truncated) before the
-first input line is read; all @code{w} commands
-(including instances of @code{w} flag on successful @code{s} commands)
-which refer to the same @var{filename} are output without
-closing and reopening the file.
-
-@item D
-@findex D (delete first line) command
-@cindex Delete first line from pattern space
-Delete text in the pattern space up to the first newline.
-If any text is left, restart cycle with the resultant
-pattern space (without reading a new line of input),
-otherwise start a normal new cycle.
-
-@item N
-@findex N (append Next line) command
-@cindex Next input line, append to pattern space
-@cindex Append next input line to pattern space
-Add a newline to the pattern space,
-then append the next line of input to the pattern space.
-If there is no more input then @command{sed} exits without processing
-any more commands.
-
-@item P
-@findex P (print first line) command
-@cindex Print first line from pattern space
-Print out the portion of the pattern space up to the first newline.
-
-@item h
-@findex h (hold) command
-@cindex Copy pattern space into hold space
-@cindex Replace hold space with copy of pattern space
-@cindex Hold space, copying pattern space into
-Replace the contents of the hold space with the contents of the pattern space.
-
-@item H
-@findex H (append Hold) command
-@cindex Append pattern space to hold space
-@cindex Hold space, appending from pattern space
-Append a newline to the contents of the hold space,
-and then append the contents of the pattern space to that of the hold space.
-
-@item g
-@findex g (get) command
-@cindex Copy hold space into pattern space
-@cindex Replace pattern space with copy of hold space
-@cindex Hold space, copy into pattern space
-Replace the contents of the pattern space with the contents of the hold space.
-
-@item G
-@findex G (appending Get) command
-@cindex Append hold space to pattern space
-@cindex Hold space, appending to pattern space
-Append a newline to the contents of the pattern space,
-and then append the contents of the hold space to that of the pattern space.
-
-@item x
-@findex x (eXchange) command
-@cindex Exchange hold space with pattern space
-@cindex Hold space, exchange with pattern space
-Exchange the contents of the hold and pattern spaces.
-
-@end table
-
-
-@node Programming Commands
-@section Commands for @command{sed} gurus
-
-In most cases, use of these commands indicates that you are
-probably better off programming in something like @command{awk}
-or Perl. But occasionally one is committed to sticking
-with @command{sed}, and these commands can enable one to write
-quite convoluted scripts.
-
-@cindex Flow of control in scripts
-@table @code
-@item : @var{label}
-[No addresses allowed.]
-
-@findex : (label) command
-@cindex Labels, in scripts
-Specify the location of @var{label} for branch commands.
-In all other respects, a no-op.
-
-@item b @var{label}
-@findex b (branch) command
-@cindex Branch to a label, unconditionally
-@cindex Goto, in scripts
-Unconditionally branch to @var{label}.
-The @var{label} may be omitted, in which case the next cycle is started.
-
-@item t @var{label}
-@findex t (test and branch if successful) command
-@cindex Branch to a label, if @code{s///} succeeded
-@cindex Conditional branch
-Branch to @var{label} only if there has been a successful @code{s}ubstitution
-since the last input line was read or conditional branch was taken.
-The @var{label} may be omitted, in which case the next cycle is started.
-
-@end table
-
-@node Extended Commands
-@section Commands Specific to @value{SSED}
-
-These commands are specific to @value{SSED}, so you
-must use them with care and only when you are sure that
-hindering portability is not evil. They allow you to check
-for @value{SSED} extensions or to do tasks that are required
-quite often, yet are unsupported by standard @command{sed}s.
-
-@table @code
-@item e [@var{command}]
-@findex e (evaluate) command
-@cindex Evaluate Bourne-shell commands
-@cindex Subprocesses
-@cindex @value{SSEDEXT}, evaluating Bourne-shell commands
-@cindex @value{SSEDEXT}, subprocesses
-This command allows one to pipe input from a shell command
-into pattern space. Without parameters, the @code{e} command
-executes the command that is found in pattern space and
-replaces the pattern space with the output; a trailing newline
-is suppressed.
-
-If a parameter is specified, instead, the @code{e} command
-interprets it as a command and sends its output to the output stream
-(like @code{r} does). The command can run across multiple
-lines, all but the last ending with a back-slash.
-
-In both cases, the results are undefined if the command to be
-executed contains a @sc{nul} character.
-
-@item L @var{n}
-@findex L (fLow paragraphs) command
-@cindex Reformat pattern space
-@cindex Reformatting paragraphs
-@cindex @value{SSEDEXT}, reformatting paragraphs
-@cindex @value{SSEDEXT}, @code{L} command
-This @value{SSED} extension fills and joins lines in pattern space
-to produce output lines of (at most) @var{n} characters, like
-@code{fmt} does; if @var{n} is omitted, the default as specified
-on the command line is used. This command is considered a failed
-experiment and unless there is enough request (which seems unlikely)
-will be removed in future versions.
-
-@ignore
-Blank lines, spaces between words, and indentation are
-preserved in the output; successive input lines with different
-indentation are not joined; tabs are expanded to 8 columns.
-
-If the pattern space contains multiple lines, they are joined, but
-since the pattern space usually contains a single line, the behavior
-of a simple @code{L;d} script is the same as @samp{fmt -s} (i.e.,
-it does not join short lines to form longer ones).
-
-@var{n} specifies the desired line-wrap length; if omitted,
-the default as specified on the command line is used.
-@end ignore
-
-@item Q [@var{exit-code}]
-This command only accepts a single address.
-
-@findex Q (silent Quit) command
-@cindex @value{SSEDEXT}, quitting silently
-@cindex @value{SSEDEXT}, returning an exit code
-@cindex Quitting
-This command is the same as @code{q}, but will not print the
-contents of pattern space. Like @code{q}, it provides the
-ability to return an exit code to the caller.
-
-This command can be useful because the only alternative ways
-to accomplish this apparently trivial function are to use
-the @option{-n} option (which can unnecessarily complicate
-your script) or resorting to the following snippet, which
-wastes time by reading the whole file without any visible effect:
-
-@example
-:eat
-$d @i{@r{Quit silently on the last line}}
-N @i{@r{Read another line, silently}}
-g @i{@r{Overwrite pattern space each time to save memory}}
-b eat
-@end example
-
-@item R @var{filename}
-@findex R (read line) command
-@cindex Read text from a file
-@cindex @value{SSEDEXT}, reading a file a line at a time
-@cindex @value{SSEDEXT}, @code{R} command
-@cindex @value{SSEDEXT}, @file{/dev/stdin} file
-Queue a line of @var{filename} to be read and
-inserted into the output stream at the end of the current cycle,
-or when the next input line is read.
-Note that if @var{filename} cannot be read, or if its end is
-reached, no line is appended, without any error indication.
-
-As with the @code{r} command, the special value @file{/dev/stdin}
-is supported for the file name, which reads a line from the
-standard input.
-
-@item T @var{label}
-@findex T (test and branch if failed) command
-@cindex @value{SSEDEXT}, branch if @code{s///} failed
-@cindex Branch to a label, if @code{s///} failed
-@cindex Conditional branch
-Branch to @var{label} only if there have been no successful
-@code{s}ubstitutions since the last input line was read or
-conditional branch was taken. The @var{label} may be omitted,
-in which case the next cycle is started.
-
-@item v @var{version}
-@findex v (version) command
-@cindex @value{SSEDEXT}, checking for their presence
-@cindex Requiring @value{SSED}
-This command does nothing, but makes @command{sed} fail if
-@value{SSED} extensions are not supported, simply because other
-versions of @command{sed} do not implement it. In addition, you
-can specify the version of @command{sed} that your script
-requires, such as @code{4.0.5}. The default is @code{4.0}
-because that is the first version that implemented this command.
-
-This command enables all @value{SSEDEXT} even if
-@env{POSIXLY_CORRECT} is set in the environment.
-
-@item W @var{filename}
-@findex W (write first line) command
-@cindex Write first line to a file
-@cindex @value{SSEDEXT}, writing first line to a file
-Write to the given filename the portion of the pattern space up to
-the first newline. Everything said under the @code{w} command about
-file handling holds here too.
-
-@item z
-@findex z (Zap) command
-@cindex @value{SSEDEXT}, emptying pattern space
-@cindex Emptying pattern space
-This command empties the content of pattern space. It is
-usually the same as @samp{s/.*//}, but is more efficient
-and works in the presence of invalid multibyte sequences
-in the input stream. @sc{posix} mandates that such sequences
-are @emph{not} matched by @samp{.}, so that there is no portable
-way to clear @command{sed}'s buffers in the middle of the
-script in most multibyte locales (including UTF-8 locales).
-@end table
-
-@node Escapes
-@section @acronym{GNU} Extensions for Escapes in Regular Expressions
-
-@cindex @acronym{GNU} extensions, special escapes
-Until this chapter, we have only encountered escapes of the form
-@samp{\^}, which tell @command{sed} not to interpret the circumflex
-as a special character, but rather to take it literally. For
-example, @samp{\*} matches a single asterisk rather than zero
-or more backslashes.
-
-@cindex @code{POSIXLY_CORRECT} behavior, escapes
-This chapter introduces another kind of escape@footnote{All
-the escapes introduced here are @acronym{GNU}
-extensions, with the exception of @code{\n}. In basic regular
-expression mode, setting @code{POSIXLY_CORRECT} disables them inside
-bracket expressions.}---that
-is, escapes that are applied to a character or sequence of characters
-that ordinarily are taken literally, and that @command{sed} replaces
-with a special character. This provides a way
-of encoding non-printable characters in patterns in a visible manner.
-There is no restriction on the appearance of non-printing characters
-in a @command{sed} script but when a script is being prepared in the
-shell or by text editing, it is usually easier to use one of
-the following escape sequences than the binary character it
-represents:
-
-The list of these escapes is:
-
-@table @code
-@item \a
-Produces or matches a @sc{bel} character, that is an ``alert'' (@sc{ascii} 7).
-
-@item \f
-Produces or matches a form feed (@sc{ascii} 12).
-
-@item \n
-Produces or matches a newline (@sc{ascii} 10).
-
-@item \r
-Produces or matches a carriage return (@sc{ascii} 13).
-
-@item \t
-Produces or matches a horizontal tab (@sc{ascii} 9).
-
-@item \v
-Produces or matches a so called ``vertical tab'' (@sc{ascii} 11).
-
-@item \c@var{x}
-Produces or matches @kbd{@sc{Control}-@var{x}}, where @var{x} is
-any character. The precise effect of @samp{\c@var{x}} is as follows:
-if @var{x} is a lower case letter, it is converted to upper case.
-Then bit 6 of the character (hex 40) is inverted. Thus @samp{\cz} becomes
-hex 1A, but @samp{\c@{} becomes hex 3B, while @samp{\c;} becomes hex 7B.
-
-@item \d@var{xxx}
-Produces or matches a character whose decimal @sc{ascii} value is @var{xxx}.
-
-@item \o@var{xxx}
-@ifset PERL
-@item \@var{xxx}
-@end ifset
-Produces or matches a character whose octal @sc{ascii} value is @var{xxx}.
-@ifset PERL
-The syntax without the @code{o} is active in Perl mode, while the one
-with the @code{o} is active in the normal or extended @sc{posix} regular
-expression modes.
-@end ifset
-
-@item \x@var{xx}
-Produces or matches a character whose hexadecimal @sc{ascii} value is @var{xx}.
-@end table
-
-@samp{\b} (backspace) was omitted because of the conflict with
-the existing ``word boundary'' meaning.
-
-Other escapes match a particular character class and are valid only in
-regular expressions:
-
-@table @code
-@item \w
-Matches any ``word'' character. A ``word'' character is any
-letter or digit or the underscore character.
-
-@item \W
-Matches any ``non-word'' character.
-
-@item \b
-Matches a word boundary; that is it matches if the character
-to the left is a ``word'' character and the character to the
-right is a ``non-word'' character, or vice-versa.
-
-@item \B
-Matches everywhere but on a word boundary; that is it matches
-if the character to the left and the character to the right
-are either both ``word'' characters or both ``non-word''
-characters.
-
-@item \`
-Matches only at the start of pattern space. This is different
-from @code{^} in multi-line mode.
-
-@item \'
-Matches only at the end of pattern space. This is different
-from @code{$} in multi-line mode.
-
-@ifset PERL
-@item \G
-Match only at the start of pattern space or, when doing a global
-substitution using the @code{s///g} command and option, at
-the end-of-match position of the prior match. For example,
-@samp{s/\Ga/Z/g} will change an initial run of @code{a}s to
-a run of @code{Z}s
-@end ifset
-@end table
-
-@node Examples
-@chapter Some Sample Scripts
-
-Here are some @command{sed} scripts to guide you in the art of mastering
-@command{sed}.
-
-@menu
-Some exotic examples:
-* Centering lines::
-* Increment a number::
-* Rename files to lower case::
-* Print bash environment::
-* Reverse chars of lines::
-
-Emulating standard utilities:
-* tac:: Reverse lines of files
-* cat -n:: Numbering lines
-* cat -b:: Numbering non-blank lines
-* wc -c:: Counting chars
-* wc -w:: Counting words
-* wc -l:: Counting lines
-* head:: Printing the first lines
-* tail:: Printing the last lines
-* uniq:: Make duplicate lines unique
-* uniq -d:: Print duplicated lines of input
-* uniq -u:: Remove all duplicated lines
-* cat -s:: Squeezing blank lines
-@end menu
-
-@node Centering lines
-@section Centering Lines
-
-This script centers all lines of a file on a 80 columns width.
-To change that width, the number in @code{\@{@dots{}\@}} must be
-replaced, and the number of added spaces also must be changed.
-
-Note how the buffer commands are used to separate parts in
-the regular expressions to be matched---this is a common
-technique.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-# Put 80 spaces in the buffer
-1 @{
- x
- s/^$/ /
- s/^.*$/&&&&&&&&/
- x
-@}
-
-# del leading and trailing spaces
-y/@kbd{tab}/ /
-s/^ *//
-s/ *$//
-
-# add a newline and 80 spaces to end of line
-G
-
-# keep first 81 chars (80 + a newline)
-s/^\(.\@{81\@}\).*$/\1/
-
-# \2 matches half of the spaces, which are moved to the beginning
-s/^\(.*\)\n\(.*\)\2/\2\1/
-@end example
-@c end---------------------------------------------
-
-@node Increment a number
-@section Increment a Number
-
-This script is one of a few that demonstrate how to do arithmetic
-in @command{sed}. This is indeed possible,@footnote{@command{sed} guru Greg
-Ubben wrote an implementation of the @command{dc} @sc{rpn} calculator!
-It is distributed together with sed.} but must be done manually.
-
-To increment one number you just add 1 to last digit, replacing
-it by the following digit. There is one exception: when the digit
-is a nine the previous digits must be also incremented until you
-don't have a nine.
-
-This solution by Bruno Haible is very clever and smart because
-it uses a single buffer; if you don't have this limitation, the
-algorithm used in @ref{cat -n, Numbering lines}, is faster.
-It works by replacing trailing nines with an underscore, then
-using multiple @code{s} commands to increment the last digit,
-and then again substituting underscores with zeros.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-/[^0-9]/ d
-
-# replace all leading 9s by _ (any other character except digits, could
-# be used)
-:d
-s/9\(_*\)$/_\1/
-td
-
-# incr last digit only. The first line adds a most-significant
-# digit of 1 if we have to add a digit.
-#
-# The @code{tn} commands are not necessary, but make the thing
-# faster
-
-s/^\(_*\)$/1\1/; tn
-s/8\(_*\)$/9\1/; tn
-s/7\(_*\)$/8\1/; tn
-s/6\(_*\)$/7\1/; tn
-s/5\(_*\)$/6\1/; tn
-s/4\(_*\)$/5\1/; tn
-s/3\(_*\)$/4\1/; tn
-s/2\(_*\)$/3\1/; tn
-s/1\(_*\)$/2\1/; tn
-s/0\(_*\)$/1\1/; tn
-
-:n
-y/_/0/
-@end example
-@c end---------------------------------------------
-
-@node Rename files to lower case
-@section Rename Files to Lower Case
-
-This is a pretty strange use of @command{sed}. We transform text, and
-transform it to be shell commands, then just feed them to shell.
-Don't worry, even worse hacks are done when using @command{sed}; I have
-seen a script converting the output of @command{date} into a @command{bc}
-program!
-
-The main body of this is the @command{sed} script, which remaps the name
-from lower to upper (or vice-versa) and even checks out
-if the remapped name is the same as the original name.
-Note how the script is parameterized using shell
-variables and proper quoting.
-
-@c start-------------------------------------------
-@example
-#! /bin/sh
-# rename files to lower/upper case...
-#
-# usage:
-# move-to-lower *
-# move-to-upper *
-# or
-# move-to-lower -R .
-# move-to-upper -R .
-#
-
-help()
-@{
- cat << eof
-Usage: $0 [-n] [-r] [-h] files...
-
--n do nothing, only see what would be done
--R recursive (use find)
--h this message
-files files to remap to lower case
-
-Examples:
- $0 -n * (see if everything is ok, then...)
- $0 *
-
- $0 -R .
-
-eof
-@}
-
-apply_cmd='sh'
-finder='echo "$@@" | tr " " "\n"'
-files_only=
-
-while :
-do
- case "$1" in
- -n) apply_cmd='cat' ;;
- -R) finder='find "$@@" -type f';;
- -h) help ; exit 1 ;;
- *) break ;;
- esac
- shift
-done
-
-if [ -z "$1" ]; then
- echo Usage: $0 [-h] [-n] [-r] files...
- exit 1
-fi
-
-LOWER='abcdefghijklmnopqrstuvwxyz'
-UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
-case `basename $0` in
- *upper*) TO=$UPPER; FROM=$LOWER ;;
- *) FROM=$UPPER; TO=$LOWER ;;
-esac
-
-eval $finder | sed -n '
-
-# remove all trailing slashes
-s/\/*$//
-
-# add ./ if there is no path, only a filename
-/\//! s/^/.\//
-
-# save path+filename
-h
-
-# remove path
-s/.*\///
-
-# do conversion only on filename
-y/'$FROM'/'$TO'/
-
-# now line contains original path+file, while
-# hold space contains the new filename
-x
-
-# add converted file name to line, which now contains
-# path/file-name\nconverted-file-name
-G
-
-# check if converted file name is equal to original file name,
-# if it is, do not print nothing
-/^.*\/\(.*\)\n\1/b
-
-# now, transform path/fromfile\n, into
-# mv path/fromfile path/tofile and print it
-s/^\(.*\/\)\(.*\)\n\(.*\)$/mv "\1\2" "\1\3"/p
-
-' | $apply_cmd
-@end example
-@c end---------------------------------------------
-
-@node Print bash environment
-@section Print @command{bash} Environment
-
-This script strips the definition of the shell functions
-from the output of the @command{set} Bourne-shell command.
-
-@c start-------------------------------------------
-@example
-#!/bin/sh
-
-set | sed -n '
-:x
-
-@ifinfo
-# if no occurrence of "=()" print and load next line
-@end ifinfo
-@ifnotinfo
-# if no occurrence of @samp{=()} print and load next line
-@end ifnotinfo
-/=()/! @{ p; b; @}
-/ () $/! @{ p; b; @}
-
-# possible start of functions section
-# save the line in case this is a var like FOO="() "
-h
-
-# if the next line has a brace, we quit because
-# nothing comes after functions
-n
-/^@{/ q
-
-# print the old line
-x; p
-
-# work on the new line now
-x; bx
-'
-@end example
-@c end---------------------------------------------
-
-@node Reverse chars of lines
-@section Reverse Characters of Lines
-
-This script can be used to reverse the position of characters
-in lines. The technique moves two characters at a time, hence
-it is faster than more intuitive implementations.
-
-Note the @code{tx} command before the definition of the label.
-This is often needed to reset the flag that is tested by
-the @code{t} command.
-
-Imaginative readers will find uses for this script. An example
-is reversing the output of @command{banner}.@footnote{This requires
-another script to pad the output of banner; for example
-
-@example
-#! /bin/sh
-
-banner -w $1 $2 $3 $4 |
- sed -e :a -e '/^.\@{0,'$1'\@}$/ @{ s/$/ /; ba; @}' |
- ~/sedscripts/reverseline.sed
-@end example
-}
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-/../! b
-
-# Reverse a line. Begin embedding the line between two newlines
-s/^.*$/\
-&\
-/
-
-# Move first character at the end. The regexp matches until
-# there are zero or one characters between the markers
-tx
-:x
-s/\(\n.\)\(.*\)\(.\n\)/\3\2\1/
-tx
-
-# Remove the newline markers
-s/\n//g
-@end example
-@c end---------------------------------------------
-
-@node tac
-@section Reverse Lines of Files
-
-This one begins a series of totally useless (yet interesting)
-scripts emulating various Unix commands. This, in particular,
-is a @command{tac} workalike.
-
-Note that on implementations other than @acronym{GNU} @command{sed}
-@ifset PERL
-and @value{SSED}
-@end ifset
-this script might easily overflow internal buffers.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# reverse all lines of input, i.e. first line became last, ...
-
-# from the second line, the buffer (which contains all previous lines)
-# is *appended* to current line, so, the order will be reversed
-1! G
-
-# on the last line we're done -- print everything
-$ p
-
-# store everything on the buffer again
-h
-@end example
-@c end---------------------------------------------
-
-@node cat -n
-@section Numbering Lines
-
-This script replaces @samp{cat -n}; in fact it formats its output
-exactly like @acronym{GNU} @command{cat} does.
-
-Of course this is completely useless and for two reasons: first,
-because somebody else did it in C, second, because the following
-Bourne-shell script could be used for the same purpose and would
-be much faster:
-
-@c start-------------------------------------------
-@example
-#! /bin/sh
-sed -e "=" $@@ | sed -e '
- s/^/ /
- N
- s/^ *\(......\)\n/\1 /
-'
-@end example
-@c end---------------------------------------------
-
-It uses @command{sed} to print the line number, then groups lines two
-by two using @code{N}. Of course, this script does not teach as much as
-the one presented below.
-
-The algorithm used for incrementing uses both buffers, so the line
-is printed as soon as possible and then discarded. The number
-is split so that changing digits go in a buffer and unchanged ones go
-in the other; the changed digits are modified in a single step
-(using a @code{y} command). The line number for the next line
-is then composed and stored in the hold space, to be used in the
-next iteration.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# Prime the pump on the first line
-x
-/^$/ s/^.*$/1/
-
-# Add the correct line number before the pattern
-G
-h
-
-# Format it and print it
-s/^/ /
-s/^ *\(......\)\n/\1 /p
-
-# Get the line number from hold space; add a zero
-# if we're going to add a digit on the next line
-g
-s/\n.*$//
-/^9*$/ s/^/0/
-
-# separate changing/unchanged digits with an x
-s/.9*$/x&/
-
-# keep changing digits in hold space
-h
-s/^.*x//
-y/0123456789/1234567890/
-x
-
-# keep unchanged digits in pattern space
-s/x.*$//
-
-# compose the new number, remove the newline implicitly added by G
-G
-s/\n//
-h
-@end example
-@c end---------------------------------------------
-
-@node cat -b
-@section Numbering Non-blank Lines
-
-Emulating @samp{cat -b} is almost the same as @samp{cat -n}---we only
-have to select which lines are to be numbered and which are not.
-
-The part that is common to this script and the previous one is
-not commented to show how important it is to comment @command{sed}
-scripts properly...
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-/^$/ @{
- p
- b
-@}
-
-# Same as cat -n from now
-x
-/^$/ s/^.*$/1/
-G
-h
-s/^/ /
-s/^ *\(......\)\n/\1 /p
-x
-s/\n.*$//
-/^9*$/ s/^/0/
-s/.9*$/x&/
-h
-s/^.*x//
-y/0123456789/1234567890/
-x
-s/x.*$//
-G
-s/\n//
-h
-@end example
-@c end---------------------------------------------
-
-@node wc -c
-@section Counting Characters
-
-This script shows another way to do arithmetic with @command{sed}.
-In this case we have to add possibly large numbers, so implementing
-this by successive increments would not be feasible (and possibly
-even more complicated to contrive than this script).
-
-The approach is to map numbers to letters, kind of an abacus
-implemented with @command{sed}. @samp{a}s are units, @samp{b}s are
-tens and so on: we simply add the number of characters
-on the current line as units, and then propagate the carry
-to tens, hundreds, and so on.
-
-As usual, running totals are kept in hold space.
-
-On the last line, we convert the abacus form back to decimal.
-For the sake of variety, this is done with a loop rather than
-with some 80 @code{s} commands@footnote{Some implementations
-have a limit of 199 commands per script}: first we
-convert units, removing @samp{a}s from the number; then we
-rotate letters so that tens become @samp{a}s, and so on
-until no more letters remain.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# Add n+1 a's to hold space (+1 is for the newline)
-s/./a/g
-H
-x
-s/\n/a/
-
-# Do the carry. The t's and b's are not necessary,
-# but they do speed up the thing
-t a
-: a; s/aaaaaaaaaa/b/g; t b; b done
-: b; s/bbbbbbbbbb/c/g; t c; b done
-: c; s/cccccccccc/d/g; t d; b done
-: d; s/dddddddddd/e/g; t e; b done
-: e; s/eeeeeeeeee/f/g; t f; b done
-: f; s/ffffffffff/g/g; t g; b done
-: g; s/gggggggggg/h/g; t h; b done
-: h; s/hhhhhhhhhh//g
-
-: done
-$! @{
- h
- b
-@}
-
-# On the last line, convert back to decimal
-
-: loop
-/a/! s/[b-h]*/&0/
-s/aaaaaaaaa/9/
-s/aaaaaaaa/8/
-s/aaaaaaa/7/
-s/aaaaaa/6/
-s/aaaaa/5/
-s/aaaa/4/
-s/aaa/3/
-s/aa/2/
-s/a/1/
-
-: next
-y/bcdefgh/abcdefg/
-/[a-h]/ b loop
-p
-@end example
-@c end---------------------------------------------
-
-@node wc -w
-@section Counting Words
-
-This script is almost the same as the previous one, once each
-of the words on the line is converted to a single @samp{a}
-(in the previous script each letter was changed to an @samp{a}).
-
-It is interesting that real @command{wc} programs have optimized
-loops for @samp{wc -c}, so they are much slower at counting
-words rather than characters. This script's bottleneck,
-instead, is arithmetic, and hence the word-counting one
-is faster (it has to manage smaller numbers).
-
-Again, the common parts are not commented to show the importance
-of commenting @command{sed} scripts.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# Convert words to a's
-s/[ @kbd{tab}][ @kbd{tab}]*/ /g
-s/^/ /
-s/ [^ ][^ ]*/a /g
-s/ //g
-
-# Append them to hold space
-H
-x
-s/\n//
-
-# From here on it is the same as in wc -c.
-/aaaaaaaaaa/! bx; s/aaaaaaaaaa/b/g
-/bbbbbbbbbb/! bx; s/bbbbbbbbbb/c/g
-/cccccccccc/! bx; s/cccccccccc/d/g
-/dddddddddd/! bx; s/dddddddddd/e/g
-/eeeeeeeeee/! bx; s/eeeeeeeeee/f/g
-/ffffffffff/! bx; s/ffffffffff/g/g
-/gggggggggg/! bx; s/gggggggggg/h/g
-s/hhhhhhhhhh//g
-:x
-$! @{ h; b; @}
-:y
-/a/! s/[b-h]*/&0/
-s/aaaaaaaaa/9/
-s/aaaaaaaa/8/
-s/aaaaaaa/7/
-s/aaaaaa/6/
-s/aaaaa/5/
-s/aaaa/4/
-s/aaa/3/
-s/aa/2/
-s/a/1/
-y/bcdefgh/abcdefg/
-/[a-h]/ by
-p
-@end example
-@c end---------------------------------------------
-
-@node wc -l
-@section Counting Lines
-
-No strange things are done now, because @command{sed} gives us
-@samp{wc -l} functionality for free!!! Look:
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-$=
-@end example
-@c end---------------------------------------------
-
-@node head
-@section Printing the First Lines
-
-This script is probably the simplest useful @command{sed} script.
-It displays the first 10 lines of input; the number of displayed
-lines is right before the @code{q} command.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-10q
-@end example
-@c end---------------------------------------------
-
-@node tail
-@section Printing the Last Lines
-
-Printing the last @var{n} lines rather than the first is more complex
-but indeed possible. @var{n} is encoded in the second line, before
-the bang character.
-
-This script is similar to the @command{tac} script in that it keeps the
-final output in the hold space and prints it at the end:
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-1! @{; H; g; @}
-1,10 !s/[^\n]*\n//
-$p
-h
-@end example
-@c end---------------------------------------------
-
-Mainly, the scripts keeps a window of 10 lines and slides it
-by adding a line and deleting the oldest (the substitution command
-on the second line works like a @code{D} command but does not
-restart the loop).
-
-The ``sliding window'' technique is a very powerful way to write
-efficient and complex @command{sed} scripts, because commands like
-@code{P} would require a lot of work if implemented manually.
-
-To introduce the technique, which is fully demonstrated in the
-rest of this chapter and is based on the @code{N}, @code{P}
-and @code{D} commands, here is an implementation of @command{tail}
-using a simple ``sliding window.''
-
-This looks complicated but in fact the working is the same as
-the last script: after we have kicked in the appropriate number
-of lines, however, we stop using the hold space to keep inter-line
-state, and instead use @code{N} and @code{D} to slide pattern
-space by one line:
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-1h
-2,10 @{; H; g; @}
-$q
-1,9d
-N
-D
-@end example
-@c end---------------------------------------------
-
-Note how the first, second and fourth line are inactive after
-the first ten lines of input. After that, all the script does
-is: exiting on the last line of input, appending the next input
-line to pattern space, and removing the first line.
-
-@node uniq
-@section Make Duplicate Lines Unique
-
-This is an example of the art of using the @code{N}, @code{P}
-and @code{D} commands, probably the most difficult to master.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-h
-
-:b
-# On the last line, print and exit
-$b
-N
-/^\(.*\)\n\1$/ @{
- # The two lines are identical. Undo the effect of
- # the n command.
- g
- bb
-@}
-
-# If the @code{N} command had added the last line, print and exit
-$b
-
-# The lines are different; print the first and go
-# back working on the second.
-P
-D
-@end example
-@c end---------------------------------------------
-
-As you can see, we mantain a 2-line window using @code{P} and @code{D}.
-This technique is often used in advanced @command{sed} scripts.
-
-@node uniq -d
-@section Print Duplicated Lines of Input
-
-This script prints only duplicated lines, like @samp{uniq -d}.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-$b
-N
-/^\(.*\)\n\1$/ @{
- # Print the first of the duplicated lines
- s/.*\n//
- p
-
- # Loop until we get a different line
- :b
- $b
- N
- /^\(.*\)\n\1$/ @{
- s/.*\n//
- bb
- @}
-@}
-
-# The last line cannot be followed by duplicates
-$b
-
-# Found a different one. Leave it alone in the pattern space
-# and go back to the top, hunting its duplicates
-D
-@end example
-@c end---------------------------------------------
-
-@node uniq -u
-@section Remove All Duplicated Lines
-
-This script prints only unique lines, like @samp{uniq -u}.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-# Search for a duplicate line --- until that, print what you find.
-$b
-N
-/^\(.*\)\n\1$/ ! @{
- P
- D
-@}
-
-:c
-# Got two equal lines in pattern space. At the
-# end of the file we simply exit
-$d
-
-# Else, we keep reading lines with @code{N} until we
-# find a different one
-s/.*\n//
-N
-/^\(.*\)\n\1$/ @{
- bc
-@}
-
-# Remove the last instance of the duplicate line
-# and go back to the top
-D
-@end example
-@c end---------------------------------------------
-
-@node cat -s
-@section Squeezing Blank Lines
-
-As a final example, here are three scripts, of increasing complexity
-and speed, that implement the same function as @samp{cat -s}, that is
-squeezing blank lines.
-
-The first leaves a blank line at the beginning and end if there are
-some already.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-# on empty lines, join with next
-# Note there is a star in the regexp
-:x
-/^\n*$/ @{
-N
-bx
-@}
-
-# now, squeeze all '\n', this can be also done by:
-# s/^\(\n\)*/\1/
-s/\n*/\
-/
-@end example
-@c end---------------------------------------------
-
-This one is a bit more complex and removes all empty lines
-at the beginning. It does leave a single blank line at end
-if one was there.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-# delete all leading empty lines
-1,/^./@{
-/./!d
-@}
-
-# on an empty line we remove it and all the following
-# empty lines, but one
-:x
-/./!@{
-N
-s/^\n$//
-tx
-@}
-@end example
-@c end---------------------------------------------
-
-This removes leading and trailing blank lines. It is also the
-fastest. Note that loops are completely done with @code{n} and
-@code{b}, without relying on @command{sed} to restart the
-the script automatically at the end of a line.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# delete all (leading) blanks
-/./!d
-
-# get here: so there is a non empty
-:x
-# print it
-p
-# get next
-n
-# got chars? print it again, etc...
-/./bx
-
-# no, don't have chars: got an empty line
-:z
-# get next, if last line we finish here so no trailing
-# empty lines are written
-n
-# also empty? then ignore it, and get next... this will
-# remove ALL empty lines
-/./!bz
-
-# all empty lines were deleted/ignored, but we have a non empty. As
-# what we want to do is to squeeze, insert a blank line artificially
-i\
-
-bx
-@end example
-@c end---------------------------------------------
-
-@node Limitations
-@chapter @value{SSED}'s Limitations and Non-limitations
-
-@cindex @acronym{GNU} extensions, unlimited line length
-@cindex Portability, line length limitations
-For those who want to write portable @command{sed} scripts,
-be aware that some implementations have been known to
-limit line lengths (for the pattern and hold spaces)
-to be no more than 4000 bytes.
-The @sc{posix} standard specifies that conforming @command{sed}
-implementations shall support at least 8192 byte line lengths.
-@value{SSED} has no built-in limit on line length;
-as long as it can @code{malloc()} more (virtual) memory,
-you can feed or construct lines as long as you like.
-
-However, recursion is used to handle subpatterns and indefinite
-repetition. This means that the available stack space may limit
-the size of the buffer that can be processed by certain patterns.
-
-@ifset PERL
-There are some size limitations in the regular expression
-matcher but it is hoped that they will never in practice
-be relevant. The maximum length of a compiled pattern
-is 65539 (sic) bytes. All values in repeating quantifiers
-must be less than 65536. The maximum nesting depth of
-all parenthesized subpatterns, including capturing and
-non-capturing subpatterns@footnote{The
-distinction is meaningful when referring to Perl-style
-regular expressions.}, assertions, and other types of
-subpattern, is 200.
-
-Also, @value{SSED} recognizes the @sc{posix} syntax
-@code{[.@var{ch}.]} and @code{[=@var{ch}=]}
-where @var{ch} is a ``collating element'', but these
-are not supported, and an error is given if they are
-encountered.
-
-Here are a few distinctions between the real Perl-style
-regular expressions and those that @option{-R} recognizes.
-
-@enumerate
-@item
-Lookahead assertions do not allow repeat quantifiers after them
-Perl permits them, but they do not mean what you
-might think. For example, @samp{(?!a)@{3@}} does not assert that the
-next three characters are not @samp{a}. It just asserts three times that the
-next character is not @samp{a} --- a waste of time and nothing else.
-
-@item
-Capturing subpatterns that occur inside negative lookahead
-head assertions are counted, but their entries are counted
-as empty in the second half of an @code{s} command.
-Perl sets its numerical variables from any such patterns
-that are matched before the assertion fails to match
-something (thereby succeeding), but only if the negative
-lookahead assertion contains just one branch.
-
-@item
-The following Perl escape sequences are not supported:
-@samp{\l}, @samp{\u}, @samp{\L}, @samp{\U}, @samp{\E},
-@samp{\Q}. In fact these are implemented by Perl's general
-string-handling and are not part of its pattern matching engine.
-
-@item
-The Perl @samp{\G} assertion is not supported as it is not
-relevant to single pattern matches.
-
-@item
-Fairly obviously, @value{SSED} does not support the @samp{(?@{code@})}
-and @samp{(?p@{code@})} constructions. However, there is some experimental
-support for recursive patterns using the non-Perl item @samp{(?R)}.
-
-@item
-There are at the time of writing some oddities in Perl
-5.005_02 concerned with the settings of captured strings
-when part of a pattern is repeated. For example, matching
-@samp{aba} against the pattern @samp{/^(a(b)?)+$/} sets
-@samp{$2}@footnote{@samp{$2} would be @samp{\2} in @value{SSED}.}
-to the value @samp{b}, but matching @samp{aabbaa}
-against @samp{/^(aa(bb)?)+$/} leaves @samp{$2}
-unset. However, if the pattern is changed to
-@samp{/^(aa(b(b))?)+$/} then @samp{$2} (and @samp{$3}) are set.
-In Perl 5.004 @samp{$2} is set in both cases, and that is also
-true of @value{SSED}.
-
-@item
-Another as yet unresolved discrepancy is that in Perl
-5.005_02 the pattern @samp{/^(a)?(?(1)a|b)+$/} matches
-the string @samp{a}, whereas in @value{SSED} it does not.
-However, in both Perl and @value{SSED} @samp{/^(a)?a/} matched
-against @samp{a} leaves $1 unset.
-@end enumerate
-@end ifset
-
-@node Other Resources
-@chapter Other Resources for Learning About @command{sed}
-
-@cindex Additional reading about @command{sed}
-In addition to several books that have been written about @command{sed}
-(either specifically or as chapters in books which discuss
-shell programming), one can find out more about @command{sed}
-(including suggestions of a few books) from the FAQ
-for the @code{sed-users} mailing list, available from:
-@display
-@uref{http://sed.sourceforge.net/sedfaq.html}
-@end display
-
-Also of interest are
-@uref{http://www.student.northpark.edu/pemente/sed/index.htm}
-and @uref{http://sed.sf.net/grabbag},
-which include @command{sed} tutorials and other @command{sed}-related goodies.
-
-The @code{sed-users} mailing list itself maintained by Sven Guckes.
-To subscribe, visit @uref{http://groups.yahoo.com} and search
-for the @code{sed-users} mailing list.
-
-@node Reporting Bugs
-@chapter Reporting Bugs
-
-@cindex Bugs, reporting
-Email bug reports to @email{bonzini@@gnu.org}.
-Be sure to include the word ``sed'' somewhere in the @code{Subject:} field.
-Also, please include the output of @samp{sed --version} in the body
-of your report if at all possible.
-
-Please do not send a bug report like this:
-
-@example
-@i{@i{@r{while building frobme-1.3.4}}}
-$ configure
-@error{} sed: file sedscr line 1: Unknown option to 's'
-@end example
-
-If @value{SSED} doesn't configure your favorite package, take a
-few extra minutes to identify the specific problem and make a stand-alone
-test case. Unlike other programs such as C compilers, making such test
-cases for @command{sed} is quite simple.
-
-A stand-alone test case includes all the data necessary to perform the
-test, and the specific invocation of @command{sed} that causes the problem.
-The smaller a stand-alone test case is, the better. A test case should
-not involve something as far removed from @command{sed} as ``try to configure
-frobme-1.3.4''. Yes, that is in principle enough information to look
-for the bug, but that is not a very practical prospect.
-
-Here are a few commonly reported bugs that are not bugs.
-
-@table @asis
-@item @code{N} command on the last line
-@cindex Portability, @code{N} command on the last line
-@cindex Non-bugs, @code{N} command on the last line
-
-Most versions of @command{sed} exit without printing anything when
-the @command{N} command is issued on the last line of a file.
-@value{SSED} prints pattern space before exiting unless of course
-the @command{-n} command switch has been specified. This choice is
-by design.
-
-For example, the behavior of
-@example
-sed N foo bar
-@end example
-@noindent
-would depend on whether foo has an even or an odd number of
-lines@footnote{which is the actual ``bug'' that prompted the
-change in behavior}. Or, when writing a script to read the
-next few lines following a pattern match, traditional
-implementations of @code{sed} would force you to write
-something like
-@example
-/foo/@{ $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N @}
-@end example
-@noindent
-instead of just
-@example
-/foo/@{ N;N;N;N;N;N;N;N;N; @}
-@end example
-
-@cindex @code{POSIXLY_CORRECT} behavior, @code{N} command
-In any case, the simplest workaround is to use @code{$d;N} in
-scripts that rely on the traditional behavior, or to set
-the @code{POSIXLY_CORRECT} variable to a non-empty value.
-
-@item Regex syntax clashes (problems with backslashes)
-@cindex @acronym{GNU} extensions, to basic regular expressions
-@cindex Non-bugs, regex syntax clashes
-@command{sed} uses the @sc{posix} basic regular expression syntax. According to
-the standard, the meaning of some escape sequences is undefined in
-this syntax; notable in the case of @command{sed} are @code{\|},
-@code{\+}, @code{\?}, @code{\`}, @code{\'}, @code{\<},
-@code{\>}, @code{\b}, @code{\B}, @code{\w}, and @code{\W}.
-
-As in all @acronym{GNU} programs that use @sc{posix} basic regular
-expressions, @command{sed} interprets these escape sequences as special
-characters. So, @code{x\+} matches one or more occurrences of @samp{x}.
-@code{abc\|def} matches either @samp{abc} or @samp{def}.
-
-This syntax may cause problems when running scripts written for other
-@command{sed}s. Some @command{sed} programs have been written with the
-assumption that @code{\|} and @code{\+} match the literal characters
-@code{|} and @code{+}. Such scripts must be modified by removing the
-spurious backslashes if they are to be used with modern implementations
-of @command{sed}, like
-@ifset PERL
-@value{SSED} or
-@end ifset
-@acronym{GNU} @command{sed}.
-
-On the other hand, some scripts use s|abc\|def||g to remove occurrences
-of @emph{either} @code{abc} or @code{def}. While this worked until
-@command{sed} 4.0.x, newer versions interpret this as removing the
-string @code{abc|def}. This is again undefined behavior according to
-@acronym{POSIX}, and this interpretation is arguably more robust: older
-@command{sed}s, for example, required that the regex matcher parsed
-@code{\/} as @code{/} in the common case of escaping a slash, which is
-again undefined behavior; the new behavior avoids this, and this is good
-because the regex matcher is only partially under our control.
-
-@cindex @acronym{GNU} extensions, special escapes
-In addition, this version of @command{sed} supports several escape characters
-(some of which are multi-character) to insert non-printable characters
-in scripts (@code{\a}, @code{\c}, @code{\d}, @code{\o}, @code{\r},
-@code{\t}, @code{\v}, @code{\x}). These can cause similar problems
-with scripts written for other @command{sed}s.
-
-@item @option{-i} clobbers read-only files
-@cindex In-place editing
-@cindex @value{SSEDEXT}, in-place editing
-@cindex Non-bugs, in-place editing
-
-In short, @samp{sed -i} will let you delete the contents of
-a read-only file, and in general the @option{-i} option
-(@pxref{Invoking sed, , Invocation}) lets you clobber
-protected files. This is not a bug, but rather a consequence
-of how the Unix filesystem works.
-
-The permissions on a file say what can happen to the data
-in that file, while the permissions on a directory say what can
-happen to the list of files in that directory. @samp{sed -i}
-will not ever open for writing a file that is already on disk.
-Rather, it will work on a temporary file that is finally renamed
-to the original name: if you rename or delete files, you're actually
-modifying the contents of the directory, so the operation depends on
-the permissions of the directory, not of the file. For this same
-reason, @command{sed} does not let you use @option{-i} on a writeable file
-in a read-only directory, and will break hard or symbolic links when
-@option{-i} is used on such a file.
-
-@item @code{0a} does not work (gives an error)
-@cindex @code{0} address
-@cindex @acronym{GNU} extensions, @code{0} address
-@cindex Non-bugs, @code{0} address
-
-There is no line 0. 0 is a special address that is only used to treat
-addresses like @code{0,/@var{RE}/} as active when the script starts: if
-you write @code{1,/abc/d} and the first line includes the word @samp{abc},
-then that match would be ignored because address ranges must span at least
-two lines (barring the end of the file); but what you probably wanted is
-to delete every line up to the first one including @samp{abc}, and this
-is obtained with @code{0,/abc/d}.
-
-@ifclear PERL
-@item @code{[a-z]} is case insensitive
-@cindex Non-bugs, localization-related
-
-You are encountering problems with locales. POSIX mandates that @code{[a-z]}
-uses the current locale's collation order -- in C parlance, that means using
-@code{strcoll(3)} instead of @code{strcmp(3)}. Some locales have a
-case-insensitive collation order, others don't.
-
-Another problem is that @code{[a-z]} tries to use collation symbols.
-This only happens if you are on the @acronym{GNU} system, using
-@acronym{GNU} libc's regular expression matcher instead of compiling the
-one supplied with @acronym{GNU} sed. In a Danish locale, for example,
-the regular expression @code{^[a-z]$} matches the string @samp{aa},
-because this is a single collating symbol that comes after @samp{a}
-and before @samp{b}; @samp{ll} behaves similarly in Spanish
-locales, or @samp{ij} in Dutch locales.
-
-To work around these problems, which may cause bugs in shell scripts, set
-the @env{LC_COLLATE} and @env{LC_CTYPE} environment variables to @samp{C}.
-
-@item @code{s/.*//} does not clear pattern space
-@cindex Non-bugs, localization-related
-@cindex @value{SSEDEXT}, emptying pattern space
-@cindex Emptying pattern space
-
-This happens if your input stream includes invalid multibyte
-sequences. @sc{posix} mandates that such sequences
-are @emph{not} matched by @samp{.}, so that @samp{s/.*//} will not clear
-pattern space as you would expect. In fact, there is no way to clear
-sed's buffers in the middle of the script in most multibyte locales
-(including UTF-8 locales). For this reason, @value{SSED} provides a `z'
-command (for `zap') as an extension.
-
-To work around these problems, which may cause bugs in shell scripts, set
-the @env{LC_COLLATE} and @env{LC_CTYPE} environment variables to @samp{C}.
-@end ifclear
-@end table
-
-
-@node Extended regexps
-@appendix Extended regular expressions
-@cindex Extended regular expressions, syntax
-
-The only difference between basic and extended regular expressions is in
-the behavior of a few characters: @samp{?}, @samp{+}, parentheses,
-and braces (@samp{@{@}}). While basic regular expressions require
-these to be escaped if you want them to behave as special characters,
-when using extended regular expressions you must escape them if
-you want them @emph{to match a literal character}.
-
-@noindent
-Examples:
-@table @code
-@item abc?
-becomes @samp{abc\?} when using extended regular expressions. It matches
-the literal string @samp{abc?}.
-
-@item c\+
-becomes @samp{c+} when using extended regular expressions. It matches
-one or more @samp{c}s.
-
-@item a\@{3,\@}
-becomes @samp{a@{3,@}} when using extended regular expressions. It matches
-three or more @samp{a}s.
-
-@item \(abc\)\@{2,3\@}
-becomes @samp{(abc)@{2,3@}} when using extended regular expressions. It
-matches either @samp{abcabc} or @samp{abcabcabc}.
-
-@item \(abc*\)\1
-becomes @samp{(abc*)\1} when using extended regular expressions.
-Backreferences must still be escaped when using extended regular
-expressions.
-@end table
-
-@ifset PERL
-@node Perl regexps
-@appendix Perl-style regular expressions
-@cindex Perl-style regular expressions, syntax
-
-@emph{This part is taken from the @file{pcre.txt} file distributed together
-with the free @sc{pcre} regular expression matcher; it was written by Philip Hazel.}
-
-Perl introduced several extensions to regular expressions, some
-of them incompatible with the syntax of regular expressions
-accepted by Emacs and other @acronym{GNU} tools (whose matcher was
-based on the Emacs matcher). @value{SSED} implements
-both kinds of extensions.
-
-@iftex
-Summarizing, we have:
-
-@itemize @bullet
-@item
-A backslash can introduce several special sequences
-
-@item
-The circumflex, dollar sign, and period characters behave specially
-with regard to new lines
-
-@item
-Strange uses of square brackets are parsed differently
-
-@item
-You can toggle modifiers in the middle of a regular expression
-
-@item
-You can specify that a subpattern does not count when numbering backreferences
-
-@item
-@cindex Greedy regular expression matching
-You can specify greedy or non-greedy matching
-
-@item
-You can have more than ten back references
-
-@item
-You can do complex look aheads and look behinds (in the spirit of
-@code{\b}, but with subpatterns).
-
-@item
-You can often improve performance by avoiding that @command{sed} wastes
-time with backtracking
-
-@item
-You can have if/then/else branches
-
-@item
-You can do recursive matches, for example to look for unbalanced parentheses
-
-@item
-You can have comments and non-significant whitespace, because things can
-get complex...
-@end itemize
-
-Most of these extensions are introduced by the special @code{(?}
-sequence, which gives special meanings to parenthesized groups.
-@end iftex
-@menu
-Other extensions can be roughly subdivided in two categories
-On one hand Perl introduces several more escaped sequences
-(that is, sequences introduced by a backslash). On the other
-hand, it specifies that if a question mark follows an open
-parentheses it should give a special meaning to the parenthesized
-group.
-
-* Backslash:: Introduces special sequences
-* Circumflex/dollar sign/period:: Behave specially with regard to new lines
-* Square brackets:: Are a bit different in strange cases
-* Options setting:: Toggle modifiers in the middle of a regexp
-* Non-capturing subpatterns:: Are not counted when backreferencing
-* Repetition:: Allows for non-greedy matching
-* Backreferences:: Allows for more than 10 back references
-* Assertions:: Allows for complex look ahead matches
-* Non-backtracking subpatterns:: Often gives more performance
-* Conditional subpatterns:: Allows if/then/else branches
-* Recursive patterns:: For example to match parentheses
-* Comments:: Because things can get complex...
-@end menu
-
-@node Backslash
-@appendixsec Backslash
-@cindex Perl-style regular expressions, escaped sequences
-
-There are a few difference in the handling of backslashed
-sequences in Perl mode.
-
-First of all, there are no @code{\o} and @code{\d} sequences.
-@sc{ascii} values for characters can be specified in octal
-with a @code{\@var{xxx}} sequence, where @var{xxx} is a
-sequence of up to three octal digits. If the first digit
-is a zero, the treatment of the sequence is straightforward;
-just note that if the character that follows the escaped digit
-is itself an octal digit, you have to supply three octal digits
-for @var{xxx}. For example @code{\07} is a @sc{bel} character
-rather than a @sc{nul} and a literal @code{7} (this sequence is
-instead represented by @code{\0007}).
-
-@cindex Perl-style regular expressions, backreferences
-The handling of a backslash followed by a digit other than 0
-is complicated. Outside a character class, @command{sed} reads it
-and any following digits as a decimal number. If the number
-is less than 10, or if there have been at least that many
-previous capturing left parentheses in the expression, the
-entire sequence is taken as a back reference. A description
-of how this works is given later, following the discussion
-of parenthesized subpatterns.
-
-Inside a character class, or if the decimal number is
-greater than 9 and there have not been that many capturing
-subpatterns, @command{sed} re-reads up to three octal digits following
-the backslash, and generates a single byte from the
-least significant 8 bits of the value. Any subsequent digits
-stand for themselves. For example:
-
-@example
-\040 @i{@r{is another way of writing a space}}
-\40 @i{@r{is the same, provided there are fewer than 40}}
- @i{@r{previous capturing subpatterns}}
-\7 @i{@r{is always a back reference}}
-\011 @i{@r{is always a tab}}
-\11 @i{@r{might be a back reference, or another way of writing a tab}}
-\0113 @i{@r{is a tab followed by the character @samp{3}}}
-\113 @i{@r{is the character with octal code 113 (since there}}
- @i{@r{can be no more than 99 back references)}}
-\377 @i{@r{is a byte consisting entirely of 1 bits (@sc{ascii} 255)}}
-\81 @i{@r{is either a back reference, or a binary zero}}
- @i{@r{followed by the two characters @samp{81}}}
-@end example
-
-Note that octal values of 100 or greater must not be introduced
-by a leading zero, because no more than three octal
-digits are ever read. Note that this applies only to the LHS
-pattern; it is not possible yet to specify more than 9 backreferences
-on the RHS of the `s' command.
-
-All the sequences that define a single byte value can be
-used both inside and outside character classes. In addition,
-inside a character class, the sequence @code{\b} is interpreted
-as the backspace character (hex 08). Outside a character
-class it has a different meaning (see below).
-
-In addition, there are four additional escapes specifying
-generic character classes (like @code{\w} and @code{\W} do):
-
-@cindex Perl-style regular expressions, character classes
-@table @samp
-@item \d
-Matches any decimal digit
-
-@item \D
-Matches any character that is not a decimal digit
-@end table
-
-In Perl mode, these character type sequences can appear both inside and
-outside character classes. Instead, in @sc{posix} mode these sequences
-(as well as @code{\w} and @code{\W}) are treated as two literal characters
-(a backslash and a letter) inside square brackets.
-
-Escaped sequences specifying assertions are also different in
-Perl mode. An assertion specifies a condition that has to be met
-at a particular point in a match, without consuming any
-characters from the subject string. The use of subpatterns
-for more complicated assertions is described below. The
-backslashed assertions are
-
-@cindex Perl-style regular expressions, assertions
-@table @samp
-@item \b
-Asserts that the point is at a word boundary.
-A word boundary is a position in the subject string where
-the current character and the previous character do not both
-match @code{\w} or @code{\W} (i.e. one matches @code{\w} and
-the other matches @code{\W}), or the start or end of the string
-if the first or last character matches @code{\w}, respectively.
-
-@item \B
-Asserts that the point is not at a word boundary.
-
-@item \A
-Asserts the matcher is at the start of pattern space (independent
-of multiline mode).
-
-@item \Z
-Asserts the matcher is at the end of pattern space,
-or at a newline before the end of pattern space (independent of
-multiline mode)
-
-@item \z
-Asserts the matcher is at the end of pattern space (independent
-of multiline mode)
-@end table
-
-These assertions may not appear in character classes (but
-note that @code{\b} has a different meaning, namely the
-backspace character, inside a character class).
-Note that Perl mode does not support directly assertions
-for the beginning and the end of word; the @acronym{GNU} extensions
-@code{\<} and @code{\>} achieve this purpose in @sc{posix} mode
-instead.
-
-The @code{\A}, @code{\Z}, and @code{\z} assertions differ
-from the traditional circumflex and dollar sign (described below)
-in that they only ever match at the very start and end of the
-subject string, whatever options are set; in particular @code{\A}
-and @code{\z} are the same as the @acronym{GNU} extensions
-@code{\`} and @code{\'} that are active in @sc{posix} mode.
-
-@node Circumflex/dollar sign/period
-@appendixsec Circumflex, dollar sign, period
-@cindex Perl-style regular expressions, newlines
-
-Outside a character class, in the default matching mode, the
-circumflex character is an assertion which is true only if
-the current matching point is at the start of the subject
-string. Inside a character class, the circumflex has an entirely
-different meaning (see below).
-
-The circumflex need not be the first character of the pattern if
-a number of alternatives are involved, but it should be the
-first thing in each alternative in which it appears if the
-pattern is ever to match that branch. If all possible alternatives,
-start with a circumflex, that is, if the pattern is
-constrained to match only at the start of the subject, it is
-said to be an @dfn{anchored} pattern. (There are also other constructs
-structs that can cause a pattern to be anchored.)
-
-A dollar sign is an assertion which is true only if the
-current matching point is at the end of the subject string,
-or immediately before a newline character that is the last
-character in the string (by default). A dollar sign need not be the
-last character of the pattern if a number of alternatives
-are involved, but it should be the last item in any branch
-in which it appears. A dollar sign has no special meaning in a
-character class.
-
-@cindex Perl-style regular expressions, multiline
-The meanings of the circumflex and dollar sign characters are
-changed if the @code{M} modifier option is used. When this is
-the case, they match immediately after and immediately
-before an internal @code{\n} character, respectively, in addition
-to matching at the start and end of the subject string. For
-example, the pattern @code{/^abc$/} matches the subject string
-@samp{def\nabc} in multiline mode, but not otherwise. Consequently,
-patterns that are anchored in single line mode
-because all branches start with @code{^} are not anchored in
-multiline mode.
-
-@cindex Perl-style regular expressions, multiline
-Note that the sequences @code{\A}, @code{\Z}, and @code{\z}
-can be used to match the start and end of the subject in both
-modes, and if all branches of a pattern start with @code{\A}
-is it always anchored, whether the @code{M} modifier is set or not.
-
-@cindex Perl-style regular expressions, single line
-Outside a character class, a dot in the pattern matches any
-one character in the subject, including a non-printing character,
-but not (by default) newline. If the @code{S} modifier is used,
-dots match newlines as well. Actually, the handling of
-dot is entirely independent of the handling of circumflex
-and dollar sign, the only relationship being that they both
-involve newline characters. Dot has no special meaning in a
-character class.
-
-@node Square brackets
-@appendixsec Square brackets
-@cindex Perl-style regular expressions, character classes
-
-An opening square bracket introduces a character class, terminated
-by a closing square bracket. A closing square bracket on its own
-is not special. If a closing square bracket is required as a
-member of the class, it should be the first data character in
-the class (after an initial circumflex, if present) or escaped with a backslash.
-
-A character class matches a single character in the subject;
-the character must be in the set of characters defined by
-the class, unless the first character in the class is a circumflex,
-in which case the subject character must not be in
-the set defined by the class. If a circumflex is actually
-required as a member of the class, ensure it is not the
-first character, or escape it with a backslash.
-
-For example, the character class [aeiou] matches any lower
-case vowel, while [^aeiou] matches any character that is not
-a lower case vowel. Note that a circumflex is just a convenient
-venient notation for specifying the characters which are in
-the class by enumerating those that are not. It is not an
-assertion: it still consumes a character from the subject
-string, and fails if the current pointer is at the end of
-the string.
-
-@cindex Perl-style regular expressions, case-insensitive
-When caseless matching is set, any letters in a class
-represent both their upper case and lower case versions, so
-for example, a caseless @code{[aeiou]} matches uppercase
-and lowercase @samp{A}s, and a caseless @code{[^aeiou]}
-does not match @samp{A}, whereas a case-sensitive version would.
-
-@cindex Perl-style regular expressions, single line
-@cindex Perl-style regular expressions, multiline
-The newline character is never treated in any special way in
-character classes, whatever the setting of the @code{S} and
-@code{M} options (modifiers) is. A class such as @code{[^a]} will
-always match a newline.
-
-The minus (hyphen) character can be used to specify a range
-of characters in a character class. For example, @code{[d-m]}
-matches any letter between d and m, inclusive. If a minus
-character is required in a class, it must be escaped with a
-backslash or appear in a position where it cannot be interpreted
-as indicating a range, typically as the first or last
-character in the class.
-
-It is not possible to have the literal character @code{]} as the
-end character of a range. A pattern such as @code{[W-]46]} is
-interpreted as a class of two characters (@code{W} and @code{-})
-followed by a literal string @code{46]}, so it would match
-@samp{W46]} or @samp{-46]}. However, if the @code{]} is escaped
-with a backslash it is interpreted as the end of range, so
-@code{[W-\]46]} is interpreted as a single class containing a
-range followed by two separate characters. The octal or
-hexadecimal representation of @code{]} can also be used to end a range.
-
-Ranges operate in @sc{ascii} collating sequence. They can also be
-used for characters specified numerically, for example
-@code{[\000-\037]}. If a range that includes letters is used when
-caseless matching is set, it matches the letters in either
-case. For example, a caseless @code{[W-c]} is equivalent to
-@code{[][\^_`wxyzabc]}, matched caselessly, and if character
-tables for the French locale are in use, @code{[\xc8-\xcb]}
-matches accented E characters in both cases.
-
-Unlike in @sc{posix} mode, the character types @code{\d},
-@code{\D}, @code{\s}, @code{\S}, @code{\w}, and @code{\W}
-may also appear in a character class, and add the characters
-that they match to the class. For example, @code{[\dABCDEF]} matches any
-hexadecimal digit. A circumflex can conveniently be used
-with the upper case character types to specify a more restricted
-set of characters than the matching lower case type.
-For example, the class @code{[^\W_]} matches any letter or digit,
-but not underscore.
-
-All non-alphameric characters other than @code{\}, @code{-},
-@code{^} (at the start) and the terminating @code{]}
-are non-special in character classes, but it does no harm
-if they are escaped.
-
-Perl 5.6 supports the @sc{posix} notation for character classes, which
-uses names enclosed by @code{[:} and @code{:]} within the enclosing
-square brackets, and @value{SSED} supports this notation as well.
-For example,
-
-@example
-[01[:alpha:]%]
-@end example
-
-@noindent
-matches @samp{0}, @samp{1}, any alphabetic character, or @samp{%}.
-The supported class names are
-
-@table @code
-@item alnum
-Matches letters and digits
-
-@item alpha
-Matches letters
-
-@item ascii
-Matches character codes 0 - 127
-
-@item cntrl
-Matches control characters
-
-@item digit
-Matches decimal digits (same as \d)
-
-@item graph
-Matches printing characters, excluding space
-
-@item lower
-Matches lower case letters
-
-@item print
-Matches printing characters, including space
-
-@item punct
-Matches printing characters, excluding letters and digits
-
-@item space
-Matches white space (same as \s)
-
-@item upper
-Matches upper case letters
-
-@item word
-Matches ``word'' characters (same as \w)
-
-@item xdigit
-Matches hexadecimal digits
-@end table
-
-The names @code{ascii} and @code{word} are extensions valid only in
-Perl mode. Another Perl extension is negation, which is
-indicated by a circumflex character after the colon. For example,
-
-@example
-[12[:^digit:]]
-@end example
-
-@noindent
-matches @samp{1}, @samp{2}, or any non-digit.
-
-@node Options setting
-@appendixsec Options setting
-@cindex Perl-style regular expressions, toggling options
-@cindex Perl-style regular expressions, case-insensitive
-@cindex Perl-style regular expressions, multiline
-@cindex Perl-style regular expressions, single line
-@cindex Perl-style regular expressions, extended
-
-The settings of the @code{I}, @code{M}, @code{S}, @code{X}
-modifiers can be changed from within the pattern by
-a sequence of Perl option letters enclosed between @code{(?}
-and @code{)}. The option letters must be lowercase.
-
-For example, @code{(?im)} sets caseless, multiline matching. It is
-also possible to unset these options by preceding the letter
-with a hyphen; you can also have combined settings and unsettings:
-@code{(?im-sx)} sets caseless and multiline matching,
-while unsets single line matching (for dots) and extended
-whitespace interpretation. If a letter appears both before
-and after the hyphen, the option is unset.
-
-The scope of these option changes depends on where in the
-pattern the setting occurs. For settings that are outside
-any subpattern (defined below), the effect is the same as if
-the options were set or unset at the start of matching. The
-following patterns all behave in exactly the same way:
-
-@example
-(?i)abc
-a(?i)bc
-ab(?i)c
-abc(?i)
-@end example
-
-which in turn is the same as specifying the pattern abc with
-the @code{I} modifier. In other words, ``top level'' settings
-apply to the whole pattern (unless there are other
-changes inside subpatterns). If there is more than one setting
-of the same option at top level, the rightmost setting
-is used.
-
-If an option change occurs inside a subpattern, the effect
-is different. This is a change of behaviour in Perl 5.005.
-An option change inside a subpattern affects only that part
-of the subpattern @emph{that follows} it, so
-
-@example
-(a(?i)b)c
-@end example
-
-@noindent
-matches abc and aBc and no other strings (assuming
-case-sensitive matching is used). By this means, options can
-be made to have different settings in different parts of the
-pattern. Any changes made in one alternative do carry on
-into subsequent branches within the same subpattern. For
-example,
-
-@example
-(a(?i)b|c)
-@end example
-
-@noindent
-matches @samp{ab}, @samp{aB}, @samp{c}, and @samp{C},
-even though when matching @samp{C} the first branch is
-abandoned before the option setting.
-This is because the effects of option settings happen at
-compile time. There would be some very weird behaviour otherwise.
-
-@ignore
-There are two PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA
-that can be changed in the same way as the Perl-compatible options by
-using the characters U and X respectively. The (?X) flag
-setting is special in that it must always occur earlier in
-the pattern than any of the additional features it turns on,
-even when it is at top level. It is best put at the start.
-@end ignore
-
-
-@node Non-capturing subpatterns
-@appendixsec Non-capturing subpatterns
-@cindex Perl-style regular expressions, non-capturing subpatterns
-
-Marking part of a pattern as a subpattern does two things.
-On one hand, it localizes a set of alternatives; on the other
-hand, it sets up the subpattern as a capturing subpattern (as
-defined above). The subpattern can be backreferenced and
-referenced in the right side of @code{s} commands.
-
-For example, if the string @samp{the red king} is matched against
-the pattern
-
-@example
-the ((red|white) (king|queen))
-@end example
-
-@noindent
-the captured substrings are @samp{red king}, @samp{red},
-and @samp{king}, and are numbered 1, 2, and 3.
-
-The fact that plain parentheses fulfil two functions is not
-always helpful. There are often times when a grouping
-subpattern is required without a capturing requirement. If an
-opening parenthesis is followed by @code{?:}, the subpattern does
-not do any capturing, and is not counted when computing the
-number of any subsequent capturing subpatterns. For example,
-if the string @samp{the white queen} is matched against the pattern
-
-@example
-the ((?:red|white) (king|queen))
-@end example
-
-@noindent
-the captured substrings are @samp{white queen} and @samp{queen},
-and are numbered 1 and 2. The maximum number of captured
-substrings is 99, while the maximum number of all subpatterns,
-both capturing and non-capturing, is 200.
-
-As a convenient shorthand, if any option settings are
-equired at the start of a non-capturing subpattern, the
-option letters may appear between the @code{?} and the
-@code{:}. Thus the two patterns
-
-@example
-(?i:saturday|sunday)
-(?:(?i)saturday|sunday)
-@end example
-
-@noindent
-match exactly the same set of strings. Because alternative
-branches are tried from left to right, and options are not
-reset until the end of the subpattern is reached, an option
-setting in one branch does affect subsequent branches, so
-the above patterns match @samp{SUNDAY} as well as @samp{Saturday}.
-
-
-@node Repetition
-@appendixsec Repetition
-@cindex Perl-style regular expressions, repetitions
-
-Repetition is specified by quantifiers, which can follow any
-of the following items:
-
-@itemize @bullet
-@item
-a single character, possibly escaped
-
-@item
-the @code{.} special character
-
-@item
-a character class
-
-@item
-a back reference (see next section)
-
-@item
-a parenthesized subpattern (unless it is an assertion; @pxref{Assertions})
-@end itemize
-
-The general repetition quantifier specifies a minimum and
-maximum number of permitted matches, by giving the two
-numbers in curly brackets (braces), separated by a comma.
-The numbers must be less than 65536, and the first must be
-less than or equal to the second. For example:
-
-@example
-z@{2,4@}
-@end example
-
-@noindent
-matches @samp{zz}, @samp{zzz}, or @samp{zzzz}. A closing brace on its own
-is not a special character. If the second number is omitted,
-but the comma is present, there is no upper limit; if the
-second number and the comma are both omitted, the quantifier
-specifies an exact number of required matches. Thus
-
-@example
-[aeiou]@{3,@}
-@end example
-
-@noindent
-matches at least 3 successive vowels, but may match many
-more, while
-
-@example
-\d@{8@}
-@end example
-
-@noindent
-matches exactly 8 digits. An opening curly bracket that
-appears in a position where a quantifier is not allowed, or
-one that does not match the syntax of a quantifier, is taken
-as a literal character. For example, @{,6@} is not a quantifier,
-but a literal string of four characters.@footnote{It
-raises an error if @option{-R} is not used.}
-
-The quantifier @samp{@{0@}} is permitted, causing the expression to
-behave as if the previous item and the quantifier were not
-present.
-
-For convenience (and historical compatibility) the three
-most common quantifiers have single-character abbreviations:
-
-@table @code
-@item *
-is equivalent to @{0,@}
-
-@item +
-is equivalent to @{1,@}
-
-@item ?
-is equivalent to @{0,1@}
-@end table
-
-It is possible to construct infinite loops by following a
-subpattern that can match no characters with a quantifier
-that has no upper limit, for example:
-
-@example
-(a?)*
-@end example
-
-Earlier versions of Perl used to give an error at
-compile time for such patterns. However, because there are
-cases where this can be useful, such patterns are now
-accepted, but if any repetition of the subpattern does in
-fact match no characters, the loop is forcibly broken.
-
-@cindex Greedy regular expression matching
-@cindex Perl-style regular expressions, stingy repetitions
-By default, the quantifiers are @dfn{greedy} like in @sc{posix}
-mode, that is, they match as much as possible (up to the maximum
-number of permitted times), without causing the rest of the
-pattern to fail. The classic example of where this gives problems
-is in trying to match comments in C programs. These appear between
-the sequences @code{/*} and @code{*/} and within the sequence, individual
-@code{*} and @code{/} characters may appear. An attempt to match C
-comments by applying the pattern
-
-@example
-/\*.*\*/
-@end example
-
-@noindent
-to the string
-
-@example
-/* first command */ not comment /* second comment */
-@end example
-
-@noindent
-
-fails, because it matches the entire string owing to the
-greediness of the @code{.*} item.
-
-However, if a quantifier is followed by a question mark, it
-ceases to be greedy, and instead matches the minimum number
-of times possible, so the pattern @code{/\*.*?\*/}
-does the right thing with the C comments. The meaning of the
-various quantifiers is not otherwise changed, just the preferred
-number of matches. Do not confuse this use of question
-mark with its use as a quantifier in its own right.
-Because it has two uses, it can sometimes appear doubled, as in
-
-@example
-\d??\d
-@end example
-
-which matches one digit by preference, but can match two if
-that is the only way the rest of the pattern matches.
-
-Note that greediness does not matter when specifying addresses,
-but can be nevertheless used to improve performance.
-
-@ignore
-If the PCRE_UNGREEDY option is set (an option which is not
-available in Perl), the quantifiers are not greedy by
-default, but individual ones can be made greedy by following
-them with a question mark. In other words, it inverts the
-default behaviour.
-@end ignore
-
-When a parenthesized subpattern is quantified with a minimum
-repeat count that is greater than 1 or with a limited maximum,
-more store is required for the compiled pattern, in
-proportion to the size of the minimum or maximum.
-
-@cindex Perl-style regular expressions, single line
-If a pattern starts with @code{.*} or @code{.@{0,@}} and the
-@code{S} modifier is used, the pattern is implicitly anchored,
-because whatever follows will be tried against every character
-position in the subject string, so there is no point in
-retrying the overall match at any position after the first.
-PCRE treats such a pattern as though it were preceded by \A.
-
-When a capturing subpattern is repeated, the value captured
-is the substring that matched the final iteration. For example,
-after
-
-@example
-(tweedle[dume]@{3@}\s*)+
-@end example
-
-@noindent
-has matched @samp{tweedledum tweedledee} the value of the
-captured substring is @samp{tweedledee}. However, if there are
-nested capturing subpatterns, the corresponding captured
-values may have been set in previous iterations. For example,
-after
-
-@example
-/(a|(b))+/
-@end example
-
-matches @samp{aba}, the value of the second captured substring is
-@samp{b}.
-
-@node Backreferences
-@appendixsec Backreferences
-@cindex Perl-style regular expressions, backreferences
-
-Outside a character class, a backslash followed by a digit
-greater than 0 (and possibly further digits) is a back
-reference to a capturing subpattern earlier (i.e. to its
-left) in the pattern, provided there have been that many
-previous capturing left parentheses.
-
-However, if the decimal number following the backslash is
-less than 10, it is always taken as a back reference, and
-causes an error only if there are not that many capturing
-left parentheses in the entire pattern. In other words, the
-parentheses that are referenced need not be to the left of
-the reference for numbers less than 10. @ref{Backslash}
-for further details of the handling of digits following a backslash.
-
-A back reference matches whatever actually matched the capturing
-subpattern in the current subject string, rather than
-anything matching the subpattern itself. So the pattern
-
-@example
-(sens|respons)e and \1ibility
-@end example
-
-@noindent
-matches @samp{sense and sensibility} and @samp{response and responsibility},
-but not @samp{sense and responsibility}. If caseful
-matching is in force at the time of the back reference, the
-case of letters is relevant. For example,
-
-@example
-((?i)blah)\s+\1
-@end example
-
-@noindent
-matches @samp{blah blah} and @samp{Blah Blah}, but not
-@samp{BLAH blah}, even though the original capturing
-subpattern is matched caselessly.
-
-There may be more than one back reference to the same subpattern.
-Also, if a subpattern has not actually been used in a
-particular match, any back references to it always fail. For
-example, the pattern
-
-@example
-(a|(bc))\2
-@end example
-
-@noindent
-always fails if it starts to match @samp{a} rather than
-@samp{bc}. Because there may be up to 99 back references, all
-digits following the backslash are taken as part of a potential
-back reference number; this is different from what happens
-in @sc{posix} mode. If the pattern continues with a digit
-character, some delimiter must be used to terminate the back
-reference. If the @code{X} modifier option is set, this can be
-whitespace. Otherwise an empty comment can be used, or the
-following character can be expressed in hexadecimal or octal.
-Note that this applies only to the LHS pattern; it is
-not possible yet to specify more than 9 backreferences on the
-RHS of the `s' command.
-
-A back reference that occurs inside the parentheses to which
-it refers fails when the subpattern is first used, so, for
-example, @code{(a\1)} never matches. However, such references
-can be useful inside repeated subpatterns. For example, the
-pattern
-
-@example
-(a|b\1)+
-@end example
-
-@noindent
-matches any number of @samp{a}s and also @samp{aba}, @samp{ababbaa},
-etc. At each iteration of the subpattern, the back reference matches
-the character string corresponding to the previous iteration. In
-order for this to work, the pattern must be such that the first
-iteration does not need to match the back reference. This can be
-done using alternation, as in the example above, or by a
-quantifier with a minimum of zero.
-
-@node Assertions
-@appendixsec Assertions
-@cindex Perl-style regular expressions, assertions
-@cindex Perl-style regular expressions, asserting subpatterns
-
-An assertion is a test on the characters following or
-preceding the current matching point that does not actually
-consume any characters. The simple assertions coded as @code{\b},
-@code{\B}, @code{\A}, @code{\Z}, @code{\z}, @code{^} and @code{$}
-are described above. More complicated assertions are coded as
-subpatterns. There are two kinds: those that look ahead of the
-current position in the subject string, and those that look behind it.
-
-@cindex Perl-style regular expressions, lookahead subpatterns
-An assertion subpattern is matched in the normal way, except
-that it does not cause the current matching position to be
-changed. Lookahead assertions start with @code{(?=} for positive
-assertions and @code{(?!} for negative assertions. For example,
-
-@example
-\w+(?=;)
-@end example
-
-@noindent
-matches a word followed by a semicolon, but does not include
-the semicolon in the match, and
-
-@example
-foo(?!bar)
-@end example
-
-@noindent
-matches any occurrence of @samp{foo} that is not followed by
-@samp{bar}.
-
-Note that the apparently similar pattern
-
-@example
-(?!foo)bar
-@end example
-
-@noindent
-@cindex Perl-style regular expressions, lookbehind subpatterns
-finds any occurrence of @samp{bar} even if it is preceded by
-@samp{foo}, because the assertion @code{(?!foo)} is always true
-when the next three characters are @samp{bar}. A lookbehind
-assertion is needed to achieve this effect.
-Lookbehind assertions start with @code{(?<=} for positive
-assertions and @code{(?<!} for negative assertions. So,
-
-@example
-(?<!foo)bar
-@end example
-
-achieves the required effect of finding an occurrence of
-@samp{bar} that is not preceded by @samp{foo}. The contents of a
-lookbehind assertion are restricted
-such that all the strings it matches must have a fixed
-length. However, if there are several alternatives, they do
-not all have to have the same fixed length. This is an extension
-compared with Perl 5.005, which requires all branches to match
-the same length of string. Thus
-
-@example
-(?<=dogs|cats|)
-@end example
-
-@noindent
-is permitted, but the apparently equivalent regular expression
-
-@example
-(?<!dogs?|cats?)
-@end example
-
-@noindent
-causes an error at compile time. Branches that match different
-length strings are permitted only at the top level of
-a lookbehind assertion: an assertion such as
-
-@example
-(?<=ab(c|de))
-@end example
-
-@noindent
-is not permitted, because its single top-level branch can
-match two different lengths, but it is acceptable if rewritten
-to use two top-level branches:
-
-@example
-(?<=abc|abde)
-@end example
-
-All this is required because lookbehind assertions simply
-move the current position back by the alternative's fixed
-width and then try to match. If there are
-insufficient characters before the current position, the
-match is deemed to fail. Lookbehinds, in conjunction with
-non-backtracking subpatterns can be particularly useful for
-matching at the ends of strings; an example is given at the end
-of the section on non-backtracking subpatterns.
-
-Several assertions (of any sort) may occur in succession.
-For example,
-
-@example
-(?<=\d@{3@})(?<!999)foo
-@end example
-
-@noindent
-matches @samp{foo} preceded by three digits that are not @samp{999}.
-Notice that each of the assertions is applied independently
-at the same point in the subject string. First there is a
-check that the previous three characters are all digits, and
-then there is a check that the same three characters are not
-@samp{999}. This pattern does not match @samp{foo} preceded by six
-characters, the first of which are digits and the last three
-of which are not @samp{999}. For example, it doesn't match
-@samp{123abcfoo}. A pattern to do that is
-
-@example
-(?<=\d@{3@}...)(?<!999)foo
-@end example
-
-@noindent
-This time the first assertion looks at the preceding six
-characters, checking that the first three are digits, and
-then the second assertion checks that the preceding three
-characters are not @samp{999}. Actually, assertions can be
-nested in any combination, so one can write this as
-
-@example
-(?<=\d@{3@}(?!999)...)foo
-@end example
-
-or
-
-@example
-(?<=\d@{3@}...(?<!999))foo
-@end example
-
-@noindent
-both of which might be considered more readable.
-
-Assertion subpatterns are not capturing subpatterns, and may
-not be repeated, because it makes no sense to assert the
-same thing several times. If any kind of assertion contains
-capturing subpatterns within it, these are counted for the
-purposes of numbering the capturing subpatterns in the whole
-pattern. However, substring capturing is carried out only
-for positive assertions, because it does not make sense for
-negative assertions.
-
-Assertions count towards the maximum of 200 parenthesized
-subpatterns.
-
-@node Non-backtracking subpatterns
-@appendixsec Non-backtracking subpatterns
-@cindex Perl-style regular expressions, non-backtracking subpatterns
-
-With both maximizing and minimizing repetition, failure of
-what follows normally causes the repeated item to be evaluated
-again to see if a different number of repeats allows the
-rest of the pattern to match. Sometimes it is useful to
-prevent this, either to change the nature of the match, or
-to cause it fail earlier than it otherwise might, when the
-author of the pattern knows there is no point in carrying
-on.
-
-Consider, for example, the pattern @code{\d+foo} when applied to
-the subject line
-
-@example
-123456bar
-@end example
-
-After matching all 6 digits and then failing to match @samp{foo},
-the normal action of the matcher is to try again with only 5
-digits matching the @code{\d+} item, and then with 4, and so on,
-before ultimately failing. Non-backtracking subpatterns
-provide the means for specifying that once a portion of the
-pattern has matched, it is not to be re-evaluated in this way,
-so the matcher would give up immediately on failing to match
-@samp{foo} the first time. The notation is another kind of special
-parenthesis, starting with @code{(?>} as in this example:
-
-@example
-(?>\d+)bar
-@end example
-
-This kind of parenthesis ``locks up'' the part of the pattern
-it contains once it has matched, and a failure further into
-the pattern is prevented from backtracking into it.
-Backtracking past it to previous items, however, works as
-normal.
-
-Non-backtracking subpatterns are not capturing subpatterns. Simple
-cases such as the above example can be thought of as a maximizing
-repeat that must swallow everything it can. So,
-while both @code{\d+} and @code{\d+?} are prepared to adjust the number of
-digits they match in order to make the rest of the pattern
-match, @code{(?>\d+)} can only match an entire sequence of digits.
-
-This construction can of course contain arbitrarily complicated
-subpatterns, and it can be nested.
-
-@cindex Perl-style regular expressions, lookbehind subpatterns
-Non-backtracking subpatterns can be used in conjunction with look-behind
-assertions to specify efficient matching at the end
-of the subject string. Consider a simple pattern such as
-
-@example
-abcd$
-@end example
-
-@noindent
-when applied to a long string which does not match. Because
-matching proceeds from left to right, @command{sed} will look for
-each @samp{a} in the subject and then see if what follows matches
-the rest of the pattern. If the pattern is specified as
-
-@example
-^.*abcd$
-@end example
-
-@noindent
-the initial @code{.*} matches the entire string at first, but when
-this fails (because there is no following @samp{a}), it backtracks
-to match all but the last character, then all but the
-last two characters, and so on. Once again the search for
-@samp{a} covers the entire string, from right to left, so we are
-no better off. However, if the pattern is written as
-
-@example
-^(?>.*)(?<=abcd)
-@end example
-
-there can be no backtracking for the .* item; it can match
-only the entire string. The subsequent lookbehind assertion
-does a single test on the last four characters. If it fails,
-the match fails immediately. For long strings, this approach
-makes a significant difference to the processing time.
-
-When a pattern contains an unlimited repeat inside a subpattern
-that can itself be repeated an unlimited number of
-times, the use of a once-only subpattern is the only way to
-avoid some failing matches taking a very long time
-indeed.@footnote{Actually, the matcher embedded in @value{SSED}
-tries to do something for this in the simplest cases,
-like @code{([^b]*b)*}. These cases are actually quite
-common: they happen for example in a regular expression
-like @code{\/\*([^*]*\*)*\/} which matches C comments.}
-
-The pattern
-
-@example
-(\D+|<\d+>)*[!?]
-@end example
-
-([^0-9<]+<(\d+>)?)*[!?]
-
-@noindent
-matches an unlimited number of substrings that either consist
-of non-digits, or digits enclosed in angular brackets, followed by
-an exclamation or question mark. When it matches, it runs quickly.
-However, if it is applied to
-
-@example
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-@end example
-
-@noindent
-it takes a long time before reporting failure. This is
-because the string can be divided between the two repeats in
-a large number of ways, and all have to be tried.@footnote{The
-example used @code{[!?]} rather than a single character at the end,
-because both @value{SSED} and Perl have an optimization that allows
-for fast failure when a single character is used. They
-remember the last single character that is required for a
-match, and fail early if it is not present in the string.}
-
-If the pattern is changed to
-
-@example
-((?>\D+)|<\d+>)*[!?]
-@end example
-
-sequences of non-digits cannot be broken, and failure happens
-quickly.
-
-@node Conditional subpatterns
-@appendixsec Conditional subpatterns
-@cindex Perl-style regular expressions, conditional subpatterns
-
-It is possible to cause the matching process to obey a subpattern
-conditionally or to choose between two alternative
-subpatterns, depending on the result of an assertion, or
-whether a previous capturing subpattern matched or not. The
-two possible forms of conditional subpattern are
-
-@example
-(?(@var{condition})@var{yes-pattern})
-(?(@var{condition})@var{yes-pattern}|@var{no-pattern})
-@end example
-
-If the condition is satisfied, the yes-pattern is used; otherwise
-the no-pattern (if present) is used. If there are more than two
-alternatives in the subpattern, a compile-time error occurs.
-
-There are two kinds of condition. If the text between the
-parentheses consists of a sequence of digits, the condition
-is satisfied if the capturing subpattern of that number has
-previously matched. The number must be greater than zero.
-Consider the following pattern, which contains non-significant
-white space to make it more readable (assume the @code{X} modifier)
-and to divide it into three parts for ease of discussion:
-
-@example
-( \( )? [^()]+ (?(1) \) )
-@end example
-
-The first part matches an optional opening parenthesis, and
-if that character is present, sets it as the first captured
-substring. The second part matches one or more characters
-that are not parentheses. The third part is a conditional
-subpattern that tests whether the first set of parentheses
-matched or not. If they did, that is, if subject started
-with an opening parenthesis, the condition is true, and so
-the yes-pattern is executed and a closing parenthesis is
-required. Otherwise, since no-pattern is not present, the
-subpattern matches nothing. In other words, this pattern
-matches a sequence of non-parentheses, optionally enclosed
-in parentheses.
-
-@cindex Perl-style regular expressions, lookahead subpatterns
-If the condition is not a sequence of digits, it must be an
-assertion. This may be a positive or negative lookahead or
-lookbehind assertion. Consider this pattern, again containing
-non-significant white space, and with the two alternatives
-on the second line:
-
-@example
-(?(?=...[a-z])
- \d\d-[a-z]@{3@}-\d\d |
- \d\d-\d\d-\d\d )
-@end example
-
-The condition is a positive lookahead assertion that matches
-a letter that is three characters away from the current point.
-If a letter is found, the subject is matched against the first
-alternative @samp{@var{dd}-@var{aaa}-@var{dd}} (where @var{aaa} are
-letters and @var{dd} are digits); otherwise it is matched against
-the second alternative, @samp{@var{dd}-@var{dd}-@var{dd}}.
-
-
-@node Recursive patterns
-@appendixsec Recursive patterns
-@cindex Perl-style regular expressions, recursive patterns
-@cindex Perl-style regular expressions, recursion
-
-Consider the problem of matching a string in parentheses,
-allowing for unlimited nested parentheses. Without the use
-of recursion, the best that can be done is to use a pattern
-that matches up to some fixed depth of nesting. It is not
-possible to handle an arbitrary nesting depth. Perl 5.6 has
-provided an experimental facility that allows regular
-expressions to recurse (amongst other things). It does this
-by interpolating Perl code in the expression at run time,
-and the code can refer to the expression itself. A Perl pattern
-tern to solve the parentheses problem can be created like
-this:
-
-@example
-$re = qr@{\( (?: (?>[^()]+) | (?p@{$re@}) )* \)@}x;
-@end example
-
-The @code{(?p@{...@})} item interpolates Perl code at run time,
-and in this case refers recursively to the pattern in which it
-appears. Obviously, @command{sed} cannot support the interpolation of
-Perl code. Instead, the special item @code{(?R)} is provided for
-the specific case of recursion. This pattern solves the
-parentheses problem (assume the @code{X} modifier option is used
-so that white space is ignored):
-
-@example
-\( ( (?>[^()]+) | (?R) )* \)
-@end example
-
-First it matches an opening parenthesis. Then it matches any
-number of substrings which can either be a sequence of
-non-parentheses, or a recursive match of the pattern itself
-(i.e. a correctly parenthesized substring). Finally there is
-a closing parenthesis.
-
-This particular example pattern contains nested unlimited
-repeats, and so the use of a non-backtracking subpattern for
-matching strings of non-parentheses is important when applying
-the pattern to strings that do not match. For example, when
-it is applied to
-
-@example
-(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
-@end example
-
-it yields a ``no match'' response quickly. However, if a
-standard backtracking subpattern is not used, the match runs
-for a very long time indeed because there are so many different
-ways the @code{+} and @code{*} repeats can carve up the subject,
-and all have to be tested before failure can be reported.
-
-The values set for any capturing subpatterns are those from
-the outermost level of the recursion at which the subpattern
-value is set. If the pattern above is matched against
-
-@example
-(ab(cd)ef)
-@end example
-
-@noindent
-the value for the capturing parentheses is @samp{ef}, which is
-the last value taken on at the top level.
-
-@node Comments
-@appendixsec Comments
-@cindex Perl-style regular expressions, comments
-
-The sequence (?# marks the start of a comment which continues
-ues up to the next closing parenthesis. Nested parentheses
-are not permitted. The characters that make up a comment
-play no part in the pattern matching at all.
-
-@cindex Perl-style regular expressions, extended
-If the @code{X} modifier option is used, an unescaped @code{#} character
-outside a character class introduces a comment that continues
-up to the next newline character in the pattern.
-@end ifset
-
-
-@page
-@node Concept Index
-@unnumbered Concept Index
-
-This is a general index of all issues discussed in this manual, with the
-exception of the @command{sed} commands and command-line options.
-
-@printindex cp
-
-@page
-@node Command and Option Index
-@unnumbered Command and Option Index
-
-This is an alphabetical list of all @command{sed} commands and command-line
-options.
-
-@printindex fn
-
-@contents
-@bye
-
-@c XXX FIXME: the term "cycle" is never defined...
diff --git a/sources/host-tools/sed-4.2.1/doc/sed.1 b/sources/host-tools/sed-4.2.1/doc/sed.1
deleted file mode 100644
index d1d9d22..0000000
--- a/sources/host-tools/sed-4.2.1/doc/sed.1
+++ /dev/null
@@ -1,402 +0,0 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28.
-.TH SED "1" "June 2009" "sed version 4.2.1" "User Commands"
-.SH NAME
-sed \- stream editor for filtering and transforming text
-.SH SYNOPSIS
-.B sed
-[\fIOPTION\fR]... \fI{script-only-if-no-other-script} \fR[\fIinput-file\fR]...
-.SH DESCRIPTION
-.ds sd \fIsed\fP
-.ds Sd \fISed\fP
-\*(Sd is a stream editor.
-A stream editor is used to perform basic text
-transformations on an input stream
-(a file or input from a pipeline).
-While in some ways similar to an editor which
-permits scripted edits (such as \fIed\fP),
-\*(sd works by making only one pass over the
-input(s), and is consequently more efficient.
-But it is \*(sd's ability to filter text in a pipeline
-which particularly distinguishes it from other types of
-editors.
-.HP
-\fB\-n\fR, \fB\-\-quiet\fR, \fB\-\-silent\fR
-.IP
-suppress automatic printing of pattern space
-.HP
-\fB\-e\fR script, \fB\-\-expression\fR=\fIscript\fR
-.IP
-add the script to the commands to be executed
-.HP
-\fB\-f\fR script-file, \fB\-\-file\fR=\fIscript\-file\fR
-.IP
-add the contents of script-file to the commands to be executed
-.HP
-\fB\-\-follow\-symlinks\fR
-.IP
-follow symlinks when processing in place
-.HP
-\fB\-i[SUFFIX]\fR, \fB\-\-in\-place\fR[=\fISUFFIX\fR]
-.IP
-edit files in place (makes backup if extension supplied)
-.HP
-\fB\-l\fR N, \fB\-\-line\-length\fR=\fIN\fR
-.IP
-specify the desired line-wrap length for the `l' command
-.HP
-\fB\-\-posix\fR
-.IP
-disable all GNU extensions.
-.HP
-\fB\-r\fR, \fB\-\-regexp\-extended\fR
-.IP
-use extended regular expressions in the script.
-.HP
-\fB\-s\fR, \fB\-\-separate\fR
-.IP
-consider files as separate rather than as a single continuous
-long stream.
-.HP
-\fB\-u\fR, \fB\-\-unbuffered\fR
-.IP
-load minimal amounts of data from the input files and flush
-the output buffers more often
-.TP
-\fB\-\-help\fR
-display this help and exit
-.TP
-\fB\-\-version\fR
-output version information and exit
-.PP
-If no \fB\-e\fR, \fB\-\-expression\fR, \fB\-f\fR, or \fB\-\-file\fR option is given, then the first
-non-option argument is taken as the sed script to interpret. All
-remaining arguments are names of input files; if no input files are
-specified, then the standard input is read.
-.PP
-GNU sed home page: <http://www.gnu.org/software/sed/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-E-mail bug reports to: <bug-gnu-utils@gnu.org>.
-Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
-.SH "COMMAND SYNOPSIS"
-This is just a brief synopsis of \*(sd commands to serve as
-a reminder to those who already know \*(sd;
-other documentation (such as the texinfo document)
-must be consulted for fuller descriptions.
-.SS
-Zero-address ``commands''
-.TP
-.RI :\ label
-Label for
-.B b
-and
-.B t
-commands.
-.TP
-.RI # comment
-The comment extends until the next newline (or the end of a
-.B -e
-script fragment).
-.TP
-}
-The closing bracket of a { } block.
-.SS
-Zero- or One- address commands
-.TP
-=
-Print the current line number.
-.TP
-a \e
-.TP
-.I text
-Append
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-i \e
-.TP
-.I text
-Insert
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-q [\fIexit-code\fR]
-Immediately quit the \*(sd script without processing
-any more input, except that if auto-print is not disabled
-the current pattern space will be printed. The exit code
-argument is a GNU extension.
-.TP
-Q [\fIexit-code\fR]
-Immediately quit the \*(sd script without processing
-any more input. This is a GNU extension.
-.TP
-.RI r\ filename
-Append text read from
-.IR filename .
-.TP
-.RI R\ filename
-Append a line read from
-.IR filename .
-Each invocation of the command reads a line from the file.
-This is a GNU extension.
-.SS
-Commands which accept address ranges
-.TP
-{
-Begin a block of commands (end with a }).
-.TP
-.RI b\ label
-Branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script.
-.TP
-.RI t\ label
-If a s/// has done a successful substitution since the
-last input line was read and since the last t or T
-command, then branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script.
-.TP
-.RI T\ label
-If no s/// has done a successful substitution since the
-last input line was read and since the last t or T
-command, then branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script. This is a GNU
-extension.
-.TP
-c \e
-.TP
-.I text
-Replace the selected lines with
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-d
-Delete pattern space.
-Start next cycle.
-.TP
-D
-Delete up to the first embedded newline in the pattern space.
-Start next cycle, but skip reading from the input
-if there is still data in the pattern space.
-.TP
-h H
-Copy/append pattern space to hold space.
-.TP
-g G
-Copy/append hold space to pattern space.
-.TP
-x
-Exchange the contents of the hold and pattern spaces.
-.TP
-l
-List out the current line in a ``visually unambiguous'' form.
-.TP
-.RI l\ width
-List out the current line in a ``visually unambiguous'' form,
-breaking it at
-.I width
-characters. This is a GNU extension.
-.TP
-n N
-Read/append the next line of input into the pattern space.
-.TP
-p
-Print the current pattern space.
-.TP
-P
-Print up to the first embedded newline of the current pattern space.
-.TP
-.RI s/ regexp / replacement /
-Attempt to match
-.I regexp
-against the pattern space.
-If successful, replace that portion matched
-with
-.IR replacement .
-The
-.I replacement
-may contain the special character
-.B &
-to refer to that portion of the pattern space which matched,
-and the special escapes \e1 through \e9 to refer to the
-corresponding matching sub-expressions in the
-.IR regexp .
-.TP
-.RI w\ filename
-Write the current pattern space to
-.IR filename .
-.TP
-.RI W\ filename
-Write the first line of the current pattern space to
-.IR filename .
-This is a GNU extension.
-.TP
-.RI y/ source / dest /
-Transliterate the characters in the pattern space which appear in
-.I source
-to the corresponding character in
-.IR dest .
-.SH
-Addresses
-\*(Sd commands can be given with no addresses, in which
-case the command will be executed for all input lines;
-with one address, in which case the command will only be executed
-for input lines which match that address; or with two
-addresses, in which case the command will be executed
-for all input lines which match the inclusive range of
-lines starting from the first address and continuing to
-the second address.
-Three things to note about address ranges:
-the syntax is
-.IR addr1 , addr2
-(i.e., the addresses are separated by a comma);
-the line which
-.I addr1
-matched will always be accepted,
-even if
-.I addr2
-selects an earlier line;
-and if
-.I addr2
-is a
-.IR regexp ,
-it will not be tested against the line that
-.I addr1
-matched.
-.PP
-After the address (or address-range),
-and before the command, a
-.B !
-may be inserted,
-which specifies that the command shall only be
-executed if the address (or address-range) does
-.B not
-match.
-.PP
-The following address types are supported:
-.TP
-.I number
-Match only the specified line
-.IR number .
-.TP
-.IR first ~ step
-Match every
-.IR step 'th
-line starting with line
-.IR first .
-For example, ``sed -n 1~2p'' will print all the odd-numbered lines in
-the input stream, and the address 2~5 will match every fifth line,
-starting with the second.
-.I first
-can be zero; in this case, \*(sd operates as if it were equal to
-.IR step .
-(This is an extension.)
-.TP
-$
-Match the last line.
-.TP
-.RI / regexp /
-Match lines matching the regular expression
-.IR regexp .
-.TP
-.BI \fR\e\fPc regexp c
-Match lines matching the regular expression
-.IR regexp .
-The
-.B c
-may be any character.
-.PP
-GNU \*(sd also supports some special 2-address forms:
-.TP
-.RI 0, addr2
-Start out in "matched first address" state, until
-.I addr2
-is found.
-This is similar to
-.RI 1, addr2 ,
-except that if
-.I addr2
-matches the very first line of input the
-.RI 0, addr2
-form will be at the end of its range, whereas the
-.RI 1, addr2
-form will still be at the beginning of its range.
-This works only when
-.I addr2
-is a regular expression.
-.TP
-.IR addr1 ,+ N
-Will match
-.I addr1
-and the
-.I N
-lines following
-.IR addr1 .
-.TP
-.IR addr1 ,~ N
-Will match
-.I addr1
-and the lines following
-.I addr1
-until the next line whose input line number is a multiple of
-.IR N .
-.SH "REGULAR EXPRESSIONS"
-POSIX.2 BREs
-.I should
-be supported, but they aren't completely because of performance
-problems.
-The
-.B \en
-sequence in a regular expression matches the newline character,
-and similarly for
-.BR \ea ,
-.BR \et ,
-and other sequences.
-.SH BUGS
-.PP
-E-mail bug reports to
-.BR bonzini@gnu.org .
-Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
-Also, please include the output of ``sed --version'' in the body
-of your report if at all possible.
-.SH COPYRIGHT
-Copyright \(co 2009 Free Software Foundation, Inc.
-.br
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
-to the extent permitted by law.
-.PP
-GNU sed home page: <http://www.gnu.org/software/sed/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-E-mail bug reports to: <bug-gnu-utils@gnu.org>.
-Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
-.SH "SEE ALSO"
-.BR awk (1),
-.BR ed (1),
-.BR grep (1),
-.BR tr (1),
-.BR perlre (1),
-sed.info,
-any of various books on \*(sd,
-.na
-the \*(sd FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
-http://sed.sf.net/grabbag/.
-.PP
-The full documentation for
-.B sed
-is maintained as a Texinfo manual. If the
-.B info
-and
-.B sed
-programs are properly installed at your site, the command
-.IP
-.B info sed
-.PP
-should give you access to the complete manual.
diff --git a/sources/host-tools/sed-4.2.1/doc/sed.info b/sources/host-tools/sed-4.2.1/doc/sed.info
deleted file mode 100644
index 5e1c9ae..0000000
--- a/sources/host-tools/sed-4.2.1/doc/sed.info
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/doc/sed.texi b/sources/host-tools/sed-4.2.1/doc/sed.texi
deleted file mode 100644
index 72408e5..0000000
--- a/sources/host-tools/sed-4.2.1/doc/sed.texi
+++ /dev/null
@@ -1,4284 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c Do not edit this file!! It is automatically generated from sed-in.texi.
-@c
-@c -- Stuff that needs adding: ----------------------------------------------
-@c (document the `;' command-separator)
-@c --------------------------------------------------------------------------
-@c Check for consistency: regexps in @code, text that they match in @samp.
-@c
-@c Tips:
-@c @command for command
-@c @samp for command fragments: @samp{cat -s}
-@c @code for sed commands and flags
-@c Use ``quote'' not `quote' or "quote".
-@c
-@c %**start of header
-@setfilename sed.info
-@settitle sed, a stream editor
-@c %**end of header
-
-@c @smallbook
-
-@include version.texi
-
-@c Combine indices.
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@defcodeindex op
-@syncodeindex op fn
-
-@include config.texi
-
-@copying
-This file documents version @value{VERSION} of
-@value{SSED}, a stream editor.
-
-Copyright @copyright{} 1998, 1999, 2001, 2002, 2003, 2004 Free
-Software Foundation, Inc.
-
-This document is released under the terms of the @acronym{GNU} Free
-Documentation License as published by the Free Software Foundation;
-either version 1.1, or (at your option) any later version.
-
-You should have received a copy of the @acronym{GNU} Free Documentation
-License along with @value{SSED}; see the file @file{COPYING.DOC}.
-If not, write to the Free Software Foundation, 59 Temple Place - Suite
-330, Boston, MA 02110-1301, USA.
-
-There are no Cover Texts and no Invariant Sections; this text, along
-with its equivalent in the printed manual, constitutes the Title Page.
-@end copying
-
-@setchapternewpage off
-
-@titlepage
-@title @command{sed}, a stream editor
-@subtitle version @value{VERSION}, @value{UPDATED}
-@author by Ken Pizzini, Paolo Bonzini
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999 Free Software Foundation, Inc.
-
-@insertcopying
-
-Published by the Free Software Foundation, @*
-51 Franklin Street, Fifth Floor @*
-Boston, MA 02110-1301, USA
-@end titlepage
-
-
-@node Top
-@top
-
-@ifnottex
-@insertcopying
-@end ifnottex
-
-@menu
-* Introduction:: Introduction
-* Invoking sed:: Invocation
-* sed Programs:: @command{sed} programs
-* Examples:: Some sample scripts
-* Limitations:: Limitations and (non-)limitations of @value{SSED}
-* Other Resources:: Other resources for learning about @command{sed}
-* Reporting Bugs:: Reporting bugs
-
-* Extended regexps:: @command{egrep}-style regular expressions
-@ifset PERL
-* Perl regexps:: Perl-style regular expressions
-@end ifset
-
-* Concept Index:: A menu with all the topics in this manual.
-* Command and Option Index:: A menu with all @command{sed} commands and
- command-line options.
-
-@detailmenu
---- The detailed node listing ---
-
-sed Programs:
-* Execution Cycle:: How @command{sed} works
-* Addresses:: Selecting lines with @command{sed}
-* Regular Expressions:: Overview of regular expression syntax
-* Common Commands:: Often used commands
-* The "s" Command:: @command{sed}'s Swiss Army Knife
-* Other Commands:: Less frequently used commands
-* Programming Commands:: Commands for @command{sed} gurus
-* Extended Commands:: Commands specific of @value{SSED}
-* Escapes:: Specifying special characters
-
-Examples:
-* Centering lines::
-* Increment a number::
-* Rename files to lower case::
-* Print bash environment::
-* Reverse chars of lines::
-* tac:: Reverse lines of files
-* cat -n:: Numbering lines
-* cat -b:: Numbering non-blank lines
-* wc -c:: Counting chars
-* wc -w:: Counting words
-* wc -l:: Counting lines
-* head:: Printing the first lines
-* tail:: Printing the last lines
-* uniq:: Make duplicate lines unique
-* uniq -d:: Print duplicated lines of input
-* uniq -u:: Remove all duplicated lines
-* cat -s:: Squeezing blank lines
-
-@ifset PERL
-Perl regexps:: Perl-style regular expressions
-* Backslash:: Introduces special sequences
-* Circumflex/dollar sign/period:: Behave specially with regard to new lines
-* Square brackets:: Are a bit different in strange cases
-* Options setting:: Toggle modifiers in the middle of a regexp
-* Non-capturing subpatterns:: Are not counted when backreferencing
-* Repetition:: Allows for non-greedy matching
-* Backreferences:: Allows for more than 10 back references
-* Assertions:: Allows for complex look ahead matches
-* Non-backtracking subpatterns:: Often gives more performance
-* Conditional subpatterns:: Allows if/then/else branches
-* Recursive patterns:: For example to match parentheses
-* Comments:: Because things can get complex...
-@end ifset
-
-@end detailmenu
-@end menu
-
-
-@node Introduction
-@chapter Introduction
-
-@cindex Stream editor
-@command{sed} is a stream editor.
-A stream editor is used to perform basic text
-transformations on an input stream
-(a file or input from a pipeline).
-While in some ways similar to an editor which
-permits scripted edits (such as @command{ed}),
-@command{sed} works by making only one pass over the
-input(s), and is consequently more efficient.
-But it is @command{sed}'s ability to filter text in a pipeline
-which particularly distinguishes it from other types of
-editors.
-
-
-@node Invoking sed
-@chapter Invocation
-
-Normally @command{sed} is invoked like this:
-
-@example
-sed SCRIPT INPUTFILE...
-@end example
-
-The full format for invoking @command{sed} is:
-
-@example
-sed OPTIONS... [SCRIPT] [INPUTFILE...]
-@end example
-
-If you do not specify @var{INPUTFILE}, or if @var{INPUTFILE} is @file{-},
-@command{sed} filters the contents of the standard input. The @var{script}
-is actually the first non-option parameter, which @command{sed} specially
-considers a script and not an input file if (and only if) none of the
-other @var{options} specifies a script to be executed, that is if neither
-of the @option{-e} and @option{-f} options is specified.
-
-@command{sed} may be invoked with the following command-line options:
-
-@table @code
-@item --version
-@opindex --version
-@cindex Version, printing
-Print out the version of @command{sed} that is being run and a copyright notice,
-then exit.
-
-@item --help
-@opindex --help
-@cindex Usage summary, printing
-Print a usage message briefly summarizing these command-line options
-and the bug-reporting address,
-then exit.
-
-@item -n
-@itemx --quiet
-@itemx --silent
-@opindex -n
-@opindex --quiet
-@opindex --silent
-@cindex Disabling autoprint, from command line
-By default, @command{sed} prints out the pattern space
-at the end of each cycle through the script (@pxref{Execution Cycle, ,
-How @code{sed} works}).
-These options disable this automatic printing,
-and @command{sed} only produces output when explicitly told to
-via the @code{p} command.
-
-@item -e @var{script}
-@itemx --expression=@var{script}
-@opindex -e
-@opindex --expression
-@cindex Script, from command line
-Add the commands in @var{script} to the set of commands to be
-run while processing the input.
-
-@item -f @var{script-file}
-@itemx --file=@var{script-file}
-@opindex -f
-@opindex --file
-@cindex Script, from a file
-Add the commands contained in the file @var{script-file}
-to the set of commands to be run while processing the input.
-
-@item -i[@var{SUFFIX}]
-@itemx --in-place[=@var{SUFFIX}]
-@opindex -i
-@opindex --in-place
-@cindex In-place editing, activating
-@cindex @value{SSEDEXT}, in-place editing
-This option specifies that files are to be edited in-place.
-@value{SSED} does this by creating a temporary file and
-sending output to this file rather than to the standard
-output.@footnote{This applies to commands such as @code{=},
-@code{a}, @code{c}, @code{i}, @code{l}, @code{p}. You can
-still write to the standard output by using the @code{w}
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-or @code{W} commands together with the @file{/dev/stdout}
-special file}.
-
-This option implies @option{-s}.
-
-When the end of the file is reached, the temporary file is
-renamed to the output file's original name. The extension,
-if supplied, is used to modify the name of the old file
-before renaming the temporary file, thereby making a backup
-copy@footnote{Note that @value{SSED} creates the backup
-file whether or not any output is actually changed.}).
-
-@cindex In-place editing, Perl-style backup file names
-This rule is followed: if the extension doesn't contain a @code{*},
-then it is appended to the end of the current filename as a
-suffix; if the extension does contain one or more @code{*}
-characters, then @emph{each} asterisk is replaced with the
-current filename. This allows you to add a prefix to the
-backup file, instead of (or in addition to) a suffix, or
-even to place backup copies of the original files into another
-directory (provided the directory already exists).
-
-If no extension is supplied, the original file is
-overwritten without making a backup.
-
-@item -l @var{N}
-@itemx --line-length=@var{N}
-@opindex -l
-@opindex --line-length
-@cindex Line length, setting
-Specify the default line-wrap length for the @code{l} command.
-A length of 0 (zero) means to never wrap long lines. If
-not specified, it is taken to be 70.
-
-@item --posix
-@cindex @value{SSEDEXT}, disabling
-@value{SSED} includes several extensions to @acronym{POSIX}
-sed. In order to simplify writing portable scripts, this
-option disables all the extensions that this manual documents,
-including additional commands.
-@cindex @code{POSIXLY_CORRECT} behavior, enabling
-Most of the extensions accept @command{sed} programs that
-are outside the syntax mandated by @acronym{POSIX}, but some
-of them (such as the behavior of the @command{N} command
-described in @pxref{Reporting Bugs}) actually violate the
-standard. If you want to disable only the latter kind of
-extension, you can set the @code{POSIXLY_CORRECT} variable
-to a non-empty value.
-
-@item -b
-@itemx --binary
-@opindex -b
-@opindex --binary
-This option is available on every platform, but is only effective where the
-operating system makes a distinction between text files and binary files.
-When such a distinction is made---as is the case for MS-DOS, Windows,
-Cygwin---text files are composed of lines separated by a carriage return
-@emph{and} a line feed character, and @command{sed} does not see the
-ending CR. When this option is specified, @command{sed} will open
-input files in binary mode, thus not requesting this special processing
-and considering lines to end at a line feed.
-
-@item --follow-symlinks
-@opindex --follow-symlinks
-This option is available only on platforms that support
-symbolic links and has an effect only if option @option{-i}
-is specified. In this case, if the file that is specified
-on the command line is a symbolic link, @command{sed} will
-follow the link and edit the ultimate destination of the
-link. The default behavior is to break the symbolic link,
-so that the link destination will not be modified.
-
-@item -r
-@itemx --regexp-extended
-@opindex -r
-@opindex --regexp-extended
-@cindex Extended regular expressions, choosing
-@cindex @acronym{GNU} extensions, extended regular expressions
-Use extended regular expressions rather than basic
-regular expressions. Extended regexps are those that
-@command{egrep} accepts; they can be clearer because they
-usually have less backslashes, but are a @acronym{GNU} extension
-and hence scripts that use them are not portable.
-@xref{Extended regexps, , Extended regular expressions}.
-
-@ifset PERL
-@item -R
-@itemx --regexp-perl
-@opindex -R
-@opindex --regexp-perl
-@cindex Perl-style regular expressions, choosing
-@cindex @value{SSEDEXT}, Perl-style regular expressions
-Use Perl-style regular expressions rather than basic
-regular expressions. Perl-style regexps are extremely
-powerful but are a @value{SSED} extension and hence scripts that
-use it are not portable. @xref{Perl regexps, ,
-Perl-style regular expressions}.
-@end ifset
-
-@item -s
-@itemx --separate
-@cindex Working on separate files
-By default, @command{sed} will consider the files specified on the
-command line as a single continuous long stream. This @value{SSED}
-extension allows the user to consider them as separate files:
-range addresses (such as @samp{/abc/,/def/}) are not allowed
-to span several files, line numbers are relative to the start
-of each file, @code{$} refers to the last line of each file,
-and files invoked from the @code{R} commands are rewound at the
-start of each file.
-
-@item -u
-@itemx --unbuffered
-@opindex -u
-@opindex --unbuffered
-@cindex Unbuffered I/O, choosing
-Buffer both input and output as minimally as practical.
-(This is particularly useful if the input is coming from
-the likes of @samp{tail -f}, and you wish to see the transformed
-output as soon as possible.)
-
-@end table
-
-If no @option{-e}, @option{-f}, @option{--expression}, or @option{--file}
-options are given on the command-line,
-then the first non-option argument on the command line is
-taken to be the @var{script} to be executed.
-
-@cindex Files to be processed as input
-If any command-line parameters remain after processing the above,
-these parameters are interpreted as the names of input files to
-be processed.
-@cindex Standard input, processing as input
-A file name of @samp{-} refers to the standard input stream.
-The standard input will be processed if no file names are specified.
-
-
-@node sed Programs
-@chapter @command{sed} Programs
-
-@cindex @command{sed} program structure
-@cindex Script structure
-A @command{sed} program consists of one or more @command{sed} commands,
-passed in by one or more of the
-@option{-e}, @option{-f}, @option{--expression}, and @option{--file}
-options, or the first non-option argument if zero of these
-options are used.
-This document will refer to ``the'' @command{sed} script;
-this is understood to mean the in-order catenation
-of all of the @var{script}s and @var{script-file}s passed in.
-
-Each @code{sed} command consists of an optional address or
-address range, followed by a one-character command name
-and any additional command-specific code.
-
-@menu
-* Execution Cycle:: How @command{sed} works
-* Addresses:: Selecting lines with @command{sed}
-* Regular Expressions:: Overview of regular expression syntax
-* Common Commands:: Often used commands
-* The "s" Command:: @command{sed}'s Swiss Army Knife
-* Other Commands:: Less frequently used commands
-* Programming Commands:: Commands for @command{sed} gurus
-* Extended Commands:: Commands specific of @value{SSED}
-* Escapes:: Specifying special characters
-@end menu
-
-
-@node Execution Cycle
-@section How @command{sed} Works
-
-@cindex Buffer spaces, pattern and hold
-@cindex Spaces, pattern and hold
-@cindex Pattern space, definition
-@cindex Hold space, definition
-@command{sed} maintains two data buffers: the active @emph{pattern} space,
-and the auxiliary @emph{hold} space. Both are initially empty.
-
-@command{sed} operates by performing the following cycle on each
-lines of input: first, @command{sed} reads one line from the input
-stream, removes any trailing newline, and places it in the pattern space.
-Then commands are executed; each command can have an address associated
-to it: addresses are a kind of condition code, and a command is only
-executed if the condition is verified before the command is to be
-executed.
-
-When the end of the script is reached, unless the @option{-n} option
-is in use, the contents of pattern space are printed out to the output
-stream, adding back the trailing newline if it was removed.@footnote{Actually,
-if @command{sed} prints a line without the terminating newline, it will
-nevertheless print the missing newline as soon as more text is sent to
-the same output stream, which gives the ``least expected surprise''
-even though it does not make commands like @samp{sed -n p} exactly
-identical to @command{cat}.} Then the next cycle starts for the next
-input line.
-
-Unless special commands (like @samp{D}) are used, the pattern space is
-deleted between two cycles. The hold space, on the other hand, keeps
-its data between cycles (see commands @samp{h}, @samp{H}, @samp{x},
-@samp{g}, @samp{G} to move data between both buffers).
-
-
-@node Addresses
-@section Selecting lines with @command{sed}
-@cindex Addresses, in @command{sed} scripts
-@cindex Line selection
-@cindex Selecting lines to process
-
-Addresses in a @command{sed} script can be in any of the following forms:
-@table @code
-@item @var{number}
-@cindex Address, numeric
-@cindex Line, selecting by number
-Specifying a line number will match only that line in the input.
-(Note that @command{sed} counts lines continuously across all input files
-unless @option{-i} or @option{-s} options are specified.)
-
-@item @var{first}~@var{step}
-@cindex @acronym{GNU} extensions, @samp{@var{n}~@var{m}} addresses
-This @acronym{GNU} extension matches every @var{step}th line
-starting with line @var{first}.
-In particular, lines will be selected when there exists
-a non-negative @var{n} such that the current line-number equals
-@var{first} + (@var{n} * @var{step}).
-Thus, to select the odd-numbered lines,
-one would use @code{1~2};
-to pick every third line starting with the second, @samp{2~3} would be used;
-to pick every fifth line starting with the tenth, use @samp{10~5};
-and @samp{50~0} is just an obscure way of saying @code{50}.
-
-@item $
-@cindex Address, last line
-@cindex Last line, selecting
-@cindex Line, selecting last
-This address matches the last line of the last file of input, or
-the last line of each file when the @option{-i} or @option{-s} options
-are specified.
-
-@item /@var{regexp}/
-@cindex Address, as a regular expression
-@cindex Line, selecting by regular expression match
-This will select any line which matches the regular expression @var{regexp}.
-If @var{regexp} itself includes any @code{/} characters,
-each must be escaped by a backslash (@code{\}).
-
-@cindex empty regular expression
-@cindex @value{SSEDEXT}, modifiers and the empty regular expression
-The empty regular expression @samp{//} repeats the last regular
-expression match (the same holds if the empty regular expression is
-passed to the @code{s} command). Note that modifiers to regular expressions
-are evaluated when the regular expression is compiled, thus it is invalid to
-specify them together with the empty regular expression.
-
-@item \%@var{regexp}%
-(The @code{%} may be replaced by any other single character.)
-
-@cindex Slash character, in regular expressions
-This also matches the regular expression @var{regexp},
-but allows one to use a different delimiter than @code{/}.
-This is particularly useful if the @var{regexp} itself contains
-a lot of slashes, since it avoids the tedious escaping of every @code{/}.
-If @var{regexp} itself includes any delimiter characters,
-each must be escaped by a backslash (@code{\}).
-
-@item /@var{regexp}/I
-@itemx \%@var{regexp}%I
-@cindex @acronym{GNU} extensions, @code{I} modifier
-@ifset PERL
-@cindex Perl-style regular expressions, case-insensitive
-@end ifset
-The @code{I} modifier to regular-expression matching is a @acronym{GNU}
-extension which causes the @var{regexp} to be matched in
-a case-insensitive manner.
-
-@item /@var{regexp}/M
-@itemx \%@var{regexp}%M
-@ifset PERL
-@cindex @value{SSEDEXT}, @code{M} modifier
-@end ifset
-@cindex Perl-style regular expressions, multiline
-The @code{M} modifier to regular-expression matching is a @value{SSED}
-extension which causes @code{^} and @code{$} to match respectively
-(in addition to the normal behavior) the empty string after a newline,
-and the empty string before a newline. There are special character
-sequences
-@ifset PERL
-(@code{\A} and @code{\Z} in Perl mode, @code{\`} and @code{\'}
-in basic or extended regular expression modes)
-@end ifset
-@ifclear PERL
-(@code{\`} and @code{\'})
-@end ifclear
-which always match the beginning or the end of the buffer.
-@code{M} stands for @cite{multi-line}.
-
-@ifset PERL
-@item /@var{regexp}/S
-@itemx \%@var{regexp}%S
-@cindex @value{SSEDEXT}, @code{S} modifier
-@cindex Perl-style regular expressions, single line
-The @code{S} modifier to regular-expression matching is only valid
-in Perl mode and specifies that the dot character (@code{.}) will
-match the newline character too. @code{S} stands for @cite{single-line}.
-@end ifset
-
-@ifset PERL
-@item /@var{regexp}/X
-@itemx \%@var{regexp}%X
-@cindex @value{SSEDEXT}, @code{X} modifier
-@cindex Perl-style regular expressions, extended
-The @code{X} modifier to regular-expression matching is also
-valid in Perl mode only. If it is used, whitespace in the
-pattern (other than in a character class) and
-characters between a @kbd{#} outside a character class and the
-next newline character are ignored. An escaping backslash
-can be used to include a whitespace or @kbd{#} character as part
-of the pattern.
-@end ifset
-@end table
-
-If no addresses are given, then all lines are matched;
-if one address is given, then only lines matching that
-address are matched.
-
-@cindex Range of lines
-@cindex Several lines, selecting
-An address range can be specified by specifying two addresses
-separated by a comma (@code{,}). An address range matches lines
-starting from where the first address matches, and continues
-until the second address matches (inclusively).
-
-If the second address is a @var{regexp}, then checking for the
-ending match will start with the line @emph{following} the
-line which matched the first address: a range will always
-span at least two lines (except of course if the input stream
-ends).
-
-If the second address is a @var{number} less than (or equal to)
-the line matching the first address, then only the one line is
-matched.
-
-@cindex Special addressing forms
-@cindex Range with start address of zero
-@cindex Zero, as range start address
-@cindex @var{addr1},+N
-@cindex @var{addr1},~N
-@cindex @acronym{GNU} extensions, special two-address forms
-@cindex @acronym{GNU} extensions, @code{0} address
-@cindex @acronym{GNU} extensions, 0,@var{addr2} addressing
-@cindex @acronym{GNU} extensions, @var{addr1},+@var{N} addressing
-@cindex @acronym{GNU} extensions, @var{addr1},~@var{N} addressing
-@value{SSED} also supports some special two-address forms; all these
-are @acronym{GNU} extensions:
-@table @code
-@item 0,/@var{regexp}/
-A line number of @code{0} can be used in an address specification like
-@code{0,/@var{regexp}/} so that @command{sed} will try to match
-@var{regexp} in the first input line too. In other words,
-@code{0,/@var{regexp}/} is similar to @code{1,/@var{regexp}/},
-except that if @var{addr2} matches the very first line of input the
-@code{0,/@var{regexp}/} form will consider it to end the range, whereas
-the @code{1,/@var{regexp}/} form will match the beginning of its range and
-hence make the range span up to the @emph{second} occurrence of the
-regular expression.
-
-Note that this is the only place where the @code{0} address makes
-sense; there is no 0-th line and commands which are given the @code{0}
-address in any other way will give an error.
-
-@item @var{addr1},+@var{N}
-Matches @var{addr1} and the @var{N} lines following @var{addr1}.
-
-@item @var{addr1},~@var{N}
-Matches @var{addr1} and the lines following @var{addr1}
-until the next line whose input line number is a multiple of @var{N}.
-@end table
-
-@cindex Excluding lines
-@cindex Selecting non-matching lines
-Appending the @code{!} character to the end of an address
-specification negates the sense of the match.
-That is, if the @code{!} character follows an address range,
-then only lines which do @emph{not} match the address range
-will be selected.
-This also works for singleton addresses,
-and, perhaps perversely, for the null address.
-
-
-@node Regular Expressions
-@section Overview of Regular Expression Syntax
-
-To know how to use @command{sed}, people should understand regular
-expressions (@dfn{regexp} for short). A regular expression
-is a pattern that is matched against a
-subject string from left to right. Most characters are
-@dfn{ordinary}: they stand for
-themselves in a pattern, and match the corresponding characters
-in the subject. As a trivial example, the pattern
-
-@example
-The quick brown fox
-@end example
-
-@noindent
-matches a portion of a subject string that is identical to
-itself. The power of regular expressions comes from the
-ability to include alternatives and repetitions in the pattern.
-These are encoded in the pattern by the use of @dfn{special characters},
-which do not stand for themselves but instead
-are interpreted in some special way. Here is a brief description
-of regular expression syntax as used in @command{sed}.
-
-@table @code
-@item @var{char}
-A single ordinary character matches itself.
-
-@item *
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Matches a sequence of zero or more instances of matches for the
-preceding regular expression, which must be an ordinary character, a
-special character preceded by @code{\}, a @code{.}, a grouped regexp
-(see below), or a bracket expression. As a @acronym{GNU} extension, a
-postfixed regular expression can also be followed by @code{*}; for
-example, @code{a**} is equivalent to @code{a*}. @acronym{POSIX}
-1003.1-2001 says that @code{*} stands for itself when it appears at
-the start of a regular expression or subexpression, but many
-non@acronym{GNU} implementations do not support this and portable
-scripts should instead use @code{\*} in these contexts.
-
-@item \+
-@cindex @acronym{GNU} extensions, to basic regular expressions
-As @code{*}, but matches one or more. It is a @acronym{GNU} extension.
-
-@item \?
-@cindex @acronym{GNU} extensions, to basic regular expressions
-As @code{*}, but only matches zero or one. It is a @acronym{GNU} extension.
-
-@item \@{@var{i}\@}
-As @code{*}, but matches exactly @var{i} sequences (@var{i} is a
-decimal integer; for portability, keep it between 0 and 255
-inclusive).
-
-@item \@{@var{i},@var{j}\@}
-Matches between @var{i} and @var{j}, inclusive, sequences.
-
-@item \@{@var{i},\@}
-Matches more than or equal to @var{i} sequences.
-
-@item \(@var{regexp}\)
-Groups the inner @var{regexp} as a whole, this is used to:
-
-@itemize @bullet
-@item
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Apply postfix operators, like @code{\(abcd\)*}:
-this will search for zero or more whole sequences
-of @samp{abcd}, while @code{abcd*} would search
-for @samp{abc} followed by zero or more occurrences
-of @samp{d}. Note that support for @code{\(abcd\)*} is
-required by @acronym{POSIX} 1003.1-2001, but many non-@acronym{GNU}
-implementations do not support it and hence it is not universally
-portable.
-
-@item
-Use back references (see below).
-@end itemize
-
-@item .
-Matches any character, including newline.
-
-@item ^
-Matches the null string at beginning of the pattern space, i.e. what
-appears after the circumflex must appear at the beginning of the
-pattern space.
-
-In most scripts, pattern space is initialized to the content of each
-line (@pxref{Execution Cycle, , How @code{sed} works}). So, it is a
-useful simplification to think of @code{^#include} as matching only
-lines where @samp{#include} is the first thing on line---if there are
-spaces before, for example, the match fails. This simplification is
-valid as long as the original content of pattern space is not modified,
-for example with an @code{s} command.
-
-@code{^} acts as a special character only at the beginning of the
-regular expression or subexpression (that is, after @code{\(} or
-@code{\|}). Portable scripts should avoid @code{^} at the beginning of
-a subexpression, though, as @acronym{POSIX} allows implementations that
-treat @code{^} as an ordinary character in that context.
-
-@item $
-It is the same as @code{^}, but refers to end of pattern space.
-@code{$} also acts as a special character only at the end
-of the regular expression or subexpression (that is, before @code{\)}
-or @code{\|}), and its use at the end of a subexpression is not
-portable.
-
-
-@item [@var{list}]
-@itemx [^@var{list}]
-Matches any single character in @var{list}: for example,
-@code{[aeiou]} matches all vowels. A list may include
-sequences like @code{@var{char1}-@var{char2}}, which
-matches any character between (inclusive) @var{char1}
-and @var{char2}.
-
-A leading @code{^} reverses the meaning of @var{list}, so that
-it matches any single character @emph{not} in @var{list}. To include
-@code{]} in the list, make it the first character (after
-the @code{^} if needed), to include @code{-} in the list,
-make it the first or last; to include @code{^} put
-it after the first character.
-
-@cindex @code{POSIXLY_CORRECT} behavior, bracket expressions
-The characters @code{$}, @code{*}, @code{.}, @code{[}, and @code{\}
-are normally not special within @var{list}. For example, @code{[\*]}
-matches either @samp{\} or @samp{*}, because the @code{\} is not
-special here. However, strings like @code{[.ch.]}, @code{[=a=]}, and
-@code{[:space:]} are special within @var{list} and represent collating
-symbols, equivalence classes, and character classes, respectively, and
-@code{[} is therefore special within @var{list} when it is followed by
-@code{.}, @code{=}, or @code{:}. Also, when not in
-@env{POSIXLY_CORRECT} mode, special escapes like @code{\n} and
-@code{\t} are recognized within @var{list}. @xref{Escapes}.
-
-@item @var{regexp1}\|@var{regexp2}
-@cindex @acronym{GNU} extensions, to basic regular expressions
-Matches either @var{regexp1} or @var{regexp2}. Use
-parentheses to use complex alternative regular expressions.
-The matching process tries each alternative in turn, from
-left to right, and the first one that succeeds is used.
-It is a @acronym{GNU} extension.
-
-@item @var{regexp1}@var{regexp2}
-Matches the concatenation of @var{regexp1} and @var{regexp2}.
-Concatenation binds more tightly than @code{\|}, @code{^}, and
-@code{$}, but less tightly than the other regular expression
-operators.
-
-@item \@var{digit}
-Matches the @var{digit}-th @code{\(@dots{}\)} parenthesized
-subexpression in the regular expression. This is called a @dfn{back
-reference}. Subexpressions are implicity numbered by counting
-occurrences of @code{\(} left-to-right.
-
-@item \n
-Matches the newline character.
-
-@item \@var{char}
-Matches @var{char}, where @var{char} is one of @code{$},
-@code{*}, @code{.}, @code{[}, @code{\}, or @code{^}.
-Note that the only C-like
-backslash sequences that you can portably assume to be
-interpreted are @code{\n} and @code{\\}; in particular
-@code{\t} is not portable, and matches a @samp{t} under most
-implementations of @command{sed}, rather than a tab character.
-
-@end table
-
-@cindex Greedy regular expression matching
-Note that the regular expression matcher is greedy, i.e., matches
-are attempted from left to right and, if two or more matches are
-possible starting at the same character, it selects the longest.
-
-@noindent
-Examples:
-@table @samp
-@item abcdef
-Matches @samp{abcdef}.
-
-@item a*b
-Matches zero or more @samp{a}s followed by a single
-@samp{b}. For example, @samp{b} or @samp{aaaaab}.
-
-@item a\?b
-Matches @samp{b} or @samp{ab}.
-
-@item a\+b\+
-Matches one or more @samp{a}s followed by one or more
-@samp{b}s: @samp{ab} is the shortest possible match, but
-other examples are @samp{aaaab} or @samp{abbbbb} or
-@samp{aaaaaabbbbbbb}.
-
-@item .*
-@itemx .\+
-These two both match all the characters in a string;
-however, the first matches every string (including the empty
-string), while the second matches only strings containing
-at least one character.
-
-@item ^main.*(.*)
-his matches a string starting with @samp{main},
-followed by an opening and closing
-parenthesis. The @samp{n}, @samp{(} and @samp{)} need not
-be adjacent.
-
-@item ^#
-This matches a string beginning with @samp{#}.
-
-@item \\$
-This matches a string ending with a single backslash. The
-regexp contains two backslashes for escaping.
-
-@item \$
-Instead, this matches a string consisting of a single dollar sign,
-because it is escaped.
-
-@item [a-zA-Z0-9]
-In the C locale, this matches any @acronym{ASCII} letters or digits.
-
-@item [^ @kbd{tab}]\+
-(Here @kbd{tab} stands for a single tab character.)
-This matches a string of one or more
-characters, none of which is a space or a tab.
-Usually this means a word.
-
-@item ^\(.*\)\n\1$
-This matches a string consisting of two equal substrings separated by
-a newline.
-
-@item .\@{9\@}A$
-This matches nine characters followed by an @samp{A}.
-
-@item ^.\@{15\@}A
-This matches the start of a string that contains 16 characters,
-the last of which is an @samp{A}.
-
-@end table
-
-
-
-@node Common Commands
-@section Often-Used Commands
-
-If you use @command{sed} at all, you will quite likely want to know
-these commands.
-
-@table @code
-@item #
-[No addresses allowed.]
-
-@findex # (comments)
-@cindex Comments, in scripts
-The @code{#} character begins a comment;
-the comment continues until the next newline.
-
-@cindex Portability, comments
-If you are concerned about portability, be aware that
-some implementations of @command{sed} (which are not @sc{posix}
-conformant) may only support a single one-line comment,
-and then only when the very first character of the script is a @code{#}.
-
-@findex -n, forcing from within a script
-@cindex Caveat --- #n on first line
-Warning: if the first two characters of the @command{sed} script
-are @code{#n}, then the @option{-n} (no-autoprint) option is forced.
-If you want to put a comment in the first line of your script
-and that comment begins with the letter @samp{n}
-and you do not want this behavior,
-then be sure to either use a capital @samp{N},
-or place at least one space before the @samp{n}.
-
-@item q [@var{exit-code}]
-This command only accepts a single address.
-
-@findex q (quit) command
-@cindex @value{SSEDEXT}, returning an exit code
-@cindex Quitting
-Exit @command{sed} without processing any more commands or input.
-Note that the current pattern space is printed if auto-print is
-not disabled with the @option{-n} options. The ability to return
-an exit code from the @command{sed} script is a @value{SSED} extension.
-
-@item d
-@findex d (delete) command
-@cindex Text, deleting
-Delete the pattern space;
-immediately start next cycle.
-
-@item p
-@findex p (print) command
-@cindex Text, printing
-Print out the pattern space (to the standard output).
-This command is usually only used in conjunction with the @option{-n}
-command-line option.
-
-@item n
-@findex n (next-line) command
-@cindex Next input line, replace pattern space with
-@cindex Read next input line
-If auto-print is not disabled, print the pattern space,
-then, regardless, replace the pattern space with the next line of input.
-If there is no more input then @command{sed} exits without processing
-any more commands.
-
-@item @{ @var{commands} @}
-@findex @{@} command grouping
-@cindex Grouping commands
-@cindex Command groups
-A group of commands may be enclosed between
-@code{@{} and @code{@}} characters.
-This is particularly useful when you want a group of commands
-to be triggered by a single address (or address-range) match.
-
-@end table
-
-@node The "s" Command
-@section The @code{s} Command
-
-The syntax of the @code{s} (as in substitute) command is
-@samp{s/@var{regexp}/@var{replacement}/@var{flags}}. The @code{/}
-characters may be uniformly replaced by any other single
-character within any given @code{s} command. The @code{/}
-character (or whatever other character is used in its stead)
-can appear in the @var{regexp} or @var{replacement}
-only if it is preceded by a @code{\} character.
-
-The @code{s} command is probably the most important in @command{sed}
-and has a lot of different options. Its basic concept is simple:
-the @code{s} command attempts to match the pattern
-space against the supplied @var{regexp}; if the match is
-successful, then that portion of the pattern
-space which was matched is replaced with @var{replacement}.
-
-@cindex Backreferences, in regular expressions
-@cindex Parenthesized substrings
-The @var{replacement} can contain @code{\@var{n}} (@var{n} being
-a number from 1 to 9, inclusive) references, which refer to
-the portion of the match which is contained between the @var{n}th
-@code{\(} and its matching @code{\)}.
-Also, the @var{replacement} can contain unescaped @code{&}
-characters which reference the whole matched portion
-of the pattern space.
-@cindex @value{SSEDEXT}, case modifiers in @code{s} commands
-Finally, as a @value{SSED} extension, you can include a
-special sequence made of a backslash and one of the letters
-@code{L}, @code{l}, @code{U}, @code{u}, or @code{E}.
-The meaning is as follows:
-
-@table @code
-@item \L
-Turn the replacement
-to lowercase until a @code{\U} or @code{\E} is found,
-
-@item \l
-Turn the
-next character to lowercase,
-
-@item \U
-Turn the replacement to uppercase
-until a @code{\L} or @code{\E} is found,
-
-@item \u
-Turn the next character
-to uppercase,
-
-@item \E
-Stop case conversion started by @code{\L} or @code{\U}.
-@end table
-
-To include a literal @code{\}, @code{&}, or newline in the final
-replacement, be sure to precede the desired @code{\}, @code{&},
-or newline in the @var{replacement} with a @code{\}.
-
-@findex s command, option flags
-@cindex Substitution of text, options
-The @code{s} command can be followed by zero or more of the
-following @var{flags}:
-
-@table @code
-@item g
-@cindex Global substitution
-@cindex Replacing all text matching regexp in a line
-Apply the replacement to @emph{all} matches to the @var{regexp},
-not just the first.
-
-@item @var{number}
-@cindex Replacing only @var{n}th match of regexp in a line
-Only replace the @var{number}th match of the @var{regexp}.
-
-@cindex @acronym{GNU} extensions, @code{g} and @var{number} modifier interaction in @code{s} command
-@cindex Mixing @code{g} and @var{number} modifiers in the @code{s} command
-Note: the @sc{posix} standard does not specify what should happen
-when you mix the @code{g} and @var{number} modifiers,
-and currently there is no widely agreed upon meaning
-across @command{sed} implementations.
-For @value{SSED}, the interaction is defined to be:
-ignore matches before the @var{number}th,
-and then match and replace all matches from
-the @var{number}th on.
-
-@item p
-@cindex Text, printing after substitution
-If the substitution was made, then print the new pattern space.
-
-Note: when both the @code{p} and @code{e} options are specified,
-the relative ordering of the two produces very different results.
-In general, @code{ep} (evaluate then print) is what you want,
-but operating the other way round can be useful for debugging.
-For this reason, the current version of @value{SSED} interprets
-specially the presence of @code{p} options both before and after
-@code{e}, printing the pattern space before and after evaluation,
-while in general flags for the @code{s} command show their
-effect just once. This behavior, although documented, might
-change in future versions.
-
-@item w @var{file-name}
-@cindex Text, writing to a file after substitution
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-@cindex @value{SSEDEXT}, @file{/dev/stderr} file
-If the substitution was made, then write out the result to the named file.
-As a @value{SSED} extension, two special values of @var{file-name} are
-supported: @file{/dev/stderr}, which writes the result to the standard
-error, and @file{/dev/stdout}, which writes to the standard
-output.@footnote{This is equivalent to @code{p} unless the @option{-i}
-option is being used.}
-
-@item e
-@cindex Evaluate Bourne-shell commands, after substitution
-@cindex Subprocesses
-@cindex @value{SSEDEXT}, evaluating Bourne-shell commands
-@cindex @value{SSEDEXT}, subprocesses
-This command allows one to pipe input from a shell command
-into pattern space. If a substitution was made, the command
-that is found in pattern space is executed and pattern space
-is replaced with its output. A trailing newline is suppressed;
-results are undefined if the command to be executed contains
-a @sc{nul} character. This is a @value{SSED} extension.
-
-@item I
-@itemx i
-@cindex @acronym{GNU} extensions, @code{I} modifier
-@cindex Case-insensitive matching
-@ifset PERL
-@cindex Perl-style regular expressions, case-insensitive
-@end ifset
-The @code{I} modifier to regular-expression matching is a @acronym{GNU}
-extension which makes @command{sed} match @var{regexp} in a
-case-insensitive manner.
-
-@item M
-@itemx m
-@cindex @value{SSEDEXT}, @code{M} modifier
-@ifset PERL
-@cindex Perl-style regular expressions, multiline
-@end ifset
-The @code{M} modifier to regular-expression matching is a @value{SSED}
-extension which causes @code{^} and @code{$} to match respectively
-(in addition to the normal behavior) the empty string after a newline,
-and the empty string before a newline. There are special character
-sequences
-@ifset PERL
-(@code{\A} and @code{\Z} in Perl mode, @code{\`} and @code{\'}
-in basic or extended regular expression modes)
-@end ifset
-@ifclear PERL
-(@code{\`} and @code{\'})
-@end ifclear
-which always match the beginning or the end of the buffer.
-@code{M} stands for @cite{multi-line}.
-
-@ifset PERL
-@item S
-@itemx s
-@cindex @value{SSEDEXT}, @code{S} modifier
-@cindex Perl-style regular expressions, single line
-The @code{S} modifier to regular-expression matching is only valid
-in Perl mode and specifies that the dot character (@code{.}) will
-match the newline character too. @code{S} stands for @cite{single-line}.
-@end ifset
-
-@ifset PERL
-@item X
-@itemx x
-@cindex @value{SSEDEXT}, @code{X} modifier
-@cindex Perl-style regular expressions, extended
-The @code{X} modifier to regular-expression matching is also
-valid in Perl mode only. If it is used, whitespace in the
-pattern (other than in a character class) and
-characters between a @kbd{#} outside a character class and the
-next newline character are ignored. An escaping backslash
-can be used to include a whitespace or @kbd{#} character as part
-of the pattern.
-@end ifset
-@end table
-
-
-@node Other Commands
-@section Less Frequently-Used Commands
-
-Though perhaps less frequently used than those in the previous
-section, some very small yet useful @command{sed} scripts can be built with
-these commands.
-
-@table @code
-@item y/@var{source-chars}/@var{dest-chars}/
-(The @code{/} characters may be uniformly replaced by
-any other single character within any given @code{y} command.)
-
-@findex y (transliterate) command
-@cindex Transliteration
-Transliterate any characters in the pattern space which match
-any of the @var{source-chars} with the corresponding character
-in @var{dest-chars}.
-
-Instances of the @code{/} (or whatever other character is used in its stead),
-@code{\}, or newlines can appear in the @var{source-chars} or @var{dest-chars}
-lists, provide that each instance is escaped by a @code{\}.
-The @var{source-chars} and @var{dest-chars} lists @emph{must}
-contain the same number of characters (after de-escaping).
-
-@item a\
-@itemx @var{text}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex a (append text lines) command
-@cindex Appending text after a line
-@cindex Text, appending
-Queue the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output)
-to be output at the end of the current cycle,
-or when the next input line is read.
-
-Escape sequences in @var{text} are processed, so you should
-use @code{\\} in @var{text} to print a single backslash.
-
-As a @acronym{GNU} extension, if between the @code{a} and the newline there is
-other than a whitespace-@code{\} sequence, then the text of this line,
-starting at the first non-whitespace character after the @code{a},
-is taken as the first line of the @var{text} block.
-(This enables a simplification in scripting a one-line add.)
-This extension also works with the @code{i} and @code{c} commands.
-
-@item i\
-@itemx @var{text}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex i (insert text lines) command
-@cindex Inserting text before a line
-@cindex Text, insertion
-Immediately output the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output).
-
-@item c\
-@itemx @var{text}
-@findex c (change to text lines) command
-@cindex Replacing selected lines with other text
-Delete the lines matching the address or address-range,
-and output the lines of text which follow this command
-(each but the last ending with a @code{\},
-which are removed from the output)
-in place of the last line
-(or in place of each line, if no addresses were specified).
-A new cycle is started after this command is done,
-since the pattern space will have been deleted.
-
-@item =
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex = (print line number) command
-@cindex Printing line number
-@cindex Line number, printing
-Print out the current input line number (with a trailing newline).
-
-@item l @var{n}
-@findex l (list unambiguously) command
-@cindex List pattern space
-@cindex Printing text unambiguously
-@cindex Line length, setting
-@cindex @value{SSEDEXT}, setting line length
-Print the pattern space in an unambiguous form:
-non-printable characters (and the @code{\} character)
-are printed in C-style escaped form; long lines are split,
-with a trailing @code{\} character to indicate the split;
-the end of each line is marked with a @code{$}.
-
-@var{n} specifies the desired line-wrap length;
-a length of 0 (zero) means to never wrap long lines. If omitted,
-the default as specified on the command line is used. The @var{n}
-parameter is a @value{SSED} extension.
-
-@item r @var{filename}
-@cindex @value{SSEDEXT}, two addresses supported by most commands
-As a @acronym{GNU} extension, this command accepts two addresses.
-
-@findex r (read file) command
-@cindex Read text from a file
-@cindex @value{SSEDEXT}, @file{/dev/stdin} file
-Queue the contents of @var{filename} to be read and
-inserted into the output stream at the end of the current cycle,
-or when the next input line is read.
-Note that if @var{filename} cannot be read, it is treated as
-if it were an empty file, without any error indication.
-
-As a @value{SSED} extension, the special value @file{/dev/stdin}
-is supported for the file name, which reads the contents of the
-standard input.
-
-@item w @var{filename}
-@findex w (write file) command
-@cindex Write to a file
-@cindex @value{SSEDEXT}, @file{/dev/stdout} file
-@cindex @value{SSEDEXT}, @file{/dev/stderr} file
-Write the pattern space to @var{filename}.
-As a @value{SSED} extension, two special values of @var{file-name} are
-supported: @file{/dev/stderr}, which writes the result to the standard
-error, and @file{/dev/stdout}, which writes to the standard
-output.@footnote{This is equivalent to @code{p} unless the @option{-i}
-option is being used.}
-
-The file will be created (or truncated) before the
-first input line is read; all @code{w} commands
-(including instances of @code{w} flag on successful @code{s} commands)
-which refer to the same @var{filename} are output without
-closing and reopening the file.
-
-@item D
-@findex D (delete first line) command
-@cindex Delete first line from pattern space
-Delete text in the pattern space up to the first newline.
-If any text is left, restart cycle with the resultant
-pattern space (without reading a new line of input),
-otherwise start a normal new cycle.
-
-@item N
-@findex N (append Next line) command
-@cindex Next input line, append to pattern space
-@cindex Append next input line to pattern space
-Add a newline to the pattern space,
-then append the next line of input to the pattern space.
-If there is no more input then @command{sed} exits without processing
-any more commands.
-
-@item P
-@findex P (print first line) command
-@cindex Print first line from pattern space
-Print out the portion of the pattern space up to the first newline.
-
-@item h
-@findex h (hold) command
-@cindex Copy pattern space into hold space
-@cindex Replace hold space with copy of pattern space
-@cindex Hold space, copying pattern space into
-Replace the contents of the hold space with the contents of the pattern space.
-
-@item H
-@findex H (append Hold) command
-@cindex Append pattern space to hold space
-@cindex Hold space, appending from pattern space
-Append a newline to the contents of the hold space,
-and then append the contents of the pattern space to that of the hold space.
-
-@item g
-@findex g (get) command
-@cindex Copy hold space into pattern space
-@cindex Replace pattern space with copy of hold space
-@cindex Hold space, copy into pattern space
-Replace the contents of the pattern space with the contents of the hold space.
-
-@item G
-@findex G (appending Get) command
-@cindex Append hold space to pattern space
-@cindex Hold space, appending to pattern space
-Append a newline to the contents of the pattern space,
-and then append the contents of the hold space to that of the pattern space.
-
-@item x
-@findex x (eXchange) command
-@cindex Exchange hold space with pattern space
-@cindex Hold space, exchange with pattern space
-Exchange the contents of the hold and pattern spaces.
-
-@end table
-
-
-@node Programming Commands
-@section Commands for @command{sed} gurus
-
-In most cases, use of these commands indicates that you are
-probably better off programming in something like @command{awk}
-or Perl. But occasionally one is committed to sticking
-with @command{sed}, and these commands can enable one to write
-quite convoluted scripts.
-
-@cindex Flow of control in scripts
-@table @code
-@item : @var{label}
-[No addresses allowed.]
-
-@findex : (label) command
-@cindex Labels, in scripts
-Specify the location of @var{label} for branch commands.
-In all other respects, a no-op.
-
-@item b @var{label}
-@findex b (branch) command
-@cindex Branch to a label, unconditionally
-@cindex Goto, in scripts
-Unconditionally branch to @var{label}.
-The @var{label} may be omitted, in which case the next cycle is started.
-
-@item t @var{label}
-@findex t (test and branch if successful) command
-@cindex Branch to a label, if @code{s///} succeeded
-@cindex Conditional branch
-Branch to @var{label} only if there has been a successful @code{s}ubstitution
-since the last input line was read or conditional branch was taken.
-The @var{label} may be omitted, in which case the next cycle is started.
-
-@end table
-
-@node Extended Commands
-@section Commands Specific to @value{SSED}
-
-These commands are specific to @value{SSED}, so you
-must use them with care and only when you are sure that
-hindering portability is not evil. They allow you to check
-for @value{SSED} extensions or to do tasks that are required
-quite often, yet are unsupported by standard @command{sed}s.
-
-@table @code
-@item e [@var{command}]
-@findex e (evaluate) command
-@cindex Evaluate Bourne-shell commands
-@cindex Subprocesses
-@cindex @value{SSEDEXT}, evaluating Bourne-shell commands
-@cindex @value{SSEDEXT}, subprocesses
-This command allows one to pipe input from a shell command
-into pattern space. Without parameters, the @code{e} command
-executes the command that is found in pattern space and
-replaces the pattern space with the output; a trailing newline
-is suppressed.
-
-If a parameter is specified, instead, the @code{e} command
-interprets it as a command and sends its output to the output stream
-(like @code{r} does). The command can run across multiple
-lines, all but the last ending with a back-slash.
-
-In both cases, the results are undefined if the command to be
-executed contains a @sc{nul} character.
-
-@item L @var{n}
-@findex L (fLow paragraphs) command
-@cindex Reformat pattern space
-@cindex Reformatting paragraphs
-@cindex @value{SSEDEXT}, reformatting paragraphs
-@cindex @value{SSEDEXT}, @code{L} command
-This @value{SSED} extension fills and joins lines in pattern space
-to produce output lines of (at most) @var{n} characters, like
-@code{fmt} does; if @var{n} is omitted, the default as specified
-on the command line is used. This command is considered a failed
-experiment and unless there is enough request (which seems unlikely)
-will be removed in future versions.
-
-@ignore
-Blank lines, spaces between words, and indentation are
-preserved in the output; successive input lines with different
-indentation are not joined; tabs are expanded to 8 columns.
-
-If the pattern space contains multiple lines, they are joined, but
-since the pattern space usually contains a single line, the behavior
-of a simple @code{L;d} script is the same as @samp{fmt -s} (i.e.,
-it does not join short lines to form longer ones).
-
-@var{n} specifies the desired line-wrap length; if omitted,
-the default as specified on the command line is used.
-@end ignore
-
-@item Q [@var{exit-code}]
-This command only accepts a single address.
-
-@findex Q (silent Quit) command
-@cindex @value{SSEDEXT}, quitting silently
-@cindex @value{SSEDEXT}, returning an exit code
-@cindex Quitting
-This command is the same as @code{q}, but will not print the
-contents of pattern space. Like @code{q}, it provides the
-ability to return an exit code to the caller.
-
-This command can be useful because the only alternative ways
-to accomplish this apparently trivial function are to use
-the @option{-n} option (which can unnecessarily complicate
-your script) or resorting to the following snippet, which
-wastes time by reading the whole file without any visible effect:
-
-@example
-:eat
-$d @i{@r{Quit silently on the last line}}
-N @i{@r{Read another line, silently}}
-g @i{@r{Overwrite pattern space each time to save memory}}
-b eat
-@end example
-
-@item R @var{filename}
-@findex R (read line) command
-@cindex Read text from a file
-@cindex @value{SSEDEXT}, reading a file a line at a time
-@cindex @value{SSEDEXT}, @code{R} command
-@cindex @value{SSEDEXT}, @file{/dev/stdin} file
-Queue a line of @var{filename} to be read and
-inserted into the output stream at the end of the current cycle,
-or when the next input line is read.
-Note that if @var{filename} cannot be read, or if its end is
-reached, no line is appended, without any error indication.
-
-As with the @code{r} command, the special value @file{/dev/stdin}
-is supported for the file name, which reads a line from the
-standard input.
-
-@item T @var{label}
-@findex T (test and branch if failed) command
-@cindex @value{SSEDEXT}, branch if @code{s///} failed
-@cindex Branch to a label, if @code{s///} failed
-@cindex Conditional branch
-Branch to @var{label} only if there have been no successful
-@code{s}ubstitutions since the last input line was read or
-conditional branch was taken. The @var{label} may be omitted,
-in which case the next cycle is started.
-
-@item v @var{version}
-@findex v (version) command
-@cindex @value{SSEDEXT}, checking for their presence
-@cindex Requiring @value{SSED}
-This command does nothing, but makes @command{sed} fail if
-@value{SSED} extensions are not supported, simply because other
-versions of @command{sed} do not implement it. In addition, you
-can specify the version of @command{sed} that your script
-requires, such as @code{4.0.5}. The default is @code{4.0}
-because that is the first version that implemented this command.
-
-This command enables all @value{SSEDEXT} even if
-@env{POSIXLY_CORRECT} is set in the environment.
-
-@item W @var{filename}
-@findex W (write first line) command
-@cindex Write first line to a file
-@cindex @value{SSEDEXT}, writing first line to a file
-Write to the given filename the portion of the pattern space up to
-the first newline. Everything said under the @code{w} command about
-file handling holds here too.
-
-@item z
-@findex z (Zap) command
-@cindex @value{SSEDEXT}, emptying pattern space
-@cindex Emptying pattern space
-This command empties the content of pattern space. It is
-usually the same as @samp{s/.*//}, but is more efficient
-and works in the presence of invalid multibyte sequences
-in the input stream. @sc{posix} mandates that such sequences
-are @emph{not} matched by @samp{.}, so that there is no portable
-way to clear @command{sed}'s buffers in the middle of the
-script in most multibyte locales (including UTF-8 locales).
-@end table
-
-@node Escapes
-@section @acronym{GNU} Extensions for Escapes in Regular Expressions
-
-@cindex @acronym{GNU} extensions, special escapes
-Until this chapter, we have only encountered escapes of the form
-@samp{\^}, which tell @command{sed} not to interpret the circumflex
-as a special character, but rather to take it literally. For
-example, @samp{\*} matches a single asterisk rather than zero
-or more backslashes.
-
-@cindex @code{POSIXLY_CORRECT} behavior, escapes
-This chapter introduces another kind of escape@footnote{All
-the escapes introduced here are @acronym{GNU}
-extensions, with the exception of @code{\n}. In basic regular
-expression mode, setting @code{POSIXLY_CORRECT} disables them inside
-bracket expressions.}---that
-is, escapes that are applied to a character or sequence of characters
-that ordinarily are taken literally, and that @command{sed} replaces
-with a special character. This provides a way
-of encoding non-printable characters in patterns in a visible manner.
-There is no restriction on the appearance of non-printing characters
-in a @command{sed} script but when a script is being prepared in the
-shell or by text editing, it is usually easier to use one of
-the following escape sequences than the binary character it
-represents:
-
-The list of these escapes is:
-
-@table @code
-@item \a
-Produces or matches a @sc{bel} character, that is an ``alert'' (@sc{ascii} 7).
-
-@item \f
-Produces or matches a form feed (@sc{ascii} 12).
-
-@item \n
-Produces or matches a newline (@sc{ascii} 10).
-
-@item \r
-Produces or matches a carriage return (@sc{ascii} 13).
-
-@item \t
-Produces or matches a horizontal tab (@sc{ascii} 9).
-
-@item \v
-Produces or matches a so called ``vertical tab'' (@sc{ascii} 11).
-
-@item \c@var{x}
-Produces or matches @kbd{@sc{Control}-@var{x}}, where @var{x} is
-any character. The precise effect of @samp{\c@var{x}} is as follows:
-if @var{x} is a lower case letter, it is converted to upper case.
-Then bit 6 of the character (hex 40) is inverted. Thus @samp{\cz} becomes
-hex 1A, but @samp{\c@{} becomes hex 3B, while @samp{\c;} becomes hex 7B.
-
-@item \d@var{xxx}
-Produces or matches a character whose decimal @sc{ascii} value is @var{xxx}.
-
-@item \o@var{xxx}
-@ifset PERL
-@item \@var{xxx}
-@end ifset
-Produces or matches a character whose octal @sc{ascii} value is @var{xxx}.
-@ifset PERL
-The syntax without the @code{o} is active in Perl mode, while the one
-with the @code{o} is active in the normal or extended @sc{posix} regular
-expression modes.
-@end ifset
-
-@item \x@var{xx}
-Produces or matches a character whose hexadecimal @sc{ascii} value is @var{xx}.
-@end table
-
-@samp{\b} (backspace) was omitted because of the conflict with
-the existing ``word boundary'' meaning.
-
-Other escapes match a particular character class and are valid only in
-regular expressions:
-
-@table @code
-@item \w
-Matches any ``word'' character. A ``word'' character is any
-letter or digit or the underscore character.
-
-@item \W
-Matches any ``non-word'' character.
-
-@item \b
-Matches a word boundary; that is it matches if the character
-to the left is a ``word'' character and the character to the
-right is a ``non-word'' character, or vice-versa.
-
-@item \B
-Matches everywhere but on a word boundary; that is it matches
-if the character to the left and the character to the right
-are either both ``word'' characters or both ``non-word''
-characters.
-
-@item \`
-Matches only at the start of pattern space. This is different
-from @code{^} in multi-line mode.
-
-@item \'
-Matches only at the end of pattern space. This is different
-from @code{$} in multi-line mode.
-
-@ifset PERL
-@item \G
-Match only at the start of pattern space or, when doing a global
-substitution using the @code{s///g} command and option, at
-the end-of-match position of the prior match. For example,
-@samp{s/\Ga/Z/g} will change an initial run of @code{a}s to
-a run of @code{Z}s
-@end ifset
-@end table
-
-@node Examples
-@chapter Some Sample Scripts
-
-Here are some @command{sed} scripts to guide you in the art of mastering
-@command{sed}.
-
-@menu
-Some exotic examples:
-* Centering lines::
-* Increment a number::
-* Rename files to lower case::
-* Print bash environment::
-* Reverse chars of lines::
-
-Emulating standard utilities:
-* tac:: Reverse lines of files
-* cat -n:: Numbering lines
-* cat -b:: Numbering non-blank lines
-* wc -c:: Counting chars
-* wc -w:: Counting words
-* wc -l:: Counting lines
-* head:: Printing the first lines
-* tail:: Printing the last lines
-* uniq:: Make duplicate lines unique
-* uniq -d:: Print duplicated lines of input
-* uniq -u:: Remove all duplicated lines
-* cat -s:: Squeezing blank lines
-@end menu
-
-@node Centering lines
-@section Centering Lines
-
-This script centers all lines of a file on a 80 columns width.
-To change that width, the number in @code{\@{@dots{}\@}} must be
-replaced, and the number of added spaces also must be changed.
-
-Note how the buffer commands are used to separate parts in
-the regular expressions to be matched---this is a common
-technique.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-@group
-# Put 80 spaces in the buffer
-1 @{
- x
- s/^$/ /
- s/^.*$/&&&&&&&&/
- x
-@}
-@end group
-
-@group
-# del leading and trailing spaces
-y/@kbd{tab}/ /
-s/^ *//
-s/ *$//
-@end group
-
-@group
-# add a newline and 80 spaces to end of line
-G
-@end group
-
-@group
-# keep first 81 chars (80 + a newline)
-s/^\(.\@{81\@}\).*$/\1/
-@end group
-
-@group
-# \2 matches half of the spaces, which are moved to the beginning
-s/^\(.*\)\n\(.*\)\2/\2\1/
-@end group
-@end example
-@c end---------------------------------------------
-
-@node Increment a number
-@section Increment a Number
-
-This script is one of a few that demonstrate how to do arithmetic
-in @command{sed}. This is indeed possible,@footnote{@command{sed} guru Greg
-Ubben wrote an implementation of the @command{dc} @sc{rpn} calculator!
-It is distributed together with sed.} but must be done manually.
-
-To increment one number you just add 1 to last digit, replacing
-it by the following digit. There is one exception: when the digit
-is a nine the previous digits must be also incremented until you
-don't have a nine.
-
-This solution by Bruno Haible is very clever and smart because
-it uses a single buffer; if you don't have this limitation, the
-algorithm used in @ref{cat -n, Numbering lines}, is faster.
-It works by replacing trailing nines with an underscore, then
-using multiple @code{s} commands to increment the last digit,
-and then again substituting underscores with zeros.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-/[^0-9]/ d
-
-@group
-# replace all leading 9s by _ (any other character except digits, could
-# be used)
-:d
-s/9\(_*\)$/_\1/
-td
-@end group
-
-@group
-# incr last digit only. The first line adds a most-significant
-# digit of 1 if we have to add a digit.
-#
-# The @code{tn} commands are not necessary, but make the thing
-# faster
-@end group
-
-@group
-s/^\(_*\)$/1\1/; tn
-s/8\(_*\)$/9\1/; tn
-s/7\(_*\)$/8\1/; tn
-s/6\(_*\)$/7\1/; tn
-s/5\(_*\)$/6\1/; tn
-s/4\(_*\)$/5\1/; tn
-s/3\(_*\)$/4\1/; tn
-s/2\(_*\)$/3\1/; tn
-s/1\(_*\)$/2\1/; tn
-s/0\(_*\)$/1\1/; tn
-@end group
-
-@group
-:n
-y/_/0/
-@end group
-@end example
-@c end---------------------------------------------
-
-@node Rename files to lower case
-@section Rename Files to Lower Case
-
-This is a pretty strange use of @command{sed}. We transform text, and
-transform it to be shell commands, then just feed them to shell.
-Don't worry, even worse hacks are done when using @command{sed}; I have
-seen a script converting the output of @command{date} into a @command{bc}
-program!
-
-The main body of this is the @command{sed} script, which remaps the name
-from lower to upper (or vice-versa) and even checks out
-if the remapped name is the same as the original name.
-Note how the script is parameterized using shell
-variables and proper quoting.
-
-@c start-------------------------------------------
-@example
-@group
-#! /bin/sh
-# rename files to lower/upper case...
-#
-# usage:
-# move-to-lower *
-# move-to-upper *
-# or
-# move-to-lower -R .
-# move-to-upper -R .
-#
-@end group
-
-@group
-help()
-@{
- cat << eof
-Usage: $0 [-n] [-r] [-h] files...
-@end group
-
-@group
--n do nothing, only see what would be done
--R recursive (use find)
--h this message
-files files to remap to lower case
-@end group
-
-@group
-Examples:
- $0 -n * (see if everything is ok, then...)
- $0 *
-@end group
-
- $0 -R .
-
-@group
-eof
-@}
-@end group
-
-@group
-apply_cmd='sh'
-finder='echo "$@@" | tr " " "\n"'
-files_only=
-@end group
-
-@group
-while :
-do
- case "$1" in
- -n) apply_cmd='cat' ;;
- -R) finder='find "$@@" -type f';;
- -h) help ; exit 1 ;;
- *) break ;;
- esac
- shift
-done
-@end group
-
-@group
-if [ -z "$1" ]; then
- echo Usage: $0 [-h] [-n] [-r] files...
- exit 1
-fi
-@end group
-
-@group
-LOWER='abcdefghijklmnopqrstuvwxyz'
-UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-@end group
-
-@group
-case `basename $0` in
- *upper*) TO=$UPPER; FROM=$LOWER ;;
- *) FROM=$UPPER; TO=$LOWER ;;
-esac
-@end group
-
-eval $finder | sed -n '
-
-@group
-# remove all trailing slashes
-s/\/*$//
-@end group
-
-@group
-# add ./ if there is no path, only a filename
-/\//! s/^/.\//
-@end group
-
-@group
-# save path+filename
-h
-@end group
-
-@group
-# remove path
-s/.*\///
-@end group
-
-@group
-# do conversion only on filename
-y/'$FROM'/'$TO'/
-@end group
-
-@group
-# now line contains original path+file, while
-# hold space contains the new filename
-x
-@end group
-
-@group
-# add converted file name to line, which now contains
-# path/file-name\nconverted-file-name
-G
-@end group
-
-@group
-# check if converted file name is equal to original file name,
-# if it is, do not print nothing
-/^.*\/\(.*\)\n\1/b
-@end group
-
-@group
-# now, transform path/fromfile\n, into
-# mv path/fromfile path/tofile and print it
-s/^\(.*\/\)\(.*\)\n\(.*\)$/mv "\1\2" "\1\3"/p
-@end group
-
-' | $apply_cmd
-@end example
-@c end---------------------------------------------
-
-@node Print bash environment
-@section Print @command{bash} Environment
-
-This script strips the definition of the shell functions
-from the output of the @command{set} Bourne-shell command.
-
-@c start-------------------------------------------
-@example
-#!/bin/sh
-
-@group
-set | sed -n '
-:x
-@end group
-
-@group
-@ifinfo
-# if no occurrence of "=()" print and load next line
-@end ifinfo
-@ifnotinfo
-# if no occurrence of @samp{=()} print and load next line
-@end ifnotinfo
-/=()/! @{ p; b; @}
-/ () $/! @{ p; b; @}
-@end group
-
-@group
-# possible start of functions section
-# save the line in case this is a var like FOO="() "
-h
-@end group
-
-@group
-# if the next line has a brace, we quit because
-# nothing comes after functions
-n
-/^@{/ q
-@end group
-
-@group
-# print the old line
-x; p
-@end group
-
-@group
-# work on the new line now
-x; bx
-'
-@end group
-@end example
-@c end---------------------------------------------
-
-@node Reverse chars of lines
-@section Reverse Characters of Lines
-
-This script can be used to reverse the position of characters
-in lines. The technique moves two characters at a time, hence
-it is faster than more intuitive implementations.
-
-Note the @code{tx} command before the definition of the label.
-This is often needed to reset the flag that is tested by
-the @code{t} command.
-
-Imaginative readers will find uses for this script. An example
-is reversing the output of @command{banner}.@footnote{This requires
-another script to pad the output of banner; for example
-
-@example
-#! /bin/sh
-
-banner -w $1 $2 $3 $4 |
- sed -e :a -e '/^.\@{0,'$1'\@}$/ @{ s/$/ /; ba; @}' |
- ~/sedscripts/reverseline.sed
-@end example
-}
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-/../! b
-
-@group
-# Reverse a line. Begin embedding the line between two newlines
-s/^.*$/\
-&\
-/
-@end group
-
-@group
-# Move first character at the end. The regexp matches until
-# there are zero or one characters between the markers
-tx
-:x
-s/\(\n.\)\(.*\)\(.\n\)/\3\2\1/
-tx
-@end group
-
-@group
-# Remove the newline markers
-s/\n//g
-@end group
-@end example
-@c end---------------------------------------------
-
-@node tac
-@section Reverse Lines of Files
-
-This one begins a series of totally useless (yet interesting)
-scripts emulating various Unix commands. This, in particular,
-is a @command{tac} workalike.
-
-Note that on implementations other than @acronym{GNU} @command{sed}
-@ifset PERL
-and @value{SSED}
-@end ifset
-this script might easily overflow internal buffers.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-# reverse all lines of input, i.e. first line became last, ...
-
-@group
-# from the second line, the buffer (which contains all previous lines)
-# is *appended* to current line, so, the order will be reversed
-1! G
-@end group
-
-@group
-# on the last line we're done -- print everything
-$ p
-@end group
-
-@group
-# store everything on the buffer again
-h
-@end group
-@end example
-@c end---------------------------------------------
-
-@node cat -n
-@section Numbering Lines
-
-This script replaces @samp{cat -n}; in fact it formats its output
-exactly like @acronym{GNU} @command{cat} does.
-
-Of course this is completely useless and for two reasons: first,
-because somebody else did it in C, second, because the following
-Bourne-shell script could be used for the same purpose and would
-be much faster:
-
-@c start-------------------------------------------
-@example
-@group
-#! /bin/sh
-sed -e "=" $@@ | sed -e '
- s/^/ /
- N
- s/^ *\(......\)\n/\1 /
-'
-@end group
-@end example
-@c end---------------------------------------------
-
-It uses @command{sed} to print the line number, then groups lines two
-by two using @code{N}. Of course, this script does not teach as much as
-the one presented below.
-
-The algorithm used for incrementing uses both buffers, so the line
-is printed as soon as possible and then discarded. The number
-is split so that changing digits go in a buffer and unchanged ones go
-in the other; the changed digits are modified in a single step
-(using a @code{y} command). The line number for the next line
-is then composed and stored in the hold space, to be used in the
-next iteration.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-# Prime the pump on the first line
-x
-/^$/ s/^.*$/1/
-@end group
-
-@group
-# Add the correct line number before the pattern
-G
-h
-@end group
-
-@group
-# Format it and print it
-s/^/ /
-s/^ *\(......\)\n/\1 /p
-@end group
-
-@group
-# Get the line number from hold space; add a zero
-# if we're going to add a digit on the next line
-g
-s/\n.*$//
-/^9*$/ s/^/0/
-@end group
-
-@group
-# separate changing/unchanged digits with an x
-s/.9*$/x&/
-@end group
-
-@group
-# keep changing digits in hold space
-h
-s/^.*x//
-y/0123456789/1234567890/
-x
-@end group
-
-@group
-# keep unchanged digits in pattern space
-s/x.*$//
-@end group
-
-@group
-# compose the new number, remove the newline implicitly added by G
-G
-s/\n//
-h
-@end group
-@end example
-@c end---------------------------------------------
-
-@node cat -b
-@section Numbering Non-blank Lines
-
-Emulating @samp{cat -b} is almost the same as @samp{cat -n}---we only
-have to select which lines are to be numbered and which are not.
-
-The part that is common to this script and the previous one is
-not commented to show how important it is to comment @command{sed}
-scripts properly...
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-/^$/ @{
- p
- b
-@}
-@end group
-
-@group
-# Same as cat -n from now
-x
-/^$/ s/^.*$/1/
-G
-h
-s/^/ /
-s/^ *\(......\)\n/\1 /p
-x
-s/\n.*$//
-/^9*$/ s/^/0/
-s/.9*$/x&/
-h
-s/^.*x//
-y/0123456789/1234567890/
-x
-s/x.*$//
-G
-s/\n//
-h
-@end group
-@end example
-@c end---------------------------------------------
-
-@node wc -c
-@section Counting Characters
-
-This script shows another way to do arithmetic with @command{sed}.
-In this case we have to add possibly large numbers, so implementing
-this by successive increments would not be feasible (and possibly
-even more complicated to contrive than this script).
-
-The approach is to map numbers to letters, kind of an abacus
-implemented with @command{sed}. @samp{a}s are units, @samp{b}s are
-tens and so on: we simply add the number of characters
-on the current line as units, and then propagate the carry
-to tens, hundreds, and so on.
-
-As usual, running totals are kept in hold space.
-
-On the last line, we convert the abacus form back to decimal.
-For the sake of variety, this is done with a loop rather than
-with some 80 @code{s} commands@footnote{Some implementations
-have a limit of 199 commands per script}: first we
-convert units, removing @samp{a}s from the number; then we
-rotate letters so that tens become @samp{a}s, and so on
-until no more letters remain.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-# Add n+1 a's to hold space (+1 is for the newline)
-s/./a/g
-H
-x
-s/\n/a/
-@end group
-
-@group
-# Do the carry. The t's and b's are not necessary,
-# but they do speed up the thing
-t a
-: a; s/aaaaaaaaaa/b/g; t b; b done
-: b; s/bbbbbbbbbb/c/g; t c; b done
-: c; s/cccccccccc/d/g; t d; b done
-: d; s/dddddddddd/e/g; t e; b done
-: e; s/eeeeeeeeee/f/g; t f; b done
-: f; s/ffffffffff/g/g; t g; b done
-: g; s/gggggggggg/h/g; t h; b done
-: h; s/hhhhhhhhhh//g
-@end group
-
-@group
-: done
-$! @{
- h
- b
-@}
-@end group
-
-# On the last line, convert back to decimal
-
-@group
-: loop
-/a/! s/[b-h]*/&0/
-s/aaaaaaaaa/9/
-s/aaaaaaaa/8/
-s/aaaaaaa/7/
-s/aaaaaa/6/
-s/aaaaa/5/
-s/aaaa/4/
-s/aaa/3/
-s/aa/2/
-s/a/1/
-@end group
-
-@group
-: next
-y/bcdefgh/abcdefg/
-/[a-h]/ b loop
-p
-@end group
-@end example
-@c end---------------------------------------------
-
-@node wc -w
-@section Counting Words
-
-This script is almost the same as the previous one, once each
-of the words on the line is converted to a single @samp{a}
-(in the previous script each letter was changed to an @samp{a}).
-
-It is interesting that real @command{wc} programs have optimized
-loops for @samp{wc -c}, so they are much slower at counting
-words rather than characters. This script's bottleneck,
-instead, is arithmetic, and hence the word-counting one
-is faster (it has to manage smaller numbers).
-
-Again, the common parts are not commented to show the importance
-of commenting @command{sed} scripts.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-# Convert words to a's
-s/[ @kbd{tab}][ @kbd{tab}]*/ /g
-s/^/ /
-s/ [^ ][^ ]*/a /g
-s/ //g
-@end group
-
-@group
-# Append them to hold space
-H
-x
-s/\n//
-@end group
-
-@group
-# From here on it is the same as in wc -c.
-/aaaaaaaaaa/! bx; s/aaaaaaaaaa/b/g
-/bbbbbbbbbb/! bx; s/bbbbbbbbbb/c/g
-/cccccccccc/! bx; s/cccccccccc/d/g
-/dddddddddd/! bx; s/dddddddddd/e/g
-/eeeeeeeeee/! bx; s/eeeeeeeeee/f/g
-/ffffffffff/! bx; s/ffffffffff/g/g
-/gggggggggg/! bx; s/gggggggggg/h/g
-s/hhhhhhhhhh//g
-:x
-$! @{ h; b; @}
-:y
-/a/! s/[b-h]*/&0/
-s/aaaaaaaaa/9/
-s/aaaaaaaa/8/
-s/aaaaaaa/7/
-s/aaaaaa/6/
-s/aaaaa/5/
-s/aaaa/4/
-s/aaa/3/
-s/aa/2/
-s/a/1/
-y/bcdefgh/abcdefg/
-/[a-h]/ by
-p
-@end group
-@end example
-@c end---------------------------------------------
-
-@node wc -l
-@section Counting Lines
-
-No strange things are done now, because @command{sed} gives us
-@samp{wc -l} functionality for free!!! Look:
-
-@c start-------------------------------------------
-@example
-@group
-#!/usr/bin/sed -nf
-$=
-@end group
-@end example
-@c end---------------------------------------------
-
-@node head
-@section Printing the First Lines
-
-This script is probably the simplest useful @command{sed} script.
-It displays the first 10 lines of input; the number of displayed
-lines is right before the @code{q} command.
-
-@c start-------------------------------------------
-@example
-@group
-#!/usr/bin/sed -f
-10q
-@end group
-@end example
-@c end---------------------------------------------
-
-@node tail
-@section Printing the Last Lines
-
-Printing the last @var{n} lines rather than the first is more complex
-but indeed possible. @var{n} is encoded in the second line, before
-the bang character.
-
-This script is similar to the @command{tac} script in that it keeps the
-final output in the hold space and prints it at the end:
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-1! @{; H; g; @}
-1,10 !s/[^\n]*\n//
-$p
-h
-@end group
-@end example
-@c end---------------------------------------------
-
-Mainly, the scripts keeps a window of 10 lines and slides it
-by adding a line and deleting the oldest (the substitution command
-on the second line works like a @code{D} command but does not
-restart the loop).
-
-The ``sliding window'' technique is a very powerful way to write
-efficient and complex @command{sed} scripts, because commands like
-@code{P} would require a lot of work if implemented manually.
-
-To introduce the technique, which is fully demonstrated in the
-rest of this chapter and is based on the @code{N}, @code{P}
-and @code{D} commands, here is an implementation of @command{tail}
-using a simple ``sliding window.''
-
-This looks complicated but in fact the working is the same as
-the last script: after we have kicked in the appropriate number
-of lines, however, we stop using the hold space to keep inter-line
-state, and instead use @code{N} and @code{D} to slide pattern
-space by one line:
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-@group
-1h
-2,10 @{; H; g; @}
-$q
-1,9d
-N
-D
-@end group
-@end example
-@c end---------------------------------------------
-
-Note how the first, second and fourth line are inactive after
-the first ten lines of input. After that, all the script does
-is: exiting on the last line of input, appending the next input
-line to pattern space, and removing the first line.
-
-@node uniq
-@section Make Duplicate Lines Unique
-
-This is an example of the art of using the @code{N}, @code{P}
-and @code{D} commands, probably the most difficult to master.
-
-@c start-------------------------------------------
-@example
-@group
-#!/usr/bin/sed -f
-h
-@end group
-
-@group
-:b
-# On the last line, print and exit
-$b
-N
-/^\(.*\)\n\1$/ @{
- # The two lines are identical. Undo the effect of
- # the n command.
- g
- bb
-@}
-@end group
-
-@group
-# If the @code{N} command had added the last line, print and exit
-$b
-@end group
-
-@group
-# The lines are different; print the first and go
-# back working on the second.
-P
-D
-@end group
-@end example
-@c end---------------------------------------------
-
-As you can see, we mantain a 2-line window using @code{P} and @code{D}.
-This technique is often used in advanced @command{sed} scripts.
-
-@node uniq -d
-@section Print Duplicated Lines of Input
-
-This script prints only duplicated lines, like @samp{uniq -d}.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-$b
-N
-/^\(.*\)\n\1$/ @{
- # Print the first of the duplicated lines
- s/.*\n//
- p
-@end group
-
-@group
- # Loop until we get a different line
- :b
- $b
- N
- /^\(.*\)\n\1$/ @{
- s/.*\n//
- bb
- @}
-@}
-@end group
-
-@group
-# The last line cannot be followed by duplicates
-$b
-@end group
-
-@group
-# Found a different one. Leave it alone in the pattern space
-# and go back to the top, hunting its duplicates
-D
-@end group
-@end example
-@c end---------------------------------------------
-
-@node uniq -u
-@section Remove All Duplicated Lines
-
-This script prints only unique lines, like @samp{uniq -u}.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-@group
-# Search for a duplicate line --- until that, print what you find.
-$b
-N
-/^\(.*\)\n\1$/ ! @{
- P
- D
-@}
-@end group
-
-@group
-:c
-# Got two equal lines in pattern space. At the
-# end of the file we simply exit
-$d
-@end group
-
-@group
-# Else, we keep reading lines with @code{N} until we
-# find a different one
-s/.*\n//
-N
-/^\(.*\)\n\1$/ @{
- bc
-@}
-@end group
-
-@group
-# Remove the last instance of the duplicate line
-# and go back to the top
-D
-@end group
-@end example
-@c end---------------------------------------------
-
-@node cat -s
-@section Squeezing Blank Lines
-
-As a final example, here are three scripts, of increasing complexity
-and speed, that implement the same function as @samp{cat -s}, that is
-squeezing blank lines.
-
-The first leaves a blank line at the beginning and end if there are
-some already.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-@group
-# on empty lines, join with next
-# Note there is a star in the regexp
-:x
-/^\n*$/ @{
-N
-bx
-@}
-@end group
-
-@group
-# now, squeeze all '\n', this can be also done by:
-# s/^\(\n\)*/\1/
-s/\n*/\
-/
-@end group
-@end example
-@c end---------------------------------------------
-
-This one is a bit more complex and removes all empty lines
-at the beginning. It does leave a single blank line at end
-if one was there.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -f
-
-@group
-# delete all leading empty lines
-1,/^./@{
-/./!d
-@}
-@end group
-
-@group
-# on an empty line we remove it and all the following
-# empty lines, but one
-:x
-/./!@{
-N
-s/^\n$//
-tx
-@}
-@end group
-@end example
-@c end---------------------------------------------
-
-This removes leading and trailing blank lines. It is also the
-fastest. Note that loops are completely done with @code{n} and
-@code{b}, without relying on @command{sed} to restart the
-the script automatically at the end of a line.
-
-@c start-------------------------------------------
-@example
-#!/usr/bin/sed -nf
-
-@group
-# delete all (leading) blanks
-/./!d
-@end group
-
-@group
-# get here: so there is a non empty
-:x
-# print it
-p
-# get next
-n
-# got chars? print it again, etc...
-/./bx
-@end group
-
-@group
-# no, don't have chars: got an empty line
-:z
-# get next, if last line we finish here so no trailing
-# empty lines are written
-n
-# also empty? then ignore it, and get next... this will
-# remove ALL empty lines
-/./!bz
-@end group
-
-@group
-# all empty lines were deleted/ignored, but we have a non empty. As
-# what we want to do is to squeeze, insert a blank line artificially
-i\
-@end group
-
-bx
-@end example
-@c end---------------------------------------------
-
-@node Limitations
-@chapter @value{SSED}'s Limitations and Non-limitations
-
-@cindex @acronym{GNU} extensions, unlimited line length
-@cindex Portability, line length limitations
-For those who want to write portable @command{sed} scripts,
-be aware that some implementations have been known to
-limit line lengths (for the pattern and hold spaces)
-to be no more than 4000 bytes.
-The @sc{posix} standard specifies that conforming @command{sed}
-implementations shall support at least 8192 byte line lengths.
-@value{SSED} has no built-in limit on line length;
-as long as it can @code{malloc()} more (virtual) memory,
-you can feed or construct lines as long as you like.
-
-However, recursion is used to handle subpatterns and indefinite
-repetition. This means that the available stack space may limit
-the size of the buffer that can be processed by certain patterns.
-
-@ifset PERL
-There are some size limitations in the regular expression
-matcher but it is hoped that they will never in practice
-be relevant. The maximum length of a compiled pattern
-is 65539 (sic) bytes. All values in repeating quantifiers
-must be less than 65536. The maximum nesting depth of
-all parenthesized subpatterns, including capturing and
-non-capturing subpatterns@footnote{The
-distinction is meaningful when referring to Perl-style
-regular expressions.}, assertions, and other types of
-subpattern, is 200.
-
-Also, @value{SSED} recognizes the @sc{posix} syntax
-@code{[.@var{ch}.]} and @code{[=@var{ch}=]}
-where @var{ch} is a ``collating element'', but these
-are not supported, and an error is given if they are
-encountered.
-
-Here are a few distinctions between the real Perl-style
-regular expressions and those that @option{-R} recognizes.
-
-@enumerate
-@item
-Lookahead assertions do not allow repeat quantifiers after them
-Perl permits them, but they do not mean what you
-might think. For example, @samp{(?!a)@{3@}} does not assert that the
-next three characters are not @samp{a}. It just asserts three times that the
-next character is not @samp{a} --- a waste of time and nothing else.
-
-@item
-Capturing subpatterns that occur inside negative lookahead
-head assertions are counted, but their entries are counted
-as empty in the second half of an @code{s} command.
-Perl sets its numerical variables from any such patterns
-that are matched before the assertion fails to match
-something (thereby succeeding), but only if the negative
-lookahead assertion contains just one branch.
-
-@item
-The following Perl escape sequences are not supported:
-@samp{\l}, @samp{\u}, @samp{\L}, @samp{\U}, @samp{\E},
-@samp{\Q}. In fact these are implemented by Perl's general
-string-handling and are not part of its pattern matching engine.
-
-@item
-The Perl @samp{\G} assertion is not supported as it is not
-relevant to single pattern matches.
-
-@item
-Fairly obviously, @value{SSED} does not support the @samp{(?@{code@})}
-and @samp{(?p@{code@})} constructions. However, there is some experimental
-support for recursive patterns using the non-Perl item @samp{(?R)}.
-
-@item
-There are at the time of writing some oddities in Perl
-5.005_02 concerned with the settings of captured strings
-when part of a pattern is repeated. For example, matching
-@samp{aba} against the pattern @samp{/^(a(b)?)+$/} sets
-@samp{$2}@footnote{@samp{$2} would be @samp{\2} in @value{SSED}.}
-to the value @samp{b}, but matching @samp{aabbaa}
-against @samp{/^(aa(bb)?)+$/} leaves @samp{$2}
-unset. However, if the pattern is changed to
-@samp{/^(aa(b(b))?)+$/} then @samp{$2} (and @samp{$3}) are set.
-In Perl 5.004 @samp{$2} is set in both cases, and that is also
-true of @value{SSED}.
-
-@item
-Another as yet unresolved discrepancy is that in Perl
-5.005_02 the pattern @samp{/^(a)?(?(1)a|b)+$/} matches
-the string @samp{a}, whereas in @value{SSED} it does not.
-However, in both Perl and @value{SSED} @samp{/^(a)?a/} matched
-against @samp{a} leaves $1 unset.
-@end enumerate
-@end ifset
-
-@node Other Resources
-@chapter Other Resources for Learning About @command{sed}
-
-@cindex Additional reading about @command{sed}
-In addition to several books that have been written about @command{sed}
-(either specifically or as chapters in books which discuss
-shell programming), one can find out more about @command{sed}
-(including suggestions of a few books) from the FAQ
-for the @code{sed-users} mailing list, available from:
-@display
-@uref{http://sed.sourceforge.net/sedfaq.html}
-@end display
-
-Also of interest are
-@uref{http://www.student.northpark.edu/pemente/sed/index.htm}
-and @uref{http://sed.sf.net/grabbag},
-which include @command{sed} tutorials and other @command{sed}-related goodies.
-
-The @code{sed-users} mailing list itself maintained by Sven Guckes.
-To subscribe, visit @uref{http://groups.yahoo.com} and search
-for the @code{sed-users} mailing list.
-
-@node Reporting Bugs
-@chapter Reporting Bugs
-
-@cindex Bugs, reporting
-Email bug reports to @email{bonzini@@gnu.org}.
-Be sure to include the word ``sed'' somewhere in the @code{Subject:} field.
-Also, please include the output of @samp{sed --version} in the body
-of your report if at all possible.
-
-Please do not send a bug report like this:
-
-@example
-@i{@i{@r{while building frobme-1.3.4}}}
-$ configure
-@error{} sed: file sedscr line 1: Unknown option to 's'
-@end example
-
-If @value{SSED} doesn't configure your favorite package, take a
-few extra minutes to identify the specific problem and make a stand-alone
-test case. Unlike other programs such as C compilers, making such test
-cases for @command{sed} is quite simple.
-
-A stand-alone test case includes all the data necessary to perform the
-test, and the specific invocation of @command{sed} that causes the problem.
-The smaller a stand-alone test case is, the better. A test case should
-not involve something as far removed from @command{sed} as ``try to configure
-frobme-1.3.4''. Yes, that is in principle enough information to look
-for the bug, but that is not a very practical prospect.
-
-Here are a few commonly reported bugs that are not bugs.
-
-@table @asis
-@item @code{N} command on the last line
-@cindex Portability, @code{N} command on the last line
-@cindex Non-bugs, @code{N} command on the last line
-
-Most versions of @command{sed} exit without printing anything when
-the @command{N} command is issued on the last line of a file.
-@value{SSED} prints pattern space before exiting unless of course
-the @command{-n} command switch has been specified. This choice is
-by design.
-
-For example, the behavior of
-@example
-sed N foo bar
-@end example
-@noindent
-would depend on whether foo has an even or an odd number of
-lines@footnote{which is the actual ``bug'' that prompted the
-change in behavior}. Or, when writing a script to read the
-next few lines following a pattern match, traditional
-implementations of @code{sed} would force you to write
-something like
-@example
-/foo/@{ $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N; $!N @}
-@end example
-@noindent
-instead of just
-@example
-/foo/@{ N;N;N;N;N;N;N;N;N; @}
-@end example
-
-@cindex @code{POSIXLY_CORRECT} behavior, @code{N} command
-In any case, the simplest workaround is to use @code{$d;N} in
-scripts that rely on the traditional behavior, or to set
-the @code{POSIXLY_CORRECT} variable to a non-empty value.
-
-@item Regex syntax clashes (problems with backslashes)
-@cindex @acronym{GNU} extensions, to basic regular expressions
-@cindex Non-bugs, regex syntax clashes
-@command{sed} uses the @sc{posix} basic regular expression syntax. According to
-the standard, the meaning of some escape sequences is undefined in
-this syntax; notable in the case of @command{sed} are @code{\|},
-@code{\+}, @code{\?}, @code{\`}, @code{\'}, @code{\<},
-@code{\>}, @code{\b}, @code{\B}, @code{\w}, and @code{\W}.
-
-As in all @acronym{GNU} programs that use @sc{posix} basic regular
-expressions, @command{sed} interprets these escape sequences as special
-characters. So, @code{x\+} matches one or more occurrences of @samp{x}.
-@code{abc\|def} matches either @samp{abc} or @samp{def}.
-
-This syntax may cause problems when running scripts written for other
-@command{sed}s. Some @command{sed} programs have been written with the
-assumption that @code{\|} and @code{\+} match the literal characters
-@code{|} and @code{+}. Such scripts must be modified by removing the
-spurious backslashes if they are to be used with modern implementations
-of @command{sed}, like
-@ifset PERL
-@value{SSED} or
-@end ifset
-@acronym{GNU} @command{sed}.
-
-On the other hand, some scripts use s|abc\|def||g to remove occurrences
-of @emph{either} @code{abc} or @code{def}. While this worked until
-@command{sed} 4.0.x, newer versions interpret this as removing the
-string @code{abc|def}. This is again undefined behavior according to
-@acronym{POSIX}, and this interpretation is arguably more robust: older
-@command{sed}s, for example, required that the regex matcher parsed
-@code{\/} as @code{/} in the common case of escaping a slash, which is
-again undefined behavior; the new behavior avoids this, and this is good
-because the regex matcher is only partially under our control.
-
-@cindex @acronym{GNU} extensions, special escapes
-In addition, this version of @command{sed} supports several escape characters
-(some of which are multi-character) to insert non-printable characters
-in scripts (@code{\a}, @code{\c}, @code{\d}, @code{\o}, @code{\r},
-@code{\t}, @code{\v}, @code{\x}). These can cause similar problems
-with scripts written for other @command{sed}s.
-
-@item @option{-i} clobbers read-only files
-@cindex In-place editing
-@cindex @value{SSEDEXT}, in-place editing
-@cindex Non-bugs, in-place editing
-
-In short, @samp{sed -i} will let you delete the contents of
-a read-only file, and in general the @option{-i} option
-(@pxref{Invoking sed, , Invocation}) lets you clobber
-protected files. This is not a bug, but rather a consequence
-of how the Unix filesystem works.
-
-The permissions on a file say what can happen to the data
-in that file, while the permissions on a directory say what can
-happen to the list of files in that directory. @samp{sed -i}
-will not ever open for writing a file that is already on disk.
-Rather, it will work on a temporary file that is finally renamed
-to the original name: if you rename or delete files, you're actually
-modifying the contents of the directory, so the operation depends on
-the permissions of the directory, not of the file. For this same
-reason, @command{sed} does not let you use @option{-i} on a writeable file
-in a read-only directory, and will break hard or symbolic links when
-@option{-i} is used on such a file.
-
-@item @code{0a} does not work (gives an error)
-@cindex @code{0} address
-@cindex @acronym{GNU} extensions, @code{0} address
-@cindex Non-bugs, @code{0} address
-
-There is no line 0. 0 is a special address that is only used to treat
-addresses like @code{0,/@var{RE}/} as active when the script starts: if
-you write @code{1,/abc/d} and the first line includes the word @samp{abc},
-then that match would be ignored because address ranges must span at least
-two lines (barring the end of the file); but what you probably wanted is
-to delete every line up to the first one including @samp{abc}, and this
-is obtained with @code{0,/abc/d}.
-
-@ifclear PERL
-@item @code{[a-z]} is case insensitive
-@cindex Non-bugs, localization-related
-
-You are encountering problems with locales. POSIX mandates that @code{[a-z]}
-uses the current locale's collation order -- in C parlance, that means using
-@code{strcoll(3)} instead of @code{strcmp(3)}. Some locales have a
-case-insensitive collation order, others don't.
-
-Another problem is that @code{[a-z]} tries to use collation symbols.
-This only happens if you are on the @acronym{GNU} system, using
-@acronym{GNU} libc's regular expression matcher instead of compiling the
-one supplied with @acronym{GNU} sed. In a Danish locale, for example,
-the regular expression @code{^[a-z]$} matches the string @samp{aa},
-because this is a single collating symbol that comes after @samp{a}
-and before @samp{b}; @samp{ll} behaves similarly in Spanish
-locales, or @samp{ij} in Dutch locales.
-
-To work around these problems, which may cause bugs in shell scripts, set
-the @env{LC_COLLATE} and @env{LC_CTYPE} environment variables to @samp{C}.
-
-@item @code{s/.*//} does not clear pattern space
-@cindex Non-bugs, localization-related
-@cindex @value{SSEDEXT}, emptying pattern space
-@cindex Emptying pattern space
-
-This happens if your input stream includes invalid multibyte
-sequences. @sc{posix} mandates that such sequences
-are @emph{not} matched by @samp{.}, so that @samp{s/.*//} will not clear
-pattern space as you would expect. In fact, there is no way to clear
-sed's buffers in the middle of the script in most multibyte locales
-(including UTF-8 locales). For this reason, @value{SSED} provides a `z'
-command (for `zap') as an extension.
-
-To work around these problems, which may cause bugs in shell scripts, set
-the @env{LC_COLLATE} and @env{LC_CTYPE} environment variables to @samp{C}.
-@end ifclear
-@end table
-
-
-@node Extended regexps
-@appendix Extended regular expressions
-@cindex Extended regular expressions, syntax
-
-The only difference between basic and extended regular expressions is in
-the behavior of a few characters: @samp{?}, @samp{+}, parentheses,
-and braces (@samp{@{@}}). While basic regular expressions require
-these to be escaped if you want them to behave as special characters,
-when using extended regular expressions you must escape them if
-you want them @emph{to match a literal character}.
-
-@noindent
-Examples:
-@table @code
-@item abc?
-becomes @samp{abc\?} when using extended regular expressions. It matches
-the literal string @samp{abc?}.
-
-@item c\+
-becomes @samp{c+} when using extended regular expressions. It matches
-one or more @samp{c}s.
-
-@item a\@{3,\@}
-becomes @samp{a@{3,@}} when using extended regular expressions. It matches
-three or more @samp{a}s.
-
-@item \(abc\)\@{2,3\@}
-becomes @samp{(abc)@{2,3@}} when using extended regular expressions. It
-matches either @samp{abcabc} or @samp{abcabcabc}.
-
-@item \(abc*\)\1
-becomes @samp{(abc*)\1} when using extended regular expressions.
-Backreferences must still be escaped when using extended regular
-expressions.
-@end table
-
-@ifset PERL
-@node Perl regexps
-@appendix Perl-style regular expressions
-@cindex Perl-style regular expressions, syntax
-
-@emph{This part is taken from the @file{pcre.txt} file distributed together
-with the free @sc{pcre} regular expression matcher; it was written by Philip Hazel.}
-
-Perl introduced several extensions to regular expressions, some
-of them incompatible with the syntax of regular expressions
-accepted by Emacs and other @acronym{GNU} tools (whose matcher was
-based on the Emacs matcher). @value{SSED} implements
-both kinds of extensions.
-
-@iftex
-Summarizing, we have:
-
-@itemize @bullet
-@item
-A backslash can introduce several special sequences
-
-@item
-The circumflex, dollar sign, and period characters behave specially
-with regard to new lines
-
-@item
-Strange uses of square brackets are parsed differently
-
-@item
-You can toggle modifiers in the middle of a regular expression
-
-@item
-You can specify that a subpattern does not count when numbering backreferences
-
-@item
-@cindex Greedy regular expression matching
-You can specify greedy or non-greedy matching
-
-@item
-You can have more than ten back references
-
-@item
-You can do complex look aheads and look behinds (in the spirit of
-@code{\b}, but with subpatterns).
-
-@item
-You can often improve performance by avoiding that @command{sed} wastes
-time with backtracking
-
-@item
-You can have if/then/else branches
-
-@item
-You can do recursive matches, for example to look for unbalanced parentheses
-
-@item
-You can have comments and non-significant whitespace, because things can
-get complex...
-@end itemize
-
-Most of these extensions are introduced by the special @code{(?}
-sequence, which gives special meanings to parenthesized groups.
-@end iftex
-@menu
-Other extensions can be roughly subdivided in two categories
-On one hand Perl introduces several more escaped sequences
-(that is, sequences introduced by a backslash). On the other
-hand, it specifies that if a question mark follows an open
-parentheses it should give a special meaning to the parenthesized
-group.
-
-* Backslash:: Introduces special sequences
-* Circumflex/dollar sign/period:: Behave specially with regard to new lines
-* Square brackets:: Are a bit different in strange cases
-* Options setting:: Toggle modifiers in the middle of a regexp
-* Non-capturing subpatterns:: Are not counted when backreferencing
-* Repetition:: Allows for non-greedy matching
-* Backreferences:: Allows for more than 10 back references
-* Assertions:: Allows for complex look ahead matches
-* Non-backtracking subpatterns:: Often gives more performance
-* Conditional subpatterns:: Allows if/then/else branches
-* Recursive patterns:: For example to match parentheses
-* Comments:: Because things can get complex...
-@end menu
-
-@node Backslash
-@appendixsec Backslash
-@cindex Perl-style regular expressions, escaped sequences
-
-There are a few difference in the handling of backslashed
-sequences in Perl mode.
-
-First of all, there are no @code{\o} and @code{\d} sequences.
-@sc{ascii} values for characters can be specified in octal
-with a @code{\@var{xxx}} sequence, where @var{xxx} is a
-sequence of up to three octal digits. If the first digit
-is a zero, the treatment of the sequence is straightforward;
-just note that if the character that follows the escaped digit
-is itself an octal digit, you have to supply three octal digits
-for @var{xxx}. For example @code{\07} is a @sc{bel} character
-rather than a @sc{nul} and a literal @code{7} (this sequence is
-instead represented by @code{\0007}).
-
-@cindex Perl-style regular expressions, backreferences
-The handling of a backslash followed by a digit other than 0
-is complicated. Outside a character class, @command{sed} reads it
-and any following digits as a decimal number. If the number
-is less than 10, or if there have been at least that many
-previous capturing left parentheses in the expression, the
-entire sequence is taken as a back reference. A description
-of how this works is given later, following the discussion
-of parenthesized subpatterns.
-
-Inside a character class, or if the decimal number is
-greater than 9 and there have not been that many capturing
-subpatterns, @command{sed} re-reads up to three octal digits following
-the backslash, and generates a single byte from the
-least significant 8 bits of the value. Any subsequent digits
-stand for themselves. For example:
-
-@example
-\040 @i{@r{is another way of writing a space}}
-\40 @i{@r{is the same, provided there are fewer than 40}}
- @i{@r{previous capturing subpatterns}}
-\7 @i{@r{is always a back reference}}
-\011 @i{@r{is always a tab}}
-\11 @i{@r{might be a back reference, or another way of writing a tab}}
-\0113 @i{@r{is a tab followed by the character @samp{3}}}
-\113 @i{@r{is the character with octal code 113 (since there}}
- @i{@r{can be no more than 99 back references)}}
-\377 @i{@r{is a byte consisting entirely of 1 bits (@sc{ascii} 255)}}
-\81 @i{@r{is either a back reference, or a binary zero}}
- @i{@r{followed by the two characters @samp{81}}}
-@end example
-
-Note that octal values of 100 or greater must not be introduced
-by a leading zero, because no more than three octal
-digits are ever read. Note that this applies only to the LHS
-pattern; it is not possible yet to specify more than 9 backreferences
-on the RHS of the `s' command.
-
-All the sequences that define a single byte value can be
-used both inside and outside character classes. In addition,
-inside a character class, the sequence @code{\b} is interpreted
-as the backspace character (hex 08). Outside a character
-class it has a different meaning (see below).
-
-In addition, there are four additional escapes specifying
-generic character classes (like @code{\w} and @code{\W} do):
-
-@cindex Perl-style regular expressions, character classes
-@table @samp
-@item \d
-Matches any decimal digit
-
-@item \D
-Matches any character that is not a decimal digit
-@end table
-
-In Perl mode, these character type sequences can appear both inside and
-outside character classes. Instead, in @sc{posix} mode these sequences
-(as well as @code{\w} and @code{\W}) are treated as two literal characters
-(a backslash and a letter) inside square brackets.
-
-Escaped sequences specifying assertions are also different in
-Perl mode. An assertion specifies a condition that has to be met
-at a particular point in a match, without consuming any
-characters from the subject string. The use of subpatterns
-for more complicated assertions is described below. The
-backslashed assertions are
-
-@cindex Perl-style regular expressions, assertions
-@table @samp
-@item \b
-Asserts that the point is at a word boundary.
-A word boundary is a position in the subject string where
-the current character and the previous character do not both
-match @code{\w} or @code{\W} (i.e. one matches @code{\w} and
-the other matches @code{\W}), or the start or end of the string
-if the first or last character matches @code{\w}, respectively.
-
-@item \B
-Asserts that the point is not at a word boundary.
-
-@item \A
-Asserts the matcher is at the start of pattern space (independent
-of multiline mode).
-
-@item \Z
-Asserts the matcher is at the end of pattern space,
-or at a newline before the end of pattern space (independent of
-multiline mode)
-
-@item \z
-Asserts the matcher is at the end of pattern space (independent
-of multiline mode)
-@end table
-
-These assertions may not appear in character classes (but
-note that @code{\b} has a different meaning, namely the
-backspace character, inside a character class).
-Note that Perl mode does not support directly assertions
-for the beginning and the end of word; the @acronym{GNU} extensions
-@code{\<} and @code{\>} achieve this purpose in @sc{posix} mode
-instead.
-
-The @code{\A}, @code{\Z}, and @code{\z} assertions differ
-from the traditional circumflex and dollar sign (described below)
-in that they only ever match at the very start and end of the
-subject string, whatever options are set; in particular @code{\A}
-and @code{\z} are the same as the @acronym{GNU} extensions
-@code{\`} and @code{\'} that are active in @sc{posix} mode.
-
-@node Circumflex/dollar sign/period
-@appendixsec Circumflex, dollar sign, period
-@cindex Perl-style regular expressions, newlines
-
-Outside a character class, in the default matching mode, the
-circumflex character is an assertion which is true only if
-the current matching point is at the start of the subject
-string. Inside a character class, the circumflex has an entirely
-different meaning (see below).
-
-The circumflex need not be the first character of the pattern if
-a number of alternatives are involved, but it should be the
-first thing in each alternative in which it appears if the
-pattern is ever to match that branch. If all possible alternatives,
-start with a circumflex, that is, if the pattern is
-constrained to match only at the start of the subject, it is
-said to be an @dfn{anchored} pattern. (There are also other constructs
-structs that can cause a pattern to be anchored.)
-
-A dollar sign is an assertion which is true only if the
-current matching point is at the end of the subject string,
-or immediately before a newline character that is the last
-character in the string (by default). A dollar sign need not be the
-last character of the pattern if a number of alternatives
-are involved, but it should be the last item in any branch
-in which it appears. A dollar sign has no special meaning in a
-character class.
-
-@cindex Perl-style regular expressions, multiline
-The meanings of the circumflex and dollar sign characters are
-changed if the @code{M} modifier option is used. When this is
-the case, they match immediately after and immediately
-before an internal @code{\n} character, respectively, in addition
-to matching at the start and end of the subject string. For
-example, the pattern @code{/^abc$/} matches the subject string
-@samp{def\nabc} in multiline mode, but not otherwise. Consequently,
-patterns that are anchored in single line mode
-because all branches start with @code{^} are not anchored in
-multiline mode.
-
-@cindex Perl-style regular expressions, multiline
-Note that the sequences @code{\A}, @code{\Z}, and @code{\z}
-can be used to match the start and end of the subject in both
-modes, and if all branches of a pattern start with @code{\A}
-is it always anchored, whether the @code{M} modifier is set or not.
-
-@cindex Perl-style regular expressions, single line
-Outside a character class, a dot in the pattern matches any
-one character in the subject, including a non-printing character,
-but not (by default) newline. If the @code{S} modifier is used,
-dots match newlines as well. Actually, the handling of
-dot is entirely independent of the handling of circumflex
-and dollar sign, the only relationship being that they both
-involve newline characters. Dot has no special meaning in a
-character class.
-
-@node Square brackets
-@appendixsec Square brackets
-@cindex Perl-style regular expressions, character classes
-
-An opening square bracket introduces a character class, terminated
-by a closing square bracket. A closing square bracket on its own
-is not special. If a closing square bracket is required as a
-member of the class, it should be the first data character in
-the class (after an initial circumflex, if present) or escaped with a backslash.
-
-A character class matches a single character in the subject;
-the character must be in the set of characters defined by
-the class, unless the first character in the class is a circumflex,
-in which case the subject character must not be in
-the set defined by the class. If a circumflex is actually
-required as a member of the class, ensure it is not the
-first character, or escape it with a backslash.
-
-For example, the character class [aeiou] matches any lower
-case vowel, while [^aeiou] matches any character that is not
-a lower case vowel. Note that a circumflex is just a convenient
-venient notation for specifying the characters which are in
-the class by enumerating those that are not. It is not an
-assertion: it still consumes a character from the subject
-string, and fails if the current pointer is at the end of
-the string.
-
-@cindex Perl-style regular expressions, case-insensitive
-When caseless matching is set, any letters in a class
-represent both their upper case and lower case versions, so
-for example, a caseless @code{[aeiou]} matches uppercase
-and lowercase @samp{A}s, and a caseless @code{[^aeiou]}
-does not match @samp{A}, whereas a case-sensitive version would.
-
-@cindex Perl-style regular expressions, single line
-@cindex Perl-style regular expressions, multiline
-The newline character is never treated in any special way in
-character classes, whatever the setting of the @code{S} and
-@code{M} options (modifiers) is. A class such as @code{[^a]} will
-always match a newline.
-
-The minus (hyphen) character can be used to specify a range
-of characters in a character class. For example, @code{[d-m]}
-matches any letter between d and m, inclusive. If a minus
-character is required in a class, it must be escaped with a
-backslash or appear in a position where it cannot be interpreted
-as indicating a range, typically as the first or last
-character in the class.
-
-It is not possible to have the literal character @code{]} as the
-end character of a range. A pattern such as @code{[W-]46]} is
-interpreted as a class of two characters (@code{W} and @code{-})
-followed by a literal string @code{46]}, so it would match
-@samp{W46]} or @samp{-46]}. However, if the @code{]} is escaped
-with a backslash it is interpreted as the end of range, so
-@code{[W-\]46]} is interpreted as a single class containing a
-range followed by two separate characters. The octal or
-hexadecimal representation of @code{]} can also be used to end a range.
-
-Ranges operate in @sc{ascii} collating sequence. They can also be
-used for characters specified numerically, for example
-@code{[\000-\037]}. If a range that includes letters is used when
-caseless matching is set, it matches the letters in either
-case. For example, a caseless @code{[W-c]} is equivalent to
-@code{[][\^_`wxyzabc]}, matched caselessly, and if character
-tables for the French locale are in use, @code{[\xc8-\xcb]}
-matches accented E characters in both cases.
-
-Unlike in @sc{posix} mode, the character types @code{\d},
-@code{\D}, @code{\s}, @code{\S}, @code{\w}, and @code{\W}
-may also appear in a character class, and add the characters
-that they match to the class. For example, @code{[\dABCDEF]} matches any
-hexadecimal digit. A circumflex can conveniently be used
-with the upper case character types to specify a more restricted
-set of characters than the matching lower case type.
-For example, the class @code{[^\W_]} matches any letter or digit,
-but not underscore.
-
-All non-alphameric characters other than @code{\}, @code{-},
-@code{^} (at the start) and the terminating @code{]}
-are non-special in character classes, but it does no harm
-if they are escaped.
-
-Perl 5.6 supports the @sc{posix} notation for character classes, which
-uses names enclosed by @code{[:} and @code{:]} within the enclosing
-square brackets, and @value{SSED} supports this notation as well.
-For example,
-
-@example
-[01[:alpha:]%]
-@end example
-
-@noindent
-matches @samp{0}, @samp{1}, any alphabetic character, or @samp{%}.
-The supported class names are
-
-@table @code
-@item alnum
-Matches letters and digits
-
-@item alpha
-Matches letters
-
-@item ascii
-Matches character codes 0 - 127
-
-@item cntrl
-Matches control characters
-
-@item digit
-Matches decimal digits (same as \d)
-
-@item graph
-Matches printing characters, excluding space
-
-@item lower
-Matches lower case letters
-
-@item print
-Matches printing characters, including space
-
-@item punct
-Matches printing characters, excluding letters and digits
-
-@item space
-Matches white space (same as \s)
-
-@item upper
-Matches upper case letters
-
-@item word
-Matches ``word'' characters (same as \w)
-
-@item xdigit
-Matches hexadecimal digits
-@end table
-
-The names @code{ascii} and @code{word} are extensions valid only in
-Perl mode. Another Perl extension is negation, which is
-indicated by a circumflex character after the colon. For example,
-
-@example
-[12[:^digit:]]
-@end example
-
-@noindent
-matches @samp{1}, @samp{2}, or any non-digit.
-
-@node Options setting
-@appendixsec Options setting
-@cindex Perl-style regular expressions, toggling options
-@cindex Perl-style regular expressions, case-insensitive
-@cindex Perl-style regular expressions, multiline
-@cindex Perl-style regular expressions, single line
-@cindex Perl-style regular expressions, extended
-
-The settings of the @code{I}, @code{M}, @code{S}, @code{X}
-modifiers can be changed from within the pattern by
-a sequence of Perl option letters enclosed between @code{(?}
-and @code{)}. The option letters must be lowercase.
-
-For example, @code{(?im)} sets caseless, multiline matching. It is
-also possible to unset these options by preceding the letter
-with a hyphen; you can also have combined settings and unsettings:
-@code{(?im-sx)} sets caseless and multiline matching,
-while unsets single line matching (for dots) and extended
-whitespace interpretation. If a letter appears both before
-and after the hyphen, the option is unset.
-
-The scope of these option changes depends on where in the
-pattern the setting occurs. For settings that are outside
-any subpattern (defined below), the effect is the same as if
-the options were set or unset at the start of matching. The
-following patterns all behave in exactly the same way:
-
-@example
-(?i)abc
-a(?i)bc
-ab(?i)c
-abc(?i)
-@end example
-
-which in turn is the same as specifying the pattern abc with
-the @code{I} modifier. In other words, ``top level'' settings
-apply to the whole pattern (unless there are other
-changes inside subpatterns). If there is more than one setting
-of the same option at top level, the rightmost setting
-is used.
-
-If an option change occurs inside a subpattern, the effect
-is different. This is a change of behaviour in Perl 5.005.
-An option change inside a subpattern affects only that part
-of the subpattern @emph{that follows} it, so
-
-@example
-(a(?i)b)c
-@end example
-
-@noindent
-matches abc and aBc and no other strings (assuming
-case-sensitive matching is used). By this means, options can
-be made to have different settings in different parts of the
-pattern. Any changes made in one alternative do carry on
-into subsequent branches within the same subpattern. For
-example,
-
-@example
-(a(?i)b|c)
-@end example
-
-@noindent
-matches @samp{ab}, @samp{aB}, @samp{c}, and @samp{C},
-even though when matching @samp{C} the first branch is
-abandoned before the option setting.
-This is because the effects of option settings happen at
-compile time. There would be some very weird behaviour otherwise.
-
-@ignore
-There are two PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA
-that can be changed in the same way as the Perl-compatible options by
-using the characters U and X respectively. The (?X) flag
-setting is special in that it must always occur earlier in
-the pattern than any of the additional features it turns on,
-even when it is at top level. It is best put at the start.
-@end ignore
-
-
-@node Non-capturing subpatterns
-@appendixsec Non-capturing subpatterns
-@cindex Perl-style regular expressions, non-capturing subpatterns
-
-Marking part of a pattern as a subpattern does two things.
-On one hand, it localizes a set of alternatives; on the other
-hand, it sets up the subpattern as a capturing subpattern (as
-defined above). The subpattern can be backreferenced and
-referenced in the right side of @code{s} commands.
-
-For example, if the string @samp{the red king} is matched against
-the pattern
-
-@example
-the ((red|white) (king|queen))
-@end example
-
-@noindent
-the captured substrings are @samp{red king}, @samp{red},
-and @samp{king}, and are numbered 1, 2, and 3.
-
-The fact that plain parentheses fulfil two functions is not
-always helpful. There are often times when a grouping
-subpattern is required without a capturing requirement. If an
-opening parenthesis is followed by @code{?:}, the subpattern does
-not do any capturing, and is not counted when computing the
-number of any subsequent capturing subpatterns. For example,
-if the string @samp{the white queen} is matched against the pattern
-
-@example
-the ((?:red|white) (king|queen))
-@end example
-
-@noindent
-the captured substrings are @samp{white queen} and @samp{queen},
-and are numbered 1 and 2. The maximum number of captured
-substrings is 99, while the maximum number of all subpatterns,
-both capturing and non-capturing, is 200.
-
-As a convenient shorthand, if any option settings are
-equired at the start of a non-capturing subpattern, the
-option letters may appear between the @code{?} and the
-@code{:}. Thus the two patterns
-
-@example
-(?i:saturday|sunday)
-(?:(?i)saturday|sunday)
-@end example
-
-@noindent
-match exactly the same set of strings. Because alternative
-branches are tried from left to right, and options are not
-reset until the end of the subpattern is reached, an option
-setting in one branch does affect subsequent branches, so
-the above patterns match @samp{SUNDAY} as well as @samp{Saturday}.
-
-
-@node Repetition
-@appendixsec Repetition
-@cindex Perl-style regular expressions, repetitions
-
-Repetition is specified by quantifiers, which can follow any
-of the following items:
-
-@itemize @bullet
-@item
-a single character, possibly escaped
-
-@item
-the @code{.} special character
-
-@item
-a character class
-
-@item
-a back reference (see next section)
-
-@item
-a parenthesized subpattern (unless it is an assertion; @pxref{Assertions})
-@end itemize
-
-The general repetition quantifier specifies a minimum and
-maximum number of permitted matches, by giving the two
-numbers in curly brackets (braces), separated by a comma.
-The numbers must be less than 65536, and the first must be
-less than or equal to the second. For example:
-
-@example
-z@{2,4@}
-@end example
-
-@noindent
-matches @samp{zz}, @samp{zzz}, or @samp{zzzz}. A closing brace on its own
-is not a special character. If the second number is omitted,
-but the comma is present, there is no upper limit; if the
-second number and the comma are both omitted, the quantifier
-specifies an exact number of required matches. Thus
-
-@example
-[aeiou]@{3,@}
-@end example
-
-@noindent
-matches at least 3 successive vowels, but may match many
-more, while
-
-@example
-\d@{8@}
-@end example
-
-@noindent
-matches exactly 8 digits. An opening curly bracket that
-appears in a position where a quantifier is not allowed, or
-one that does not match the syntax of a quantifier, is taken
-as a literal character. For example, @{,6@} is not a quantifier,
-but a literal string of four characters.@footnote{It
-raises an error if @option{-R} is not used.}
-
-The quantifier @samp{@{0@}} is permitted, causing the expression to
-behave as if the previous item and the quantifier were not
-present.
-
-For convenience (and historical compatibility) the three
-most common quantifiers have single-character abbreviations:
-
-@table @code
-@item *
-is equivalent to @{0,@}
-
-@item +
-is equivalent to @{1,@}
-
-@item ?
-is equivalent to @{0,1@}
-@end table
-
-It is possible to construct infinite loops by following a
-subpattern that can match no characters with a quantifier
-that has no upper limit, for example:
-
-@example
-(a?)*
-@end example
-
-Earlier versions of Perl used to give an error at
-compile time for such patterns. However, because there are
-cases where this can be useful, such patterns are now
-accepted, but if any repetition of the subpattern does in
-fact match no characters, the loop is forcibly broken.
-
-@cindex Greedy regular expression matching
-@cindex Perl-style regular expressions, stingy repetitions
-By default, the quantifiers are @dfn{greedy} like in @sc{posix}
-mode, that is, they match as much as possible (up to the maximum
-number of permitted times), without causing the rest of the
-pattern to fail. The classic example of where this gives problems
-is in trying to match comments in C programs. These appear between
-the sequences @code{/*} and @code{*/} and within the sequence, individual
-@code{*} and @code{/} characters may appear. An attempt to match C
-comments by applying the pattern
-
-@example
-/\*.*\*/
-@end example
-
-@noindent
-to the string
-
-@example
-/* first command */ not comment /* second comment */
-@end example
-
-@noindent
-
-fails, because it matches the entire string owing to the
-greediness of the @code{.*} item.
-
-However, if a quantifier is followed by a question mark, it
-ceases to be greedy, and instead matches the minimum number
-of times possible, so the pattern @code{/\*.*?\*/}
-does the right thing with the C comments. The meaning of the
-various quantifiers is not otherwise changed, just the preferred
-number of matches. Do not confuse this use of question
-mark with its use as a quantifier in its own right.
-Because it has two uses, it can sometimes appear doubled, as in
-
-@example
-\d??\d
-@end example
-
-which matches one digit by preference, but can match two if
-that is the only way the rest of the pattern matches.
-
-Note that greediness does not matter when specifying addresses,
-but can be nevertheless used to improve performance.
-
-@ignore
-If the PCRE_UNGREEDY option is set (an option which is not
-available in Perl), the quantifiers are not greedy by
-default, but individual ones can be made greedy by following
-them with a question mark. In other words, it inverts the
-default behaviour.
-@end ignore
-
-When a parenthesized subpattern is quantified with a minimum
-repeat count that is greater than 1 or with a limited maximum,
-more store is required for the compiled pattern, in
-proportion to the size of the minimum or maximum.
-
-@cindex Perl-style regular expressions, single line
-If a pattern starts with @code{.*} or @code{.@{0,@}} and the
-@code{S} modifier is used, the pattern is implicitly anchored,
-because whatever follows will be tried against every character
-position in the subject string, so there is no point in
-retrying the overall match at any position after the first.
-PCRE treats such a pattern as though it were preceded by \A.
-
-When a capturing subpattern is repeated, the value captured
-is the substring that matched the final iteration. For example,
-after
-
-@example
-(tweedle[dume]@{3@}\s*)+
-@end example
-
-@noindent
-has matched @samp{tweedledum tweedledee} the value of the
-captured substring is @samp{tweedledee}. However, if there are
-nested capturing subpatterns, the corresponding captured
-values may have been set in previous iterations. For example,
-after
-
-@example
-/(a|(b))+/
-@end example
-
-matches @samp{aba}, the value of the second captured substring is
-@samp{b}.
-
-@node Backreferences
-@appendixsec Backreferences
-@cindex Perl-style regular expressions, backreferences
-
-Outside a character class, a backslash followed by a digit
-greater than 0 (and possibly further digits) is a back
-reference to a capturing subpattern earlier (i.e. to its
-left) in the pattern, provided there have been that many
-previous capturing left parentheses.
-
-However, if the decimal number following the backslash is
-less than 10, it is always taken as a back reference, and
-causes an error only if there are not that many capturing
-left parentheses in the entire pattern. In other words, the
-parentheses that are referenced need not be to the left of
-the reference for numbers less than 10. @ref{Backslash}
-for further details of the handling of digits following a backslash.
-
-A back reference matches whatever actually matched the capturing
-subpattern in the current subject string, rather than
-anything matching the subpattern itself. So the pattern
-
-@example
-(sens|respons)e and \1ibility
-@end example
-
-@noindent
-matches @samp{sense and sensibility} and @samp{response and responsibility},
-but not @samp{sense and responsibility}. If caseful
-matching is in force at the time of the back reference, the
-case of letters is relevant. For example,
-
-@example
-((?i)blah)\s+\1
-@end example
-
-@noindent
-matches @samp{blah blah} and @samp{Blah Blah}, but not
-@samp{BLAH blah}, even though the original capturing
-subpattern is matched caselessly.
-
-There may be more than one back reference to the same subpattern.
-Also, if a subpattern has not actually been used in a
-particular match, any back references to it always fail. For
-example, the pattern
-
-@example
-(a|(bc))\2
-@end example
-
-@noindent
-always fails if it starts to match @samp{a} rather than
-@samp{bc}. Because there may be up to 99 back references, all
-digits following the backslash are taken as part of a potential
-back reference number; this is different from what happens
-in @sc{posix} mode. If the pattern continues with a digit
-character, some delimiter must be used to terminate the back
-reference. If the @code{X} modifier option is set, this can be
-whitespace. Otherwise an empty comment can be used, or the
-following character can be expressed in hexadecimal or octal.
-Note that this applies only to the LHS pattern; it is
-not possible yet to specify more than 9 backreferences on the
-RHS of the `s' command.
-
-A back reference that occurs inside the parentheses to which
-it refers fails when the subpattern is first used, so, for
-example, @code{(a\1)} never matches. However, such references
-can be useful inside repeated subpatterns. For example, the
-pattern
-
-@example
-(a|b\1)+
-@end example
-
-@noindent
-matches any number of @samp{a}s and also @samp{aba}, @samp{ababbaa},
-etc. At each iteration of the subpattern, the back reference matches
-the character string corresponding to the previous iteration. In
-order for this to work, the pattern must be such that the first
-iteration does not need to match the back reference. This can be
-done using alternation, as in the example above, or by a
-quantifier with a minimum of zero.
-
-@node Assertions
-@appendixsec Assertions
-@cindex Perl-style regular expressions, assertions
-@cindex Perl-style regular expressions, asserting subpatterns
-
-An assertion is a test on the characters following or
-preceding the current matching point that does not actually
-consume any characters. The simple assertions coded as @code{\b},
-@code{\B}, @code{\A}, @code{\Z}, @code{\z}, @code{^} and @code{$}
-are described above. More complicated assertions are coded as
-subpatterns. There are two kinds: those that look ahead of the
-current position in the subject string, and those that look behind it.
-
-@cindex Perl-style regular expressions, lookahead subpatterns
-An assertion subpattern is matched in the normal way, except
-that it does not cause the current matching position to be
-changed. Lookahead assertions start with @code{(?=} for positive
-assertions and @code{(?!} for negative assertions. For example,
-
-@example
-\w+(?=;)
-@end example
-
-@noindent
-matches a word followed by a semicolon, but does not include
-the semicolon in the match, and
-
-@example
-foo(?!bar)
-@end example
-
-@noindent
-matches any occurrence of @samp{foo} that is not followed by
-@samp{bar}.
-
-Note that the apparently similar pattern
-
-@example
-(?!foo)bar
-@end example
-
-@noindent
-@cindex Perl-style regular expressions, lookbehind subpatterns
-finds any occurrence of @samp{bar} even if it is preceded by
-@samp{foo}, because the assertion @code{(?!foo)} is always true
-when the next three characters are @samp{bar}. A lookbehind
-assertion is needed to achieve this effect.
-Lookbehind assertions start with @code{(?<=} for positive
-assertions and @code{(?<!} for negative assertions. So,
-
-@example
-(?<!foo)bar
-@end example
-
-achieves the required effect of finding an occurrence of
-@samp{bar} that is not preceded by @samp{foo}. The contents of a
-lookbehind assertion are restricted
-such that all the strings it matches must have a fixed
-length. However, if there are several alternatives, they do
-not all have to have the same fixed length. This is an extension
-compared with Perl 5.005, which requires all branches to match
-the same length of string. Thus
-
-@example
-(?<=dogs|cats|)
-@end example
-
-@noindent
-is permitted, but the apparently equivalent regular expression
-
-@example
-(?<!dogs?|cats?)
-@end example
-
-@noindent
-causes an error at compile time. Branches that match different
-length strings are permitted only at the top level of
-a lookbehind assertion: an assertion such as
-
-@example
-(?<=ab(c|de))
-@end example
-
-@noindent
-is not permitted, because its single top-level branch can
-match two different lengths, but it is acceptable if rewritten
-to use two top-level branches:
-
-@example
-(?<=abc|abde)
-@end example
-
-All this is required because lookbehind assertions simply
-move the current position back by the alternative's fixed
-width and then try to match. If there are
-insufficient characters before the current position, the
-match is deemed to fail. Lookbehinds, in conjunction with
-non-backtracking subpatterns can be particularly useful for
-matching at the ends of strings; an example is given at the end
-of the section on non-backtracking subpatterns.
-
-Several assertions (of any sort) may occur in succession.
-For example,
-
-@example
-(?<=\d@{3@})(?<!999)foo
-@end example
-
-@noindent
-matches @samp{foo} preceded by three digits that are not @samp{999}.
-Notice that each of the assertions is applied independently
-at the same point in the subject string. First there is a
-check that the previous three characters are all digits, and
-then there is a check that the same three characters are not
-@samp{999}. This pattern does not match @samp{foo} preceded by six
-characters, the first of which are digits and the last three
-of which are not @samp{999}. For example, it doesn't match
-@samp{123abcfoo}. A pattern to do that is
-
-@example
-(?<=\d@{3@}...)(?<!999)foo
-@end example
-
-@noindent
-This time the first assertion looks at the preceding six
-characters, checking that the first three are digits, and
-then the second assertion checks that the preceding three
-characters are not @samp{999}. Actually, assertions can be
-nested in any combination, so one can write this as
-
-@example
-(?<=\d@{3@}(?!999)...)foo
-@end example
-
-or
-
-@example
-(?<=\d@{3@}...(?<!999))foo
-@end example
-
-@noindent
-both of which might be considered more readable.
-
-Assertion subpatterns are not capturing subpatterns, and may
-not be repeated, because it makes no sense to assert the
-same thing several times. If any kind of assertion contains
-capturing subpatterns within it, these are counted for the
-purposes of numbering the capturing subpatterns in the whole
-pattern. However, substring capturing is carried out only
-for positive assertions, because it does not make sense for
-negative assertions.
-
-Assertions count towards the maximum of 200 parenthesized
-subpatterns.
-
-@node Non-backtracking subpatterns
-@appendixsec Non-backtracking subpatterns
-@cindex Perl-style regular expressions, non-backtracking subpatterns
-
-With both maximizing and minimizing repetition, failure of
-what follows normally causes the repeated item to be evaluated
-again to see if a different number of repeats allows the
-rest of the pattern to match. Sometimes it is useful to
-prevent this, either to change the nature of the match, or
-to cause it fail earlier than it otherwise might, when the
-author of the pattern knows there is no point in carrying
-on.
-
-Consider, for example, the pattern @code{\d+foo} when applied to
-the subject line
-
-@example
-123456bar
-@end example
-
-After matching all 6 digits and then failing to match @samp{foo},
-the normal action of the matcher is to try again with only 5
-digits matching the @code{\d+} item, and then with 4, and so on,
-before ultimately failing. Non-backtracking subpatterns
-provide the means for specifying that once a portion of the
-pattern has matched, it is not to be re-evaluated in this way,
-so the matcher would give up immediately on failing to match
-@samp{foo} the first time. The notation is another kind of special
-parenthesis, starting with @code{(?>} as in this example:
-
-@example
-(?>\d+)bar
-@end example
-
-This kind of parenthesis ``locks up'' the part of the pattern
-it contains once it has matched, and a failure further into
-the pattern is prevented from backtracking into it.
-Backtracking past it to previous items, however, works as
-normal.
-
-Non-backtracking subpatterns are not capturing subpatterns. Simple
-cases such as the above example can be thought of as a maximizing
-repeat that must swallow everything it can. So,
-while both @code{\d+} and @code{\d+?} are prepared to adjust the number of
-digits they match in order to make the rest of the pattern
-match, @code{(?>\d+)} can only match an entire sequence of digits.
-
-This construction can of course contain arbitrarily complicated
-subpatterns, and it can be nested.
-
-@cindex Perl-style regular expressions, lookbehind subpatterns
-Non-backtracking subpatterns can be used in conjunction with look-behind
-assertions to specify efficient matching at the end
-of the subject string. Consider a simple pattern such as
-
-@example
-abcd$
-@end example
-
-@noindent
-when applied to a long string which does not match. Because
-matching proceeds from left to right, @command{sed} will look for
-each @samp{a} in the subject and then see if what follows matches
-the rest of the pattern. If the pattern is specified as
-
-@example
-^.*abcd$
-@end example
-
-@noindent
-the initial @code{.*} matches the entire string at first, but when
-this fails (because there is no following @samp{a}), it backtracks
-to match all but the last character, then all but the
-last two characters, and so on. Once again the search for
-@samp{a} covers the entire string, from right to left, so we are
-no better off. However, if the pattern is written as
-
-@example
-^(?>.*)(?<=abcd)
-@end example
-
-there can be no backtracking for the .* item; it can match
-only the entire string. The subsequent lookbehind assertion
-does a single test on the last four characters. If it fails,
-the match fails immediately. For long strings, this approach
-makes a significant difference to the processing time.
-
-When a pattern contains an unlimited repeat inside a subpattern
-that can itself be repeated an unlimited number of
-times, the use of a once-only subpattern is the only way to
-avoid some failing matches taking a very long time
-indeed.@footnote{Actually, the matcher embedded in @value{SSED}
-tries to do something for this in the simplest cases,
-like @code{([^b]*b)*}. These cases are actually quite
-common: they happen for example in a regular expression
-like @code{\/\*([^*]*\*)*\/} which matches C comments.}
-
-The pattern
-
-@example
-(\D+|<\d+>)*[!?]
-@end example
-
-([^0-9<]+<(\d+>)?)*[!?]
-
-@noindent
-matches an unlimited number of substrings that either consist
-of non-digits, or digits enclosed in angular brackets, followed by
-an exclamation or question mark. When it matches, it runs quickly.
-However, if it is applied to
-
-@example
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-@end example
-
-@noindent
-it takes a long time before reporting failure. This is
-because the string can be divided between the two repeats in
-a large number of ways, and all have to be tried.@footnote{The
-example used @code{[!?]} rather than a single character at the end,
-because both @value{SSED} and Perl have an optimization that allows
-for fast failure when a single character is used. They
-remember the last single character that is required for a
-match, and fail early if it is not present in the string.}
-
-If the pattern is changed to
-
-@example
-((?>\D+)|<\d+>)*[!?]
-@end example
-
-sequences of non-digits cannot be broken, and failure happens
-quickly.
-
-@node Conditional subpatterns
-@appendixsec Conditional subpatterns
-@cindex Perl-style regular expressions, conditional subpatterns
-
-It is possible to cause the matching process to obey a subpattern
-conditionally or to choose between two alternative
-subpatterns, depending on the result of an assertion, or
-whether a previous capturing subpattern matched or not. The
-two possible forms of conditional subpattern are
-
-@example
-(?(@var{condition})@var{yes-pattern})
-(?(@var{condition})@var{yes-pattern}|@var{no-pattern})
-@end example
-
-If the condition is satisfied, the yes-pattern is used; otherwise
-the no-pattern (if present) is used. If there are more than two
-alternatives in the subpattern, a compile-time error occurs.
-
-There are two kinds of condition. If the text between the
-parentheses consists of a sequence of digits, the condition
-is satisfied if the capturing subpattern of that number has
-previously matched. The number must be greater than zero.
-Consider the following pattern, which contains non-significant
-white space to make it more readable (assume the @code{X} modifier)
-and to divide it into three parts for ease of discussion:
-
-@example
-( \( )? [^()]+ (?(1) \) )
-@end example
-
-The first part matches an optional opening parenthesis, and
-if that character is present, sets it as the first captured
-substring. The second part matches one or more characters
-that are not parentheses. The third part is a conditional
-subpattern that tests whether the first set of parentheses
-matched or not. If they did, that is, if subject started
-with an opening parenthesis, the condition is true, and so
-the yes-pattern is executed and a closing parenthesis is
-required. Otherwise, since no-pattern is not present, the
-subpattern matches nothing. In other words, this pattern
-matches a sequence of non-parentheses, optionally enclosed
-in parentheses.
-
-@cindex Perl-style regular expressions, lookahead subpatterns
-If the condition is not a sequence of digits, it must be an
-assertion. This may be a positive or negative lookahead or
-lookbehind assertion. Consider this pattern, again containing
-non-significant white space, and with the two alternatives
-on the second line:
-
-@example
-(?(?=...[a-z])
- \d\d-[a-z]@{3@}-\d\d |
- \d\d-\d\d-\d\d )
-@end example
-
-The condition is a positive lookahead assertion that matches
-a letter that is three characters away from the current point.
-If a letter is found, the subject is matched against the first
-alternative @samp{@var{dd}-@var{aaa}-@var{dd}} (where @var{aaa} are
-letters and @var{dd} are digits); otherwise it is matched against
-the second alternative, @samp{@var{dd}-@var{dd}-@var{dd}}.
-
-
-@node Recursive patterns
-@appendixsec Recursive patterns
-@cindex Perl-style regular expressions, recursive patterns
-@cindex Perl-style regular expressions, recursion
-
-Consider the problem of matching a string in parentheses,
-allowing for unlimited nested parentheses. Without the use
-of recursion, the best that can be done is to use a pattern
-that matches up to some fixed depth of nesting. It is not
-possible to handle an arbitrary nesting depth. Perl 5.6 has
-provided an experimental facility that allows regular
-expressions to recurse (amongst other things). It does this
-by interpolating Perl code in the expression at run time,
-and the code can refer to the expression itself. A Perl pattern
-tern to solve the parentheses problem can be created like
-this:
-
-@example
-$re = qr@{\( (?: (?>[^()]+) | (?p@{$re@}) )* \)@}x;
-@end example
-
-The @code{(?p@{...@})} item interpolates Perl code at run time,
-and in this case refers recursively to the pattern in which it
-appears. Obviously, @command{sed} cannot support the interpolation of
-Perl code. Instead, the special item @code{(?R)} is provided for
-the specific case of recursion. This pattern solves the
-parentheses problem (assume the @code{X} modifier option is used
-so that white space is ignored):
-
-@example
-\( ( (?>[^()]+) | (?R) )* \)
-@end example
-
-First it matches an opening parenthesis. Then it matches any
-number of substrings which can either be a sequence of
-non-parentheses, or a recursive match of the pattern itself
-(i.e. a correctly parenthesized substring). Finally there is
-a closing parenthesis.
-
-This particular example pattern contains nested unlimited
-repeats, and so the use of a non-backtracking subpattern for
-matching strings of non-parentheses is important when applying
-the pattern to strings that do not match. For example, when
-it is applied to
-
-@example
-(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
-@end example
-
-it yields a ``no match'' response quickly. However, if a
-standard backtracking subpattern is not used, the match runs
-for a very long time indeed because there are so many different
-ways the @code{+} and @code{*} repeats can carve up the subject,
-and all have to be tested before failure can be reported.
-
-The values set for any capturing subpatterns are those from
-the outermost level of the recursion at which the subpattern
-value is set. If the pattern above is matched against
-
-@example
-(ab(cd)ef)
-@end example
-
-@noindent
-the value for the capturing parentheses is @samp{ef}, which is
-the last value taken on at the top level.
-
-@node Comments
-@appendixsec Comments
-@cindex Perl-style regular expressions, comments
-
-The sequence (?# marks the start of a comment which continues
-ues up to the next closing parenthesis. Nested parentheses
-are not permitted. The characters that make up a comment
-play no part in the pattern matching at all.
-
-@cindex Perl-style regular expressions, extended
-If the @code{X} modifier option is used, an unescaped @code{#} character
-outside a character class introduces a comment that continues
-up to the next newline character in the pattern.
-@end ifset
-
-
-@page
-@node Concept Index
-@unnumbered Concept Index
-
-This is a general index of all issues discussed in this manual, with the
-exception of the @command{sed} commands and command-line options.
-
-@printindex cp
-
-@page
-@node Command and Option Index
-@unnumbered Command and Option Index
-
-This is an alphabetical list of all @command{sed} commands and command-line
-options.
-
-@printindex fn
-
-@contents
-@bye
-
-@c XXX FIXME: the term "cycle" is never defined...
diff --git a/sources/host-tools/sed-4.2.1/doc/sed.x b/sources/host-tools/sed-4.2.1/doc/sed.x
deleted file mode 100644
index 2d764df..0000000
--- a/sources/host-tools/sed-4.2.1/doc/sed.x
+++ /dev/null
@@ -1,330 +0,0 @@
-.SH NAME
-sed \- a Stream EDitor
-.SH SYNOPSIS
-.nf
-sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
- [-l N] [--line-length=N] [-u] [--unbuffered]
- [-r] [--regexp-extended]
- [-e script] [--expression=script]
- [-f script-file] [--file=script-file]
- [script-if-no-other-script]
- [file...]
-.fi
-[DESCRIPTION]
-.ds sd \fIsed\fP
-.ds Sd \fISed\fP
-\*(Sd is a stream editor.
-A stream editor is used to perform basic text
-transformations on an input stream
-(a file or input from a pipeline).
-While in some ways similar to an editor which
-permits scripted edits (such as \fIed\fP),
-\*(sd works by making only one pass over the
-input(s), and is consequently more efficient.
-But it is \*(sd's ability to filter text in a pipeline
-which particularly distinguishes it from other types of
-editors.
-
-[COMMAND SYNOPSIS]
-This is just a brief synopsis of \*(sd commands to serve as
-a reminder to those who already know \*(sd;
-other documentation (such as the texinfo document)
-must be consulted for fuller descriptions.
-.SS
-Zero-address ``commands''
-.TP
-.RI :\ label
-Label for
-.B b
-and
-.B t
-commands.
-.TP
-.RI # comment
-The comment extends until the next newline (or the end of a
-.B -e
-script fragment).
-.TP
-}
-The closing bracket of a { } block.
-.SS
-Zero- or One- address commands
-.TP
-=
-Print the current line number.
-.TP
-a \e
-.TP
-.I text
-Append
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-i \e
-.TP
-.I text
-Insert
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-q [\fIexit-code\fR]
-Immediately quit the \*(sd script without processing
-any more input, except that if auto-print is not disabled
-the current pattern space will be printed. The exit code
-argument is a GNU extension.
-.TP
-Q [\fIexit-code\fR]
-Immediately quit the \*(sd script without processing
-any more input. This is a GNU extension.
-.TP
-.RI r\ filename
-Append text read from
-.IR filename .
-.TP
-.RI R\ filename
-Append a line read from
-.IR filename .
-Each invocation of the command reads a line from the file.
-This is a GNU extension.
-.SS
-Commands which accept address ranges
-.TP
-{
-Begin a block of commands (end with a }).
-.TP
-.RI b\ label
-Branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script.
-.TP
-.RI t\ label
-If a s/// has done a successful substitution since the
-last input line was read and since the last t or T
-command, then branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script.
-.TP
-.RI T\ label
-If no s/// has done a successful substitution since the
-last input line was read and since the last t or T
-command, then branch to
-.IR label ;
-if
-.I label
-is omitted, branch to end of script. This is a GNU
-extension.
-.TP
-c \e
-.TP
-.I text
-Replace the selected lines with
-.IR text ,
-which has each embedded newline preceded by a backslash.
-.TP
-d
-Delete pattern space.
-Start next cycle.
-.TP
-D
-Delete up to the first embedded newline in the pattern space.
-Start next cycle, but skip reading from the input
-if there is still data in the pattern space.
-.TP
-h H
-Copy/append pattern space to hold space.
-.TP
-g G
-Copy/append hold space to pattern space.
-.TP
-x
-Exchange the contents of the hold and pattern spaces.
-.TP
-l
-List out the current line in a ``visually unambiguous'' form.
-.TP
-.RI l\ width
-List out the current line in a ``visually unambiguous'' form,
-breaking it at
-.I width
-characters. This is a GNU extension.
-.TP
-n N
-Read/append the next line of input into the pattern space.
-.TP
-p
-Print the current pattern space.
-.TP
-P
-Print up to the first embedded newline of the current pattern space.
-.TP
-.RI s/ regexp / replacement /
-Attempt to match
-.I regexp
-against the pattern space.
-If successful, replace that portion matched
-with
-.IR replacement .
-The
-.I replacement
-may contain the special character
-.B &
-to refer to that portion of the pattern space which matched,
-and the special escapes \e1 through \e9 to refer to the
-corresponding matching sub-expressions in the
-.IR regexp .
-.TP
-.RI w\ filename
-Write the current pattern space to
-.IR filename .
-.TP
-.RI W\ filename
-Write the first line of the current pattern space to
-.IR filename .
-This is a GNU extension.
-.TP
-.RI y/ source / dest /
-Transliterate the characters in the pattern space which appear in
-.I source
-to the corresponding character in
-.IR dest .
-.SH
-Addresses
-\*(Sd commands can be given with no addresses, in which
-case the command will be executed for all input lines;
-with one address, in which case the command will only be executed
-for input lines which match that address; or with two
-addresses, in which case the command will be executed
-for all input lines which match the inclusive range of
-lines starting from the first address and continuing to
-the second address.
-Three things to note about address ranges:
-the syntax is
-.IR addr1 , addr2
-(i.e., the addresses are separated by a comma);
-the line which
-.I addr1
-matched will always be accepted,
-even if
-.I addr2
-selects an earlier line;
-and if
-.I addr2
-is a
-.IR regexp ,
-it will not be tested against the line that
-.I addr1
-matched.
-.PP
-After the address (or address-range),
-and before the command, a
-.B !
-may be inserted,
-which specifies that the command shall only be
-executed if the address (or address-range) does
-.B not
-match.
-.PP
-The following address types are supported:
-.TP
-.I number
-Match only the specified line
-.IR number .
-.TP
-.IR first ~ step
-Match every
-.IR step 'th
-line starting with line
-.IR first .
-For example, ``sed -n 1~2p'' will print all the odd-numbered lines in
-the input stream, and the address 2~5 will match every fifth line,
-starting with the second.
-.I first
-can be zero; in this case, \*(sd operates as if it were equal to
-.IR step .
-(This is an extension.)
-.TP
-$
-Match the last line.
-.TP
-.RI / regexp /
-Match lines matching the regular expression
-.IR regexp .
-.TP
-.BI \fR\e\fPc regexp c
-Match lines matching the regular expression
-.IR regexp .
-The
-.B c
-may be any character.
-.PP
-GNU \*(sd also supports some special 2-address forms:
-.TP
-.RI 0, addr2
-Start out in "matched first address" state, until
-.I addr2
-is found.
-This is similar to
-.RI 1, addr2 ,
-except that if
-.I addr2
-matches the very first line of input the
-.RI 0, addr2
-form will be at the end of its range, whereas the
-.RI 1, addr2
-form will still be at the beginning of its range.
-This works only when
-.I addr2
-is a regular expression.
-.TP
-.IR addr1 ,+ N
-Will match
-.I addr1
-and the
-.I N
-lines following
-.IR addr1 .
-.TP
-.IR addr1 ,~ N
-Will match
-.I addr1
-and the lines following
-.I addr1
-until the next line whose input line number is a multiple of
-.IR N .
-
-[REGULAR EXPRESSIONS]
-POSIX.2 BREs
-.I should
-be supported, but they aren't completely because of performance
-problems.
-The
-.B \en
-sequence in a regular expression matches the newline character,
-and similarly for
-.BR \ea ,
-.BR \et ,
-and other sequences.
-
-[SEE ALSO]
-.BR awk (1),
-.BR ed (1),
-.BR grep (1),
-.BR tr (1),
-.BR perlre (1),
-sed.info,
-any of various books on \*(sd,
-.na
-the \*(sd FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
-http://sed.sf.net/grabbag/.
-
-[BUGS]
-.PP
-E-mail bug reports to
-.BR bonzini@gnu.org .
-Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
-Also, please include the output of ``sed --version'' in the body
-of your report if at all possible.
diff --git a/sources/host-tools/sed-4.2.1/doc/stamp-vti b/sources/host-tools/sed-4.2.1/doc/stamp-vti
deleted file mode 100644
index 30cc31a..0000000
--- a/sources/host-tools/sed-4.2.1/doc/stamp-vti
+++ /dev/null
@@ -1,4 +0,0 @@
-@set UPDATED 25 June 2009
-@set UPDATED-MONTH June 2009
-@set EDITION 4.2.1
-@set VERSION 4.2.1
diff --git a/sources/host-tools/sed-4.2.1/doc/version.texi b/sources/host-tools/sed-4.2.1/doc/version.texi
deleted file mode 100644
index 30cc31a..0000000
--- a/sources/host-tools/sed-4.2.1/doc/version.texi
+++ /dev/null
@@ -1,4 +0,0 @@
-@set UPDATED 25 June 2009
-@set UPDATED-MONTH June 2009
-@set EDITION 4.2.1
-@set VERSION 4.2.1
diff --git a/sources/host-tools/sed-4.2.1/lib/Makefile.am b/sources/host-tools/sed-4.2.1/lib/Makefile.am
deleted file mode 100644
index 73c1b33..0000000
--- a/sources/host-tools/sed-4.2.1/lib/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-include gnulib.mk
-
-SUFFIXES += .a .o .c .y .l .h .sh .elc .el
-
-AM_CPPFLAGS += -I$(top_srcdir)/lib -I$(top_srcdir) -I$(top_builddir)/lib
-
diff --git a/sources/host-tools/sed-4.2.1/lib/Makefile.in b/sources/host-tools/sed-4.2.1/lib/Makefile.in
deleted file mode 100644
index ea58f71..0000000
--- a/sources/host-tools/sed-4.2.1/lib/Makefile.in
+++ /dev/null
@@ -1,1635 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libsed --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl acl alloca btowc c-ctype extensions getline getopt gettext localcharset mbrlen mbrtowc mbsinit memchr mkstemp obstack pathmax regex rename selinux-h stat-macros stdbool strerror strverscmp unlocked-io verify wcrtomb wctob
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/gnulib.mk alloca.c
-subdir = lib
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lstat.m4 \
- $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/mbrlen.m4 \
- $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
- $(top_srcdir)/m4/selinux-context-h.m4 \
- $(top_srcdir)/m4/selinux-selinux-h.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
- $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strverscmp.m4 \
- $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wcrtomb.m4 \
- $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctype.m4 \
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
-ARFLAGS = cru
-libsed_a_AR = $(AR) $(ARFLAGS)
-am__DEPENDENCIES_1 =
-am_libsed_a_OBJECTS = set-mode-acl.$(OBJEXT) copy-acl.$(OBJEXT) \
- file-has-acl.$(OBJEXT) c-ctype.$(OBJEXT) \
- localcharset.$(OBJEXT) xalloc-die.$(OBJEXT) xstrndup.$(OBJEXT)
-libsed_a_OBJECTS = $(am_libsed_a_OBJECTS)
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libsed_a_SOURCES) $(EXTRA_libsed_a_SOURCES)
-DIST_SOURCES = $(libsed_a_SOURCES) $(EXTRA_libsed_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WRITE = @GNULIB_WRITE@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNSETENV = @HAVE_UNSETENV@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE__BOOL = @HAVE__BOOL@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSED_LIBDEPS = @LIBSED_LIBDEPS@
-LIBSED_LTLIBDEPS = @LIBSED_LTLIBDEPS@
-LIB_ACL = @LIB_ACL@
-LIB_SELINUX = @LIB_SELINUX@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED_FEATURE_VERSION = @SED_FEATURE_VERSION@
-SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
-SELINUX_SELINUX_H = @SELINUX_SELINUX_H@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDBOOL_H = @STDBOOL_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_STAT_H = @SYS_STAT_H@
-SYS_TIME_H = @SYS_TIME_H@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-USE_ACL = @USE_ACL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VOID_UNSETENV = @VOID_UNSETENV@
-WCHAR_H = @WCHAR_H@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WCTYPE_H = @WCTYPE_H@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XFAIL_TESTS = @XFAIL_TESTS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 gnits
-SUBDIRS =
-noinst_HEADERS =
-noinst_LIBRARIES = libsed.a
-noinst_LTLIBRARIES =
-
-# This is for those projects which use "gettextize --intl" to put a source-code
-# copy of libintl into their package. In such projects, every Makefile.am needs
-# -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory.
-# For the Makefile.ams in other directories it is the maintainer's
-# responsibility; for the one from gnulib we do it here.
-# This option has no effect when the user disables NLS (because then the intl
-# directory contains no libintl.h file) or when the project does not use
-# "gettextize --intl".
-#AM_CPPFLAGS += -I$(top_builddir)/intl
-EXTRA_DIST = acl-internal.h acl.h acl_entries.c alloca.c alloca.in.h \
- btowc.c basename.c dirname.c dirname.h stripslash.c errno.in.h \
- error.c error.h exitfail.c exitfail.h getdelim.c getline.c \
- getopt.c getopt.in.h getopt1.c getopt_int.h getpagesize.c \
- $(top_srcdir)/build-aux/config.rpath gettimeofday.c \
- $(top_srcdir)/build-aux/config.rpath intprops.h \
- $(top_srcdir)/build-aux/link-warning.h config.charset \
- ref-add.sin ref-del.sin lstat.c malloc.c malloc.c mbrlen.c \
- mbrtowc.c mbsinit.c memchr.c memchr.valgrind mkstemp.c \
- obstack.c obstack.h pathmax.h quote.c quote.h quotearg.c \
- quotearg.h realloc.c regcomp.c regex.c regex.h \
- regex_internal.c regex_internal.h regexec.c rename.c \
- stat-macros.h stdbool.in.h stdint.in.h stdio-write.c \
- stdio.in.h stdlib.in.h streq.h strerror.c string.in.h \
- strndup.c strnlen.c strverscmp.c sys_stat.in.h sys_time.in.h \
- tempname.c tempname.h unistd.in.h unlocked-io.h wchar.in.h \
- wcrtomb.c wctob.c wctype.in.h xalloc.h xmalloc.c
-BUILT_SOURCES = $(ALLOCA_H) configmake.h $(ERRNO_H) $(GETOPT_H) \
- $(SELINUX_SELINUX_H) $(SELINUX_CONTEXT_H) $(STDBOOL_H) \
- $(STDINT_H) stdio.h stdlib.h string.h $(SYS_STAT_H) \
- $(SYS_TIME_H) unistd.h $(WCHAR_H) $(WCTYPE_H)
-SUFFIXES = .sed .sin .a .o .c .y .l .h .sh .elc .el
-MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t errno.h \
- errno.h-t getopt.h getopt.h-t selinux/selinux.h \
- selinux/selinux.h-t selinux/context.h selinux/context.h-t \
- stdbool.h stdbool.h-t stdint.h stdint.h-t stdio.h stdio.h-t \
- stdlib.h stdlib.h-t string.h string.h-t sys/stat.h \
- sys/stat.h-t sys/time.h sys/time.h-t unistd.h unistd.h-t \
- wchar.h wchar.h-t wctype.h wctype.h-t
-MOSTLYCLEANDIRS = selinux sys
-CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
- ref-del.sed
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) \
- -I$(top_builddir)/lib
-AM_CFLAGS =
-libsed_a_SOURCES = set-mode-acl.c copy-acl.c file-has-acl.c c-ctype.h \
- c-ctype.c gettext.h localcharset.h localcharset.c \
- se-context.in.h se-selinux.in.h verify.h xalloc-die.c \
- xstrndup.h xstrndup.c
-libsed_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
-libsed_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
-EXTRA_libsed_a_SOURCES = acl_entries.c alloca.c btowc.c basename.c \
- dirname.c stripslash.c error.c exitfail.c getdelim.c getline.c \
- getopt.c getopt1.c getpagesize.c gettimeofday.c lstat.c \
- malloc.c malloc.c mbrlen.c mbrtowc.c mbsinit.c memchr.c \
- mkstemp.c obstack.c quote.c quotearg.c realloc.c regcomp.c \
- regex.c regex_internal.c regexec.c rename.c stdio-write.c \
- strerror.c strndup.c strnlen.c strverscmp.c tempname.c \
- wcrtomb.c wctob.c xmalloc.c
-LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .sed .sin .a .o .c .y .l .h .sh .elc .el .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnits lib/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libsed.a: $(libsed_a_OBJECTS) $(libsed_a_DEPENDENCIES)
- -rm -f libsed.a
- $(libsed_a_AR) libsed.a $(libsed_a_OBJECTS) $(libsed_a_LIBADD)
- $(RANLIB) libsed.a
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl_entries.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy-acl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrlen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set-mode-acl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctob.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) all-local
-installdirs: installdirs-recursive
-installdirs-am:
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
- -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf $(DEPDIR) ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am: install-exec-local
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf $(DEPDIR) ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-local
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-local
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am all-local check check-am clean clean-generic \
- clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
- ctags-recursive distclean distclean-compile distclean-generic \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-exec-local \
- install-html install-html-am install-info install-info-am \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \
- tags-recursive uninstall uninstall-am uninstall-local
-
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-alloca.h: alloca.in.h
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/alloca.in.h; \
- } > $@-t
- mv -f $@-t $@
-
-# Retrieve values of the variables through 'configure' followed by
-# 'make', not directly through 'configure', so that a user who
-# sets some of these variables consistently on the 'make' command
-# line gets correct results.
-#
-# One advantage of this approach, compared to the classical
-# approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS,
-# is that it protects against the use of undefined variables.
-# If, say, $(libdir) is not set in the Makefile, LIBDIR is not
-# defined by this module, and code using LIBDIR gives a
-# compilation error.
-#
-# Another advantage is that 'make' output is shorter.
-#
-# Listed in the same order as the GNU makefile conventions.
-# The Automake-defined pkg* macros are appended, in the order
-# listed in the Automake 1.10a+ documentation.
-configmake.h: Makefile
- rm -f $@-t
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- echo '#define PREFIX "$(prefix)"'; \
- echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
- echo '#define BINDIR "$(bindir)"'; \
- echo '#define SBINDIR "$(sbindir)"'; \
- echo '#define LIBEXECDIR "$(libexecdir)"'; \
- echo '#define DATAROOTDIR "$(datarootdir)"'; \
- echo '#define DATADIR "$(datadir)"'; \
- echo '#define SYSCONFDIR "$(sysconfdir)"'; \
- echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
- echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
- echo '#define INCLUDEDIR "$(includedir)"'; \
- echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
- echo '#define DOCDIR "$(docdir)"'; \
- echo '#define INFODIR "$(infodir)"'; \
- echo '#define HTMLDIR "$(htmldir)"'; \
- echo '#define DVIDIR "$(dvidir)"'; \
- echo '#define PDFDIR "$(pdfdir)"'; \
- echo '#define PSDIR "$(psdir)"'; \
- echo '#define LIBDIR "$(libdir)"'; \
- echo '#define LISPDIR "$(lispdir)"'; \
- echo '#define LOCALEDIR "$(localedir)"'; \
- echo '#define MANDIR "$(mandir)"'; \
- echo '#define MANEXT "$(manext)"'; \
- echo '#define PKGDATADIR "$(pkgdatadir)"'; \
- echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
- echo '#define PKGLIBDIR "$(pkglibdir)"'; \
- echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
- } | sed '/""/d' > $@-t
- if test -f $@ && cmp $@-t $@ > /dev/null; then \
- rm -f $@-t; \
- else \
- rm -f $@; mv $@-t $@; \
- fi
-
-# We need the following in order to create <errno.h> when the system
-# doesn't have one that is POSIX compliant.
-errno.h: errno.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
- -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
- -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
- -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
- -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
- -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
- -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
- < $(srcdir)/errno.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <getopt.h> when the system
-# doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/getopt.in.h; \
- } > $@-t
- mv -f $@-t $@
-
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
- if test $(GLIBC21) = no; then \
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
- esac ; \
- else \
- need_charset_alias=false ; \
- fi ; \
- if $$need_charset_alias; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
- fi ; \
- if test -f $(charset_alias); then \
- sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
- rm -f $(charset_tmp) ; \
- else \
- if $$need_charset_alias; then \
- sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
- rm -f $(charset_tmp) ; \
- fi ; \
- fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
- if test -f $(charset_alias); then \
- sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
- if grep '^# Packages using this file: $$' $(charset_tmp) \
- > /dev/null; then \
- rm -f $(charset_alias); \
- else \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
- fi; \
- rm -f $(charset_tmp); \
- fi
-
-charset.alias: config.charset
- rm -f t-$@ $@
- $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
- mv t-$@ $@
-.sin.sed:
- rm -f t-$@ $@
- sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
- mv t-$@ $@
-selinux/selinux.h: se-selinux.in.h
- rm -f $@-t $@
- $(MKDIR_P) selinux
- cp $(srcdir)/se-selinux.in.h $@-t
- chmod a-x $@-t
- mv $@-t $@
-selinux/context.h: se-context.in.h
- rm -f $@-t $@
- $(MKDIR_P) selinux
- cp $(srcdir)/se-context.in.h $@-t
- chmod a-x $@-t
- mv $@-t $@
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-stdbool.h: stdbool.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-stdint.h: stdint.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
- -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
- -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
- -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
- -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
- -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
- -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
- -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
- -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
- -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
- -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
- -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
- -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
- -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
- -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
- < $(srcdir)/stdint.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <stdio.h> when the system
-# doesn't have one that works with the given compiler.
-stdio.h: stdio.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
- -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \
- -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \
- -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
- -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
- -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
- -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \
- -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
- -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \
- -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \
- -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
- -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \
- -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \
- -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \
- -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \
- -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \
- -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \
- -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \
- -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \
- -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \
- -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \
- -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
- -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \
- -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \
- -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \
- -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \
- -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \
- -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \
- -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \
- -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \
- -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \
- -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
- -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
- -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
- -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
- -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
- -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
- -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
- -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
- -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
- -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
- -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
- -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
- -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
- -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
- -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
- -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
- -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
- -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
- -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
- -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
- -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
- -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
- -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
- -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
- -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
- -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
- -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
- -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
- -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
- -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
- -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
- -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
- -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
- -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/stdio.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
- -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
- -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
- -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
- -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
- -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
- -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
- -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
- -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
- -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
- -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
- -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
- -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \
- -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \
- -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
- -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
- -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
- -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
- -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
- -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
- -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
- -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
- -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
- -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
- -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
- -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
- -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \
- -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
- -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
- -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
- -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
- -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
- -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \
- -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
- -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
- -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
- -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
- -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/stdlib.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <string.h> when the system
-# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMCHR''@|$(GNULIB_MEMCHR)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
- -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
- -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
- -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
- -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
- -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
- -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
- -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
- -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
- -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
- -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
- -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
- -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
- -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
- -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
- -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
- -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
- -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
- -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
- -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
- -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
- -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/string.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <sys/stat.h> when the system
-# has one that is incomplete.
-sys/stat.h: sys_stat.in.h
- @MKDIR_P@ sys
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
- -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \
- -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \
- -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
- -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
- -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
- -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/sys_stat.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <sys/time.h> when the system
-# doesn't have one that works with the given compiler.
-sys/time.h: sys_time.in.h
- @MKDIR_P@ sys
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
- -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
- -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
- < $(srcdir)/sys_time.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create an empty placeholder for
-# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
- -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
- -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
- -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
- -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
- -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
- -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
- -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \
- -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
- -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
- -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \
- -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \
- -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
- -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
- -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
- -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
- -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
- -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \
- -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
- -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
- -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
- -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
- -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
- -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
- -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
- -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
- -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
- -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
- -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
- -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
- -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
- -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
- -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
- -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
- -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
- -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
- -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
- -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
- -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
- -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
- -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
- -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
- -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
- -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
- -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/unistd.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
- -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
- -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
- -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
- -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
- -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
- -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
- -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
- -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
- -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
- -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
- -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
- -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
- -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
- -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
- -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
- -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
- -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
- -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
- -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
- -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
- -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
- -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
- -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
- -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
- -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
- -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
- -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
- -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
- -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
- -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
- -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
- -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
- -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
- -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
- -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/wchar.in.h; \
- } > $@-t
- mv $@-t $@
-
-# We need the following in order to create <wctype.h> when the system
-# doesn't have one that works with the given compiler.
-wctype.h: wctype.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
- -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
- -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
- -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
- < $(srcdir)/wctype.in.h; \
- } > $@-t
- mv $@-t $@
-
-mostlyclean-local: mostlyclean-generic
- @for dir in '' $(MOSTLYCLEANDIRS); do \
- if test -n "$$dir" && test -d $$dir; then \
- echo "rmdir $$dir"; rmdir $$dir; \
- fi; \
- done; \
- :
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/lib/acl-internal.h b/sources/host-tools/sed-4.2.1/lib/acl-internal.h
deleted file mode 100644
index e4661e8..0000000
--- a/sources/host-tools/sed-4.2.1/lib/acl-internal.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Internal implementation of access control lists.
-
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
-
-#include "acl.h"
-
-#include <stdbool.h>
-#include <stdlib.h>
-
-/* All systems define the ACL related API in <sys/acl.h>. */
-#if HAVE_SYS_ACL_H
-# include <sys/acl.h>
-#endif
-#if defined HAVE_ACL && ! defined GETACLCNT && defined ACL_CNT
-# define GETACLCNT ACL_CNT
-#endif
-
-/* On Linux, additional ACL related API is available in <acl/libacl.h>. */
-#ifdef HAVE_ACL_LIBACL_H
-# include <acl/libacl.h>
-#endif
-
-#include "error.h"
-#include "quote.h"
-
-#include <errno.h>
-#ifndef ENOSYS
-# define ENOSYS (-1)
-#endif
-#ifndef ENOTSUP
-# define ENOTSUP (-1)
-#endif
-
-#ifndef HAVE_FCHMOD
-# define HAVE_FCHMOD false
-# define fchmod(fd, mode) (-1)
-#endif
-
-
-#if USE_ACL
-
-# if HAVE_ACL_GET_FILE
-/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
-/* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
-
-# ifndef MIN_ACL_ENTRIES
-# define MIN_ACL_ENTRIES 4
-# endif
-
-/* POSIX 1003.1e (draft 17) */
-# ifdef HAVE_ACL_GET_FD
-/* Most platforms have a 1-argument acl_get_fd, only OSF/1 has a 2-argument
- macro(!). */
-# if HAVE_ACL_FREE_TEXT /* OSF/1 */
-static inline acl_t
-rpl_acl_get_fd (int fd)
-{
- return acl_get_fd (fd, ACL_TYPE_ACCESS);
-}
-# undef acl_get_fd
-# define acl_get_fd rpl_acl_get_fd
-# endif
-# else
-# define HAVE_ACL_GET_FD false
-# undef acl_get_fd
-# define acl_get_fd(fd) (NULL)
-# endif
-
-/* POSIX 1003.1e (draft 17) */
-# ifdef HAVE_ACL_SET_FD
-/* Most platforms have a 2-argument acl_set_fd, only OSF/1 has a 3-argument
- macro(!). */
-# if HAVE_ACL_FREE_TEXT /* OSF/1 */
-static inline int
-rpl_acl_set_fd (int fd, acl_t acl)
-{
- return acl_set_fd (fd, ACL_TYPE_ACCESS, acl);
-}
-# undef acl_set_fd
-# define acl_set_fd rpl_acl_set_fd
-# endif
-# else
-# define HAVE_ACL_SET_FD false
-# undef acl_set_fd
-# define acl_set_fd(fd, acl) (-1)
-# endif
-
-/* POSIX 1003.1e (draft 13) */
-# if ! HAVE_ACL_FREE_TEXT
-# define acl_free_text(buf) acl_free (buf)
-# endif
-
-/* Linux-specific */
-# ifndef HAVE_ACL_EXTENDED_FILE
-# define HAVE_ACL_EXTENDED_FILE false
-# define acl_extended_file(name) (-1)
-# endif
-
-/* Linux-specific */
-# ifndef HAVE_ACL_FROM_MODE
-# define HAVE_ACL_FROM_MODE false
-# define acl_from_mode(mode) (NULL)
-# endif
-
-/* Set to 1 if a file's mode is implicit by the ACL.
- Set to 0 if a file's mode is stored independently from the ACL. */
-# if HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP /* MacOS X */
-# define MODE_INSIDE_ACL 0
-# else
-# define MODE_INSIDE_ACL 1
-# endif
-
-# if defined __APPLE__ && defined __MACH__ /* MacOS X */
-# define ACL_NOT_WELL_SUPPORTED(Err) \
- ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == ENOENT)
-# elif defined EOPNOTSUPP /* Tru64 NFS */
-# define ACL_NOT_WELL_SUPPORTED(Err) \
- ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == EOPNOTSUPP)
-# else
-# define ACL_NOT_WELL_SUPPORTED(Err) \
- ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY)
-# endif
-
-/* Return the number of entries in ACL.
- Return -1 and set errno upon failure to determine it. */
-/* Define a replacement for acl_entries if needed. (Only Linux has it.) */
-# if !HAVE_ACL_ENTRIES
-# define acl_entries rpl_acl_entries
-extern int acl_entries (acl_t);
-# endif
-
-# if HAVE_ACL_TYPE_EXTENDED /* MacOS X */
-/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED.
- Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial. */
-extern int acl_extended_nontrivial (acl_t);
-# else
-/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS.
- Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode.
- Return -1 and set errno upon failure to determine it. */
-extern int acl_access_nontrivial (acl_t);
-# endif
-
-# elif HAVE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
-/* Set to 1 if a file's mode is implicit by the ACL.
- Set to 0 if a file's mode is stored independently from the ACL. */
-# if defined __CYGWIN__ /* Cygwin */
-# define MODE_INSIDE_ACL 0
-# else /* Solaris */
-# define MODE_INSIDE_ACL 1
-# endif
-
-# if !defined ACL_NO_TRIVIAL /* Solaris <= 10, Cygwin */
-
-/* Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-extern int acl_nontrivial (int count, aclent_t *entries);
-
-# ifdef ACE_GETACL /* Solaris 10 */
-
-/* Test an ACL retrieved with ACE_GETACL.
- Return 1 if the given ACL, consisting of COUNT entries, is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-extern int acl_ace_nontrivial (int count, ace_t *entries);
-
-/* Definitions for when the built executable is executed on Solaris 10
- (newer version) or Solaris 11. */
-/* For a_type. */
-# define ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */
-# define ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */
-/* For a_flags. */
-# define NEW_ACE_OWNER 0x1000
-# define NEW_ACE_GROUP 0x2000
-# define NEW_ACE_IDENTIFIER_GROUP 0x0040
-# define ACE_EVERYONE 0x4000
-/* For a_access_mask. */
-# define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */
-# define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */
-# define NEW_ACE_EXECUTE 0x004 /* corresponds to 'x' */
-
-# endif
-
-# endif
-
-# elif HAVE_GETACL /* HP-UX */
-
-/* Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-extern int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb);
-
-# elif HAVE_ACLX_GET && 0 /* AIX */
-
-/* TODO */
-
-# elif HAVE_STATACL /* older AIX */
-
-/* Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-extern int acl_nontrivial (struct acl *a);
-
-# endif
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/acl.h b/sources/host-tools/sed-4.2.1/lib/acl.h
deleted file mode 100644
index fcb00f5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/acl.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* acl.c - access control lists
-
- Copyright (C) 2002, 2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert. */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-int file_has_acl (char const *, struct stat const *);
-int copy_acl (char const *, int, char const *, int, mode_t);
-int set_acl (char const *, int, mode_t);
-int qset_acl (char const *, int, mode_t);
-int chmod_or_fchmod (char const *, int, mode_t);
diff --git a/sources/host-tools/sed-4.2.1/lib/acl_entries.c b/sources/host-tools/sed-4.2.1/lib/acl_entries.c
deleted file mode 100644
index 12e85e5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/acl_entries.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Return the number of entries in an ACL.
-
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert and Andreas Gruenbacher. */
-
-#include <config.h>
-
-#include "acl-internal.h"
-
-/* This file assumes POSIX-draft like ACLs
- (Linux, FreeBSD, MacOS X, IRIX, Tru64). */
-
-/* Return the number of entries in ACL.
- Return -1 and set errno upon failure to determine it. */
-
-int
-acl_entries (acl_t acl)
-{
- int count = 0;
-
- if (acl != NULL)
- {
-#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, MacOS X */
-# if HAVE_ACL_TYPE_EXTENDED /* MacOS X */
- /* acl_get_entry returns 0 when it successfully fetches an entry,
- and -1/EINVAL at the end. */
- acl_entry_t ace;
- int got_one;
-
- for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace);
- got_one >= 0;
- got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace))
- count++;
-# else /* Linux, FreeBSD */
- /* acl_get_entry returns 1 when it successfully fetches an entry,
- and 0 at the end. */
- acl_entry_t ace;
- int got_one;
-
- for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace);
- got_one > 0;
- got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace))
- count++;
- if (got_one < 0)
- return -1;
-# endif
-#else /* IRIX, Tru64 */
-# if HAVE_ACL_TO_SHORT_TEXT /* IRIX */
- /* Don't use acl_get_entry: it is undocumented. */
- count = acl->acl_cnt;
-# endif
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- /* Don't use acl_get_entry: it takes only one argument and does not
- work. */
- count = acl->acl_num;
-# endif
-#endif
- }
-
- return count;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/alloca.c b/sources/host-tools/sed-4.2.1/lib/alloca.c
deleted file mode 100644
index 0af8467..0000000
--- a/sources/host-tools/sed-4.2.1/lib/alloca.c
+++ /dev/null
@@ -1,491 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* alloca.c -- allocate automatically reclaimed memory
- (Mostly) portable public-domain implementation -- D A Gwyn
-
- This implementation of the PWB library alloca function,
- which is used to allocate space off the run-time stack so
- that it is automatically reclaimed upon procedure exit,
- was inspired by discussions with J. Q. Johnson of Cornell.
- J.Otto Tennant <jot@cray.com> contributed the Cray support.
-
- There are some preprocessor constants that can
- be defined when compiling for your specific system, for
- improved efficiency; however, the defaults should be okay.
-
- The general concept of this implementation is to keep
- track of all alloca-allocated blocks, and reclaim any
- that are found to be deeper in the stack than the current
- invocation. This heuristic does not reclaim storage as
- soon as it becomes invalid, but it will do so eventually.
-
- As a special case, alloca(0) reclaims storage without
- allocating any. It is a good idea to use alloca(0) in
- your main control loop, etc. to force garbage collection. */
-
-#include <config.h>
-
-#include <alloca.h>
-
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef emacs
-# include "lisp.h"
-# include "blockinput.h"
-# ifdef EMACS_FREE
-# undef free
-# define free EMACS_FREE
-# endif
-#else
-# define memory_full() abort ()
-#endif
-
-/* If compiling with GCC 2, this file's not needed. */
-#if !defined (__GNUC__) || __GNUC__ < 2
-
-/* If someone has defined alloca as a macro,
- there must be some other way alloca is supposed to work. */
-# ifndef alloca
-
-# ifdef emacs
-# ifdef static
-/* actually, only want this if static is defined as ""
- -- this is for usg, in which emacs must undefine static
- in order to make unexec workable
- */
-# ifndef STACK_DIRECTION
-you
-lose
--- must know STACK_DIRECTION at compile-time
-/* Using #error here is not wise since this file should work for
- old and obscure compilers. */
-# endif /* STACK_DIRECTION undefined */
-# endif /* static */
-# endif /* emacs */
-
-/* If your stack is a linked list of frames, you have to
- provide an "address metric" ADDRESS_FUNCTION macro. */
-
-# if defined (CRAY) && defined (CRAY_STACKSEG_END)
-long i00afunc ();
-# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
-# else
-# define ADDRESS_FUNCTION(arg) &(arg)
-# endif
-
-/* Define STACK_DIRECTION if you know the direction of stack
- growth for your system; otherwise it will be automatically
- deduced at run-time.
-
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-
-# ifndef STACK_DIRECTION
-# define STACK_DIRECTION 0 /* Direction unknown. */
-# endif
-
-# if STACK_DIRECTION != 0
-
-# define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
-
-# else /* STACK_DIRECTION == 0; need run-time code. */
-
-static int stack_dir; /* 1 or -1 once known. */
-# define STACK_DIR stack_dir
-
-static void
-find_stack_direction (void)
-{
- static char *addr = NULL; /* Address of first `dummy', once known. */
- auto char dummy; /* To get stack address. */
-
- if (addr == NULL)
- { /* Initial entry. */
- addr = ADDRESS_FUNCTION (dummy);
-
- find_stack_direction (); /* Recurse once. */
- }
- else
- {
- /* Second entry. */
- if (ADDRESS_FUNCTION (dummy) > addr)
- stack_dir = 1; /* Stack grew upward. */
- else
- stack_dir = -1; /* Stack grew downward. */
- }
-}
-
-# endif /* STACK_DIRECTION == 0 */
-
-/* An "alloca header" is used to:
- (a) chain together all alloca'ed blocks;
- (b) keep track of stack depth.
-
- It is very important that sizeof(header) agree with malloc
- alignment chunk size. The following default should work okay. */
-
-# ifndef ALIGN_SIZE
-# define ALIGN_SIZE sizeof(double)
-# endif
-
-typedef union hdr
-{
- char align[ALIGN_SIZE]; /* To force sizeof(header). */
- struct
- {
- union hdr *next; /* For chaining headers. */
- char *deep; /* For stack depth measure. */
- } h;
-} header;
-
-static header *last_alloca_header = NULL; /* -> last alloca header. */
-
-/* Return a pointer to at least SIZE bytes of storage,
- which will be automatically reclaimed upon exit from
- the procedure that called alloca. Originally, this space
- was supposed to be taken from the current stack frame of the
- caller, but that method cannot be made to work for some
- implementations of C, for example under Gould's UTX/32. */
-
-void *
-alloca (size_t size)
-{
- auto char probe; /* Probes stack depth: */
- register char *depth = ADDRESS_FUNCTION (probe);
-
-# if STACK_DIRECTION == 0
- if (STACK_DIR == 0) /* Unknown growth direction. */
- find_stack_direction ();
-# endif
-
- /* Reclaim garbage, defined as all alloca'd storage that
- was allocated from deeper in the stack than currently. */
-
- {
- register header *hp; /* Traverses linked list. */
-
-# ifdef emacs
- BLOCK_INPUT;
-# endif
-
- for (hp = last_alloca_header; hp != NULL;)
- if ((STACK_DIR > 0 && hp->h.deep > depth)
- || (STACK_DIR < 0 && hp->h.deep < depth))
- {
- register header *np = hp->h.next;
-
- free (hp); /* Collect garbage. */
-
- hp = np; /* -> next header. */
- }
- else
- break; /* Rest are not deeper. */
-
- last_alloca_header = hp; /* -> last valid storage. */
-
-# ifdef emacs
- UNBLOCK_INPUT;
-# endif
- }
-
- if (size == 0)
- return NULL; /* No allocation required. */
-
- /* Allocate combined header + user data storage. */
-
- {
- /* Address of header. */
- register header *new;
-
- size_t combined_size = sizeof (header) + size;
- if (combined_size < sizeof (header))
- memory_full ();
-
- new = malloc (combined_size);
-
- if (! new)
- memory_full ();
-
- new->h.next = last_alloca_header;
- new->h.deep = depth;
-
- last_alloca_header = new;
-
- /* User storage begins just after header. */
-
- return (void *) (new + 1);
- }
-}
-
-# if defined (CRAY) && defined (CRAY_STACKSEG_END)
-
-# ifdef DEBUG_I00AFUNC
-# include <stdio.h>
-# endif
-
-# ifndef CRAY_STACK
-# define CRAY_STACK
-# ifndef CRAY2
-/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
-struct stack_control_header
- {
- long shgrow:32; /* Number of times stack has grown. */
- long shaseg:32; /* Size of increments to stack. */
- long shhwm:32; /* High water mark of stack. */
- long shsize:32; /* Current size of stack (all segments). */
- };
-
-/* The stack segment linkage control information occurs at
- the high-address end of a stack segment. (The stack
- grows from low addresses to high addresses.) The initial
- part of the stack segment linkage control information is
- 0200 (octal) words. This provides for register storage
- for the routine which overflows the stack. */
-
-struct stack_segment_linkage
- {
- long ss[0200]; /* 0200 overflow words. */
- long sssize:32; /* Number of words in this segment. */
- long ssbase:32; /* Offset to stack base. */
- long:32;
- long sspseg:32; /* Offset to linkage control of previous
- segment of stack. */
- long:32;
- long sstcpt:32; /* Pointer to task common address block. */
- long sscsnm; /* Private control structure number for
- microtasking. */
- long ssusr1; /* Reserved for user. */
- long ssusr2; /* Reserved for user. */
- long sstpid; /* Process ID for pid based multi-tasking. */
- long ssgvup; /* Pointer to multitasking thread giveup. */
- long sscray[7]; /* Reserved for Cray Research. */
- long ssa0;
- long ssa1;
- long ssa2;
- long ssa3;
- long ssa4;
- long ssa5;
- long ssa6;
- long ssa7;
- long sss0;
- long sss1;
- long sss2;
- long sss3;
- long sss4;
- long sss5;
- long sss6;
- long sss7;
- };
-
-# else /* CRAY2 */
-/* The following structure defines the vector of words
- returned by the STKSTAT library routine. */
-struct stk_stat
- {
- long now; /* Current total stack size. */
- long maxc; /* Amount of contiguous space which would
- be required to satisfy the maximum
- stack demand to date. */
- long high_water; /* Stack high-water mark. */
- long overflows; /* Number of stack overflow ($STKOFEN) calls. */
- long hits; /* Number of internal buffer hits. */
- long extends; /* Number of block extensions. */
- long stko_mallocs; /* Block allocations by $STKOFEN. */
- long underflows; /* Number of stack underflow calls ($STKRETN). */
- long stko_free; /* Number of deallocations by $STKRETN. */
- long stkm_free; /* Number of deallocations by $STKMRET. */
- long segments; /* Current number of stack segments. */
- long maxs; /* Maximum number of stack segments so far. */
- long pad_size; /* Stack pad size. */
- long current_address; /* Current stack segment address. */
- long current_size; /* Current stack segment size. This
- number is actually corrupted by STKSTAT to
- include the fifteen word trailer area. */
- long initial_address; /* Address of initial segment. */
- long initial_size; /* Size of initial segment. */
- };
-
-/* The following structure describes the data structure which trails
- any stack segment. I think that the description in 'asdef' is
- out of date. I only describe the parts that I am sure about. */
-
-struct stk_trailer
- {
- long this_address; /* Address of this block. */
- long this_size; /* Size of this block (does not include
- this trailer). */
- long unknown2;
- long unknown3;
- long link; /* Address of trailer block of previous
- segment. */
- long unknown5;
- long unknown6;
- long unknown7;
- long unknown8;
- long unknown9;
- long unknown10;
- long unknown11;
- long unknown12;
- long unknown13;
- long unknown14;
- };
-
-# endif /* CRAY2 */
-# endif /* not CRAY_STACK */
-
-# ifdef CRAY2
-/* Determine a "stack measure" for an arbitrary ADDRESS.
- I doubt that "lint" will like this much. */
-
-static long
-i00afunc (long *address)
-{
- struct stk_stat status;
- struct stk_trailer *trailer;
- long *block, size;
- long result = 0;
-
- /* We want to iterate through all of the segments. The first
- step is to get the stack status structure. We could do this
- more quickly and more directly, perhaps, by referencing the
- $LM00 common block, but I know that this works. */
-
- STKSTAT (&status);
-
- /* Set up the iteration. */
-
- trailer = (struct stk_trailer *) (status.current_address
- + status.current_size
- - 15);
-
- /* There must be at least one stack segment. Therefore it is
- a fatal error if "trailer" is null. */
-
- if (trailer == 0)
- abort ();
-
- /* Discard segments that do not contain our argument address. */
-
- while (trailer != 0)
- {
- block = (long *) trailer->this_address;
- size = trailer->this_size;
- if (block == 0 || size == 0)
- abort ();
- trailer = (struct stk_trailer *) trailer->link;
- if ((block <= address) && (address < (block + size)))
- break;
- }
-
- /* Set the result to the offset in this segment and add the sizes
- of all predecessor segments. */
-
- result = address - block;
-
- if (trailer == 0)
- {
- return result;
- }
-
- do
- {
- if (trailer->this_size <= 0)
- abort ();
- result += trailer->this_size;
- trailer = (struct stk_trailer *) trailer->link;
- }
- while (trailer != 0);
-
- /* We are done. Note that if you present a bogus address (one
- not in any segment), you will get a different number back, formed
- from subtracting the address of the first block. This is probably
- not what you want. */
-
- return (result);
-}
-
-# else /* not CRAY2 */
-/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
- Determine the number of the cell within the stack,
- given the address of the cell. The purpose of this
- routine is to linearize, in some sense, stack addresses
- for alloca. */
-
-static long
-i00afunc (long address)
-{
- long stkl = 0;
-
- long size, pseg, this_segment, stack;
- long result = 0;
-
- struct stack_segment_linkage *ssptr;
-
- /* Register B67 contains the address of the end of the
- current stack segment. If you (as a subprogram) store
- your registers on the stack and find that you are past
- the contents of B67, you have overflowed the segment.
-
- B67 also points to the stack segment linkage control
- area, which is what we are really interested in. */
-
- stkl = CRAY_STACKSEG_END ();
- ssptr = (struct stack_segment_linkage *) stkl;
-
- /* If one subtracts 'size' from the end of the segment,
- one has the address of the first word of the segment.
-
- If this is not the first segment, 'pseg' will be
- nonzero. */
-
- pseg = ssptr->sspseg;
- size = ssptr->sssize;
-
- this_segment = stkl - size;
-
- /* It is possible that calling this routine itself caused
- a stack overflow. Discard stack segments which do not
- contain the target address. */
-
- while (!(this_segment <= address && address <= stkl))
- {
-# ifdef DEBUG_I00AFUNC
- fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
-# endif
- if (pseg == 0)
- break;
- stkl = stkl - pseg;
- ssptr = (struct stack_segment_linkage *) stkl;
- size = ssptr->sssize;
- pseg = ssptr->sspseg;
- this_segment = stkl - size;
- }
-
- result = address - this_segment;
-
- /* If you subtract pseg from the current end of the stack,
- you get the address of the previous stack segment's end.
- This seems a little convoluted to me, but I'll bet you save
- a cycle somewhere. */
-
- while (pseg != 0)
- {
-# ifdef DEBUG_I00AFUNC
- fprintf (stderr, "%011o %011o\n", pseg, size);
-# endif
- stkl = stkl - pseg;
- ssptr = (struct stack_segment_linkage *) stkl;
- size = ssptr->sssize;
- pseg = ssptr->sspseg;
- result += size;
- }
- return (result);
-}
-
-# endif /* not CRAY2 */
-# endif /* CRAY */
-
-# endif /* no alloca */
-#endif /* not GCC version 3 */
diff --git a/sources/host-tools/sed-4.2.1/lib/alloca.in.h b/sources/host-tools/sed-4.2.1/lib/alloca.in.h
deleted file mode 100644
index c65b4de..0000000
--- a/sources/host-tools/sed-4.2.1/lib/alloca.in.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Memory allocation on the stack.
-
- Copyright (C) 1995, 1999, 2001-2004, 2006-2008 Free Software
- Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- USA. */
-
-/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
- means there is a real alloca function. */
-#ifndef _GL_ALLOCA_H
-#define _GL_ALLOCA_H
-
-/* alloca (N) returns a pointer to N bytes of memory
- allocated on the stack, which will last until the function returns.
- Use of alloca should be avoided:
- - inside arguments of function calls - undefined behaviour,
- - in inline functions - the allocation may actually last until the
- calling function returns,
- - for huge N (say, N >= 65536) - you never know how large (or small)
- the stack is, and when the stack cannot fulfill the memory allocation
- request, the program just crashes.
- */
-
-#ifndef alloca
-# ifdef __GNUC__
-# define alloca __builtin_alloca
-# elif defined _AIX
-# define alloca __alloca
-# elif defined _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# elif defined __DECC && defined __VMS
-# define alloca __ALLOCA
-# else
-# include <stddef.h>
-# ifdef __cplusplus
-extern "C"
-# endif
-void *alloca (size_t);
-# endif
-#endif
-
-#endif /* _GL_ALLOCA_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/basename.c b/sources/host-tools/sed-4.2.1/lib/basename.c
deleted file mode 100644
index 426ed40..0000000
--- a/sources/host-tools/sed-4.2.1/lib/basename.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* basename.c -- return the last element in a file name
-
- Copyright (C) 1990, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free
- Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include "dirname.h"
-
-#include <string.h>
-#include "xalloc.h"
-#include "xstrndup.h"
-
-/* Return the address of the last file name component of NAME. If
- NAME has no relative file name components because it is a file
- system root, return the empty string. */
-
-char *
-last_component (char const *name)
-{
- char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
- char const *p;
- bool saw_slash = false;
-
- while (ISSLASH (*base))
- base++;
-
- for (p = base; *p; p++)
- {
- if (ISSLASH (*p))
- saw_slash = true;
- else if (saw_slash)
- {
- base = p;
- saw_slash = false;
- }
- }
-
- return (char *) base;
-}
-
-
-/* In general, we can't use the builtin `basename' function if available,
- since it has different meanings in different environments.
- In some environments the builtin `basename' modifies its argument.
-
- Return the last file name component of NAME, allocated with
- xmalloc. On systems with drive letters, a leading "./"
- distinguishes relative names that would otherwise look like a drive
- letter. Unlike POSIX basename(), NAME cannot be NULL,
- base_name("") returns "", and the first trailing slash is not
- stripped.
-
- If lstat (NAME) would succeed, then { chdir (dir_name (NAME));
- lstat (base_name (NAME)); } will access the same file. Likewise,
- if the sequence { chdir (dir_name (NAME));
- rename (base_name (NAME), "foo"); } succeeds, you have renamed NAME
- to "foo" in the same directory NAME was in. */
-
-char *
-base_name (char const *name)
-{
- char const *base = last_component (name);
- size_t length;
-
- /* If there is no last component, then name is a file system root or the
- empty string. */
- if (! *base)
- return xstrndup (name, base_len (name));
-
- /* Collapse a sequence of trailing slashes into one. */
- length = base_len (base);
- if (ISSLASH (base[length]))
- length++;
-
- /* On systems with drive letters, `a/b:c' must return `./b:c' rather
- than `b:c' to avoid confusion with a drive letter. On systems
- with pure POSIX semantics, this is not an issue. */
- if (FILE_SYSTEM_PREFIX_LEN (base))
- {
- char *p = xmalloc (length + 3);
- p[0] = '.';
- p[1] = '/';
- memcpy (p + 2, base, length);
- p[length + 2] = '\0';
- return p;
- }
-
- /* Finally, copy the basename. */
- return xstrndup (base, length);
-}
-
-/* Return the length of the basename NAME. Typically NAME is the
- value returned by base_name or last_component. Act like strlen
- (NAME), except omit all trailing slashes. */
-
-size_t
-base_len (char const *name)
-{
- size_t len;
- size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
-
- for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--)
- continue;
-
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1
- && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
- return 2;
-
- if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
- && len == prefix_len && ISSLASH (name[prefix_len]))
- return prefix_len + 1;
-
- return len;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/btowc.c b/sources/host-tools/sed-4.2.1/lib/btowc.c
deleted file mode 100644
index 7f3b966..0000000
--- a/sources/host-tools/sed-4.2.1/lib/btowc.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Convert unibyte character to wide character.
- Copyright (C) 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-#include <stdio.h>
-
-wint_t
-btowc (int c)
-{
- if (c != EOF)
- {
- char buf[1];
- wchar_t wc;
-
- buf[0] = c;
- if (mbtowc (&wc, buf, 1) >= 0)
- return wc;
- }
- return WEOF;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/c-ctype.c b/sources/host-tools/sed-4.2.1/lib/c-ctype.c
deleted file mode 100644
index a669d7a..0000000
--- a/sources/host-tools/sed-4.2.1/lib/c-ctype.c
+++ /dev/null
@@ -1,398 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Character handling in C locale.
-
- Copyright 2000-2003, 2006 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-/* Specification. */
-#define NO_C_CTYPE_MACROS
-#include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
- questionable. */
-bool
-c_isascii (int c)
-{
- return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'Z')
- || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
- return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
- return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
- return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 0;
- default:
- return 1;
- }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
- return (c >= '0' && c <= '9');
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z');
-#else
- switch (c)
- {
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= '!' && c <= '~');
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
- return (c >= ' ' && c <= '~');
-#else
- switch (c)
- {
- case ' ': case '!': case '"': case '#': case '$': case '%':
- case '&': case '\'': case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
- return ((c >= '!' && c <= '~')
- && !((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
- switch (c)
- {
- case '!': case '"': case '#': case '$': case '%': case '&':
- case '\'': case '(': case ')': case '*': case '+': case ',':
- case '-': case '.': case '/':
- case ':': case ';': case '<': case '=': case '>': case '?':
- case '@':
- case '[': case '\\': case ']': case '^': case '_': case '`':
- case '{': case '|': case '}': case '~':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
- return (c == ' ' || c == '\t'
- || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
- return (c >= 'A' && c <= 'Z');
-#else
- switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
- return ((c >= '0' && c <= '9')
- || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
- return ((c >= '0' && c <= '9')
- || (c >= 'A' && c <= 'F')
- || (c >= 'a' && c <= 'f'));
-#endif
-#else
- switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- return 1;
- default:
- return 0;
- }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
- switch (c)
- {
- case 'A': return 'a';
- case 'B': return 'b';
- case 'C': return 'c';
- case 'D': return 'd';
- case 'E': return 'e';
- case 'F': return 'f';
- case 'G': return 'g';
- case 'H': return 'h';
- case 'I': return 'i';
- case 'J': return 'j';
- case 'K': return 'k';
- case 'L': return 'l';
- case 'M': return 'm';
- case 'N': return 'n';
- case 'O': return 'o';
- case 'P': return 'p';
- case 'Q': return 'q';
- case 'R': return 'r';
- case 'S': return 's';
- case 'T': return 't';
- case 'U': return 'u';
- case 'V': return 'v';
- case 'W': return 'w';
- case 'X': return 'x';
- case 'Y': return 'y';
- case 'Z': return 'z';
- default: return c;
- }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
- return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
- switch (c)
- {
- case 'a': return 'A';
- case 'b': return 'B';
- case 'c': return 'C';
- case 'd': return 'D';
- case 'e': return 'E';
- case 'f': return 'F';
- case 'g': return 'G';
- case 'h': return 'H';
- case 'i': return 'I';
- case 'j': return 'J';
- case 'k': return 'K';
- case 'l': return 'L';
- case 'm': return 'M';
- case 'n': return 'N';
- case 'o': return 'O';
- case 'p': return 'P';
- case 'q': return 'Q';
- case 'r': return 'R';
- case 's': return 'S';
- case 't': return 'T';
- case 'u': return 'U';
- case 'v': return 'V';
- case 'w': return 'W';
- case 'x': return 'X';
- case 'y': return 'Y';
- case 'z': return 'Z';
- default: return c;
- }
-#endif
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/c-ctype.h b/sources/host-tools/sed-4.2.1/lib/c-ctype.h
deleted file mode 100644
index a0ab083..0000000
--- a/sources/host-tools/sed-4.2.1/lib/c-ctype.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Character handling in C locale.
-
- These functions work like the corresponding functions in <ctype.h>,
- except that they have the C (POSIX) locale hardwired, whereas the
- <ctype.h> functions' behaviour depends on the current locale set via
- setlocale.
-
- Copyright (C) 2000-2003, 2006, 2008 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef C_CTYPE_H
-#define C_CTYPE_H
-
-#include <stdbool.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* The functions defined in this file assume the "C" locale and a character
- set without diacritics (ASCII-US or EBCDIC-US or something like that).
- Even if the "C" locale on a particular system is an extension of the ASCII
- character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
- is ISO-8859-1), the functions in this file recognize only the ASCII
- characters. */
-
-
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
- '0', '1', ..., '9' have consecutive integer values. */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
- && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
- && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
- && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
- && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
- && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
- && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
- && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
- && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
- && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
- && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
- && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
- && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
- && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
- && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
- && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
- && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
- && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
- && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
-#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
- && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
- && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
- && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
- && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
- && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
- && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
- && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
- && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
- && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
- && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
- && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
- && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
- && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
- && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
- && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
- && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
- && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
- && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
- && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
- && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
- && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
- && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
-/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
- Testing the value of '\n' and '\r' is not relevant. */
-#define C_CTYPE_ASCII 1
-#endif
-
-
-/* Function declarations. */
-
-/* Unlike the functions in <ctype.h>, which require an argument in the range
- of the 'unsigned char' type, the functions here operate on values that are
- in the 'unsigned char' range or in the 'char' range. In other words,
- when you have a 'char' value, you need to cast it before using it as
- argument to a <ctype.h> function:
-
- const char *s = ...;
- if (isalpha ((unsigned char) *s)) ...
-
- but you don't need to cast it for the functions defined in this file:
-
- const char *s = ...;
- if (c_isalpha (*s)) ...
- */
-
-extern bool c_isascii (int c); /* not locale dependent */
-
-extern bool c_isalnum (int c);
-extern bool c_isalpha (int c);
-extern bool c_isblank (int c);
-extern bool c_iscntrl (int c);
-extern bool c_isdigit (int c);
-extern bool c_islower (int c);
-extern bool c_isgraph (int c);
-extern bool c_isprint (int c);
-extern bool c_ispunct (int c);
-extern bool c_isspace (int c);
-extern bool c_isupper (int c);
-extern bool c_isxdigit (int c);
-
-extern int c_tolower (int c);
-extern int c_toupper (int c);
-
-
-#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
- ({ int __c = (c); \
- (__c >= 0x00 && __c <= 0x7f); \
- })
-
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
- })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'Z') \
- || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
- })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
- ({ int __c = (c); \
- ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
- })
-#endif
-#endif
-
-#undef c_isblank
-#define c_isblank(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t'); \
- })
-
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
- ({ int __c = (c); \
- ((__c & ~0x1f) == 0 || __c == 0x7f); \
- })
-#endif
-
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
- ({ int __c = (c); \
- (__c >= '0' && __c <= '9'); \
- })
-#endif
-
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z'); \
- })
-#endif
-
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
- ({ int __c = (c); \
- (__c >= '!' && __c <= '~'); \
- })
-#endif
-
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
- ({ int __c = (c); \
- (__c >= ' ' && __c <= '~'); \
- })
-#endif
-
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
- ({ int _c = (c); \
- (c_isgraph (_c) && ! c_isalnum (_c)); \
- })
-#endif
-
-#undef c_isspace
-#define c_isspace(c) \
- ({ int __c = (c); \
- (__c == ' ' || __c == '\t' \
- || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
- })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z'); \
- })
-#endif
-
-#if C_CTYPE_CONSECUTIVE_DIGITS \
- && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
- })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
- ({ int __c = (c); \
- ((__c >= '0' && __c <= '9') \
- || (__c >= 'A' && __c <= 'F') \
- || (__c >= 'a' && __c <= 'f')); \
- })
-#endif
-#endif
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
- ({ int __c = (c); \
- (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
- })
-#undef c_toupper
-#define c_toupper(c) \
- ({ int __c = (c); \
- (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
- })
-#endif
-
-#endif /* optimizing for speed */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* C_CTYPE_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/config.charset b/sources/host-tools/sed-4.2.1/lib/config.charset
deleted file mode 100755
index 7f91212..0000000
--- a/sources/host-tools/sed-4.2.1/lib/config.charset
+++ /dev/null
@@ -1,683 +0,0 @@
-#! /bin/sh
-# Output a system dependent table of character encoding aliases.
-#
-# Copyright (C) 2000-2004, 2006-2009 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The table consists of lines of the form
-# ALIAS CANONICAL
-#
-# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
-# ALIAS is compared in a case sensitive way.
-#
-# CANONICAL is the GNU canonical name for this character encoding.
-# It must be an encoding supported by libiconv. Support by GNU libc is
-# also desirable. CANONICAL is case insensitive. Usually an upper case
-# MIME charset name is preferred.
-# The current list of GNU canonical charset names is as follows.
-#
-# name MIME? used by which systems
-# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin
-# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-3 Y glibc solaris
-# ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-6 Y glibc aix hpux solaris
-# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin
-# ISO-8859-8 Y glibc aix hpux osf solaris
-# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
-# ISO-8859-13 glibc netbsd openbsd darwin
-# ISO-8859-14 glibc
-# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin
-# KOI8-R Y glibc solaris freebsd netbsd openbsd darwin
-# KOI8-U Y glibc freebsd netbsd openbsd darwin
-# KOI8-T glibc
-# CP437 dos
-# CP775 dos
-# CP850 aix osf dos
-# CP852 dos
-# CP855 dos
-# CP856 aix
-# CP857 dos
-# CP861 dos
-# CP862 dos
-# CP864 dos
-# CP865 dos
-# CP866 freebsd netbsd openbsd darwin dos
-# CP869 dos
-# CP874 woe32 dos
-# CP922 aix
-# CP932 aix woe32 dos
-# CP943 aix
-# CP949 osf darwin woe32 dos
-# CP950 woe32 dos
-# CP1046 aix
-# CP1124 aix
-# CP1125 dos
-# CP1129 aix
-# CP1131 darwin
-# CP1250 woe32
-# CP1251 glibc solaris netbsd openbsd darwin woe32
-# CP1252 aix woe32
-# CP1253 woe32
-# CP1254 woe32
-# CP1255 glibc woe32
-# CP1256 woe32
-# CP1257 woe32
-# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
-# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
-# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin
-# EUC-TW glibc aix hpux irix osf solaris netbsd
-# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin
-# BIG5-HKSCS glibc solaris darwin
-# GBK glibc aix osf solaris darwin woe32 dos
-# GB18030 glibc solaris netbsd darwin
-# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
-# JOHAB glibc solaris woe32
-# TIS-620 glibc aix hpux osf solaris
-# VISCII Y glibc
-# TCVN5712-1 glibc
-# ARMSCII-8 glibc darwin
-# GEORGIAN-PS glibc
-# PT154 glibc
-# HP-ROMAN8 hpux
-# HP-ARABIC8 hpux
-# HP-GREEK8 hpux
-# HP-HEBREW8 hpux
-# HP-TURKISH8 hpux
-# HP-KANA8 hpux
-# DEC-KANJI osf
-# DEC-HANYU osf
-# UTF-8 Y glibc aix hpux osf solaris netbsd darwin
-#
-# Note: Names which are not marked as being a MIME name should not be used in
-# Internet protocols for information interchange (mail, news, etc.).
-#
-# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
-# must understand both names and treat them as equivalent.
-#
-# The first argument passed to this file is the canonical host specification,
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-
-host="$1"
-os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
-echo "# This file contains a table of character encoding aliases,"
-echo "# suitable for operating system '${os}'."
-echo "# It was automatically generated from config.charset."
-# List of references, updated during installation:
-echo "# Packages using this file: "
-case "$os" in
- linux-gnulibc1*)
- # Linux libc5 doesn't have nl_langinfo(CODESET); therefore
- # localcharset.c falls back to using the full locale name
- # from the environment variables.
- echo "C ASCII"
- echo "POSIX ASCII"
- for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
- en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
- en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
- es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
- et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
- fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
- it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
- sv_FI sv_SE; do
- echo "$l ISO-8859-1"
- echo "$l.iso-8859-1 ISO-8859-1"
- echo "$l.iso-8859-15 ISO-8859-15"
- echo "$l.iso-8859-15@euro ISO-8859-15"
- echo "$l@euro ISO-8859-15"
- echo "$l.cp-437 CP437"
- echo "$l.cp-850 CP850"
- echo "$l.cp-1252 CP1252"
- echo "$l.cp-1252@euro CP1252"
- #echo "$l.atari-st ATARI-ST" # not a commonly used encoding
- echo "$l.utf-8 UTF-8"
- echo "$l.utf-8@euro UTF-8"
- done
- for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
- sl_SI sr sr_CS sr_YU; do
- echo "$l ISO-8859-2"
- echo "$l.iso-8859-2 ISO-8859-2"
- echo "$l.cp-852 CP852"
- echo "$l.cp-1250 CP1250"
- echo "$l.utf-8 UTF-8"
- done
- for l in mk mk_MK ru ru_RU; do
- echo "$l ISO-8859-5"
- echo "$l.iso-8859-5 ISO-8859-5"
- echo "$l.koi8-r KOI8-R"
- echo "$l.cp-866 CP866"
- echo "$l.cp-1251 CP1251"
- echo "$l.utf-8 UTF-8"
- done
- for l in ar ar_SA; do
- echo "$l ISO-8859-6"
- echo "$l.iso-8859-6 ISO-8859-6"
- echo "$l.cp-864 CP864"
- #echo "$l.cp-868 CP868" # not a commonly used encoding
- echo "$l.cp-1256 CP1256"
- echo "$l.utf-8 UTF-8"
- done
- for l in el el_GR gr gr_GR; do
- echo "$l ISO-8859-7"
- echo "$l.iso-8859-7 ISO-8859-7"
- echo "$l.cp-869 CP869"
- echo "$l.cp-1253 CP1253"
- echo "$l.cp-1253@euro CP1253"
- echo "$l.utf-8 UTF-8"
- echo "$l.utf-8@euro UTF-8"
- done
- for l in he he_IL iw iw_IL; do
- echo "$l ISO-8859-8"
- echo "$l.iso-8859-8 ISO-8859-8"
- echo "$l.cp-862 CP862"
- echo "$l.cp-1255 CP1255"
- echo "$l.utf-8 UTF-8"
- done
- for l in tr tr_TR; do
- echo "$l ISO-8859-9"
- echo "$l.iso-8859-9 ISO-8859-9"
- echo "$l.cp-857 CP857"
- echo "$l.cp-1254 CP1254"
- echo "$l.utf-8 UTF-8"
- done
- for l in lt lt_LT lv lv_LV; do
- #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
- echo "$l ISO-8859-13"
- done
- for l in ru_UA uk uk_UA; do
- echo "$l KOI8-U"
- done
- for l in zh zh_CN; do
- #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
- echo "$l GB2312"
- done
- for l in ja ja_JP ja_JP.EUC; do
- echo "$l EUC-JP"
- done
- for l in ko ko_KR; do
- echo "$l EUC-KR"
- done
- for l in th th_TH; do
- echo "$l TIS-620"
- done
- for l in fa fa_IR; do
- #echo "$l ISIRI-3342" # a broken encoding
- echo "$l.utf-8 UTF-8"
- done
- ;;
- linux* | *-gnu*)
- # With glibc-2.1 or newer, we don't need any canonicalization,
- # because glibc has iconv and both glibc and libiconv support all
- # GNU canonical names directly. Therefore, the Makefile does not
- # need to install the alias file at all.
- # The following applies only to glibc-2.0.x and older libcs.
- echo "ISO_646.IRV:1983 ASCII"
- ;;
- aix*)
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-6 ISO-8859-6"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-8 ISO-8859-8"
- echo "ISO8859-9 ISO-8859-9"
- echo "ISO8859-15 ISO-8859-15"
- echo "IBM-850 CP850"
- echo "IBM-856 CP856"
- echo "IBM-921 ISO-8859-13"
- echo "IBM-922 CP922"
- echo "IBM-932 CP932"
- echo "IBM-943 CP943"
- echo "IBM-1046 CP1046"
- echo "IBM-1124 CP1124"
- echo "IBM-1129 CP1129"
- echo "IBM-1252 CP1252"
- echo "IBM-eucCN GB2312"
- echo "IBM-eucJP EUC-JP"
- echo "IBM-eucKR EUC-KR"
- echo "IBM-eucTW EUC-TW"
- echo "big5 BIG5"
- echo "GBK GBK"
- echo "TIS-620 TIS-620"
- echo "UTF-8 UTF-8"
- ;;
- hpux*)
- echo "iso88591 ISO-8859-1"
- echo "iso88592 ISO-8859-2"
- echo "iso88595 ISO-8859-5"
- echo "iso88596 ISO-8859-6"
- echo "iso88597 ISO-8859-7"
- echo "iso88598 ISO-8859-8"
- echo "iso88599 ISO-8859-9"
- echo "iso885915 ISO-8859-15"
- echo "roman8 HP-ROMAN8"
- echo "arabic8 HP-ARABIC8"
- echo "greek8 HP-GREEK8"
- echo "hebrew8 HP-HEBREW8"
- echo "turkish8 HP-TURKISH8"
- echo "kana8 HP-KANA8"
- echo "tis620 TIS-620"
- echo "big5 BIG5"
- echo "eucJP EUC-JP"
- echo "eucKR EUC-KR"
- echo "eucTW EUC-TW"
- echo "hp15CN GB2312"
- #echo "ccdc ?" # what is this?
- echo "SJIS SHIFT_JIS"
- echo "utf8 UTF-8"
- ;;
- irix*)
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-9 ISO-8859-9"
- echo "eucCN GB2312"
- echo "eucJP EUC-JP"
- echo "eucKR EUC-KR"
- echo "eucTW EUC-TW"
- ;;
- osf*)
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-4 ISO-8859-4"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-8 ISO-8859-8"
- echo "ISO8859-9 ISO-8859-9"
- echo "ISO8859-15 ISO-8859-15"
- echo "cp850 CP850"
- echo "big5 BIG5"
- echo "dechanyu DEC-HANYU"
- echo "dechanzi GB2312"
- echo "deckanji DEC-KANJI"
- echo "deckorean EUC-KR"
- echo "eucJP EUC-JP"
- echo "eucKR EUC-KR"
- echo "eucTW EUC-TW"
- echo "GBK GBK"
- echo "KSC5601 CP949"
- echo "sdeckanji EUC-JP"
- echo "SJIS SHIFT_JIS"
- echo "TACTIS TIS-620"
- echo "UTF-8 UTF-8"
- ;;
- solaris*)
- echo "646 ASCII"
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-3 ISO-8859-3"
- echo "ISO8859-4 ISO-8859-4"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-6 ISO-8859-6"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-8 ISO-8859-8"
- echo "ISO8859-9 ISO-8859-9"
- echo "ISO8859-15 ISO-8859-15"
- echo "koi8-r KOI8-R"
- echo "ansi-1251 CP1251"
- echo "BIG5 BIG5"
- echo "Big5-HKSCS BIG5-HKSCS"
- echo "gb2312 GB2312"
- echo "GBK GBK"
- echo "GB18030 GB18030"
- echo "cns11643 EUC-TW"
- echo "5601 EUC-KR"
- echo "ko_KR.johap92 JOHAB"
- echo "eucJP EUC-JP"
- echo "PCK SHIFT_JIS"
- echo "TIS620.2533 TIS-620"
- #echo "sun_eu_greek ?" # what is this?
- echo "UTF-8 UTF-8"
- ;;
- freebsd* | os2*)
- # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
- # localcharset.c falls back to using the full locale name
- # from the environment variables.
- # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
- # reuse FreeBSD's locale data for OS/2.
- echo "C ASCII"
- echo "US-ASCII ASCII"
- for l in la_LN lt_LN; do
- echo "$l.ASCII ASCII"
- done
- for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
- fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
- lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
- echo "$l.ISO_8859-1 ISO-8859-1"
- echo "$l.DIS_8859-15 ISO-8859-15"
- done
- for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
- echo "$l.ISO_8859-2 ISO-8859-2"
- done
- for l in la_LN lt_LT; do
- echo "$l.ISO_8859-4 ISO-8859-4"
- done
- for l in ru_RU ru_SU; do
- echo "$l.KOI8-R KOI8-R"
- echo "$l.ISO_8859-5 ISO-8859-5"
- echo "$l.CP866 CP866"
- done
- echo "uk_UA.KOI8-U KOI8-U"
- echo "zh_TW.BIG5 BIG5"
- echo "zh_TW.Big5 BIG5"
- echo "zh_CN.EUC GB2312"
- echo "ja_JP.EUC EUC-JP"
- echo "ja_JP.SJIS SHIFT_JIS"
- echo "ja_JP.Shift_JIS SHIFT_JIS"
- echo "ko_KR.EUC EUC-KR"
- ;;
- netbsd*)
- echo "646 ASCII"
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-4 ISO-8859-4"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-13 ISO-8859-13"
- echo "ISO8859-15 ISO-8859-15"
- echo "eucCN GB2312"
- echo "eucJP EUC-JP"
- echo "eucKR EUC-KR"
- echo "eucTW EUC-TW"
- echo "BIG5 BIG5"
- echo "SJIS SHIFT_JIS"
- ;;
- openbsd*)
- echo "646 ASCII"
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-4 ISO-8859-4"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-13 ISO-8859-13"
- echo "ISO8859-15 ISO-8859-15"
- ;;
- darwin[56]*)
- # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
- # localcharset.c falls back to using the full locale name
- # from the environment variables.
- echo "C ASCII"
- for l in en_AU en_CA en_GB en_US la_LN; do
- echo "$l.US-ASCII ASCII"
- done
- for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
- fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
- nl_NL no_NO pt_PT sv_SE; do
- echo "$l ISO-8859-1"
- echo "$l.ISO8859-1 ISO-8859-1"
- echo "$l.ISO8859-15 ISO-8859-15"
- done
- for l in la_LN; do
- echo "$l.ISO8859-1 ISO-8859-1"
- echo "$l.ISO8859-15 ISO-8859-15"
- done
- for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
- echo "$l.ISO8859-2 ISO-8859-2"
- done
- for l in la_LN lt_LT; do
- echo "$l.ISO8859-4 ISO-8859-4"
- done
- for l in ru_RU; do
- echo "$l.KOI8-R KOI8-R"
- echo "$l.ISO8859-5 ISO-8859-5"
- echo "$l.CP866 CP866"
- done
- for l in bg_BG; do
- echo "$l.CP1251 CP1251"
- done
- echo "uk_UA.KOI8-U KOI8-U"
- echo "zh_TW.BIG5 BIG5"
- echo "zh_TW.Big5 BIG5"
- echo "zh_CN.EUC GB2312"
- echo "ja_JP.EUC EUC-JP"
- echo "ja_JP.SJIS SHIFT_JIS"
- echo "ko_KR.EUC EUC-KR"
- ;;
- darwin*)
- # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
- # useless:
- # - It returns the empty string when LANG is set to a locale of the
- # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
- # LC_CTYPE file.
- # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
- # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
- # - The documentation says:
- # "... all code that calls BSD system routines should ensure
- # that the const *char parameters of these routines are in UTF-8
- # encoding. All BSD system functions expect their string
- # parameters to be in UTF-8 encoding and nothing else."
- # It also says
- # "An additional caveat is that string parameters for files,
- # paths, and other file-system entities must be in canonical
- # UTF-8. In a canonical UTF-8 Unicode string, all decomposable
- # characters are decomposed ..."
- # but this is not true: You can pass non-decomposed UTF-8 strings
- # to file system functions, and it is the OS which will convert
- # them to decomposed UTF-8 before accessing the file system.
- # - The Apple Terminal application displays UTF-8 by default.
- # - However, other applications are free to use different encodings:
- # - xterm uses ISO-8859-1 by default.
- # - TextEdit uses MacRoman by default.
- # We prefer UTF-8 over decomposed UTF-8-MAC because one should
- # minimize the use of decomposed Unicode. Unfortunately, through the
- # Darwin file system, decomposed UTF-8 strings are leaked into user
- # space nevertheless.
- # Then there are also the locales with encodings other than US-ASCII
- # and UTF-8. These locales can be occasionally useful to users (e.g.
- # when grepping through ISO-8859-1 encoded text files), when all their
- # file names are in US-ASCII.
- echo "ISO8859-1 ISO-8859-1"
- echo "ISO8859-2 ISO-8859-2"
- echo "ISO8859-4 ISO-8859-4"
- echo "ISO8859-5 ISO-8859-5"
- echo "ISO8859-7 ISO-8859-7"
- echo "ISO8859-9 ISO-8859-9"
- echo "ISO8859-13 ISO-8859-13"
- echo "ISO8859-15 ISO-8859-15"
- echo "KOI8-R KOI8-R"
- echo "KOI8-U KOI8-U"
- echo "CP866 CP866"
- echo "CP949 CP949"
- echo "CP1131 CP1131"
- echo "CP1251 CP1251"
- echo "eucCN GB2312"
- echo "GB2312 GB2312"
- echo "eucJP EUC-JP"
- echo "eucKR EUC-KR"
- echo "Big5 BIG5"
- echo "Big5HKSCS BIG5-HKSCS"
- echo "GBK GBK"
- echo "GB18030 GB18030"
- echo "SJIS SHIFT_JIS"
- echo "ARMSCII-8 ARMSCII-8"
- echo "PT154 PT154"
- #echo "ISCII-DEV ?"
- echo "* UTF-8"
- ;;
- beos* | haiku*)
- # BeOS and Haiku have a single locale, and it has UTF-8 encoding.
- echo "* UTF-8"
- ;;
- msdosdjgpp*)
- # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
- # localcharset.c falls back to using the full locale name
- # from the environment variables.
- echo "#"
- echo "# The encodings given here may not all be correct."
- echo "# If you find that the encoding given for your language and"
- echo "# country is not the one your DOS machine actually uses, just"
- echo "# correct it in this file, and send a mail to"
- echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
- echo "# and Bruno Haible <bruno@clisp.org>."
- echo "#"
- echo "C ASCII"
- # ISO-8859-1 languages
- echo "ca CP850"
- echo "ca_ES CP850"
- echo "da CP865" # not CP850 ??
- echo "da_DK CP865" # not CP850 ??
- echo "de CP850"
- echo "de_AT CP850"
- echo "de_CH CP850"
- echo "de_DE CP850"
- echo "en CP850"
- echo "en_AU CP850" # not CP437 ??
- echo "en_CA CP850"
- echo "en_GB CP850"
- echo "en_NZ CP437"
- echo "en_US CP437"
- echo "en_ZA CP850" # not CP437 ??
- echo "es CP850"
- echo "es_AR CP850"
- echo "es_BO CP850"
- echo "es_CL CP850"
- echo "es_CO CP850"
- echo "es_CR CP850"
- echo "es_CU CP850"
- echo "es_DO CP850"
- echo "es_EC CP850"
- echo "es_ES CP850"
- echo "es_GT CP850"
- echo "es_HN CP850"
- echo "es_MX CP850"
- echo "es_NI CP850"
- echo "es_PA CP850"
- echo "es_PY CP850"
- echo "es_PE CP850"
- echo "es_SV CP850"
- echo "es_UY CP850"
- echo "es_VE CP850"
- echo "et CP850"
- echo "et_EE CP850"
- echo "eu CP850"
- echo "eu_ES CP850"
- echo "fi CP850"
- echo "fi_FI CP850"
- echo "fr CP850"
- echo "fr_BE CP850"
- echo "fr_CA CP850"
- echo "fr_CH CP850"
- echo "fr_FR CP850"
- echo "ga CP850"
- echo "ga_IE CP850"
- echo "gd CP850"
- echo "gd_GB CP850"
- echo "gl CP850"
- echo "gl_ES CP850"
- echo "id CP850" # not CP437 ??
- echo "id_ID CP850" # not CP437 ??
- echo "is CP861" # not CP850 ??
- echo "is_IS CP861" # not CP850 ??
- echo "it CP850"
- echo "it_CH CP850"
- echo "it_IT CP850"
- echo "lt CP775"
- echo "lt_LT CP775"
- echo "lv CP775"
- echo "lv_LV CP775"
- echo "nb CP865" # not CP850 ??
- echo "nb_NO CP865" # not CP850 ??
- echo "nl CP850"
- echo "nl_BE CP850"
- echo "nl_NL CP850"
- echo "nn CP865" # not CP850 ??
- echo "nn_NO CP865" # not CP850 ??
- echo "no CP865" # not CP850 ??
- echo "no_NO CP865" # not CP850 ??
- echo "pt CP850"
- echo "pt_BR CP850"
- echo "pt_PT CP850"
- echo "sv CP850"
- echo "sv_SE CP850"
- # ISO-8859-2 languages
- echo "cs CP852"
- echo "cs_CZ CP852"
- echo "hr CP852"
- echo "hr_HR CP852"
- echo "hu CP852"
- echo "hu_HU CP852"
- echo "pl CP852"
- echo "pl_PL CP852"
- echo "ro CP852"
- echo "ro_RO CP852"
- echo "sk CP852"
- echo "sk_SK CP852"
- echo "sl CP852"
- echo "sl_SI CP852"
- echo "sq CP852"
- echo "sq_AL CP852"
- echo "sr CP852" # CP852 or CP866 or CP855 ??
- echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
- echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
- # ISO-8859-3 languages
- echo "mt CP850"
- echo "mt_MT CP850"
- # ISO-8859-5 languages
- echo "be CP866"
- echo "be_BE CP866"
- echo "bg CP866" # not CP855 ??
- echo "bg_BG CP866" # not CP855 ??
- echo "mk CP866" # not CP855 ??
- echo "mk_MK CP866" # not CP855 ??
- echo "ru CP866"
- echo "ru_RU CP866"
- echo "uk CP1125"
- echo "uk_UA CP1125"
- # ISO-8859-6 languages
- echo "ar CP864"
- echo "ar_AE CP864"
- echo "ar_DZ CP864"
- echo "ar_EG CP864"
- echo "ar_IQ CP864"
- echo "ar_IR CP864"
- echo "ar_JO CP864"
- echo "ar_KW CP864"
- echo "ar_MA CP864"
- echo "ar_OM CP864"
- echo "ar_QA CP864"
- echo "ar_SA CP864"
- echo "ar_SY CP864"
- # ISO-8859-7 languages
- echo "el CP869"
- echo "el_GR CP869"
- # ISO-8859-8 languages
- echo "he CP862"
- echo "he_IL CP862"
- # ISO-8859-9 languages
- echo "tr CP857"
- echo "tr_TR CP857"
- # Japanese
- echo "ja CP932"
- echo "ja_JP CP932"
- # Chinese
- echo "zh_CN GBK"
- echo "zh_TW CP950" # not CP938 ??
- # Korean
- echo "kr CP949" # not CP934 ??
- echo "kr_KR CP949" # not CP934 ??
- # Thai
- echo "th CP874"
- echo "th_TH CP874"
- # Other
- echo "eo CP850"
- echo "eo_EO CP850"
- ;;
-esac
diff --git a/sources/host-tools/sed-4.2.1/lib/copy-acl.c b/sources/host-tools/sed-4.2.1/lib/copy-acl.c
deleted file mode 100644
index af85a08..0000000
--- a/sources/host-tools/sed-4.2.1/lib/copy-acl.c
+++ /dev/null
@@ -1,553 +0,0 @@
-/* copy-acl.c - copy access control list from one file to another file
-
- Copyright (C) 2002-2003, 2005-2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
-
-#include <config.h>
-
-#include "acl.h"
-
-#include "acl-internal.h"
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-
-
-/* Copy access control lists from one file to another. If SOURCE_DESC is
- a valid file descriptor, use file descriptor operations, else use
- filename based operations on SRC_NAME. Likewise for DEST_DESC and
- DST_NAME.
- If access control lists are not available, fchmod the target file to
- MODE. Also sets the non-permission bits of the destination file
- (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set.
- Return 0 if successful.
- Return -2 and set errno for an error relating to the source file.
- Return -1 and set errno for an error relating to the destination file. */
-
-static int
-qcopy_acl (const char *src_name, int source_desc, const char *dst_name,
- int dest_desc, mode_t mode)
-{
-#if USE_ACL && HAVE_ACL_GET_FILE
- /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
- /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
-# if MODE_INSIDE_ACL
- /* Linux, FreeBSD, IRIX, Tru64 */
-
- acl_t acl;
- int ret;
-
- if (HAVE_ACL_GET_FD && source_desc != -1)
- acl = acl_get_fd (source_desc);
- else
- acl = acl_get_file (src_name, ACL_TYPE_ACCESS);
- if (acl == NULL)
- {
- if (ACL_NOT_WELL_SUPPORTED (errno))
- return qset_acl (dst_name, dest_desc, mode);
- else
- return -2;
- }
-
- if (HAVE_ACL_SET_FD && dest_desc != -1)
- ret = acl_set_fd (dest_desc, acl);
- else
- ret = acl_set_file (dst_name, ACL_TYPE_ACCESS, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
-
- if (ACL_NOT_WELL_SUPPORTED (errno) && !acl_access_nontrivial (acl))
- {
- acl_free (acl);
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- else
- {
- acl_free (acl);
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
- }
- else
- acl_free (acl);
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- return -1;
- }
-
- if (S_ISDIR (mode))
- {
- acl = acl_get_file (src_name, ACL_TYPE_DEFAULT);
- if (acl == NULL)
- return -2;
-
- if (acl_set_file (dst_name, ACL_TYPE_DEFAULT, acl))
- {
- int saved_errno = errno;
-
- acl_free (acl);
- errno = saved_errno;
- return -1;
- }
- else
- acl_free (acl);
- }
- return 0;
-
-# else /* !MODE_INSIDE_ACL */
- /* MacOS X */
-
-# if !HAVE_ACL_TYPE_EXTENDED
-# error Must have ACL_TYPE_EXTENDED
-# endif
-
- /* On MacOS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. You have to use
- acl_get_file (name, ACL_TYPE_EXTENDED)
- or acl_get_fd (open (name, ...))
- to retrieve an ACL.
- On the other hand,
- acl_set_file (name, ACL_TYPE_ACCESS, acl)
- and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
- have the same effect as
- acl_set_file (name, ACL_TYPE_EXTENDED, acl):
- Each of these calls sets the file's ACL. */
-
- acl_t acl;
- int ret;
-
- if (HAVE_ACL_GET_FD && source_desc != -1)
- acl = acl_get_fd (source_desc);
- else
- acl = acl_get_file (src_name, ACL_TYPE_EXTENDED);
- if (acl == NULL)
- {
- if (ACL_NOT_WELL_SUPPORTED (errno))
- return qset_acl (dst_name, dest_desc, mode);
- else
- return -2;
- }
-
- if (HAVE_ACL_SET_FD && dest_desc != -1)
- ret = acl_set_fd (dest_desc, acl);
- else
- ret = acl_set_file (dst_name, ACL_TYPE_EXTENDED, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
-
- if (ACL_NOT_WELL_SUPPORTED (errno) && !acl_extended_nontrivial (acl))
- {
- acl_free (acl);
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- else
- {
- acl_free (acl);
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
- }
- else
- acl_free (acl);
-
- /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */
- return chmod_or_fchmod (dst_name, dest_desc, mode);
-
-# endif
-
-#elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
-# if defined ACL_NO_TRIVIAL
- /* Solaris 10 (newer version), which has additional API declared in
- <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
- acl_fromtext, ...). */
-
- int ret;
- acl_t *aclp = NULL;
- ret = (source_desc < 0
- ? acl_get (src_name, ACL_NO_TRIVIAL, &aclp)
- : facl_get (source_desc, ACL_NO_TRIVIAL, &aclp));
- if (ret != 0 && errno != ENOSYS)
- return -2;
-
- ret = qset_acl (dst_name, dest_desc, mode);
- if (ret != 0)
- return -1;
-
- if (aclp)
- {
- ret = (dest_desc < 0
- ? acl_set (dst_name, aclp)
- : facl_set (dest_desc, aclp));
- if (ret != 0)
- {
- int saved_errno = errno;
-
- acl_free (aclp);
- errno = saved_errno;
- return -1;
- }
- acl_free (aclp);
- }
-
- return 0;
-
-# else /* Solaris, Cygwin, general case */
-
- /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
- of Unixware. The acl() call returns the access and default ACL both
- at once. */
-# ifdef ACE_GETACL
- int ace_count;
- ace_t *ace_entries;
-# endif
- int count;
- aclent_t *entries;
- int did_chmod;
- int saved_errno;
- int ret;
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems).
- There is an API
- pathconf (name, _PC_ACL_ENABLED)
- fpathconf (desc, _PC_ACL_ENABLED)
- that allows to determine which of the two kinds of ACLs is supported
- for the given file. But some file systems may implement this call
- incorrectly, so better not use it.
- When fetching the source ACL, we simply fetch both ACL types.
- When setting the destination ACL, we try either ACL types, assuming
- that the kernel will translate the ACL from one form to the other.
- (See in <http://docs.sun.com/app/docs/doc/819-2241/6n4huc7ia?l=en&a=view>
- the description of ENOTSUP.) */
- for (;;)
- {
- ace_count = (source_desc != -1
- ? facl (source_desc, ACE_GETACLCNT, 0, NULL)
- : acl (src_name, ACE_GETACLCNT, 0, NULL));
-
- if (ace_count < 0)
- {
- if (errno == ENOSYS || errno == EINVAL)
- {
- ace_count = 0;
- ace_entries = NULL;
- break;
- }
- else
- return -2;
- }
-
- if (ace_count == 0)
- {
- ace_entries = NULL;
- break;
- }
-
- ace_entries = (ace_t *) malloc (ace_count * sizeof (ace_t));
- if (ace_entries == NULL)
- {
- errno = ENOMEM;
- return -2;
- }
-
- if ((source_desc != -1
- ? facl (source_desc, ACE_GETACL, ace_count, ace_entries)
- : acl (src_name, ACE_GETACL, ace_count, ace_entries))
- == ace_count)
- break;
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-# endif
-
- for (;;)
- {
- count = (source_desc != -1
- ? facl (source_desc, GETACLCNT, 0, NULL)
- : acl (src_name, GETACLCNT, 0, NULL));
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == ENOTSUP)
- {
- count = 0;
- entries = NULL;
- break;
- }
- else
- return -2;
- }
-
- if (count == 0)
- {
- entries = NULL;
- break;
- }
-
- entries = (aclent_t *) malloc (count * sizeof (aclent_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -2;
- }
-
- if ((source_desc != -1
- ? facl (source_desc, GETACL, count, entries)
- : acl (src_name, GETACL, count, entries))
- == count)
- break;
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-
- /* Is there an ACL of either kind? */
-# ifdef ACE_GETACL
- if (ace_count == 0)
-# endif
- if (count == 0)
- return qset_acl (dst_name, dest_desc, mode);
-
- did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */
- saved_errno = 0; /* the first non-ignorable error code */
-
- if (!MODE_INSIDE_ACL)
- {
- /* On Cygwin, it is necessary to call chmod before acl, because
- chmod can change the contents of the ACL (in ways that don't
- change the allowed accesses, but still visible). */
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- saved_errno = errno;
- did_chmod = 1;
- }
-
- /* If both ace_entries and entries are available, try SETACL before
- ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL
- can. */
-
- if (count > 0)
- {
- ret = (dest_desc != -1
- ? facl (dest_desc, SETACL, count, entries)
- : acl (dst_name, SETACL, count, entries));
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if (errno == ENOSYS && !acl_nontrivial (count, entries))
- saved_errno = 0;
- }
- else
- did_chmod = 1;
- }
- free (entries);
-
-# ifdef ACE_GETACL
- if (ace_count > 0)
- {
- ret = (dest_desc != -1
- ? facl (dest_desc, ACE_SETACL, ace_count, ace_entries)
- : acl (dst_name, ACE_SETACL, ace_count, ace_entries));
- if (ret < 0 && saved_errno == 0)
- {
- saved_errno = errno;
- if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
- && !acl_ace_nontrivial (ace_count, ace_entries))
- saved_errno = 0;
- }
- }
- free (ace_entries);
-# endif
-
- if (MODE_INSIDE_ACL
- && did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0)
- {
- if (saved_errno == 0)
- saved_errno = errno;
- }
- }
-
- if (saved_errno)
- {
- errno = saved_errno;
- return -1;
- }
- return 0;
-
-# endif
-
-#elif USE_ACL && HAVE_GETACL /* HP-UX */
-
- int count;
- struct acl_entry entries[NACLENTRIES];
- int ret;
-
- for (;;)
- {
- count = (source_desc != -1
- ? fgetacl (source_desc, 0, NULL)
- : getacl (src_name, 0, NULL));
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP)
- {
- count = 0;
- break;
- }
- else
- return -2;
- }
-
- if (count == 0)
- break;
-
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */
- abort ();
-
- if ((source_desc != -1
- ? fgetacl (source_desc, count, entries)
- : getacl (src_name, count, entries))
- == count)
- break;
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-
- if (count == 0)
- return qset_acl (dst_name, dest_desc, mode);
-
- ret = (dest_desc != -1
- ? fsetacl (dest_desc, count, entries)
- : setacl (dst_name, count, entries));
- if (ret < 0)
- {
- int saved_errno = errno;
-
- if (errno == ENOSYS || errno == EOPNOTSUPP)
- {
- struct stat source_statbuf;
-
- if ((source_desc != -1
- ? fstat (source_desc, &source_statbuf)
- : stat (src_name, &source_statbuf)) == 0)
- {
- if (!acl_nontrivial (count, entries, &source_statbuf))
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- else
- saved_errno = errno;
- }
-
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, and either the mode and the ACL are
- separate or special bits are to be set which don't fit into ACLs. */
-
- return chmod_or_fchmod (dst_name, dest_desc, mode);
- }
- return 0;
-
-#elif USE_ACL && HAVE_ACLX_GET && 0 /* AIX */
-
- /* TODO */
-
-#elif USE_ACL && HAVE_STATACL /* older AIX */
-
- union { struct acl a; char room[4096]; } u;
- int ret;
-
- if ((source_desc != -1
- ? fstatacl (source_desc, STX_NORMAL, &u.a, sizeof (u))
- : statacl (src_name, STX_NORMAL, &u.a, sizeof (u)))
- < 0)
- return -2;
-
- ret = (dest_desc != -1
- ? fchacl (dest_desc, &u.a, u.a.acl_len)
- : chacl (dst_name, &u.a, u.a.acl_len));
- if (ret < 0)
- {
- int saved_errno = errno;
-
- chmod_or_fchmod (dst_name, dest_desc, mode);
- errno = saved_errno;
- return -1;
- }
-
- /* No need to call chmod_or_fchmod at this point, since the mode bits
- S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */
-
- return 0;
-
-#else
-
- return qset_acl (dst_name, dest_desc, mode);
-
-#endif
-}
-
-
-/* Copy access control lists from one file to another. If SOURCE_DESC is
- a valid file descriptor, use file descriptor operations, else use
- filename based operations on SRC_NAME. Likewise for DEST_DESC and
- DST_NAME.
- If access control lists are not available, fchmod the target file to
- MODE. Also sets the non-permission bits of the destination file
- (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set.
- Return 0 if successful, otherwise output a diagnostic and return -1. */
-
-int
-copy_acl (const char *src_name, int source_desc, const char *dst_name,
- int dest_desc, mode_t mode)
-{
- int ret = qcopy_acl (src_name, source_desc, dst_name, dest_desc, mode);
- switch (ret)
- {
- case -2:
- error (0, errno, "%s", quote (src_name));
- return -1;
-
- case -1:
- error (0, errno, _("preserving permissions for %s"), quote (dst_name));
- return -1;
-
- default:
- return 0;
- }
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/dirname.c b/sources/host-tools/sed-4.2.1/lib/dirname.c
deleted file mode 100644
index c27e5b5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/dirname.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* dirname.c -- return all but the last element in a file name
-
- Copyright (C) 1990, 1998, 2000, 2001, 2003, 2004, 2005, 2006 Free Software
- Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include "dirname.h"
-
-#include <string.h>
-#include "xalloc.h"
-
-/* Return the length of the prefix of FILE that will be used by
- dir_name. If FILE is in the working directory, this returns zero
- even though `dir_name (FILE)' will return ".". Works properly even
- if there are trailing slashes (by effectively ignoring them). */
-
-size_t
-dir_len (char const *file)
-{
- size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file);
- size_t length;
-
- /* Advance prefix_length beyond important leading slashes. */
- prefix_length += (prefix_length != 0
- ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
- && ISSLASH (file[prefix_length]))
- : (ISSLASH (file[0])
- ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT
- && ISSLASH (file[1]) && ! ISSLASH (file[2])
- ? 2 : 1))
- : 0));
-
- /* Strip the basename and any redundant slashes before it. */
- for (length = last_component (file) - file;
- prefix_length < length; length--)
- if (! ISSLASH (file[length - 1]))
- break;
- return length;
-}
-
-
-/* In general, we can't use the builtin `dirname' function if available,
- since it has different meanings in different environments.
- In some environments the builtin `dirname' modifies its argument.
-
- Return the leading directories part of FILE, allocated with xmalloc.
- Works properly even if there are trailing slashes (by effectively
- ignoring them). Unlike POSIX dirname(), FILE cannot be NULL.
-
- If lstat (FILE) would succeed, then { chdir (dir_name (FILE));
- lstat (base_name (FILE)); } will access the same file. Likewise,
- if the sequence { chdir (dir_name (FILE));
- rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE
- to "foo" in the same directory FILE was in. */
-
-char *
-dir_name (char const *file)
-{
- size_t length = dir_len (file);
- bool append_dot = (length == 0
- || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
- && length == FILE_SYSTEM_PREFIX_LEN (file)
- && file[2] != '\0' && ! ISSLASH (file[2])));
- char *dir = xmalloc (length + append_dot + 1);
- memcpy (dir, file, length);
- if (append_dot)
- dir[length++] = '.';
- dir[length] = '\0';
- return dir;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/dirname.h b/sources/host-tools/sed-4.2.1/lib/dirname.h
deleted file mode 100644
index f592350..0000000
--- a/sources/host-tools/sed-4.2.1/lib/dirname.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Take file names apart into directory and base names.
-
- Copyright (C) 1998, 2001, 2003-2006 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef DIRNAME_H_
-# define DIRNAME_H_ 1
-
-# include <stdbool.h>
-# include <stddef.h>
-
-# ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-# endif
-
-# ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-# endif
-
-# ifndef FILE_SYSTEM_PREFIX_LEN
-# if FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
- /* This internal macro assumes ASCII, but all hosts that support drive
- letters use ASCII. */
-# define _IS_DRIVE_LETTER(c) (((unsigned int) (c) | ('a' - 'A')) - 'a' \
- <= 'z' - 'a')
-# define FILE_SYSTEM_PREFIX_LEN(Filename) \
- (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0)
-# else
-# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
-# endif
-# endif
-
-# ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
-# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
-# endif
-
-# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
-# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
-# endif
-
-# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
-# define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)])
-# else
-# define IS_ABSOLUTE_FILE_NAME(F) \
- (ISSLASH ((F)[0]) || 0 < FILE_SYSTEM_PREFIX_LEN (F))
-# endif
-# define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F))
-
-char *base_name (char const *file);
-char *dir_name (char const *file);
-size_t base_len (char const *file);
-size_t dir_len (char const *file);
-char *last_component (char const *file);
-
-bool strip_trailing_slashes (char *file);
-
-#endif /* not DIRNAME_H_ */
diff --git a/sources/host-tools/sed-4.2.1/lib/errno.in.h b/sources/host-tools/sed-4.2.1/lib/errno.in.h
deleted file mode 100644
index 0d45307..0000000
--- a/sources/host-tools/sed-4.2.1/lib/errno.in.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A POSIX-like <errno.h>.
-
- Copyright (C) 2008-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _GL_ERRNO_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_ERRNO_H@
-
-#ifndef _GL_ERRNO_H
-#define _GL_ERRNO_H
-
-
-/* On native Windows platforms, many macros are not defined. */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */
-# define EWOULDBLOCK EAGAIN
-
-/* Values >= 100 seem safe to use. */
-# define ETXTBSY 100
-# define GNULIB_defined_ETXTBSY 1
-
-/* These are intentionally the same values as the WSA* error numbers, defined
- in <winsock2.h>. */
-# define EINPROGRESS 10036
-# define EALREADY 10037
-# define ENOTSOCK 10038
-# define EDESTADDRREQ 10039
-# define EMSGSIZE 10040
-# define EPROTOTYPE 10041
-# define ENOPROTOOPT 10042
-# define EPROTONOSUPPORT 10043
-# define ESOCKTNOSUPPORT 10044 /* not required by POSIX */
-# define EOPNOTSUPP 10045
-# define EPFNOSUPPORT 10046 /* not required by POSIX */
-# define EAFNOSUPPORT 10047
-# define EADDRINUSE 10048
-# define EADDRNOTAVAIL 10049
-# define ENETDOWN 10050
-# define ENETUNREACH 10051
-# define ENETRESET 10052
-# define ECONNABORTED 10053
-# define ECONNRESET 10054
-# define ENOBUFS 10055
-# define EISCONN 10056
-# define ENOTCONN 10057
-# define ESHUTDOWN 10058 /* not required by POSIX */
-# define ETOOMANYREFS 10059 /* not required by POSIX */
-# define ETIMEDOUT 10060
-# define ECONNREFUSED 10061
-# define ELOOP 10062
-# define EHOSTDOWN 10064 /* not required by POSIX */
-# define EHOSTUNREACH 10065
-# define EPROCLIM 10067 /* not required by POSIX */
-# define EUSERS 10068 /* not required by POSIX */
-# define EDQUOT 10069
-# define ESTALE 10070
-# define EREMOTE 10071 /* not required by POSIX */
-# define GNULIB_defined_ESOCK 1
-
-# endif
-
-
-/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros
- EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */
-# if @EMULTIHOP_HIDDEN@
-# define EMULTIHOP @EMULTIHOP_VALUE@
-# define GNULIB_defined_EMULTIHOP 1
-# endif
-# if @ENOLINK_HIDDEN@
-# define ENOLINK @ENOLINK_VALUE@
-# define GNULIB_defined_ENOLINK 1
-# endif
-# if @EOVERFLOW_HIDDEN@
-# define EOVERFLOW @EOVERFLOW_VALUE@
-# define GNULIB_defined_EOVERFLOW 1
-# endif
-
-
-/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
- EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
- Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151,
- HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
-
- Note: When one of these systems defines some of these macros some day,
- binaries will have to be recompiled so that they recognizes the new
- errno values from the system. */
-
-# ifndef ENOMSG
-# define ENOMSG 2000
-# define GNULIB_defined_ENOMSG 1
-# endif
-
-# ifndef EIDRM
-# define EIDRM 2001
-# define GNULIB_defined_EIDRM 1
-# endif
-
-# ifndef ENOLINK
-# define ENOLINK 2002
-# define GNULIB_defined_ENOLINK 1
-# endif
-
-# ifndef EPROTO
-# define EPROTO 2003
-# define GNULIB_defined_EPROTO 1
-# endif
-
-# ifndef EMULTIHOP
-# define EMULTIHOP 2004
-# define GNULIB_defined_EMULTIHOP 1
-# endif
-
-# ifndef EBADMSG
-# define EBADMSG 2005
-# define GNULIB_defined_EBADMSG 1
-# endif
-
-# ifndef EOVERFLOW
-# define EOVERFLOW 2006
-# define GNULIB_defined_EOVERFLOW 1
-# endif
-
-# ifndef ENOTSUP
-# define ENOTSUP 2007
-# define GNULIB_defined_ENOTSUP 1
-# endif
-
-# ifndef ESTALE
-# define ESTALE 2009
-# define GNULIB_defined_ESTALE 1
-# endif
-
-# ifndef ECANCELED
-# define ECANCELED 2008
-# define GNULIB_defined_ECANCELED 1
-# endif
-
-
-#endif /* _GL_ERRNO_H */
-#endif /* _GL_ERRNO_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/error.c b/sources/host-tools/sed-4.2.1/lib/error.c
deleted file mode 100644
index 3177bd5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/error.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
-
-#if !_LIBC
-# include <config.h>
-#endif
-
-#include "error.h"
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if !_LIBC && ENABLE_NLS
-# include "gettext.h"
-# define _(msgid) gettext (msgid)
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-# include <stdbool.h>
-# include <stdint.h>
-# include <wchar.h>
-# define mbsrtowcs __mbsrtowcs
-#endif
-
-#if USE_UNLOCKED_IO
-# include "unlocked-io.h"
-#endif
-
-#ifndef _
-# define _(String) String
-#endif
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-void (*error_print_progname) (void);
-
-/* This variable is incremented each time `error' is called. */
-unsigned int error_message_count;
-
-#ifdef _LIBC
-/* In the GNU C library, there is a predefined variable for this. */
-
-# define program_name program_invocation_name
-# include <errno.h>
-# include <limits.h>
-# include <libio/libioP.h>
-
-/* In GNU libc we want do not want to use the common name `error' directly.
- Instead make it a weak alias. */
-extern void __error (int status, int errnum, const char *message, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-extern void __error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message,
- ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));;
-# define error __error
-# define error_at_line __error_at_line
-
-# include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
-# undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
-
-# include <bits/libc-lock.h>
-
-#else /* not _LIBC */
-
-# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
-# ifndef HAVE_DECL_STRERROR_R
-"this configure-time declaration test was not run"
-# endif
-char *strerror_r ();
-# endif
-
-/* The calling program should define program_name and set it to the
- name of the executing program. */
-extern char *program_name;
-
-# if HAVE_STRERROR_R || defined strerror_r
-# define __strerror_r strerror_r
-# endif /* HAVE_STRERROR_R || defined strerror_r */
-#endif /* not _LIBC */
-
-static void
-print_errno_message (int errnum)
-{
- char const *s;
-
-#if defined HAVE_STRERROR_R || _LIBC
- char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
- s = __strerror_r (errnum, errbuf, sizeof errbuf);
-# else
- if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
- s = errbuf;
- else
- s = 0;
-# endif
-#else
- s = strerror (errnum);
-#endif
-
-#if !_LIBC
- if (! s)
- s = _("Unknown system error");
-#endif
-
-#if _LIBC
- __fxprintf (NULL, ": %s", s);
-#else
- fprintf (stderr, ": %s", s);
-#endif
-}
-
-static void
-error_tail (int status, int errnum, const char *message, va_list args)
-{
-#if _LIBC
- if (_IO_fwide (stderr, 0) > 0)
- {
-# define ALLOCA_LIMIT 2000
- size_t len = strlen (message) + 1;
- wchar_t *wmessage = NULL;
- mbstate_t st;
- size_t res;
- const char *tmp;
- bool use_malloc = false;
-
- while (1)
- {
- if (__libc_use_alloca (len * sizeof (wchar_t)))
- wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (!use_malloc)
- wmessage = NULL;
-
- wchar_t *p = (wchar_t *) realloc (wmessage,
- len * sizeof (wchar_t));
- if (p == NULL)
- {
- free (wmessage);
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- wmessage = p;
- use_malloc = true;
- }
-
- memset (&st, '\0', sizeof (st));
- tmp = message;
-
- res = mbsrtowcs (wmessage, &tmp, len, &st);
- if (res != len)
- break;
-
- if (__builtin_expect (len >= SIZE_MAX / 2, 0))
- {
- /* This really should not happen if everything is fine. */
- res = (size_t) -1;
- break;
- }
-
- len *= 2;
- }
-
- if (res == (size_t) -1)
- {
- /* The string cannot be converted. */
- if (use_malloc)
- {
- free (wmessage);
- use_malloc = false;
- }
- wmessage = (wchar_t *) L"???";
- }
-
- __vfwprintf (stderr, wmessage, args);
-
- if (use_malloc)
- free (wmessage);
- }
- else
-#endif
- vfprintf (stderr, message, args);
- va_end (args);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
-#if _LIBC
- __fxprintf (NULL, "\n");
-#else
- putc ('\n', stderr);
-#endif
- fflush (stderr);
- if (status)
- exit (status);
-}
-
-
-/* Print the program name and error message MESSAGE, which is a printf-style
- format string with optional args.
- If ERRNUM is nonzero, print its corresponding system error message.
- Exit with status STATUS if it is nonzero. */
-void
-error (int status, int errnum, const char *message, ...)
-{
- va_list args;
-
-#if defined _LIBC && defined __libc_ptf_call
- /* We do not want this call to be cut short by a thread
- cancellation. Therefore disable cancellation for now. */
- int state = PTHREAD_CANCEL_ENABLE;
- __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
- 0);
-#endif
-
- fflush (stdout);
-#ifdef _LIBC
- _IO_flockfile (stderr);
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC
- __fxprintf (NULL, "%s: ", program_name);
-#else
- fprintf (stderr, "%s: ", program_name);
-#endif
- }
-
- va_start (args, message);
- error_tail (status, errnum, message, args);
-
-#ifdef _LIBC
- _IO_funlockfile (stderr);
-# ifdef __libc_ptf_call
- __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
-# endif
-#endif
-}
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-int error_one_per_line;
-
-void
-error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message, ...)
-{
- va_list args;
-
- if (error_one_per_line)
- {
- static const char *old_file_name;
- static unsigned int old_line_number;
-
- if (old_line_number == line_number
- && (file_name == old_file_name
- || strcmp (old_file_name, file_name) == 0))
- /* Simply return and print nothing. */
- return;
-
- old_file_name = file_name;
- old_line_number = line_number;
- }
-
-#if defined _LIBC && defined __libc_ptf_call
- /* We do not want this call to be cut short by a thread
- cancellation. Therefore disable cancellation for now. */
- int state = PTHREAD_CANCEL_ENABLE;
- __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
- 0);
-#endif
-
- fflush (stdout);
-#ifdef _LIBC
- _IO_flockfile (stderr);
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC
- __fxprintf (NULL, "%s:", program_name);
-#else
- fprintf (stderr, "%s:", program_name);
-#endif
- }
-
-#if _LIBC
- __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
-#else
- fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
-#endif
-
- va_start (args, message);
- error_tail (status, errnum, message, args);
-
-#ifdef _LIBC
- _IO_funlockfile (stderr);
-# ifdef __libc_ptf_call
- __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
-# endif
-#endif
-}
-
-#ifdef _LIBC
-/* Make the weak alias. */
-# undef error
-# undef error_at_line
-weak_alias (__error, error)
-weak_alias (__error_at_line, error_at_line)
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/error.h b/sources/host-tools/sed-4.2.1/lib/error.h
deleted file mode 100644
index 6d49681..0000000
--- a/sources/host-tools/sed-4.2.1/lib/error.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Declaration for error-reporting function
- Copyright (C) 1995, 1996, 1997, 2003, 2006, 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _ERROR_H
-#define _ERROR_H 1
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Print a message with `fprintf (stderr, FORMAT, ...)';
- if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
- If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
-
-extern void error (int __status, int __errnum, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-
-extern void error_at_line (int __status, int __errnum, const char *__fname,
- unsigned int __lineno, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-extern void (*error_print_progname) (void);
-
-/* This variable is incremented each time `error' is called. */
-extern unsigned int error_message_count;
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-extern int error_one_per_line;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* error.h */
diff --git a/sources/host-tools/sed-4.2.1/lib/exitfail.c b/sources/host-tools/sed-4.2.1/lib/exitfail.c
deleted file mode 100644
index 6d1fe4a..0000000
--- a/sources/host-tools/sed-4.2.1/lib/exitfail.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Failure exit status
-
- Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include "exitfail.h"
-
-#include <stdlib.h>
-
-int volatile exit_failure = EXIT_FAILURE;
diff --git a/sources/host-tools/sed-4.2.1/lib/exitfail.h b/sources/host-tools/sed-4.2.1/lib/exitfail.h
deleted file mode 100644
index 713f259..0000000
--- a/sources/host-tools/sed-4.2.1/lib/exitfail.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Failure exit status
-
- Copyright (C) 2002 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-extern int volatile exit_failure;
diff --git a/sources/host-tools/sed-4.2.1/lib/file-has-acl.c b/sources/host-tools/sed-4.2.1/lib/file-has-acl.c
deleted file mode 100644
index c3b77c3..0000000
--- a/sources/host-tools/sed-4.2.1/lib/file-has-acl.c
+++ /dev/null
@@ -1,520 +0,0 @@
-/* Test whether a file has a nontrivial access control list.
-
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */
-
-#include <config.h>
-
-#include "acl.h"
-
-#include "acl-internal.h"
-
-
-#if USE_ACL && HAVE_ACL_GET_FILE
-
-# if HAVE_ACL_TYPE_EXTENDED /* MacOS X */
-
-/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED.
- Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial. */
-int
-acl_extended_nontrivial (acl_t acl)
-{
- /* acl is non-trivial if it is non-empty. */
- return (acl_entries (acl) > 0);
-}
-
-# else /* Linux, FreeBSD, IRIX, Tru64 */
-
-/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS.
- Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode.
- Return -1 and set errno upon failure to determine it. */
-int
-acl_access_nontrivial (acl_t acl)
-{
- /* acl is non-trivial if it has some entries other than for "user::",
- "group::", and "other::". Normally these three should be present
- at least, allowing us to write
- return (3 < acl_entries (acl));
- but the following code is more robust. */
-# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */
-
- acl_entry_t ace;
- int got_one;
-
- for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace);
- got_one > 0;
- got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace))
- {
- acl_tag_t tag;
- if (acl_get_tag_type (ace, &tag) < 0)
- return -1;
- if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER))
- return 1;
- }
- return got_one;
-
-# else /* IRIX, Tru64 */
-# if HAVE_ACL_TO_SHORT_TEXT /* IRIX */
- /* Don't use acl_get_entry: it is undocumented. */
-
- int count = acl->acl_cnt;
- int i;
-
- for (i = 0; i < count; i++)
- {
- acl_entry_t ace = &acl->acl_entry[i];
- acl_tag_t tag = ace->ae_tag;
-
- if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ
- || tag == ACL_OTHER_OBJ))
- return 1;
- }
- return 0;
-
-# endif
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- /* Don't use acl_get_entry: it takes only one argument and does not work. */
-
- int count = acl->acl_num;
- acl_entry_t ace;
-
- for (ace = acl->acl_first; count > 0; ace = ace->next, count--)
- {
- acl_tag_t tag;
- acl_perm_t perm;
-
- tag = ace->entry->acl_type;
- if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER))
- return 1;
-
- perm = ace->entry->acl_perm;
- /* On Tru64, perm can also contain non-standard bits such as
- PERM_INSERT, PERM_DELETE, PERM_MODIFY, PERM_LOOKUP, ... */
- if ((perm & ~(ACL_READ | ACL_WRITE | ACL_EXECUTE)) != 0)
- return 1;
- }
- return 0;
-
-# endif
-# endif
-}
-
-# endif
-
-
-#elif USE_ACL && HAVE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
-
-# if !defined ACL_NO_TRIVIAL /* Solaris <= 10, Cygwin */
-
-/* Test an ACL retrieved with GETACL.
- Return 1 if the given ACL, consisting of COUNT entries, is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-int
-acl_nontrivial (int count, aclent_t *entries)
-{
- int i;
-
- for (i = 0; i < count; i++)
- {
- aclent_t *ace = &entries[i];
-
- /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat().
- If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat().
- We don't need to check ace->a_id in these cases. */
- if (!(ace->a_type == USER_OBJ
- || ace->a_type == GROUP_OBJ
- || ace->a_type == OTHER_OBJ
- /* Note: Cygwin does not return a CLASS_OBJ ("mask:") entry
- sometimes. */
- || ace->a_type == CLASS_OBJ))
- return 1;
- }
- return 0;
-}
-
-# ifdef ACE_GETACL
-
-/* Test an ACL retrieved with ACE_GETACL.
- Return 1 if the given ACL, consisting of COUNT entries, is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-int
-acl_ace_nontrivial (int count, ace_t *entries)
-{
- int i;
-
- /* The flags in the ace_t structure changed in a binary incompatible way
- when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15.
- How to distinguish the two conventions at runtime?
- In the old convention, usually three ACEs have a_flags = ACE_OWNER /
- ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new
- convention, these values are not used. */
- int old_convention = 0;
-
- for (i = 0; i < count; i++)
- if (entries[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_OTHER))
- {
- old_convention = 1;
- break;
- }
-
- if (old_convention)
- /* Running on Solaris 10. */
- for (i = 0; i < count; i++)
- {
- ace_t *ace = &entries[i];
-
- /* Note:
- If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat().
- If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat().
- We don't need to check ace->a_who in these cases. */
- if (!(ace->a_type == ALLOW
- && (ace->a_flags == ACE_OWNER
- || ace->a_flags == ACE_GROUP
- || ace->a_flags == ACE_OTHER)))
- return 1;
- }
- else
- /* Running on Solaris 10 (newer version) or Solaris 11. */
- for (i = 0; i < count; i++)
- {
- ace_t *ace = &entries[i];
-
- if (!(ace->a_type == ACE_ACCESS_ALLOWED_ACE_TYPE
- && (ace->a_flags == NEW_ACE_OWNER
- || ace->a_flags
- == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)
- || ace->a_flags == ACE_EVERYONE)
- && (ace->a_access_mask
- & ~(NEW_ACE_READ_DATA | NEW_ACE_WRITE_DATA | NEW_ACE_EXECUTE))
- == 0))
- return 1;
- }
-
- return 0;
-}
-
-# endif
-
-# endif
-
-#elif USE_ACL && HAVE_GETACL /* HP-UX */
-
-/* Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-int
-acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb)
-{
- int i;
-
- for (i = 0; i < count; i++)
- {
- struct acl_entry *ace = &entries[i];
-
- if (!((ace->uid == sb->st_uid && ace->gid == ACL_NSGROUP)
- || (ace->uid == ACL_NSUSER && ace->gid == sb->st_gid)
- || (ace->uid == ACL_NSUSER && ace->gid == ACL_NSGROUP)))
- return 1;
- }
- return 0;
-}
-
-#elif USE_ACL && HAVE_ACLX_GET && 0 /* AIX */
-
-/* TODO */
-
-#elif USE_ACL && HAVE_STATACL /* older AIX */
-
-/* Return 1 if the given ACL is non-trivial.
- Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */
-int
-acl_nontrivial (struct acl *a)
-{
- /* The normal way to iterate through an ACL is like this:
- struct acl_entry *ace;
- for (ace = a->acl_ext; ace != acl_last (a); ace = acl_nxt (ace))
- {
- struct ace_id *aei;
- switch (ace->ace_type)
- {
- case ACC_PERMIT:
- case ACC_DENY:
- case ACC_SPECIFY:
- ...;
- }
- for (aei = ace->ace_id; aei != id_last (ace); aei = id_nxt (aei))
- ...
- }
- */
- return (acl_last (a) != a->acl_ext ? 1 : 0);
-}
-
-#endif
-
-
-/* Return 1 if NAME has a nontrivial access control list, 0 if NAME
- only has no or a base access control list, and -1 (setting errno)
- on error. SB must be set to the stat buffer of FILE. */
-
-int
-file_has_acl (char const *name, struct stat const *sb)
-{
-#if USE_ACL
- if (! S_ISLNK (sb->st_mode))
- {
-# if HAVE_ACL_GET_FILE
-
- /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
- /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
- int ret;
-
- if (HAVE_ACL_EXTENDED_FILE) /* Linux */
- {
- /* On Linux, acl_extended_file is an optimized function: It only
- makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for
- ACL_TYPE_DEFAULT. */
- ret = acl_extended_file (name);
- }
- else /* FreeBSD, MacOS X, IRIX, Tru64 */
- {
-# if HAVE_ACL_TYPE_EXTENDED /* MacOS X */
- /* On MacOS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. There is no point in making
- these two useless calls. The real ACL is retrieved through
- acl_get_file (name, ACL_TYPE_EXTENDED). */
- acl_t acl = acl_get_file (name, ACL_TYPE_EXTENDED);
- if (acl)
- {
- ret = acl_extended_nontrivial (acl);
- acl_free (acl);
- }
- else
- ret = -1;
-# else /* FreeBSD, IRIX, Tru64 */
- acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
- if (acl)
- {
- int saved_errno;
-
- ret = acl_access_nontrivial (acl);
- saved_errno = errno;
- acl_free (acl);
- errno = saved_errno;
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always
- returns NULL with errno not set. There is no point in
- making this call. */
-# else /* FreeBSD, IRIX */
- /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory
- either both succeed or both fail; it depends on the
- filesystem. Therefore there is no point in making the second
- call if the first one already failed. */
- if (ret == 0 && S_ISDIR (sb->st_mode))
- {
- acl = acl_get_file (name, ACL_TYPE_DEFAULT);
- if (acl)
- {
- ret = (0 < acl_entries (acl));
- acl_free (acl);
- }
- else
- ret = -1;
- }
-# endif
- }
- else
- ret = -1;
-# endif
- }
- if (ret < 0)
- return ACL_NOT_WELL_SUPPORTED (errno) ? 0 : -1;
- return ret;
-
-# elif HAVE_ACL && defined GETACLCNT /* Solaris, Cygwin, not HP-UX */
-
-# if defined ACL_NO_TRIVIAL
-
- /* Solaris 10 (newer version), which has additional API declared in
- <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
- acl_fromtext, ...). */
- return acl_trivial (name);
-
-# else /* Solaris, Cygwin, general case */
-
- /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions
- of Unixware. The acl() call returns the access and default ACL both
- at once. */
- int count;
- {
- aclent_t *entries;
-
- for (;;)
- {
- count = acl (name, GETACLCNT, 0, NULL);
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == ENOTSUP)
- break;
- else
- return -1;
- }
-
- if (count == 0)
- break;
-
- /* Don't use MIN_ACL_ENTRIES: It's set to 4 on Cygwin, but Cygwin
- returns only 3 entries for files with no ACL. But this is safe:
- If there are more than 4 entries, there cannot be only the
- "user::", "group::", "other:", and "mask:" entries. */
- if (count > 4)
- return 1;
-
- entries = (aclent_t *) malloc (count * sizeof (aclent_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- if (acl (name, GETACL, count, entries) == count)
- {
- if (acl_nontrivial (count, entries))
- {
- free (entries);
- return 1;
- }
- free (entries);
- break;
- }
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- free (entries);
- }
- }
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems). */
- {
- ace_t *entries;
-
- for (;;)
- {
- count = acl (name, ACE_GETACLCNT, 0, NULL);
-
- if (count < 0)
- {
- if (errno == ENOSYS || errno == EINVAL)
- break;
- else
- return -1;
- }
-
- if (count == 0)
- break;
-
- /* If there are more than 3 entries, there cannot be only the
- ACE_OWNER, ACE_GROUP, ACE_OTHER entries. */
- if (count > 3)
- return 1;
-
- entries = (ace_t *) malloc (count * sizeof (ace_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- if (acl (name, ACE_GETACL, count, entries) == count)
- {
- if (acl_ace_nontrivial (count, entries))
- {
- free (entries);
- return 1;
- }
- free (entries);
- break;
- }
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- free (entries);
- }
- }
-# endif
-
- return 0;
-# endif
-
-# elif HAVE_GETACL /* HP-UX */
-
- int count;
- struct acl_entry entries[NACLENTRIES];
-
- for (;;)
- {
- count = getacl (name, 0, NULL);
-
- if (count < 0)
- return (errno == ENOSYS || errno == EOPNOTSUPP ? 0 : -1);
-
- if (count == 0)
- return 0;
-
- if (count > NACLENTRIES)
- /* If NACLENTRIES cannot be trusted, use dynamic memory
- allocation. */
- abort ();
-
- /* If there are more than 3 entries, there cannot be only the
- (uid,%), (%,gid), (%,%) entries. */
- if (count > 3)
- return 1;
-
- if (getacl (name, count, entries) == count)
- {
- struct stat statbuf;
-
- if (stat (name, &statbuf) < 0)
- return -1;
-
- return acl_nontrivial (count, entries, &statbuf);
- }
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- }
-
-# elif HAVE_ACLX_GET && 0 /* AIX */
-
- /* TODO: use aclx_get(), and then? */
-
-# elif HAVE_STATACL /* older AIX */
-
- union { struct acl a; char room[4096]; } u;
-
- if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0)
- return -1;
-
- return acl_nontrivial (&u.a);
-
-# endif
- }
-#endif
-
- return 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/getdelim.c b/sources/host-tools/sed-4.2.1/lib/getdelim.c
deleted file mode 100644
index 437af9f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getdelim.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* getdelim.c --- Implementation of replacement getdelim function.
- Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007,
- 2008, 2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 3, or (at
- your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-/* Ported from glibc by Simon Josefsson. */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include <limits.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifndef SSIZE_MAX
-# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
-#endif
-
-#if USE_UNLOCKED_IO
-# include "unlocked-io.h"
-# define getc_maybe_unlocked(fp) getc(fp)
-#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED
-# undef flockfile
-# undef funlockfile
-# define flockfile(x) ((void) 0)
-# define funlockfile(x) ((void) 0)
-# define getc_maybe_unlocked(fp) getc(fp)
-#else
-# define getc_maybe_unlocked(fp) getc_unlocked(fp)
-#endif
-
-/* Read up to (and including) a DELIMITER from FP into *LINEPTR (and
- NUL-terminate it). *LINEPTR is a pointer returned from malloc (or
- NULL), pointing to *N characters of space. It is realloc'ed as
- necessary. Returns the number of characters read (not including
- the null terminator), or -1 on error or EOF. */
-
-ssize_t
-getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
-{
- ssize_t result;
- size_t cur_len = 0;
-
- if (lineptr == NULL || n == NULL || fp == NULL)
- {
- errno = EINVAL;
- return -1;
- }
-
- flockfile (fp);
-
- if (*lineptr == NULL || *n == 0)
- {
- char *new_lineptr;
- *n = 120;
- new_lineptr = (char *) realloc (*lineptr, *n);
- if (new_lineptr == NULL)
- {
- result = -1;
- goto unlock_return;
- }
- *lineptr = new_lineptr;
- }
-
- for (;;)
- {
- int i;
-
- i = getc_maybe_unlocked (fp);
- if (i == EOF)
- {
- result = -1;
- break;
- }
-
- /* Make enough space for len+1 (for final NUL) bytes. */
- if (cur_len + 1 >= *n)
- {
- size_t needed_max =
- SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
- size_t needed = 2 * *n + 1; /* Be generous. */
- char *new_lineptr;
-
- if (needed_max < needed)
- needed = needed_max;
- if (cur_len + 1 >= needed)
- {
- result = -1;
- errno = EOVERFLOW;
- goto unlock_return;
- }
-
- new_lineptr = (char *) realloc (*lineptr, needed);
- if (new_lineptr == NULL)
- {
- result = -1;
- goto unlock_return;
- }
-
- *lineptr = new_lineptr;
- *n = needed;
- }
-
- (*lineptr)[cur_len] = i;
- cur_len++;
-
- if (i == delimiter)
- break;
- }
- (*lineptr)[cur_len] = '\0';
- result = cur_len ? cur_len : result;
-
- unlock_return:
- funlockfile (fp); /* doesn't set errno */
-
- return result;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/getline.c b/sources/host-tools/sed-4.2.1/lib/getline.c
deleted file mode 100644
index 6be04ef..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getline.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* getline.c --- Implementation of replacement getline function.
- Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 3, or (at
- your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA. */
-
-/* Written by Simon Josefsson. */
-
-#include <config.h>
-
-#include <stdio.h>
-
-ssize_t
-getline (char **lineptr, size_t *n, FILE *stream)
-{
- return getdelim (lineptr, n, '\n', stream);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/getopt.c b/sources/host-tools/sed-4.2.1/lib/getopt.c
deleted file mode 100644
index f1e6d1f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getopt.c
+++ /dev/null
@@ -1,1186 +0,0 @@
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to drepper@gnu.org
- before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006,2008
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _LIBC
-# include <config.h>
-#endif
-
-#include "getopt.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "gettext.h"
-# define _(msgid) gettext (msgid)
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-#ifndef attribute_hidden
-# define attribute_hidden
-#endif
-
-/* Unlike standard Unix `getopt', functions like `getopt_long'
- let the user intersperse the options with the other arguments.
-
- As `getopt_long' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Using `getopt' or setting the environment variable POSIXLY_CORRECT
- disables permutation.
- Then the application's behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-#include "getopt_int.h"
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* 1003.2 says this must be 1 before any call. */
-int optind = 1;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Keep a global copy of all internal members of getopt_data. */
-
-static struct _getopt_data getopt_data;
-
-
-#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV
-extern char *getenv ();
-#endif
-
-#ifdef _LIBC
-/* Stored original parameters.
- XXX This is no good solution. We should rather copy the args so
- that we can compare them later. But we must not use malloc(3). */
-extern int __libc_argc;
-extern char **__libc_argv;
-
-/* Bash 2.0 gives us an environment variable containing flags
- indicating ARGV elements that should not be considered arguments. */
-
-# ifdef USE_NONOPTION_FLAGS
-/* Defined in getopt_init.c */
-extern char *__getopt_nonoption_flags;
-# endif
-
-# ifdef USE_NONOPTION_FLAGS
-# define SWAP_FLAGS(ch1, ch2) \
- if (d->__nonoption_flags_len > 0) \
- { \
- char __tmp = __getopt_nonoption_flags[ch1]; \
- __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
- __getopt_nonoption_flags[ch2] = __tmp; \
- }
-# else
-# define SWAP_FLAGS(ch1, ch2)
-# endif
-#else /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-static void
-exchange (char **argv, struct _getopt_data *d)
-{
- int bottom = d->__first_nonopt;
- int middle = d->__last_nonopt;
- int top = d->optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- /* First make sure the handling of the `__getopt_nonoption_flags'
- string can work normally. Our top argument must be in the range
- of the string. */
- if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
- {
- /* We must extend the array. The user plays games with us and
- presents new arguments. */
- char *new_str = malloc (top + 1);
- if (new_str == NULL)
- d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
- else
- {
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- d->__nonoption_flags_max_len),
- '\0', top + 1 - d->__nonoption_flags_max_len);
- d->__nonoption_flags_max_len = top + 1;
- __getopt_nonoption_flags = new_str;
- }
- }
-#endif
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- SWAP_FLAGS (bottom + i, middle + i);
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- d->__first_nonopt += (d->optind - d->__last_nonopt);
- d->__last_nonopt = d->optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-static const char *
-_getopt_initialize (int argc, char **argv, const char *optstring,
- int posixly_correct, struct _getopt_data *d)
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- d->__first_nonopt = d->__last_nonopt = d->optind;
-
- d->__nextchar = NULL;
-
- d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- d->__ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- d->__ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (d->__posixly_correct)
- d->__ordering = REQUIRE_ORDER;
- else
- d->__ordering = PERMUTE;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- if (!d->__posixly_correct
- && argc == __libc_argc && argv == __libc_argv)
- {
- if (d->__nonoption_flags_max_len == 0)
- {
- if (__getopt_nonoption_flags == NULL
- || __getopt_nonoption_flags[0] == '\0')
- d->__nonoption_flags_max_len = -1;
- else
- {
- const char *orig_str = __getopt_nonoption_flags;
- int len = d->__nonoption_flags_max_len = strlen (orig_str);
- if (d->__nonoption_flags_max_len < argc)
- d->__nonoption_flags_max_len = argc;
- __getopt_nonoption_flags =
- (char *) malloc (d->__nonoption_flags_max_len);
- if (__getopt_nonoption_flags == NULL)
- d->__nonoption_flags_max_len = -1;
- else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
- '\0', d->__nonoption_flags_max_len - len);
- }
- }
- d->__nonoption_flags_len = d->__nonoption_flags_max_len;
- }
- else
- d->__nonoption_flags_len = 0;
-#endif
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns -1.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options.
-
- If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT
- environment variable were set. */
-
-int
-_getopt_internal_r (int argc, char **argv, const char *optstring,
- const struct option *longopts, int *longind,
- int long_only, int posixly_correct, struct _getopt_data *d)
-{
- int print_errors = d->opterr;
- if (optstring[0] == ':')
- print_errors = 0;
-
- if (argc < 1)
- return -1;
-
- d->optarg = NULL;
-
- if (d->optind == 0 || !d->__initialized)
- {
- if (d->optind == 0)
- d->optind = 1; /* Don't scan ARGV[0], the program name. */
- optstring = _getopt_initialize (argc, argv, optstring,
- posixly_correct, d);
- d->__initialized = 1;
- }
-
- /* Test whether ARGV[optind] points to a non-option argument.
- Either it does not have option syntax, or there is an environment flag
- from the shell indicating it is not an option. The later information
- is only used when the used in the GNU libc. */
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
- || (d->optind < d->__nonoption_flags_len \
- && __getopt_nonoption_flags[d->optind] == '1'))
-#else
-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
-#endif
-
- if (d->__nextchar == NULL || *d->__nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
- moved back by the user (who may also have changed the arguments). */
- if (d->__last_nonopt > d->optind)
- d->__last_nonopt = d->optind;
- if (d->__first_nonopt > d->optind)
- d->__first_nonopt = d->optind;
-
- if (d->__ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (d->__first_nonopt != d->__last_nonopt
- && d->__last_nonopt != d->optind)
- exchange ((char **) argv, d);
- else if (d->__last_nonopt != d->optind)
- d->__first_nonopt = d->optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (d->optind < argc && NONOPTION_P)
- d->optind++;
- d->__last_nonopt = d->optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (d->optind != argc && !strcmp (argv[d->optind], "--"))
- {
- d->optind++;
-
- if (d->__first_nonopt != d->__last_nonopt
- && d->__last_nonopt != d->optind)
- exchange ((char **) argv, d);
- else if (d->__first_nonopt == d->__last_nonopt)
- d->__first_nonopt = d->optind;
- d->__last_nonopt = argc;
-
- d->optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (d->optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (d->__first_nonopt != d->__last_nonopt)
- d->optind = d->__first_nonopt;
- return -1;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if (NONOPTION_P)
- {
- if (d->__ordering == REQUIRE_ORDER)
- return -1;
- d->optarg = argv[d->optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- d->__nextchar = (argv[d->optind] + 1
- + (longopts != NULL && argv[d->optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[d->optind][1] == '-'
- || (long_only && (argv[d->optind][2]
- || !strchr (optstring, argv[d->optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = -1;
- int option_index;
-
- for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
- {
- if ((unsigned int) (nameend - d->__nextchar)
- == (unsigned int) strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else if (long_only
- || pfound->has_arg != p->has_arg
- || pfound->flag != p->flag
- || pfound->val != p->val)
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[d->optind]);
-#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optind++;
- d->optopt = 0;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- d->optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- d->optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (argv[d->optind - 1][1] == '-')
- {
- /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#else
- fprintf (stderr, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#endif
- }
- else
- {
- /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[d->optind - 1][0],
- pfound->name);
-#else
- fprintf (stderr, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[d->optind - 1][0],
- pfound->name);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#endif
- }
-
- d->__nextchar += strlen (d->__nextchar);
-
- d->optopt = pfound->val;
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (d->optind < argc)
- d->optarg = argv[d->optind++];
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
-#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optopt = pfound->val;
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- d->__nextchar += strlen (d->__nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[d->optind][1] == '-'
- || strchr (optstring, *d->__nextchar) == NULL)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (argv[d->optind][1] == '-')
- {
- /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
- argv[0], d->__nextchar);
-#else
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
- argv[0], d->__nextchar);
-#endif
- }
- else
- {
- /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[d->optind][0], d->__nextchar);
-#else
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[d->optind][0], d->__nextchar);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#endif
- }
- d->__nextchar = (char *) "";
- d->optind++;
- d->optopt = 0;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *d->__nextchar++;
- char *temp = strchr (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*d->__nextchar == '\0')
- ++d->optind;
-
- if (temp == NULL || c == ':')
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (d->__posixly_correct)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
-#endif
- }
- else
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#endif
- }
- d->optopt = c;
- return '?';
- }
- /* Convenience. Treat POSIX -W foo same as long option --foo */
- if (temp[0] == 'W' && temp[1] == ';')
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = 0;
- int option_index;
-
- /* This is an option that requires an argument. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- d->optind++;
- }
- else if (d->optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
- argv[0], c);
-#endif
- }
- d->optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- return c;
- }
- else
- /* We already incremented `d->optind' once;
- increment it again when taking next ARGV-elt as argument. */
- d->optarg = argv[d->optind++];
-
- /* optarg is now the argument, see if it's in the
- table of longopts. */
-
- for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
- nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
- {
- if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
- if (ambig && !exact)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]);
-#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optind++;
- return '?';
- }
- if (pfound != NULL)
- {
- option_index = indfound;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- d->optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#endif
- }
-
- d->__nextchar += strlen (d->__nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (d->optind < argc)
- d->optarg = argv[d->optind++];
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
-#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- d->__nextchar += strlen (d->__nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- d->__nextchar = NULL;
- return 'W'; /* Let the application handle it. */
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- d->optind++;
- }
- else
- d->optarg = NULL;
- d->__nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- d->optind++;
- }
- else if (d->optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- _IO_flockfile (stderr);
-
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-
- __fxprintf (NULL, "%s", buf);
-
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c);
-#endif
- }
- d->optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- d->optarg = argv[d->optind++];
- d->__nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-_getopt_internal (int argc, char **argv, const char *optstring,
- const struct option *longopts, int *longind,
- int long_only, int posixly_correct)
-{
- int result;
-
- getopt_data.optind = optind;
- getopt_data.opterr = opterr;
-
- result = _getopt_internal_r (argc, argv, optstring, longopts, longind,
- long_only, posixly_correct, &getopt_data);
-
- optind = getopt_data.optind;
- optarg = getopt_data.optarg;
- optopt = getopt_data.optopt;
-
- return result;
-}
-
-/* glibc gets a LSB-compliant getopt.
- Standalone applications get a POSIX-compliant getopt. */
-#if _LIBC
-enum { POSIXLY_CORRECT = 0 };
-#else
-enum { POSIXLY_CORRECT = 1 };
-#endif
-
-int
-getopt (int argc, char *const *argv, const char *optstring)
-{
- return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0,
- POSIXLY_CORRECT);
-}
-
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
- the above definition of `getopt'. */
-
-int
-main (int argc, char **argv)
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
-
- c = getopt (argc, argv, "abc:d:0123456789");
- if (c == -1)
- break;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
diff --git a/sources/host-tools/sed-4.2.1/lib/getopt.in.h b/sources/host-tools/sed-4.2.1/lib/getopt.in.h
deleted file mode 100644
index d2d3e6e..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getopt.in.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/* Declarations for getopt.
- Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _GETOPT_H
-
-#ifndef __need_getopt
-# define _GETOPT_H 1
-#endif
-
-/* Standalone applications should #define __GETOPT_PREFIX to an
- identifier that prefixes the external functions and variables
- defined in this header. When this happens, include the
- headers that might declare getopt so that they will not cause
- confusion if included after this file. Then systematically rename
- identifiers so that they do not collide with the system functions
- and variables. Renaming avoids problems with some compilers and
- linkers. */
-#if defined __GETOPT_PREFIX && !defined __need_getopt
-# include <stdlib.h>
-# include <stdio.h>
-# include <unistd.h>
-# undef __need_getopt
-# undef getopt
-# undef getopt_long
-# undef getopt_long_only
-# undef optarg
-# undef opterr
-# undef optind
-# undef optopt
-# define __GETOPT_CONCAT(x, y) x ## y
-# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# define getopt __GETOPT_ID (getopt)
-# define getopt_long __GETOPT_ID (getopt_long)
-# define getopt_long_only __GETOPT_ID (getopt_long_only)
-# define optarg __GETOPT_ID (optarg)
-# define opterr __GETOPT_ID (opterr)
-# define optind __GETOPT_ID (optind)
-# define optopt __GETOPT_ID (optopt)
-#endif
-
-/* Standalone applications get correct prototypes for getopt_long and
- getopt_long_only; they declare "char **argv". libc uses prototypes
- with "char *const *argv" that are incorrect because getopt_long and
- getopt_long_only can permute argv; this is required for backward
- compatibility (e.g., for LSB 2.0.1).
-
- This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
- but it caused redefinition warnings if both unistd.h and getopt.h were
- included, since unistd.h includes getopt.h having previously defined
- __need_getopt.
-
- The only place where __getopt_argv_const is used is in definitions
- of getopt_long and getopt_long_only below, but these are visible
- only if __need_getopt is not defined, so it is quite safe to rewrite
- the conditional as follows:
-*/
-#if !defined __need_getopt
-# if defined __GETOPT_PREFIX
-# define __getopt_argv_const /* empty */
-# else
-# define __getopt_argv_const const
-# endif
-#endif
-
-/* If __GNU_LIBRARY__ is not already defined, either we are being used
- standalone, or this is the first header included in the source file.
- If we are being used with glibc, we need to include <features.h>, but
- that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
- not defined, include <ctype.h>, which will pull in <features.h> for us
- if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
- doesn't flood the namespace with stuff the way some other headers do.) */
-#if !defined __GNU_LIBRARY__
-# include <ctype.h>
-#endif
-
-#ifndef __THROW
-# ifndef __GNUC_PREREQ
-# define __GNUC_PREREQ(maj, min) (0)
-# endif
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-# define __THROW throw ()
-# else
-# define __THROW
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int optopt;
-
-#ifndef __need_getopt
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
- const char *name;
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-#endif /* need getopt */
-
-
-/* Get definitions and prototypes for functions to process the
- arguments in ARGV (ARGC of them, minus the program name) for
- options given in OPTS.
-
- Return the option character from OPTS just read. Return -1 when
- there are no more options. For unrecognized options, or options
- missing arguments, `optopt' is set to the option letter, and '?' is
- returned.
-
- The OPTS string is a list of characters which are recognized option
- letters, optionally followed by colons, specifying that that letter
- takes an argument, to be placed in `optarg'.
-
- If a letter in OPTS is followed by two colons, its argument is
- optional. This behavior is specific to the GNU `getopt'.
-
- The argument `--' causes premature termination of argument
- scanning, explicitly telling `getopt' that there are no more
- options.
-
- If OPTS begins with `-', then non-option arguments are treated as
- arguments to the option '\1'. This behavior is specific to the GNU
- `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in
- the environment, then do not permute arguments. */
-
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
- __THROW;
-
-#ifndef __need_getopt
-extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
-extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations. */
-#undef __need_getopt
-
-#endif /* getopt.h */
diff --git a/sources/host-tools/sed-4.2.1/lib/getopt1.c b/sources/host-tools/sed-4.2.1/lib/getopt1.c
deleted file mode 100644
index ba115c4..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getopt1.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006,2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifdef _LIBC
-# include <getopt.h>
-#else
-# include <config.h>
-# include "getopt.h"
-#endif
-#include "getopt_int.h"
-
-#include <stdio.h>
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-int
-getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
- const struct option *long_options, int *opt_index)
-{
- return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 0, 0);
-}
-
-int
-_getopt_long_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
-{
- return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 0, 0, d);
-}
-
-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
- If an option that starts with '-' (not '--') doesn't match a long option,
- but does match a short option, it is parsed as a short option
- instead. */
-
-int
-getopt_long_only (int argc, char *__getopt_argv_const *argv,
- const char *options,
- const struct option *long_options, int *opt_index)
-{
- return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 1, 0);
-}
-
-int
-_getopt_long_only_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
-{
- return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 1, 0, d);
-}
-
-
-#ifdef TEST
-
-#include <stdio.h>
-
-int
-main (int argc, char **argv)
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
- int option_index = 0;
- static const struct option long_options[] =
- {
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "abc:d:0123456789",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
diff --git a/sources/host-tools/sed-4.2.1/lib/getopt_int.h b/sources/host-tools/sed-4.2.1/lib/getopt_int.h
deleted file mode 100644
index 3c6628b..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getopt_int.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Internal declarations for getopt.
- Copyright (C) 1989-1994,1996-1999,2001,2003,2004
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _GETOPT_INT_H
-#define _GETOPT_INT_H 1
-
-extern int _getopt_internal (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only, int __posixly_correct);
-
-
-/* Reentrant versions which can handle parsing multiple argument
- vectors at the same time. */
-
-/* Data type for reentrant functions. */
-struct _getopt_data
-{
- /* These have exactly the same meaning as the corresponding global
- variables, except that they are used for the reentrant
- versions of getopt. */
- int optind;
- int opterr;
- int optopt;
- char *optarg;
-
- /* Internal members. */
-
- /* True if the internal members have been initialized. */
- int __initialized;
-
- /* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
- char *__nextchar;
-
- /* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters, or by calling getopt.
-
- PERMUTE is the default. We permute the contents of ARGV as we
- scan, so that eventually all the non-options are at the end.
- This allows options to be given in any order, even with programs
- that were not written to expect this.
-
- RETURN_IN_ORDER is an option available to programs that were
- written to expect options and other ARGV-elements in any order
- and that care about the ordering of the two. We describe each
- non-option ARGV-element as if it were the argument of an option
- with character code 1. Using `-' as the first character of the
- list of option characters selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
- enum
- {
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
- } __ordering;
-
- /* If the POSIXLY_CORRECT environment variable is set
- or getopt was called. */
- int __posixly_correct;
-
-
- /* Handle permutation of arguments. */
-
- /* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first
- of them; `last_nonopt' is the index after the last of them. */
-
- int __first_nonopt;
- int __last_nonopt;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- int __nonoption_flags_max_len;
- int __nonoption_flags_len;
-# endif
-};
-
-/* The initializer is necessary to set OPTIND and OPTERR to their
- default values and to clear the initialization flag. */
-#define _GETOPT_DATA_INITIALIZER { 1, 1 }
-
-extern int _getopt_internal_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only, int __posixly_correct,
- struct _getopt_data *__data);
-
-extern int _getopt_long_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- struct _getopt_data *__data);
-
-extern int _getopt_long_only_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts,
- int *__longind,
- struct _getopt_data *__data);
-
-#endif /* getopt_int.h */
diff --git a/sources/host-tools/sed-4.2.1/lib/getpagesize.c b/sources/host-tools/sed-4.2.1/lib/getpagesize.c
deleted file mode 100644
index 5498aa9..0000000
--- a/sources/host-tools/sed-4.2.1/lib/getpagesize.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* getpagesize emulation for systems where it cannot be done in a C macro.
-
- Copyright (C) 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible and Martin Lambers. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unistd.h>
-
-/* This implementation is only for native Win32 systems. */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-
-int
-getpagesize (void)
-{
- SYSTEM_INFO system_info;
- GetSystemInfo (&system_info);
- return system_info.dwPageSize;
-}
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/gettext.h b/sources/host-tools/sed-4.2.1/lib/gettext.h
deleted file mode 100644
index 544e385..0000000
--- a/sources/host-tools/sed-4.2.1/lib/gettext.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _LIBGETTEXT_H
-#define _LIBGETTEXT_H 1
-
-/* NLS can be disabled through the configure --disable-nls option. */
-#if ENABLE_NLS
-
-/* Get declarations of GNU message catalog functions. */
-# include <libintl.h>
-
-/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
- the gettext() and ngettext() macros. This is an alternative to calling
- textdomain(), and is useful for libraries. */
-# ifdef DEFAULT_TEXT_DOMAIN
-# undef gettext
-# define gettext(Msgid) \
- dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
-# undef ngettext
-# define ngettext(Msgid1, Msgid2, N) \
- dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
-# endif
-
-#else
-
-/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
- chokes if dcgettext is defined as a macro. So include it now, to make
- later inclusions of <locale.h> a NOP. We don't include <libintl.h>
- as well because people using "gettext.h" will not include <libintl.h>,
- and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
- is OK. */
-#if defined(__sun)
-# include <locale.h>
-#endif
-
-/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
- <libintl.h>, which chokes if dcgettext is defined as a macro. So include
- it now, to make later inclusions of <libintl.h> a NOP. */
-#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
-# include <cstdlib>
-# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
-# include <libintl.h>
-# endif
-#endif
-
-/* Disabled NLS.
- The casts to 'const char *' serve the purpose of producing warnings
- for invalid uses of the value returned from these functions.
- On pre-ANSI systems without 'const', the config.h file is supposed to
- contain "#define const". */
-# undef gettext
-# define gettext(Msgid) ((const char *) (Msgid))
-# undef dgettext
-# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
-# undef dcgettext
-# define dcgettext(Domainname, Msgid, Category) \
- ((void) (Category), dgettext (Domainname, Msgid))
-# undef ngettext
-# define ngettext(Msgid1, Msgid2, N) \
- ((N) == 1 \
- ? ((void) (Msgid2), (const char *) (Msgid1)) \
- : ((void) (Msgid1), (const char *) (Msgid2)))
-# undef dngettext
-# define dngettext(Domainname, Msgid1, Msgid2, N) \
- ((void) (Domainname), ngettext (Msgid1, Msgid2, N))
-# undef dcngettext
-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
- ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
-# undef textdomain
-# define textdomain(Domainname) ((const char *) (Domainname))
-# undef bindtextdomain
-# define bindtextdomain(Domainname, Dirname) \
- ((void) (Domainname), (const char *) (Dirname))
-# undef bind_textdomain_codeset
-# define bind_textdomain_codeset(Domainname, Codeset) \
- ((void) (Domainname), (const char *) (Codeset))
-
-#endif
-
-/* A pseudo function call that serves as a marker for the automated
- extraction of messages, but does not call gettext(). The run-time
- translation is done at a different place in the code.
- The argument, String, should be a literal string. Concatenated strings
- and other string expressions won't work.
- The macro's expansion is not parenthesized, so that it is suitable as
- initializer for static 'char[]' or 'const char[]' variables. */
-#define gettext_noop(String) String
-
-/* The separator between msgctxt and msgid in a .mo file. */
-#define GETTEXT_CONTEXT_GLUE "\004"
-
-/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
- MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
- short and rarely need to change.
- The letter 'p' stands for 'particular' or 'special'. */
-#ifdef DEFAULT_TEXT_DOMAIN
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#else
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#endif
-#define dpgettext(Domainname, Msgctxt, Msgid) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
-#ifdef DEFAULT_TEXT_DOMAIN
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#else
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#endif
-#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-pgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- int category)
-{
- const char *translation = dcgettext (domain, msg_ctxt_id, category);
- if (translation == msg_ctxt_id)
- return msgid;
- else
- return translation;
-}
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-npgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- const char *msgid_plural, unsigned long int n,
- int category)
-{
- const char *translation =
- dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
- if (translation == msg_ctxt_id || translation == msgid_plural)
- return (n == 1 ? msgid : msgid_plural);
- else
- return translation;
-}
-
-/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID
- can be arbitrary expressions. But for string literals these macros are
- less efficient than those above. */
-
-#include <string.h>
-
-#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
- (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
- /* || __STDC_VERSION__ >= 199901L */ )
-
-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
-#include <stdlib.h>
-#endif
-
-#define pgettext_expr(Msgctxt, Msgid) \
- dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
-#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
- dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-dcpgettext_expr (const char *domain,
- const char *msgctxt, const char *msgid,
- int category)
-{
- size_t msgctxt_len = strlen (msgctxt) + 1;
- size_t msgid_len = strlen (msgid) + 1;
- const char *translation;
-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
- char msg_ctxt_id[msgctxt_len + msgid_len];
-#else
- char buf[1024];
- char *msg_ctxt_id =
- (msgctxt_len + msgid_len <= sizeof (buf)
- ? buf
- : (char *) malloc (msgctxt_len + msgid_len));
- if (msg_ctxt_id != NULL)
-#endif
- {
- memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
- msg_ctxt_id[msgctxt_len - 1] = '\004';
- memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
- translation = dcgettext (domain, msg_ctxt_id, category);
-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
- if (msg_ctxt_id != buf)
- free (msg_ctxt_id);
-#endif
- if (translation != msg_ctxt_id)
- return translation;
- }
- return msgid;
-}
-
-#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
- dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
-#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
- dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-dcnpgettext_expr (const char *domain,
- const char *msgctxt, const char *msgid,
- const char *msgid_plural, unsigned long int n,
- int category)
-{
- size_t msgctxt_len = strlen (msgctxt) + 1;
- size_t msgid_len = strlen (msgid) + 1;
- const char *translation;
-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
- char msg_ctxt_id[msgctxt_len + msgid_len];
-#else
- char buf[1024];
- char *msg_ctxt_id =
- (msgctxt_len + msgid_len <= sizeof (buf)
- ? buf
- : (char *) malloc (msgctxt_len + msgid_len));
- if (msg_ctxt_id != NULL)
-#endif
- {
- memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
- msg_ctxt_id[msgctxt_len - 1] = '\004';
- memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
- translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
- if (msg_ctxt_id != buf)
- free (msg_ctxt_id);
-#endif
- if (!(translation == msg_ctxt_id || translation == msgid_plural))
- return translation;
- }
- return (n == 1 ? msgid : msgid_plural);
-}
-
-#endif /* _LIBGETTEXT_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/gettimeofday.c b/sources/host-tools/sed-4.2.1/lib/gettimeofday.c
deleted file mode 100644
index 1d977b1..0000000
--- a/sources/host-tools/sed-4.2.1/lib/gettimeofday.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Provide gettimeofday for systems that don't have it or for which it's broken.
-
- Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007 Free Software
- Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* written by Jim Meyering */
-
-#include <config.h>
-
-/* Specification. */
-#include <sys/time.h>
-
-#include <time.h>
-
-#if HAVE_SYS_TIMEB_H
-# include <sys/timeb.h>
-#endif
-
-#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
-
-/* Work around the bug in some systems whereby gettimeofday clobbers
- the static buffer that localtime uses for its return value. The
- gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
- this problem. The tzset replacement is necessary for at least
- Solaris 2.5, 2.5.1, and 2.6. */
-
-static struct tm tm_zero_buffer;
-static struct tm *localtime_buffer_addr = &tm_zero_buffer;
-
-#undef localtime
-extern struct tm *localtime (time_t const *);
-
-#undef gmtime
-extern struct tm *gmtime (time_t const *);
-
-/* This is a wrapper for localtime. It is used only on systems for which
- gettimeofday clobbers the static buffer used for localtime's result.
-
- On the first call, record the address of the static buffer that
- localtime uses for its result. */
-
-struct tm *
-rpl_localtime (time_t const *timep)
-{
- struct tm *tm = localtime (timep);
-
- if (localtime_buffer_addr == &tm_zero_buffer)
- localtime_buffer_addr = tm;
-
- return tm;
-}
-
-/* Same as above, since gmtime and localtime use the same buffer. */
-struct tm *
-rpl_gmtime (time_t const *timep)
-{
- struct tm *tm = gmtime (timep);
-
- if (localtime_buffer_addr == &tm_zero_buffer)
- localtime_buffer_addr = tm;
-
- return tm;
-}
-
-#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
-
-#if TZSET_CLOBBERS_LOCALTIME
-
-#undef tzset
-extern void tzset (void);
-
-/* This is a wrapper for tzset, for systems on which tzset may clobber
- the static buffer used for localtime's result. */
-void
-rpl_tzset (void)
-{
- /* Save and restore the contents of the buffer used for localtime's
- result around the call to tzset. */
- struct tm save = *localtime_buffer_addr;
- tzset ();
- *localtime_buffer_addr = save;
-}
-#endif
-
-/* This is a wrapper for gettimeofday. It is used only on systems
- that lack this function, or whose implementation of this function
- causes problems. */
-
-int
-rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz)
-{
-#undef gettimeofday
-#if HAVE_GETTIMEOFDAY
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
- /* Save and restore the contents of the buffer used for localtime's
- result around the call to gettimeofday. */
- struct tm save = *localtime_buffer_addr;
-# endif
-
- int result = gettimeofday (tv, tz);
-
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
- *localtime_buffer_addr = save;
-# endif
-
- return result;
-
-#else
-
-# if HAVE__FTIME
-
- struct _timeb timebuf;
- _ftime (&timebuf);
- tv->tv_sec = timebuf.time;
- tv->tv_usec = timebuf.millitm * 1000;
-
-# else
-
-# if !defined OK_TO_USE_1S_CLOCK
-# error "Only 1-second nominal clock resolution found. Is that intended?" \
- "If so, compile with the -DOK_TO_USE_1S_CLOCK option."
-# endif
- tv->tv_sec = time (NULL);
- tv->tv_usec = 0;
-
-# endif
-
- return 0;
-
-#endif
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/gnulib.mk b/sources/host-tools/sed-4.2.1/lib/gnulib.mk
deleted file mode 100644
index 9bc564a..0000000
--- a/sources/host-tools/sed-4.2.1/lib/gnulib.mk
+++ /dev/null
@@ -1,1156 +0,0 @@
-## DO NOT EDIT! GENERATED AUTOMATICALLY!
-## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libsed --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl acl alloca btowc c-ctype extensions getline getopt gettext localcharset mbrlen mbrtowc mbsinit memchr mkstemp obstack pathmax regex rename selinux-h stat-macros stdbool strerror strverscmp unlocked-io verify wcrtomb wctob
-
-AUTOMAKE_OPTIONS = 1.5 gnits
-
-SUBDIRS =
-noinst_HEADERS =
-noinst_LIBRARIES =
-noinst_LTLIBRARIES =
-EXTRA_DIST =
-BUILT_SOURCES =
-SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
-CLEANFILES =
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-
-AM_CPPFLAGS =
-AM_CFLAGS =
-
-noinst_LIBRARIES += libsed.a
-
-libsed_a_SOURCES =
-libsed_a_LIBADD = $(gl_LIBOBJS)
-libsed_a_DEPENDENCIES = $(gl_LIBOBJS)
-EXTRA_libsed_a_SOURCES =
-
-## begin gnulib module acl
-
-libsed_a_SOURCES += set-mode-acl.c copy-acl.c file-has-acl.c
-
-EXTRA_DIST += acl-internal.h acl.h acl_entries.c
-
-EXTRA_libsed_a_SOURCES += acl_entries.c
-
-## end gnulib module acl
-
-## begin gnulib module alloca
-
-
-EXTRA_DIST += alloca.c
-
-EXTRA_libsed_a_SOURCES += alloca.c
-
-libsed_a_LIBADD += @ALLOCA@
-libsed_a_DEPENDENCIES += @ALLOCA@
-## end gnulib module alloca
-
-## begin gnulib module alloca-opt
-
-BUILT_SOURCES += $(ALLOCA_H)
-
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-alloca.h: alloca.in.h
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/alloca.in.h; \
- } > $@-t
- mv -f $@-t $@
-MOSTLYCLEANFILES += alloca.h alloca.h-t
-
-EXTRA_DIST += alloca.in.h
-
-## end gnulib module alloca-opt
-
-## begin gnulib module btowc
-
-
-EXTRA_DIST += btowc.c
-
-EXTRA_libsed_a_SOURCES += btowc.c
-
-## end gnulib module btowc
-
-## begin gnulib module c-ctype
-
-libsed_a_SOURCES += c-ctype.h c-ctype.c
-
-## end gnulib module c-ctype
-
-## begin gnulib module configmake
-
-# Retrieve values of the variables through 'configure' followed by
-# 'make', not directly through 'configure', so that a user who
-# sets some of these variables consistently on the 'make' command
-# line gets correct results.
-#
-# One advantage of this approach, compared to the classical
-# approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS,
-# is that it protects against the use of undefined variables.
-# If, say, $(libdir) is not set in the Makefile, LIBDIR is not
-# defined by this module, and code using LIBDIR gives a
-# compilation error.
-#
-# Another advantage is that 'make' output is shorter.
-#
-# Listed in the same order as the GNU makefile conventions.
-# The Automake-defined pkg* macros are appended, in the order
-# listed in the Automake 1.10a+ documentation.
-configmake.h: Makefile
- rm -f $@-t
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- echo '#define PREFIX "$(prefix)"'; \
- echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
- echo '#define BINDIR "$(bindir)"'; \
- echo '#define SBINDIR "$(sbindir)"'; \
- echo '#define LIBEXECDIR "$(libexecdir)"'; \
- echo '#define DATAROOTDIR "$(datarootdir)"'; \
- echo '#define DATADIR "$(datadir)"'; \
- echo '#define SYSCONFDIR "$(sysconfdir)"'; \
- echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
- echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
- echo '#define INCLUDEDIR "$(includedir)"'; \
- echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
- echo '#define DOCDIR "$(docdir)"'; \
- echo '#define INFODIR "$(infodir)"'; \
- echo '#define HTMLDIR "$(htmldir)"'; \
- echo '#define DVIDIR "$(dvidir)"'; \
- echo '#define PDFDIR "$(pdfdir)"'; \
- echo '#define PSDIR "$(psdir)"'; \
- echo '#define LIBDIR "$(libdir)"'; \
- echo '#define LISPDIR "$(lispdir)"'; \
- echo '#define LOCALEDIR "$(localedir)"'; \
- echo '#define MANDIR "$(mandir)"'; \
- echo '#define MANEXT "$(manext)"'; \
- echo '#define PKGDATADIR "$(pkgdatadir)"'; \
- echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
- echo '#define PKGLIBDIR "$(pkglibdir)"'; \
- echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
- } | sed '/""/d' > $@-t
- if test -f $@ && cmp $@-t $@ > /dev/null; then \
- rm -f $@-t; \
- else \
- rm -f $@; mv $@-t $@; \
- fi
-
-BUILT_SOURCES += configmake.h
-CLEANFILES += configmake.h configmake.h-t
-
-## end gnulib module configmake
-
-## begin gnulib module dirname
-
-
-EXTRA_DIST += basename.c dirname.c dirname.h stripslash.c
-
-EXTRA_libsed_a_SOURCES += basename.c dirname.c stripslash.c
-
-## end gnulib module dirname
-
-## begin gnulib module errno
-
-BUILT_SOURCES += $(ERRNO_H)
-
-# We need the following in order to create <errno.h> when the system
-# doesn't have one that is POSIX compliant.
-errno.h: errno.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
- -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
- -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
- -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
- -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
- -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
- -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
- < $(srcdir)/errno.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += errno.h errno.h-t
-
-EXTRA_DIST += errno.in.h
-
-## end gnulib module errno
-
-## begin gnulib module error
-
-
-EXTRA_DIST += error.c error.h
-
-EXTRA_libsed_a_SOURCES += error.c
-
-## end gnulib module error
-
-## begin gnulib module exitfail
-
-
-EXTRA_DIST += exitfail.c exitfail.h
-
-EXTRA_libsed_a_SOURCES += exitfail.c
-
-## end gnulib module exitfail
-
-## begin gnulib module getdelim
-
-
-EXTRA_DIST += getdelim.c
-
-EXTRA_libsed_a_SOURCES += getdelim.c
-
-## end gnulib module getdelim
-
-## begin gnulib module getline
-
-
-EXTRA_DIST += getline.c
-
-EXTRA_libsed_a_SOURCES += getline.c
-
-## end gnulib module getline
-
-## begin gnulib module getopt
-
-BUILT_SOURCES += $(GETOPT_H)
-
-# We need the following in order to create <getopt.h> when the system
-# doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/getopt.in.h; \
- } > $@-t
- mv -f $@-t $@
-MOSTLYCLEANFILES += getopt.h getopt.h-t
-
-EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
-
-EXTRA_libsed_a_SOURCES += getopt.c getopt1.c
-
-## end gnulib module getopt
-
-## begin gnulib module getpagesize
-
-
-EXTRA_DIST += getpagesize.c
-
-EXTRA_libsed_a_SOURCES += getpagesize.c
-
-## end gnulib module getpagesize
-
-## begin gnulib module gettext
-
-# This is for those projects which use "gettextize --intl" to put a source-code
-# copy of libintl into their package. In such projects, every Makefile.am needs
-# -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory.
-# For the Makefile.ams in other directories it is the maintainer's
-# responsibility; for the one from gnulib we do it here.
-# This option has no effect when the user disables NLS (because then the intl
-# directory contains no libintl.h file) or when the project does not use
-# "gettextize --intl".
-#AM_CPPFLAGS += -I$(top_builddir)/intl
-
-EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
-
-## end gnulib module gettext
-
-## begin gnulib module gettext-h
-
-libsed_a_SOURCES += gettext.h
-
-## end gnulib module gettext-h
-
-## begin gnulib module gettimeofday
-
-
-EXTRA_DIST += gettimeofday.c
-
-EXTRA_libsed_a_SOURCES += gettimeofday.c
-
-## end gnulib module gettimeofday
-
-## begin gnulib module havelib
-
-
-EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
-
-## end gnulib module havelib
-
-## begin gnulib module intprops
-
-
-EXTRA_DIST += intprops.h
-
-## end gnulib module intprops
-
-## begin gnulib module link-warning
-
-LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h
-
-## end gnulib module link-warning
-
-## begin gnulib module localcharset
-
-libsed_a_SOURCES += localcharset.h localcharset.c
-
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
- if test $(GLIBC21) = no; then \
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
- esac ; \
- else \
- need_charset_alias=false ; \
- fi ; \
- if $$need_charset_alias; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
- fi ; \
- if test -f $(charset_alias); then \
- sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
- rm -f $(charset_tmp) ; \
- else \
- if $$need_charset_alias; then \
- sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
- rm -f $(charset_tmp) ; \
- fi ; \
- fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
- if test -f $(charset_alias); then \
- sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
- if grep '^# Packages using this file: $$' $(charset_tmp) \
- > /dev/null; then \
- rm -f $(charset_alias); \
- else \
- $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
- fi; \
- rm -f $(charset_tmp); \
- fi
-
-charset.alias: config.charset
- rm -f t-$@ $@
- $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
- mv t-$@ $@
-
-SUFFIXES += .sed .sin
-.sin.sed:
- rm -f t-$@ $@
- sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
- mv t-$@ $@
-
-CLEANFILES += charset.alias ref-add.sed ref-del.sed
-
-EXTRA_DIST += config.charset ref-add.sin ref-del.sin
-
-## end gnulib module localcharset
-
-## begin gnulib module lstat
-
-
-EXTRA_DIST += lstat.c
-
-EXTRA_libsed_a_SOURCES += lstat.c
-
-## end gnulib module lstat
-
-## begin gnulib module malloc
-
-
-EXTRA_DIST += malloc.c
-
-EXTRA_libsed_a_SOURCES += malloc.c
-
-## end gnulib module malloc
-
-## begin gnulib module malloc-posix
-
-
-EXTRA_DIST += malloc.c
-
-EXTRA_libsed_a_SOURCES += malloc.c
-
-## end gnulib module malloc-posix
-
-## begin gnulib module mbrlen
-
-
-EXTRA_DIST += mbrlen.c
-
-EXTRA_libsed_a_SOURCES += mbrlen.c
-
-## end gnulib module mbrlen
-
-## begin gnulib module mbrtowc
-
-
-EXTRA_DIST += mbrtowc.c
-
-EXTRA_libsed_a_SOURCES += mbrtowc.c
-
-## end gnulib module mbrtowc
-
-## begin gnulib module mbsinit
-
-
-EXTRA_DIST += mbsinit.c
-
-EXTRA_libsed_a_SOURCES += mbsinit.c
-
-## end gnulib module mbsinit
-
-## begin gnulib module memchr
-
-
-EXTRA_DIST += memchr.c memchr.valgrind
-
-EXTRA_libsed_a_SOURCES += memchr.c
-
-## end gnulib module memchr
-
-## begin gnulib module mkstemp
-
-
-EXTRA_DIST += mkstemp.c
-
-EXTRA_libsed_a_SOURCES += mkstemp.c
-
-## end gnulib module mkstemp
-
-## begin gnulib module obstack
-
-
-EXTRA_DIST += obstack.c obstack.h
-
-EXTRA_libsed_a_SOURCES += obstack.c
-
-## end gnulib module obstack
-
-## begin gnulib module pathmax
-
-
-EXTRA_DIST += pathmax.h
-
-## end gnulib module pathmax
-
-## begin gnulib module quote
-
-
-EXTRA_DIST += quote.c quote.h
-
-EXTRA_libsed_a_SOURCES += quote.c
-
-## end gnulib module quote
-
-## begin gnulib module quotearg
-
-
-EXTRA_DIST += quotearg.c quotearg.h
-
-EXTRA_libsed_a_SOURCES += quotearg.c
-
-## end gnulib module quotearg
-
-## begin gnulib module realloc-posix
-
-
-EXTRA_DIST += realloc.c
-
-EXTRA_libsed_a_SOURCES += realloc.c
-
-## end gnulib module realloc-posix
-
-## begin gnulib module regex
-
-
-EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c
-
-EXTRA_libsed_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c
-
-## end gnulib module regex
-
-## begin gnulib module rename
-
-
-EXTRA_DIST += rename.c
-
-EXTRA_libsed_a_SOURCES += rename.c
-
-## end gnulib module rename
-
-## begin gnulib module selinux-h
-
-libsed_a_SOURCES += se-context.in.h se-selinux.in.h
-
-BUILT_SOURCES += $(SELINUX_SELINUX_H)
-selinux/selinux.h: se-selinux.in.h
- rm -f $@-t $@
- $(MKDIR_P) selinux
- cp $(srcdir)/se-selinux.in.h $@-t
- chmod a-x $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += selinux/selinux.h selinux/selinux.h-t
-
-BUILT_SOURCES += $(SELINUX_CONTEXT_H)
-selinux/context.h: se-context.in.h
- rm -f $@-t $@
- $(MKDIR_P) selinux
- cp $(srcdir)/se-context.in.h $@-t
- chmod a-x $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += selinux/context.h selinux/context.h-t
-MOSTLYCLEANDIRS += selinux
-
-## end gnulib module selinux-h
-
-## begin gnulib module stat-macros
-
-
-EXTRA_DIST += stat-macros.h
-
-## end gnulib module stat-macros
-
-## begin gnulib module stdbool
-
-BUILT_SOURCES += $(STDBOOL_H)
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-stdbool.h: stdbool.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdbool.h stdbool.h-t
-
-EXTRA_DIST += stdbool.in.h
-
-## end gnulib module stdbool
-
-## begin gnulib module stdint
-
-BUILT_SOURCES += $(STDINT_H)
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-stdint.h: stdint.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
- -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
- -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
- -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
- -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
- -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
- -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
- -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
- -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
- -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
- -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
- -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
- -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
- -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
- -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
- < $(srcdir)/stdint.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdint.h stdint.h-t
-
-EXTRA_DIST += stdint.in.h
-
-## end gnulib module stdint
-
-## begin gnulib module stdio
-
-BUILT_SOURCES += stdio.h
-
-# We need the following in order to create <stdio.h> when the system
-# doesn't have one that works with the given compiler.
-stdio.h: stdio.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
- -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \
- -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \
- -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
- -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
- -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
- -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \
- -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
- -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
- -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \
- -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \
- -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
- -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \
- -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \
- -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \
- -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \
- -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \
- -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \
- -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \
- -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \
- -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \
- -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \
- -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
- -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \
- -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \
- -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \
- -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \
- -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \
- -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \
- -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \
- -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \
- -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \
- -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
- -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
- -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
- -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
- -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
- -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
- -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
- -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
- -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
- -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
- -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
- -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
- -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
- -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
- -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
- -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
- -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
- -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
- -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
- -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
- -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
- -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
- -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
- -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
- -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
- -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
- -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
- -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
- -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
- -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
- -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
- -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
- -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
- -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/stdio.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdio.h stdio.h-t
-
-EXTRA_DIST += stdio-write.c stdio.in.h
-
-EXTRA_libsed_a_SOURCES += stdio-write.c
-
-## end gnulib module stdio
-
-## begin gnulib module stdlib
-
-BUILT_SOURCES += stdlib.h
-
-# We need the following in order to create <stdlib.h> when the system
-# doesn't have one that works with the given compiler.
-stdlib.h: stdlib.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
- -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
- -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
- -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
- -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
- -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
- -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
- -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
- -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
- -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
- -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
- -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
- -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \
- -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \
- -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
- -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
- -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
- -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
- -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
- -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
- -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
- -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
- -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
- -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
- -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
- -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
- -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \
- -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
- -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
- -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
- -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
- -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
- -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \
- -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
- -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
- -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
- -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
- -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/stdlib.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdlib.h stdlib.h-t
-
-EXTRA_DIST += stdlib.in.h
-
-## end gnulib module stdlib
-
-## begin gnulib module streq
-
-
-EXTRA_DIST += streq.h
-
-## end gnulib module streq
-
-## begin gnulib module strerror
-
-
-EXTRA_DIST += strerror.c
-
-EXTRA_libsed_a_SOURCES += strerror.c
-
-## end gnulib module strerror
-
-## begin gnulib module string
-
-BUILT_SOURCES += string.h
-
-# We need the following in order to create <string.h> when the system
-# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMCHR''@|$(GNULIB_MEMCHR)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
- -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
- -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
- -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
- -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
- -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
- -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
- -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
- -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
- -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
- -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
- -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
- -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
- -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
- -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
- -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
- -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
- -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
- -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
- -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
- -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
- -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/string.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += string.h string.h-t
-
-EXTRA_DIST += string.in.h
-
-## end gnulib module string
-
-## begin gnulib module strndup
-
-
-EXTRA_DIST += strndup.c
-
-EXTRA_libsed_a_SOURCES += strndup.c
-
-## end gnulib module strndup
-
-## begin gnulib module strnlen
-
-
-EXTRA_DIST += strnlen.c
-
-EXTRA_libsed_a_SOURCES += strnlen.c
-
-## end gnulib module strnlen
-
-## begin gnulib module strverscmp
-
-
-EXTRA_DIST += strverscmp.c
-
-EXTRA_libsed_a_SOURCES += strverscmp.c
-
-## end gnulib module strverscmp
-
-## begin gnulib module sys_stat
-
-BUILT_SOURCES += $(SYS_STAT_H)
-
-# We need the following in order to create <sys/stat.h> when the system
-# has one that is incomplete.
-sys/stat.h: sys_stat.in.h
- @MKDIR_P@ sys
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
- -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \
- -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \
- -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
- -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
- -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
- -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/sys_stat.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t
-MOSTLYCLEANDIRS += sys
-
-EXTRA_DIST += sys_stat.in.h
-
-## end gnulib module sys_stat
-
-## begin gnulib module sys_time
-
-BUILT_SOURCES += $(SYS_TIME_H)
-
-# We need the following in order to create <sys/time.h> when the system
-# doesn't have one that works with the given compiler.
-sys/time.h: sys_time.in.h
- @MKDIR_P@ sys
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
- -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
- -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
- < $(srcdir)/sys_time.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += sys/time.h sys/time.h-t
-
-EXTRA_DIST += sys_time.in.h
-
-## end gnulib module sys_time
-
-## begin gnulib module tempname
-
-
-EXTRA_DIST += tempname.c tempname.h
-
-EXTRA_libsed_a_SOURCES += tempname.c
-
-## end gnulib module tempname
-
-## begin gnulib module unistd
-
-BUILT_SOURCES += unistd.h
-
-# We need the following in order to create an empty placeholder for
-# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
- -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
- -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
- -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
- -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
- -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
- -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
- -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \
- -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
- -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
- -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \
- -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \
- -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
- -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
- -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
- -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
- -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
- -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \
- -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
- -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
- -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
- -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
- -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
- -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
- -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
- -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
- -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
- -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
- -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
- -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
- -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
- -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
- -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
- -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
- -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
- -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
- -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
- -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
- -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
- -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
- -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
- -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
- -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
- -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
- -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/unistd.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += unistd.h unistd.h-t
-
-EXTRA_DIST += unistd.in.h
-
-## end gnulib module unistd
-
-## begin gnulib module unlocked-io
-
-
-EXTRA_DIST += unlocked-io.h
-
-## end gnulib module unlocked-io
-
-## begin gnulib module verify
-
-libsed_a_SOURCES += verify.h
-
-## end gnulib module verify
-
-## begin gnulib module wchar
-
-BUILT_SOURCES += $(WCHAR_H)
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
- -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
- -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
- -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
- -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
- -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
- -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
- -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
- -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
- -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
- -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
- -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
- -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
- -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
- -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
- -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
- -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
- -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
- -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
- -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
- -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
- -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
- -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
- -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
- -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
- -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
- -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
- -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
- -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
- -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
- -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
- -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
- -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
- -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
- -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
- -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/wchar.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
-
-EXTRA_DIST += wchar.in.h
-
-## end gnulib module wchar
-
-## begin gnulib module wcrtomb
-
-
-EXTRA_DIST += wcrtomb.c
-
-EXTRA_libsed_a_SOURCES += wcrtomb.c
-
-## end gnulib module wcrtomb
-
-## begin gnulib module wctob
-
-
-EXTRA_DIST += wctob.c
-
-EXTRA_libsed_a_SOURCES += wctob.c
-
-## end gnulib module wctob
-
-## begin gnulib module wctype
-
-BUILT_SOURCES += $(WCTYPE_H)
-
-# We need the following in order to create <wctype.h> when the system
-# doesn't have one that works with the given compiler.
-wctype.h: wctype.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
- -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
- -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
- -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
- < $(srcdir)/wctype.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += wctype.h wctype.h-t
-
-EXTRA_DIST += wctype.in.h
-
-## end gnulib module wctype
-
-## begin gnulib module xalloc
-
-
-EXTRA_DIST += xalloc.h xmalloc.c
-
-EXTRA_libsed_a_SOURCES += xmalloc.c
-
-## end gnulib module xalloc
-
-## begin gnulib module xalloc-die
-
-libsed_a_SOURCES += xalloc-die.c
-
-## end gnulib module xalloc-die
-
-## begin gnulib module xstrndup
-
-libsed_a_SOURCES += xstrndup.h xstrndup.c
-
-## end gnulib module xstrndup
-
-
-mostlyclean-local: mostlyclean-generic
- @for dir in '' $(MOSTLYCLEANDIRS); do \
- if test -n "$$dir" && test -d $$dir; then \
- echo "rmdir $$dir"; rmdir $$dir; \
- fi; \
- done; \
- :
diff --git a/sources/host-tools/sed-4.2.1/lib/intprops.h b/sources/host-tools/sed-4.2.1/lib/intprops.h
deleted file mode 100644
index 002161e..0000000
--- a/sources/host-tools/sed-4.2.1/lib/intprops.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* intprops.h -- properties of integer types
-
- Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert. */
-
-#include <limits.h>
-
-/* The extra casts in the following macros work around compiler bugs,
- e.g., in Cray C 5.0.3.0. */
-
-/* True if the arithmetic type T is an integer type. bool counts as
- an integer. */
-#define TYPE_IS_INTEGER(t) ((t) 1.5 == 1)
-
-/* True if negative values of the signed integer type T use two's
- complement, ones' complement, or signed magnitude representation,
- respectively. Much GNU code assumes two's complement, but some
- people like to be portable to all possible C hosts. */
-#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
-
-/* True if the arithmetic type T is signed. */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
-/* The maximum and minimum values for the integer type T. These
- macros have undefined behavior if T is signed and has padding bits.
- If this is a problem for you, please let us know how to fix it for
- your host. */
-#define TYPE_MINIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) 0 \
- : TYPE_SIGNED_MAGNITUDE (t) \
- ? ~ (t) 0 \
- : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) -1 \
- : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-
-/* Return zero if T can be determined to be an unsigned type.
- Otherwise, return 1.
- When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a
- tighter bound. Otherwise, it overestimates the true bound by one byte
- when applied to unsigned types of size 2, 4, 16, ... bytes.
- The symbol signed_type_or_expr__ is private to this header file. */
-#if __GNUC__ >= 2
-# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t))
-#else
-# define signed_type_or_expr__(t) 1
-#endif
-
-/* Bound on length of the string representing an integer type or expression T.
- Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485;
- add 1 for integer division truncation; add 1 more for a minus sign
- if needed. */
-#define INT_STRLEN_BOUND(t) \
- ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \
- + signed_type_or_expr__ (t) + 1)
-
-/* Bound on buffer size needed to represent an integer type or expression T,
- including the terminating null. */
-#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
diff --git a/sources/host-tools/sed-4.2.1/lib/localcharset.c b/sources/host-tools/sed-4.2.1/lib/localcharset.c
deleted file mode 100644
index b4998ee..0000000
--- a/sources/host-tools/sed-4.2.1/lib/localcharset.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Determine a canonical name for the current locale's character encoding.
-
- Copyright (C) 2000-2006, 2008-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "localcharset.h"
-
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET
-# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */
-#endif
-
-#if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
-#endif
-
-#if defined __EMX__
-/* Assume EMX program runs on OS/2, even if compiled under DOS. */
-# ifndef OS2
-# define OS2
-# endif
-#endif
-
-#if !defined WIN32_NATIVE
-# if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-# else
-# if 0 /* see comment below */
-# include <locale.h>
-# endif
-# endif
-# ifdef __CYGWIN__
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-# endif
-#elif defined WIN32_NATIVE
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-#endif
-#if defined OS2
-# define INCL_DOS
-# include <os2.h>
-#endif
-
-#if ENABLE_RELOCATABLE
-# include "relocatable.h"
-#else
-# define relocate(pathname) (pathname)
-#endif
-
-/* Get LIBDIR. */
-#ifndef LIBDIR
-# include "configmake.h"
-#endif
-
-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
- /* Win32, Cygwin, OS/2, DOS */
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#endif
-
-#ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-#endif
-
-#ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-#endif
-
-#if HAVE_DECL_GETC_UNLOCKED
-# undef getc
-# define getc getc_unlocked
-#endif
-
-/* The following static variable is declared 'volatile' to avoid a
- possible multithread problem in the function get_charset_aliases. If we
- are running in a threaded environment, and if two threads initialize
- 'charset_aliases' simultaneously, both will produce the same value,
- and everything will be ok if the two assignments to 'charset_aliases'
- are atomic. But I don't know what will happen if the two assignments mix. */
-#if __STDC__ != 1
-# define volatile /* empty */
-#endif
-/* Pointer to the contents of the charset.alias file, if it has already been
- read, else NULL. Its format is:
- ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
-static const char * volatile charset_aliases;
-
-/* Return a pointer to the contents of the charset.alias file. */
-static const char *
-get_charset_aliases (void)
-{
- const char *cp;
-
- cp = charset_aliases;
- if (cp == NULL)
- {
-#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
- FILE *fp;
- const char *dir;
- const char *base = "charset.alias";
- char *file_name;
-
- /* Make it possible to override the charset.alias location. This is
- necessary for running the testsuite before "make install". */
- dir = getenv ("CHARSETALIASDIR");
- if (dir == NULL || dir[0] == '\0')
- dir = relocate (LIBDIR);
-
- /* Concatenate dir and base into freshly allocated file_name. */
- {
- size_t dir_len = strlen (dir);
- size_t base_len = strlen (base);
- int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
- file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
- if (file_name != NULL)
- {
- memcpy (file_name, dir, dir_len);
- if (add_slash)
- file_name[dir_len] = DIRECTORY_SEPARATOR;
- memcpy (file_name + dir_len + add_slash, base, base_len + 1);
- }
- }
-
- if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
- /* Out of memory or file not found, treat it as empty. */
- cp = "";
- else
- {
- /* Parse the file's contents. */
- char *res_ptr = NULL;
- size_t res_size = 0;
-
- for (;;)
- {
- int c;
- char buf1[50+1];
- char buf2[50+1];
- size_t l1, l2;
- char *old_res_ptr;
-
- c = getc (fp);
- if (c == EOF)
- break;
- if (c == '\n' || c == ' ' || c == '\t')
- continue;
- if (c == '#')
- {
- /* Skip comment, to end of line. */
- do
- c = getc (fp);
- while (!(c == EOF || c == '\n'));
- if (c == EOF)
- break;
- continue;
- }
- ungetc (c, fp);
- if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
- break;
- l1 = strlen (buf1);
- l2 = strlen (buf2);
- old_res_ptr = res_ptr;
- if (res_size == 0)
- {
- res_size = l1 + 1 + l2 + 1;
- res_ptr = (char *) malloc (res_size + 1);
- }
- else
- {
- res_size += l1 + 1 + l2 + 1;
- res_ptr = (char *) realloc (res_ptr, res_size + 1);
- }
- if (res_ptr == NULL)
- {
- /* Out of memory. */
- res_size = 0;
- if (old_res_ptr != NULL)
- free (old_res_ptr);
- break;
- }
- strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
- strcpy (res_ptr + res_size - (l2 + 1), buf2);
- }
- fclose (fp);
- if (res_size == 0)
- cp = "";
- else
- {
- *(res_ptr + res_size) = '\0';
- cp = res_ptr;
- }
- }
-
- if (file_name != NULL)
- free (file_name);
-
-#else
-
-# if defined DARWIN7
- /* To avoid the trouble of installing a file that is shared by many
- GNU packages -- many packaging systems have problems with this --,
- simply inline the aliases here. */
- cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
- "ISO8859-2" "\0" "ISO-8859-2" "\0"
- "ISO8859-4" "\0" "ISO-8859-4" "\0"
- "ISO8859-5" "\0" "ISO-8859-5" "\0"
- "ISO8859-7" "\0" "ISO-8859-7" "\0"
- "ISO8859-9" "\0" "ISO-8859-9" "\0"
- "ISO8859-13" "\0" "ISO-8859-13" "\0"
- "ISO8859-15" "\0" "ISO-8859-15" "\0"
- "KOI8-R" "\0" "KOI8-R" "\0"
- "KOI8-U" "\0" "KOI8-U" "\0"
- "CP866" "\0" "CP866" "\0"
- "CP949" "\0" "CP949" "\0"
- "CP1131" "\0" "CP1131" "\0"
- "CP1251" "\0" "CP1251" "\0"
- "eucCN" "\0" "GB2312" "\0"
- "GB2312" "\0" "GB2312" "\0"
- "eucJP" "\0" "EUC-JP" "\0"
- "eucKR" "\0" "EUC-KR" "\0"
- "Big5" "\0" "BIG5" "\0"
- "Big5HKSCS" "\0" "BIG5-HKSCS" "\0"
- "GBK" "\0" "GBK" "\0"
- "GB18030" "\0" "GB18030" "\0"
- "SJIS" "\0" "SHIFT_JIS" "\0"
- "ARMSCII-8" "\0" "ARMSCII-8" "\0"
- "PT154" "\0" "PT154" "\0"
- /*"ISCII-DEV" "\0" "?" "\0"*/
- "*" "\0" "UTF-8" "\0";
-# endif
-
-# if defined VMS
- /* To avoid the troubles of an extra file charset.alias_vms in the
- sources of many GNU packages, simply inline the aliases here. */
- /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
- "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
- section 10.7 "Handling Different Character Sets". */
- cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
- "ISO8859-2" "\0" "ISO-8859-2" "\0"
- "ISO8859-5" "\0" "ISO-8859-5" "\0"
- "ISO8859-7" "\0" "ISO-8859-7" "\0"
- "ISO8859-8" "\0" "ISO-8859-8" "\0"
- "ISO8859-9" "\0" "ISO-8859-9" "\0"
- /* Japanese */
- "eucJP" "\0" "EUC-JP" "\0"
- "SJIS" "\0" "SHIFT_JIS" "\0"
- "DECKANJI" "\0" "DEC-KANJI" "\0"
- "SDECKANJI" "\0" "EUC-JP" "\0"
- /* Chinese */
- "eucTW" "\0" "EUC-TW" "\0"
- "DECHANYU" "\0" "DEC-HANYU" "\0"
- "DECHANZI" "\0" "GB2312" "\0"
- /* Korean */
- "DECKOREAN" "\0" "EUC-KR" "\0";
-# endif
-
-# if defined WIN32_NATIVE || defined __CYGWIN__
- /* To avoid the troubles of installing a separate file in the same
- directory as the DLL and of retrieving the DLL's directory at
- runtime, simply inline the aliases here. */
-
- cp = "CP936" "\0" "GBK" "\0"
- "CP1361" "\0" "JOHAB" "\0"
- "CP20127" "\0" "ASCII" "\0"
- "CP20866" "\0" "KOI8-R" "\0"
- "CP20936" "\0" "GB2312" "\0"
- "CP21866" "\0" "KOI8-RU" "\0"
- "CP28591" "\0" "ISO-8859-1" "\0"
- "CP28592" "\0" "ISO-8859-2" "\0"
- "CP28593" "\0" "ISO-8859-3" "\0"
- "CP28594" "\0" "ISO-8859-4" "\0"
- "CP28595" "\0" "ISO-8859-5" "\0"
- "CP28596" "\0" "ISO-8859-6" "\0"
- "CP28597" "\0" "ISO-8859-7" "\0"
- "CP28598" "\0" "ISO-8859-8" "\0"
- "CP28599" "\0" "ISO-8859-9" "\0"
- "CP28605" "\0" "ISO-8859-15" "\0"
- "CP38598" "\0" "ISO-8859-8" "\0"
- "CP51932" "\0" "EUC-JP" "\0"
- "CP51936" "\0" "GB2312" "\0"
- "CP51949" "\0" "EUC-KR" "\0"
- "CP51950" "\0" "EUC-TW" "\0"
- "CP54936" "\0" "GB18030" "\0"
- "CP65001" "\0" "UTF-8" "\0";
-# endif
-#endif
-
- charset_aliases = cp;
- }
-
- return cp;
-}
-
-/* Determine the current locale's character encoding, and canonicalize it
- into one of the canonical names listed in config.charset.
- The result must not be freed; it is statically allocated.
- If the canonical name cannot be determined, the result is a non-canonical
- name. */
-
-#ifdef STATIC
-STATIC
-#endif
-const char *
-locale_charset (void)
-{
- const char *codeset;
- const char *aliases;
-
-#if !(defined WIN32_NATIVE || defined OS2)
-
-# if HAVE_LANGINFO_CODESET
-
- /* Most systems support nl_langinfo (CODESET) nowadays. */
- codeset = nl_langinfo (CODESET);
-
-# ifdef __CYGWIN__
- /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always
- returns "US-ASCII". As long as this is not fixed, return the suffix
- of the locale name from the environment variables (if present) or
- the codepage as a number. */
- if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0)
- {
- const char *locale;
- static char buf[2 + 10 + 1];
-
- locale = getenv ("LC_ALL");
- if (locale == NULL || locale[0] == '\0')
- {
- locale = getenv ("LC_CTYPE");
- if (locale == NULL || locale[0] == '\0')
- locale = getenv ("LANG");
- }
- if (locale != NULL && locale[0] != '\0')
- {
- /* If the locale name contains an encoding after the dot, return
- it. */
- const char *dot = strchr (locale, '.');
-
- if (dot != NULL)
- {
- const char *modifier;
-
- dot++;
- /* Look for the possible @... trailer and remove it, if any. */
- modifier = strchr (dot, '@');
- if (modifier == NULL)
- return dot;
- if (modifier - dot < sizeof (buf))
- {
- memcpy (buf, dot, modifier - dot);
- buf [modifier - dot] = '\0';
- return buf;
- }
- }
- }
-
- /* Woe32 has a function returning the locale's codepage as a number. */
- sprintf (buf, "CP%u", GetACP ());
- codeset = buf;
- }
-# endif
-
-# else
-
- /* On old systems which lack it, use setlocale or getenv. */
- const char *locale = NULL;
-
- /* But most old systems don't have a complete set of locales. Some
- (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
- use setlocale here; it would return "C" when it doesn't support the
- locale name the user has set. */
-# if 0
- locale = setlocale (LC_CTYPE, NULL);
-# endif
- if (locale == NULL || locale[0] == '\0')
- {
- locale = getenv ("LC_ALL");
- if (locale == NULL || locale[0] == '\0')
- {
- locale = getenv ("LC_CTYPE");
- if (locale == NULL || locale[0] == '\0')
- locale = getenv ("LANG");
- }
- }
-
- /* On some old systems, one used to set locale = "iso8859_1". On others,
- you set it to "language_COUNTRY.charset". In any case, we resolve it
- through the charset.alias file. */
- codeset = locale;
-
-# endif
-
-#elif defined WIN32_NATIVE
-
- static char buf[2 + 10 + 1];
-
- /* Woe32 has a function returning the locale's codepage as a number. */
- sprintf (buf, "CP%u", GetACP ());
- codeset = buf;
-
-#elif defined OS2
-
- const char *locale;
- static char buf[2 + 10 + 1];
- ULONG cp[3];
- ULONG cplen;
-
- /* Allow user to override the codeset, as set in the operating system,
- with standard language environment variables. */
- locale = getenv ("LC_ALL");
- if (locale == NULL || locale[0] == '\0')
- {
- locale = getenv ("LC_CTYPE");
- if (locale == NULL || locale[0] == '\0')
- locale = getenv ("LANG");
- }
- if (locale != NULL && locale[0] != '\0')
- {
- /* If the locale name contains an encoding after the dot, return it. */
- const char *dot = strchr (locale, '.');
-
- if (dot != NULL)
- {
- const char *modifier;
-
- dot++;
- /* Look for the possible @... trailer and remove it, if any. */
- modifier = strchr (dot, '@');
- if (modifier == NULL)
- return dot;
- if (modifier - dot < sizeof (buf))
- {
- memcpy (buf, dot, modifier - dot);
- buf [modifier - dot] = '\0';
- return buf;
- }
- }
-
- /* Resolve through the charset.alias file. */
- codeset = locale;
- }
- else
- {
- /* OS/2 has a function returning the locale's codepage as a number. */
- if (DosQueryCp (sizeof (cp), cp, &cplen))
- codeset = "";
- else
- {
- sprintf (buf, "CP%u", cp[0]);
- codeset = buf;
- }
- }
-
-#endif
-
- if (codeset == NULL)
- /* The canonical name cannot be determined. */
- codeset = "";
-
- /* Resolve alias. */
- for (aliases = get_charset_aliases ();
- *aliases != '\0';
- aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
- if (strcmp (codeset, aliases) == 0
- || (aliases[0] == '*' && aliases[1] == '\0'))
- {
- codeset = aliases + strlen (aliases) + 1;
- break;
- }
-
- /* Don't return an empty string. GNU libc and GNU libiconv interpret
- the empty string as denoting "the locale's character encoding",
- thus GNU libiconv would call this function a second time. */
- if (codeset[0] == '\0')
- codeset = "ASCII";
-
- return codeset;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/localcharset.h b/sources/host-tools/sed-4.2.1/lib/localcharset.h
deleted file mode 100644
index 7f0b974..0000000
--- a/sources/host-tools/sed-4.2.1/lib/localcharset.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003 Free Software Foundation, Inc.
- This file is part of the GNU CHARSET Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _LOCALCHARSET_H
-#define _LOCALCHARSET_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Determine the current locale's character encoding, and canonicalize it
- into one of the canonical names listed in config.charset.
- The result must not be freed; it is statically allocated.
- If the canonical name cannot be determined, the result is a non-canonical
- name. */
-extern const char * locale_charset (void);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _LOCALCHARSET_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/lstat.c b/sources/host-tools/sed-4.2.1/lib/lstat.c
deleted file mode 100644
index 3e07270..0000000
--- a/sources/host-tools/sed-4.2.1/lib/lstat.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Work around a bug of lstat on some systems
-
- Copyright (C) 1997-1999, 2000-2006, 2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* written by Jim Meyering */
-
-#include <config.h>
-
-/* Get the original definition of open. It might be defined as a macro. */
-#define __need_system_sys_stat_h
-#include <sys/types.h>
-#include <sys/stat.h>
-#undef __need_system_sys_stat_h
-
-static inline int
-orig_lstat (const char *filename, struct stat *buf)
-{
- return lstat (filename, buf);
-}
-
-/* Specification. */
-#include <sys/stat.h>
-
-#include <string.h>
-#include <errno.h>
-
-/* lstat works differently on Linux and Solaris systems. POSIX (see
- `pathname resolution' in the glossary) requires that programs like
- `ls' take into consideration the fact that FILE has a trailing slash
- when FILE is a symbolic link. On Linux and Solaris 10 systems, the
- lstat function already has the desired semantics (in treating
- `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)',
- but on Solaris 9 and earlier it does not.
-
- If FILE has a trailing slash and specifies a symbolic link,
- then use stat() to get more info on the referent of FILE.
- If the referent is a non-directory, then set errno to ENOTDIR
- and return -1. Otherwise, return stat's result. */
-
-int
-rpl_lstat (const char *file, struct stat *sbuf)
-{
- size_t len;
- int lstat_result = orig_lstat (file, sbuf);
-
- if (lstat_result != 0 || !S_ISLNK (sbuf->st_mode))
- return lstat_result;
-
- len = strlen (file);
- if (len == 0 || file[len - 1] != '/')
- return 0;
-
- /* FILE refers to a symbolic link and the name ends with a slash.
- Call stat() to get info about the link's referent. */
-
- /* If stat fails, then we do the same. */
- if (stat (file, sbuf) != 0)
- return -1;
-
- /* If FILE references a directory, return 0. */
- if (S_ISDIR (sbuf->st_mode))
- return 0;
-
- /* Here, we know stat succeeded and FILE references a non-directory.
- But it was specified via a name including a trailing slash.
- Fail with errno set to ENOTDIR to indicate the contradiction. */
- errno = ENOTDIR;
- return -1;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/malloc.c b/sources/host-tools/sed-4.2.1/lib/malloc.c
deleted file mode 100644
index 4738df2..0000000
--- a/sources/host-tools/sed-4.2.1/lib/malloc.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* malloc() function that is glibc compatible.
-
- Copyright (C) 1997, 1998, 2006, 2007 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* written by Jim Meyering and Bruno Haible */
-
-#include <config.h>
-/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
-#ifdef malloc
-# define NEED_MALLOC_GNU
-# undef malloc
-#endif
-
-/* Specification. */
-#include <stdlib.h>
-
-#include <errno.h>
-
-/* Call the system's malloc below. */
-#undef malloc
-
-/* Allocate an N-byte block of memory from the heap.
- If N is zero, allocate a 1-byte block. */
-
-void *
-rpl_malloc (size_t n)
-{
- void *result;
-
-#ifdef NEED_MALLOC_GNU
- if (n == 0)
- n = 1;
-#endif
-
- result = malloc (n);
-
-#if !HAVE_MALLOC_POSIX
- if (result == NULL)
- errno = ENOMEM;
-#endif
-
- return result;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/mbrlen.c b/sources/host-tools/sed-4.2.1/lib/mbrlen.c
deleted file mode 100644
index 32a0c81..0000000
--- a/sources/host-tools/sed-4.2.1/lib/mbrlen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Recognize multibyte character.
- Copyright (C) 1999-2000, 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-
-static mbstate_t internal_state;
-
-size_t
-mbrlen (const char *s, size_t n, mbstate_t *ps)
-{
- if (ps == NULL)
- ps = &internal_state;
- return mbrtowc (NULL, s, n, ps);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/mbrtowc.c b/sources/host-tools/sed-4.2.1/lib/mbrtowc.c
deleted file mode 100644
index 0fec5f1..0000000
--- a/sources/host-tools/sed-4.2.1/lib/mbrtowc.c
+++ /dev/null
@@ -1,386 +0,0 @@
-/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2009 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-#if GNULIB_defined_mbstate_t
-/* Implement mbrtowc() on top of mbtowc(). */
-
-# include <errno.h>
-# include <stdlib.h>
-
-# include "localcharset.h"
-# include "streq.h"
-# include "verify.h"
-
-
-verify (sizeof (mbstate_t) >= 4);
-
-static char internal_state[4];
-
-size_t
-mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
-{
- char *pstate = (char *)ps;
-
- if (pstate == NULL)
- pstate = internal_state;
-
- if (s == NULL)
- {
- pwc = NULL;
- s = "";
- n = 1;
- }
-
- if (n == 0)
- return (size_t)(-2);
-
- /* Here n > 0. */
- {
- size_t nstate = pstate[0];
- char buf[4];
- const char *p;
- size_t m;
-
- switch (nstate)
- {
- case 0:
- p = s;
- m = n;
- break;
- case 3:
- buf[2] = pstate[3];
- /*FALLTHROUGH*/
- case 2:
- buf[1] = pstate[2];
- /*FALLTHROUGH*/
- case 1:
- buf[0] = pstate[1];
- p = buf;
- m = nstate;
- buf[m++] = s[0];
- if (n >= 2 && m < 4)
- {
- buf[m++] = s[1];
- if (n >= 3 && m < 4)
- buf[m++] = s[2];
- }
- break;
- default:
- errno = EINVAL;
- return (size_t)(-1);
- }
-
- /* Here m > 0. */
-
-# if __GLIBC__
- /* Work around bug <http://sourceware.org/bugzilla/show_bug.cgi?id=9674> */
- mbtowc (NULL, NULL, 0);
-# endif
- {
- int res = mbtowc (pwc, p, m);
-
- if (res >= 0)
- {
- if (pwc != NULL && ((*pwc == 0) != (res == 0)))
- abort ();
- if (nstate >= (res > 0 ? res : 1))
- abort ();
- res -= nstate;
- pstate[0] = 0;
- return res;
- }
-
- /* mbtowc does not distinguish between invalid and incomplete multibyte
- sequences. But mbrtowc needs to make this distinction.
- There are two possible approaches:
- - Use iconv() and its return value.
- - Use built-in knowledge about the possible encodings.
- Given the low quality of implementation of iconv() on the systems that
- lack mbrtowc(), we use the second approach.
- The possible encodings are:
- - 8-bit encodings,
- - EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS,
- - UTF-8.
- Use specialized code for each. */
- if (m >= 4 || m >= MB_CUR_MAX)
- goto invalid;
- /* Here MB_CUR_MAX > 1 and 0 < m < 4. */
- {
- const char *encoding = locale_charset ();
-
- if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
- {
- /* Cf. unistr/u8-mblen.c. */
- unsigned char c = (unsigned char) p[0];
-
- if (c >= 0xc2)
- {
- if (c < 0xe0)
- {
- if (m == 1)
- goto incomplete;
- }
- else if (c < 0xf0)
- {
- if (m == 1)
- goto incomplete;
- if (m == 2)
- {
- unsigned char c2 = (unsigned char) p[1];
-
- if ((c2 ^ 0x80) < 0x40
- && (c >= 0xe1 || c2 >= 0xa0)
- && (c != 0xed || c2 < 0xa0))
- goto incomplete;
- }
- }
- else if (c <= 0xf4)
- {
- if (m == 1)
- goto incomplete;
- else /* m == 2 || m == 3 */
- {
- unsigned char c2 = (unsigned char) p[1];
-
- if ((c2 ^ 0x80) < 0x40
- && (c >= 0xf1 || c2 >= 0x90)
- && (c < 0xf4 || (c == 0xf4 && c2 < 0x90)))
- {
- if (m == 2)
- goto incomplete;
- else /* m == 3 */
- {
- unsigned char c3 = (unsigned char) p[2];
-
- if ((c3 ^ 0x80) < 0x40)
- goto incomplete;
- }
- }
- }
- }
- }
- goto invalid;
- }
-
- /* As a reference for this code, you can use the GNU libiconv
- implementation. Look for uses of the RET_TOOFEW macro. */
-
- if (STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
- {
- if (m == 1)
- {
- unsigned char c = (unsigned char) p[0];
-
- if ((c >= 0xa1 && c < 0xff) || c == 0x8e || c == 0x8f)
- goto incomplete;
- }
- if (m == 2)
- {
- unsigned char c = (unsigned char) p[0];
-
- if (c == 0x8f)
- {
- unsigned char c2 = (unsigned char) p[1];
-
- if (c2 >= 0xa1 && c2 < 0xff)
- goto incomplete;
- }
- }
- goto invalid;
- }
- if (STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
- || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
- || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
- {
- if (m == 1)
- {
- unsigned char c = (unsigned char) p[0];
-
- if (c >= 0xa1 && c < 0xff)
- goto incomplete;
- }
- goto invalid;
- }
- if (STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
- {
- if (m == 1)
- {
- unsigned char c = (unsigned char) p[0];
-
- if ((c >= 0xa1 && c < 0xff) || c == 0x8e)
- goto incomplete;
- }
- else /* m == 2 || m == 3 */
- {
- unsigned char c = (unsigned char) p[0];
-
- if (c == 0x8e)
- goto incomplete;
- }
- goto invalid;
- }
- if (STREQ (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
- {
- if (m == 1)
- {
- unsigned char c = (unsigned char) p[0];
-
- if ((c >= 0x90 && c <= 0xe3) || (c >= 0xf8 && c <= 0xfe))
- goto incomplete;
- }
- else /* m == 2 || m == 3 */
- {
- unsigned char c = (unsigned char) p[0];
-
- if (c >= 0x90 && c <= 0xe3)
- {
- unsigned char c2 = (unsigned char) p[1];
-
- if (c2 >= 0x30 && c2 <= 0x39)
- {
- if (m == 2)
- goto incomplete;
- else /* m == 3 */
- {
- unsigned char c3 = (unsigned char) p[2];
-
- if (c3 >= 0x81 && c3 <= 0xfe)
- goto incomplete;
- }
- }
- }
- }
- goto invalid;
- }
- if (STREQ (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
- {
- if (m == 1)
- {
- unsigned char c = (unsigned char) p[0];
-
- if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea)
- || (c >= 0xf0 && c <= 0xf9))
- goto incomplete;
- }
- goto invalid;
- }
-
- /* An unknown multibyte encoding. */
- goto incomplete;
- }
-
- incomplete:
- {
- size_t k = nstate;
- /* Here 0 <= k < m < 4. */
- pstate[++k] = s[0];
- if (k < m)
- {
- pstate[++k] = s[1];
- if (k < m)
- pstate[++k] = s[2];
- }
- if (k != m)
- abort ();
- }
- pstate[0] = m;
- return (size_t)(-2);
-
- invalid:
- errno = EILSEQ;
- /* The conversion state is undefined, says POSIX. */
- return (size_t)(-1);
- }
- }
-}
-
-#else
-/* Override the system's mbrtowc() function. */
-
-# undef mbrtowc
-
-size_t
-rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
-{
-# if MBRTOWC_NULL_ARG_BUG || MBRTOWC_RETVAL_BUG
- if (s == NULL)
- {
- pwc = NULL;
- s = "";
- n = 1;
- }
-# endif
-
-# if MBRTOWC_RETVAL_BUG
- {
- static mbstate_t internal_state;
-
- /* Override mbrtowc's internal state. We can not call mbsinit() on the
- hidden internal state, but we can call it on our variable. */
- if (ps == NULL)
- ps = &internal_state;
-
- if (!mbsinit (ps))
- {
- /* Parse the rest of the multibyte character byte for byte. */
- size_t count = 0;
- for (; n > 0; s++, n--)
- {
- wchar_t wc;
- size_t ret = mbrtowc (&wc, s, 1, ps);
-
- if (ret == (size_t)(-1))
- return (size_t)(-1);
- count++;
- if (ret != (size_t)(-2))
- {
- /* The multibyte character has been completed. */
- if (pwc != NULL)
- *pwc = wc;
- return (wc == 0 ? 0 : count);
- }
- }
- return (size_t)(-2);
- }
- }
-# endif
-
-# if MBRTOWC_NUL_RETVAL_BUG
- {
- wchar_t wc;
- size_t ret = mbrtowc (&wc, s, n, ps);
-
- if (ret != (size_t)(-1) && ret != (size_t)(-2))
- {
- if (pwc != NULL)
- *pwc = wc;
- if (wc == 0)
- ret = 0;
- }
- return ret;
- }
-# else
- return mbrtowc (pwc, s, n, ps);
-# endif
-}
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/mbsinit.c b/sources/host-tools/sed-4.2.1/lib/mbsinit.c
deleted file mode 100644
index 81fed5a..0000000
--- a/sources/host-tools/sed-4.2.1/lib/mbsinit.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Test for initial conversion state.
- Copyright (C) 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-#include "verify.h"
-
-/* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs()
- and wcrtomb(), wcsrtombs().
- We assume that
- - sizeof (mbstate_t) >= 4,
- - only stateless encodings are supported (such as UTF-8 and EUC-JP, but
- not ISO-2022 variants),
- - for each encoding, the number of bytes for a wide character is <= 4.
- (This maximum is attained for UTF-8, GB18030, EUC-TW.)
- We define the meaning of mbstate_t as follows:
- - In mb -> wc direction, mbstate_t's first byte contains the number of
- buffered bytes (in the range 0..3), followed by up to 3 buffered bytes.
- - In wc -> mb direction, mbstate_t contains no information. In other
- words, it is always in the initial state. */
-
-verify (sizeof (mbstate_t) >= 4);
-
-int
-mbsinit (const mbstate_t *ps)
-{
- const char *pstate = (const char *)ps;
-
- return pstate[0] == 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/memchr.c b/sources/host-tools/sed-4.2.1/lib/memchr.c
deleted file mode 100644
index 2253d2d..0000000
--- a/sources/host-tools/sed-4.2.1/lib/memchr.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006, 2008
- Free Software Foundation, Inc.
-
- Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
- with help from Dan Sahlin (dan@sics.se) and
- commentary by Jim Blandy (jimb@ai.mit.edu);
- adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu),
- and implemented by Roland McGrath (roland@ai.mit.edu).
-
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-This program is free software: you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _LIBC
-# include <config.h>
-#endif
-
-#include <string.h>
-
-#include <stddef.h>
-
-#if defined _LIBC
-# include <memcopy.h>
-#else
-# define reg_char char
-#endif
-
-#include <limits.h>
-
-#if HAVE_BP_SYM_H || defined _LIBC
-# include <bp-sym.h>
-#else
-# define BP_SYM(sym) sym
-#endif
-
-#undef __memchr
-#ifdef _LIBC
-# undef memchr
-#endif
-
-#ifndef weak_alias
-# define __memchr memchr
-#endif
-
-/* Search no more than N bytes of S for C. */
-void *
-__memchr (void const *s, int c_in, size_t n)
-{
- /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
- long instead of a 64-bit uintmax_t tends to give better
- performance. On 64-bit hardware, unsigned long is generally 64
- bits already. Change this typedef to experiment with
- performance. */
- typedef unsigned long int longword;
-
- const unsigned char *char_ptr;
- const longword *longword_ptr;
- longword repeated_one;
- longword repeated_c;
- unsigned reg_char c;
-
- c = (unsigned char) c_in;
-
- /* Handle the first few bytes by reading one byte at a time.
- Do this until CHAR_PTR is aligned on a longword boundary. */
- for (char_ptr = (const unsigned char *) s;
- n > 0 && (size_t) char_ptr % sizeof (longword) != 0;
- --n, ++char_ptr)
- if (*char_ptr == c)
- return (void *) char_ptr;
-
- longword_ptr = (const longword *) char_ptr;
-
- /* All these elucidatory comments refer to 4-byte longwords,
- but the theory applies equally well to any size longwords. */
-
- /* Compute auxiliary longword values:
- repeated_one is a value which has a 1 in every byte.
- repeated_c has c in every byte. */
- repeated_one = 0x01010101;
- repeated_c = c | (c << 8);
- repeated_c |= repeated_c << 16;
- if (0xffffffffU < (longword) -1)
- {
- repeated_one |= repeated_one << 31 << 1;
- repeated_c |= repeated_c << 31 << 1;
- if (8 < sizeof (longword))
- {
- size_t i;
-
- for (i = 64; i < sizeof (longword) * 8; i *= 2)
- {
- repeated_one |= repeated_one << i;
- repeated_c |= repeated_c << i;
- }
- }
- }
-
- /* Instead of the traditional loop which tests each byte, we will test a
- longword at a time. The tricky part is testing if *any of the four*
- bytes in the longword in question are equal to c. We first use an xor
- with repeated_c. This reduces the task to testing whether *any of the
- four* bytes in longword1 is zero.
-
- We compute tmp =
- ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
- That is, we perform the following operations:
- 1. Subtract repeated_one.
- 2. & ~longword1.
- 3. & a mask consisting of 0x80 in every byte.
- Consider what happens in each byte:
- - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
- and step 3 transforms it into 0x80. A carry can also be propagated
- to more significant bytes.
- - If a byte of longword1 is nonzero, let its lowest 1 bit be at
- position k (0 <= k <= 7); so the lowest k bits are 0. After step 1,
- the byte ends in a single bit of value 0 and k bits of value 1.
- After step 2, the result is just k bits of value 1: 2^k - 1. After
- step 3, the result is 0. And no carry is produced.
- So, if longword1 has only non-zero bytes, tmp is zero.
- Whereas if longword1 has a zero byte, call j the position of the least
- significant zero byte. Then the result has a zero at positions 0, ...,
- j-1 and a 0x80 at position j. We cannot predict the result at the more
- significant bytes (positions j+1..3), but it does not matter since we
- already have a non-zero bit at position 8*j+7.
-
- So, the test whether any byte in longword1 is zero is equivalent to
- testing whether tmp is nonzero. */
-
- while (n >= sizeof (longword))
- {
- longword longword1 = *longword_ptr ^ repeated_c;
-
- if ((((longword1 - repeated_one) & ~longword1)
- & (repeated_one << 7)) != 0)
- break;
- longword_ptr++;
- n -= sizeof (longword);
- }
-
- char_ptr = (const unsigned char *) longword_ptr;
-
- /* At this point, we know that either n < sizeof (longword), or one of the
- sizeof (longword) bytes starting at char_ptr is == c. On little-endian
- machines, we could determine the first such byte without any further
- memory accesses, just by looking at the tmp result from the last loop
- iteration. But this does not work on big-endian machines. Choose code
- that works in both cases. */
-
- for (; n > 0; --n, ++char_ptr)
- {
- if (*char_ptr == c)
- return (void *) char_ptr;
- }
-
- return NULL;
-}
-#ifdef weak_alias
-weak_alias (__memchr, BP_SYM (memchr))
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/memchr.valgrind b/sources/host-tools/sed-4.2.1/lib/memchr.valgrind
deleted file mode 100644
index 60f247e..0000000
--- a/sources/host-tools/sed-4.2.1/lib/memchr.valgrind
+++ /dev/null
@@ -1,14 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in memchr().
-# POSIX states that when the character is found, memchr must not read extra
-# bytes in an overestimated length (for example, where memchr is used to
-# implement strnlen). However, we use a safe word read to provide a speedup.
-{
- memchr-value4
- Memcheck:Value4
- fun:rpl_memchr
-}
-{
- memchr-value8
- Memcheck:Value8
- fun:rpl_memchr
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/mkstemp.c b/sources/host-tools/sed-4.2.1/lib/mkstemp.c
deleted file mode 100644
index 1b052f9..0000000
--- a/sources/host-tools/sed-4.2.1/lib/mkstemp.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1998, 1999, 2001, 2005, 2006, 2007 Free Software Foundation, Inc.
- This file is derived from the one in the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#if !_LIBC
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-
-#if !_LIBC
-# include "tempname.h"
-# define __gen_tempname gen_tempname
-# define __GT_FILE GT_FILE
-#endif
-
-#include <stdio.h>
-
-#ifndef __GT_FILE
-# define __GT_FILE 0
-#endif
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the file name unique.
- Then open the file and return a fd. */
-int
-mkstemp (template)
- char *template;
-{
- return __gen_tempname (template, __GT_FILE);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/obstack.c b/sources/host-tools/sed-4.2.1/lib/obstack.c
deleted file mode 100644
index 5b87466..0000000
--- a/sources/host-tools/sed-4.2.1/lib/obstack.c
+++ /dev/null
@@ -1,430 +0,0 @@
-/* obstack.c - subroutines used implicitly by object stack macros
-
- Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
- Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifdef _LIBC
-# include <obstack.h>
-# include <shlib-compat.h>
-#else
-# include <config.h>
-# include "obstack.h"
-#endif
-
-/* NOTE BEFORE MODIFYING THIS FILE: This version number must be
- incremented whenever callers compiled using an old obstack.h can no
- longer properly call the functions in this obstack.c. */
-#define OBSTACK_INTERFACE_VERSION 1
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself, and the installed library
- supports the same library interface we do. This code is part of the GNU
- C Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object
- files, it is simpler to just do this in the source for each such file. */
-
-#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
-# define ELIDE_CODE
-# endif
-#endif
-
-#include <stddef.h>
-
-#ifndef ELIDE_CODE
-
-# include <stdint.h>
-
-/* Determine default alignment. */
-union fooround
-{
- uintmax_t i;
- long double d;
- void *p;
-};
-struct fooalign
-{
- char c;
- union fooround u;
-};
-/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
- But in fact it might be less smart and round addresses to as much as
- DEFAULT_ROUNDING. So we prepare for it to do that. */
-enum
- {
- DEFAULT_ALIGNMENT = offsetof (struct fooalign, u),
- DEFAULT_ROUNDING = sizeof (union fooround)
- };
-
-/* When we copy a long block of data, this is the unit to do it with.
- On some machines, copying successive ints does not work;
- in such a case, redefine COPYING_UNIT to `long' (if that works)
- or `char' as a last resort. */
-# ifndef COPYING_UNIT
-# define COPYING_UNIT int
-# endif
-
-
-/* The functions allocating more room by calling `obstack_chunk_alloc'
- jump to the handler pointed to by `obstack_alloc_failed_handler'.
- This can be set to a user defined function which should either
- abort gracefully or use longjump - but shouldn't return. This
- variable by default points to the internal function
- `print_and_abort'. */
-static void print_and_abort (void);
-void (*obstack_alloc_failed_handler) (void) = print_and_abort;
-
-/* Exit value used when `print_and_abort' is used. */
-# include <stdlib.h>
-# ifdef _LIBC
-int obstack_exit_failure = EXIT_FAILURE;
-# else
-# include "exitfail.h"
-# define obstack_exit_failure exit_failure
-# endif
-
-# ifdef _LIBC
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-/* A looong time ago (before 1994, anyway; we're not sure) this global variable
- was used by non-GNU-C macros to avoid multiple evaluation. The GNU C
- library still exports it because somebody might use it. */
-struct obstack *_obstack_compat;
-compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
-# endif
-# endif
-
-/* Define a macro that either calls functions with the traditional malloc/free
- calling interface, or calls functions with the mmalloc/mfree interface
- (that adds an extra first argument), based on the state of use_extra_arg.
- For free, do not use ?:, since some compilers, like the MIPS compilers,
- do not allow (expr) ? void : void. */
-
-# define CALL_CHUNKFUN(h, size) \
- (((h) -> use_extra_arg) \
- ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
- : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
-
-# define CALL_FREEFUN(h, old_chunk) \
- do { \
- if ((h) -> use_extra_arg) \
- (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
- else \
- (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
- } while (0)
-
-
-/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
- Objects start on multiples of ALIGNMENT (0 means use default).
- CHUNKFUN is the function to use to allocate chunks,
- and FREEFUN the function to free them.
-
- Return nonzero if successful, calls obstack_alloc_failed_handler if
- allocation fails. */
-
-int
-_obstack_begin (struct obstack *h,
- int size, int alignment,
- void *(*chunkfun) (long),
- void (*freefun) (void *))
-{
- register struct _obstack_chunk *chunk; /* points to new chunk */
-
- if (alignment == 0)
- alignment = DEFAULT_ALIGNMENT;
- if (size == 0)
- /* Default size is what GNU malloc can fit in a 4096-byte block. */
- {
- /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
- Use the values for range checking, because if range checking is off,
- the extra bytes won't be missed terribly, but if range checking is on
- and we used a larger request, a whole extra 4096 bytes would be
- allocated.
-
- These number are irrelevant to the new GNU malloc. I suspect it is
- less sensitive to the size of the request. */
- int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
- + 4 + DEFAULT_ROUNDING - 1)
- & ~(DEFAULT_ROUNDING - 1));
- size = 4096 - extra;
- }
-
- h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
- h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
- h->chunk_size = size;
- h->alignment_mask = alignment - 1;
- h->use_extra_arg = 0;
-
- chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
- if (!chunk)
- (*obstack_alloc_failed_handler) ();
- h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
- alignment - 1);
- h->chunk_limit = chunk->limit
- = (char *) chunk + h->chunk_size;
- chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
- return 1;
-}
-
-int
-_obstack_begin_1 (struct obstack *h, int size, int alignment,
- void *(*chunkfun) (void *, long),
- void (*freefun) (void *, void *),
- void *arg)
-{
- register struct _obstack_chunk *chunk; /* points to new chunk */
-
- if (alignment == 0)
- alignment = DEFAULT_ALIGNMENT;
- if (size == 0)
- /* Default size is what GNU malloc can fit in a 4096-byte block. */
- {
- /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
- Use the values for range checking, because if range checking is off,
- the extra bytes won't be missed terribly, but if range checking is on
- and we used a larger request, a whole extra 4096 bytes would be
- allocated.
-
- These number are irrelevant to the new GNU malloc. I suspect it is
- less sensitive to the size of the request. */
- int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
- + 4 + DEFAULT_ROUNDING - 1)
- & ~(DEFAULT_ROUNDING - 1));
- size = 4096 - extra;
- }
-
- h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
- h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
- h->chunk_size = size;
- h->alignment_mask = alignment - 1;
- h->extra_arg = arg;
- h->use_extra_arg = 1;
-
- chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
- if (!chunk)
- (*obstack_alloc_failed_handler) ();
- h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
- alignment - 1);
- h->chunk_limit = chunk->limit
- = (char *) chunk + h->chunk_size;
- chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
- return 1;
-}
-
-/* Allocate a new current chunk for the obstack *H
- on the assumption that LENGTH bytes need to be added
- to the current object, or a new object of length LENGTH allocated.
- Copies any partial object from the end of the old chunk
- to the beginning of the new one. */
-
-void
-_obstack_newchunk (struct obstack *h, int length)
-{
- register struct _obstack_chunk *old_chunk = h->chunk;
- register struct _obstack_chunk *new_chunk;
- register long new_size;
- register long obj_size = h->next_free - h->object_base;
- register long i;
- long already;
- char *object_base;
-
- /* Compute size for new chunk. */
- new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100;
- if (new_size < h->chunk_size)
- new_size = h->chunk_size;
-
- /* Allocate and initialize the new chunk. */
- new_chunk = CALL_CHUNKFUN (h, new_size);
- if (!new_chunk)
- (*obstack_alloc_failed_handler) ();
- h->chunk = new_chunk;
- new_chunk->prev = old_chunk;
- new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
-
- /* Compute an aligned object_base in the new chunk */
- object_base =
- __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask);
-
- /* Move the existing object to the new chunk.
- Word at a time is fast and is safe if the object
- is sufficiently aligned. */
- if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT)
- {
- for (i = obj_size / sizeof (COPYING_UNIT) - 1;
- i >= 0; i--)
- ((COPYING_UNIT *)object_base)[i]
- = ((COPYING_UNIT *)h->object_base)[i];
- /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT,
- but that can cross a page boundary on a machine
- which does not do strict alignment for COPYING_UNITS. */
- already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT);
- }
- else
- already = 0;
- /* Copy remaining bytes one by one. */
- for (i = already; i < obj_size; i++)
- object_base[i] = h->object_base[i];
-
- /* If the object just copied was the only data in OLD_CHUNK,
- free that chunk and remove it from the chain.
- But not if that chunk might contain an empty object. */
- if (! h->maybe_empty_object
- && (h->object_base
- == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents,
- h->alignment_mask)))
- {
- new_chunk->prev = old_chunk->prev;
- CALL_FREEFUN (h, old_chunk);
- }
-
- h->object_base = object_base;
- h->next_free = h->object_base + obj_size;
- /* The new chunk certainly contains no empty object yet. */
- h->maybe_empty_object = 0;
-}
-# ifdef _LIBC
-libc_hidden_def (_obstack_newchunk)
-# endif
-
-/* Return nonzero if object OBJ has been allocated from obstack H.
- This is here for debugging.
- If you use it in a program, you are probably losing. */
-
-/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
- obstack.h because it is just for debugging. */
-int _obstack_allocated_p (struct obstack *h, void *obj);
-
-int
-_obstack_allocated_p (struct obstack *h, void *obj)
-{
- register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- register struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = (h)->chunk;
- /* We use >= rather than > since the object cannot be exactly at
- the beginning of the chunk but might be an empty object exactly
- at the end of an adjacent chunk. */
- while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj))
- {
- plp = lp->prev;
- lp = plp;
- }
- return lp != 0;
-}
-
-/* Free objects in obstack H, including OBJ and everything allocate
- more recently than OBJ. If OBJ is zero, free everything in H. */
-
-# undef obstack_free
-
-void
-__obstack_free (struct obstack *h, void *obj)
-{
- register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- register struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = h->chunk;
- /* We use >= because there cannot be an object at the beginning of a chunk.
- But there can be an empty object at that address
- at the end of another chunk. */
- while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj))
- {
- plp = lp->prev;
- CALL_FREEFUN (h, lp);
- lp = plp;
- /* If we switch chunks, we can't tell whether the new current
- chunk contains an empty object, so assume that it may. */
- h->maybe_empty_object = 1;
- }
- if (lp)
- {
- h->object_base = h->next_free = (char *) (obj);
- h->chunk_limit = lp->limit;
- h->chunk = lp;
- }
- else if (obj != 0)
- /* obj is not in any of the chunks! */
- abort ();
-}
-
-# ifdef _LIBC
-/* Older versions of libc used a function _obstack_free intended to be
- called by non-GCC compilers. */
-strong_alias (obstack_free, _obstack_free)
-# endif
-
-int
-_obstack_memory_used (struct obstack *h)
-{
- register struct _obstack_chunk* lp;
- register int nbytes = 0;
-
- for (lp = h->chunk; lp != 0; lp = lp->prev)
- {
- nbytes += lp->limit - (char *) lp;
- }
- return nbytes;
-}
-
-/* Define the error handler. */
-# ifdef _LIBC
-# include <libintl.h>
-# else
-# include "gettext.h"
-# endif
-# ifndef _
-# define _(msgid) gettext (msgid)
-# endif
-
-# ifdef _LIBC
-# include <libio/iolibio.h>
-# endif
-
-# ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-# endif
-
-static void
-__attribute__ ((noreturn))
-print_and_abort (void)
-{
- /* Don't change any of these strings. Yes, it would be possible to add
- the newline to the string and use fputs or so. But this must not
- happen because the "memory exhausted" message appears in other places
- like this and the translation should be reused instead of creating
- a very similar string which requires a separate translation. */
-# ifdef _LIBC
- (void) __fxprintf (NULL, "%s\n", _("memory exhausted"));
-# else
- fprintf (stderr, "%s\n", _("memory exhausted"));
-# endif
- exit (obstack_exit_failure);
-}
-
-#endif /* !ELIDE_CODE */
diff --git a/sources/host-tools/sed-4.2.1/lib/obstack.h b/sources/host-tools/sed-4.2.1/lib/obstack.h
deleted file mode 100644
index 1bf4b2f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/obstack.h
+++ /dev/null
@@ -1,512 +0,0 @@
-/* obstack.h - object stack macros
- Copyright (C) 1988-1994,1996-1999,2003,2004,2005,2006
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Summary:
-
-All the apparent functions defined here are macros. The idea
-is that you would use these pre-tested macros to solve a
-very specific set of problems, and they would run fast.
-Caution: no side-effects in arguments please!! They may be
-evaluated MANY times!!
-
-These macros operate a stack of objects. Each object starts life
-small, and may grow to maturity. (Consider building a word syllable
-by syllable.) An object can move while it is growing. Once it has
-been "finished" it never changes address again. So the "top of the
-stack" is typically an immature growing object, while the rest of the
-stack is of mature, fixed size and fixed address objects.
-
-These routines grab large chunks of memory, using a function you
-supply, called `obstack_chunk_alloc'. On occasion, they free chunks,
-by calling `obstack_chunk_free'. You must define them and declare
-them before using any obstack macros.
-
-Each independent stack is represented by a `struct obstack'.
-Each of the obstack macros expects a pointer to such a structure
-as the first argument.
-
-One motivation for this package is the problem of growing char strings
-in symbol tables. Unless you are "fascist pig with a read-only mind"
---Gosper's immortal quote from HAKMEM item 154, out of context--you
-would not like to put any arbitrary upper limit on the length of your
-symbols.
-
-In practice this often means you will build many short symbols and a
-few long symbols. At the time you are reading a symbol you don't know
-how long it is. One traditional method is to read a symbol into a
-buffer, realloc()ating the buffer every time you try to read a symbol
-that is longer than the buffer. This is beaut, but you still will
-want to copy the symbol from the buffer to a more permanent
-symbol-table entry say about half the time.
-
-With obstacks, you can work differently. Use one obstack for all symbol
-names. As you read a symbol, grow the name in the obstack gradually.
-When the name is complete, finalize it. Then, if the symbol exists already,
-free the newly read name.
-
-The way we do this is to take a large chunk, allocating memory from
-low addresses. When you want to build a symbol in the chunk you just
-add chars above the current "high water mark" in the chunk. When you
-have finished adding chars, because you got to the end of the symbol,
-you know how long the chars are, and you can create a new object.
-Mostly the chars will not burst over the highest address of the chunk,
-because you would typically expect a chunk to be (say) 100 times as
-long as an average object.
-
-In case that isn't clear, when we have enough chars to make up
-the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
-so we just point to it where it lies. No moving of chars is
-needed and this is the second win: potentially long strings need
-never be explicitly shuffled. Once an object is formed, it does not
-change its address during its lifetime.
-
-When the chars burst over a chunk boundary, we allocate a larger
-chunk, and then copy the partly formed object from the end of the old
-chunk to the beginning of the new larger chunk. We then carry on
-accreting characters to the end of the object as we normally would.
-
-A special macro is provided to add a single char at a time to a
-growing object. This allows the use of register variables, which
-break the ordinary 'growth' macro.
-
-Summary:
- We allocate large chunks.
- We carve out one object at a time from the current chunk.
- Once carved, an object never moves.
- We are free to append data of any size to the currently
- growing object.
- Exactly one object is growing in an obstack at any one time.
- You can run one obstack per control block.
- You may have as many control blocks as you dare.
- Because of the way we do it, you can `unwind' an obstack
- back to a previous state. (You may remove objects much
- as you would with a stack.)
-*/
-
-
-/* Don't do the contents of this file more than once. */
-
-#ifndef _OBSTACK_H
-#define _OBSTACK_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is
- defined, as with GNU C, use that; that way we don't pollute the
- namespace with <stddef.h>'s symbols. Otherwise, include <stddef.h>
- and use ptrdiff_t. */
-
-#ifdef __PTRDIFF_TYPE__
-# define PTR_INT_TYPE __PTRDIFF_TYPE__
-#else
-# include <stddef.h>
-# define PTR_INT_TYPE ptrdiff_t
-#endif
-
-/* If B is the base of an object addressed by P, return the result of
- aligning P to the next multiple of A + 1. B and P must be of type
- char *. A + 1 must be a power of 2. */
-
-#define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A)))
-
-/* Similiar to _BPTR_ALIGN (B, P, A), except optimize the common case
- where pointers can be converted to integers, aligned as integers,
- and converted back again. If PTR_INT_TYPE is narrower than a
- pointer (e.g., the AS/400), play it safe and compute the alignment
- relative to B. Otherwise, use the faster strategy of computing the
- alignment relative to 0. */
-
-#define __PTR_ALIGN(B, P, A) \
- __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \
- P, A)
-
-#include <string.h>
-
-struct _obstack_chunk /* Lives at front of each chunk. */
-{
- char *limit; /* 1 past end of this chunk */
- struct _obstack_chunk *prev; /* address of prior chunk or NULL */
- char contents[4]; /* objects begin here */
-};
-
-struct obstack /* control current object in current chunk */
-{
- long chunk_size; /* preferred size to allocate chunks in */
- struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */
- char *object_base; /* address of object we are building */
- char *next_free; /* where to add next char to current object */
- char *chunk_limit; /* address of char after current chunk */
- union
- {
- PTR_INT_TYPE tempint;
- void *tempptr;
- } temp; /* Temporary for some macros. */
- int alignment_mask; /* Mask of alignment for each object. */
- /* These prototypes vary based on `use_extra_arg', and we use
- casts to the prototypeless function type in all assignments,
- but having prototypes here quiets -Wstrict-prototypes. */
- struct _obstack_chunk *(*chunkfun) (void *, long);
- void (*freefun) (void *, struct _obstack_chunk *);
- void *extra_arg; /* first arg for chunk alloc/dealloc funcs */
- unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */
- unsigned maybe_empty_object:1;/* There is a possibility that the current
- chunk contains a zero-length object. This
- prevents freeing the chunk if we allocate
- a bigger chunk to replace it. */
- unsigned alloc_failed:1; /* No longer used, as we now call the failed
- handler on error, but retained for binary
- compatibility. */
-};
-
-/* Declare the external functions we use; they are in obstack.c. */
-
-extern void _obstack_newchunk (struct obstack *, int);
-extern int _obstack_begin (struct obstack *, int, int,
- void *(*) (long), void (*) (void *));
-extern int _obstack_begin_1 (struct obstack *, int, int,
- void *(*) (void *, long),
- void (*) (void *, void *), void *);
-extern int _obstack_memory_used (struct obstack *);
-
-/* The default name of the function for freeing a chunk is 'obstack_free',
- but gnulib users can override this by defining '__obstack_free'. */
-#ifndef __obstack_free
-# define __obstack_free obstack_free
-#endif
-extern void __obstack_free (struct obstack *obstack, void *block);
-
-
-/* Error handler called when `obstack_chunk_alloc' failed to allocate
- more memory. This can be set to a user defined function which
- should either abort gracefully or use longjump - but shouldn't
- return. The default action is to print a message and abort. */
-extern void (*obstack_alloc_failed_handler) (void);
-
-/* Exit value used when `print_and_abort' is used. */
-extern int obstack_exit_failure;
-
-/* Pointer to beginning of object being allocated or to be allocated next.
- Note that this might not be the final address of the object
- because a new chunk might be needed to hold the final size. */
-
-#define obstack_base(h) ((void *) (h)->object_base)
-
-/* Size for allocating ordinary chunks. */
-
-#define obstack_chunk_size(h) ((h)->chunk_size)
-
-/* Pointer to next byte not yet allocated in current chunk. */
-
-#define obstack_next_free(h) ((h)->next_free)
-
-/* Mask specifying low bits that should be clear in address of an object. */
-
-#define obstack_alignment_mask(h) ((h)->alignment_mask)
-
-/* To prevent prototype warnings provide complete argument list. */
-#define obstack_init(h) \
- _obstack_begin ((h), 0, 0, \
- (void *(*) (long)) obstack_chunk_alloc, \
- (void (*) (void *)) obstack_chunk_free)
-
-#define obstack_begin(h, size) \
- _obstack_begin ((h), (size), 0, \
- (void *(*) (long)) obstack_chunk_alloc, \
- (void (*) (void *)) obstack_chunk_free)
-
-#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
- _obstack_begin ((h), (size), (alignment), \
- (void *(*) (long)) (chunkfun), \
- (void (*) (void *)) (freefun))
-
-#define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
- _obstack_begin_1 ((h), (size), (alignment), \
- (void *(*) (void *, long)) (chunkfun), \
- (void (*) (void *, void *)) (freefun), (arg))
-
-#define obstack_chunkfun(h, newchunkfun) \
- ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
-
-#define obstack_freefun(h, newfreefun) \
- ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
-
-#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar))
-
-#define obstack_blank_fast(h,n) ((h)->next_free += (n))
-
-#define obstack_memory_used(h) _obstack_memory_used (h)
-
-#if defined __GNUC__ && defined __STDC__ && __STDC__
-/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
- does not implement __extension__. But that compiler doesn't define
- __GNUC_MINOR__. */
-# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
-# define __extension__
-# endif
-
-/* For GNU C, if not -traditional,
- we can define these macros to compute all args only once
- without using a global variable.
- Also, we can avoid using the `temp' slot, to make faster code. */
-
-# define obstack_object_size(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (unsigned) (__o->next_free - __o->object_base); })
-
-# define obstack_room(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (unsigned) (__o->chunk_limit - __o->next_free); })
-
-# define obstack_make_room(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->chunk_limit - __o->next_free < __len) \
- _obstack_newchunk (__o, __len); \
- (void) 0; })
-
-# define obstack_empty_p(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (__o->chunk->prev == 0 \
- && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \
- __o->chunk->contents, \
- __o->alignment_mask)); })
-
-# define obstack_grow(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->next_free + __len > __o->chunk_limit) \
- _obstack_newchunk (__o, __len); \
- memcpy (__o->next_free, where, __len); \
- __o->next_free += __len; \
- (void) 0; })
-
-# define obstack_grow0(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->next_free + __len + 1 > __o->chunk_limit) \
- _obstack_newchunk (__o, __len + 1); \
- memcpy (__o->next_free, where, __len); \
- __o->next_free += __len; \
- *(__o->next_free)++ = 0; \
- (void) 0; })
-
-# define obstack_1grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + 1 > __o->chunk_limit) \
- _obstack_newchunk (__o, 1); \
- obstack_1grow_fast (__o, datum); \
- (void) 0; })
-
-/* These assume that the obstack alignment is good enough for pointers
- or ints, and that the data added so far to the current object
- shares that much alignment. */
-
-# define obstack_ptr_grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + sizeof (void *) > __o->chunk_limit) \
- _obstack_newchunk (__o, sizeof (void *)); \
- obstack_ptr_grow_fast (__o, datum); }) \
-
-# define obstack_int_grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + sizeof (int) > __o->chunk_limit) \
- _obstack_newchunk (__o, sizeof (int)); \
- obstack_int_grow_fast (__o, datum); })
-
-# define obstack_ptr_grow_fast(OBSTACK,aptr) \
-__extension__ \
-({ struct obstack *__o1 = (OBSTACK); \
- *(const void **) __o1->next_free = (aptr); \
- __o1->next_free += sizeof (const void *); \
- (void) 0; })
-
-# define obstack_int_grow_fast(OBSTACK,aint) \
-__extension__ \
-({ struct obstack *__o1 = (OBSTACK); \
- *(int *) __o1->next_free = (aint); \
- __o1->next_free += sizeof (int); \
- (void) 0; })
-
-# define obstack_blank(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->chunk_limit - __o->next_free < __len) \
- _obstack_newchunk (__o, __len); \
- obstack_blank_fast (__o, __len); \
- (void) 0; })
-
-# define obstack_alloc(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_blank (__h, (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_grow (__h, (where), (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy0(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_grow0 (__h, (where), (length)); \
- obstack_finish (__h); })
-
-/* The local variable is named __o1 to avoid a name conflict
- when obstack_blank is called. */
-# define obstack_finish(OBSTACK) \
-__extension__ \
-({ struct obstack *__o1 = (OBSTACK); \
- void *__value = (void *) __o1->object_base; \
- if (__o1->next_free == __value) \
- __o1->maybe_empty_object = 1; \
- __o1->next_free \
- = __PTR_ALIGN (__o1->object_base, __o1->next_free, \
- __o1->alignment_mask); \
- if (__o1->next_free - (char *)__o1->chunk \
- > __o1->chunk_limit - (char *)__o1->chunk) \
- __o1->next_free = __o1->chunk_limit; \
- __o1->object_base = __o1->next_free; \
- __value; })
-
-# define obstack_free(OBSTACK, OBJ) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- void *__obj = (OBJ); \
- if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \
- __o->next_free = __o->object_base = (char *)__obj; \
- else (__obstack_free) (__o, __obj); })
-
-#else /* not __GNUC__ or not __STDC__ */
-
-# define obstack_object_size(h) \
- (unsigned) ((h)->next_free - (h)->object_base)
-
-# define obstack_room(h) \
- (unsigned) ((h)->chunk_limit - (h)->next_free)
-
-# define obstack_empty_p(h) \
- ((h)->chunk->prev == 0 \
- && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \
- (h)->chunk->contents, \
- (h)->alignment_mask))
-
-/* Note that the call to _obstack_newchunk is enclosed in (..., 0)
- so that we can avoid having void expressions
- in the arms of the conditional expression.
- Casting the third operand to void was tried before,
- but some compilers won't accept it. */
-
-# define obstack_make_room(h,length) \
-( (h)->temp.tempint = (length), \
- (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0))
-
-# define obstack_grow(h,where,length) \
-( (h)->temp.tempint = (length), \
- (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \
- memcpy ((h)->next_free, where, (h)->temp.tempint), \
- (h)->next_free += (h)->temp.tempint)
-
-# define obstack_grow0(h,where,length) \
-( (h)->temp.tempint = (length), \
- (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0), \
- memcpy ((h)->next_free, where, (h)->temp.tempint), \
- (h)->next_free += (h)->temp.tempint, \
- *((h)->next_free)++ = 0)
-
-# define obstack_1grow(h,datum) \
-( (((h)->next_free + 1 > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), 1), 0) : 0), \
- obstack_1grow_fast (h, datum))
-
-# define obstack_ptr_grow(h,datum) \
-( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \
- obstack_ptr_grow_fast (h, datum))
-
-# define obstack_int_grow(h,datum) \
-( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \
- obstack_int_grow_fast (h, datum))
-
-# define obstack_ptr_grow_fast(h,aptr) \
- (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr))
-
-# define obstack_int_grow_fast(h,aint) \
- (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint))
-
-# define obstack_blank(h,length) \
-( (h)->temp.tempint = (length), \
- (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint) \
- ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \
- obstack_blank_fast (h, (h)->temp.tempint))
-
-# define obstack_alloc(h,length) \
- (obstack_blank ((h), (length)), obstack_finish ((h)))
-
-# define obstack_copy(h,where,length) \
- (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_copy0(h,where,length) \
- (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_finish(h) \
-( ((h)->next_free == (h)->object_base \
- ? (((h)->maybe_empty_object = 1), 0) \
- : 0), \
- (h)->temp.tempptr = (h)->object_base, \
- (h)->next_free \
- = __PTR_ALIGN ((h)->object_base, (h)->next_free, \
- (h)->alignment_mask), \
- (((h)->next_free - (char *) (h)->chunk \
- > (h)->chunk_limit - (char *) (h)->chunk) \
- ? ((h)->next_free = (h)->chunk_limit) : 0), \
- (h)->object_base = (h)->next_free, \
- (h)->temp.tempptr)
-
-# define obstack_free(h,obj) \
-( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \
- ((((h)->temp.tempint > 0 \
- && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \
- ? (int) ((h)->next_free = (h)->object_base \
- = (h)->temp.tempint + (char *) (h)->chunk) \
- : (((__obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0)))
-
-#endif /* not __GNUC__ or not __STDC__ */
-
-#ifdef __cplusplus
-} /* C++ */
-#endif
-
-#endif /* obstack.h */
diff --git a/sources/host-tools/sed-4.2.1/lib/pathmax.h b/sources/host-tools/sed-4.2.1/lib/pathmax.h
deleted file mode 100644
index 5776be5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/pathmax.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _PATHMAX_H
-# define _PATHMAX_H
-
-# include <unistd.h>
-
-# include <limits.h>
-
-# ifndef _POSIX_PATH_MAX
-# define _POSIX_PATH_MAX 256
-# endif
-
-# if !defined PATH_MAX && defined _PC_PATH_MAX && defined HAVE_PATHCONF
-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \
- : pathconf ("/", _PC_PATH_MAX))
-# endif
-
-/* Don't include sys/param.h if it already has been. */
-# if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
-# include <sys/param.h>
-# endif
-
-# if !defined PATH_MAX && defined MAXPATHLEN
-# define PATH_MAX MAXPATHLEN
-# endif
-
-# ifndef PATH_MAX
-# define PATH_MAX _POSIX_PATH_MAX
-# endif
-
-#endif /* _PATHMAX_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/quote.c b/sources/host-tools/sed-4.2.1/lib/quote.c
deleted file mode 100644
index 5e8b764..0000000
--- a/sources/host-tools/sed-4.2.1/lib/quote.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* quote.c - quote arguments for output
-
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free
- Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#include <config.h>
-
-#include "quotearg.h"
-#include "quote.h"
-
-/* Return an unambiguous printable representation of NAME,
- allocated in slot N, suitable for diagnostics. */
-char const *
-quote_n (int n, char const *name)
-{
- return quotearg_n_style (n, locale_quoting_style, name);
-}
-
-/* Return an unambiguous printable representation of NAME,
- suitable for diagnostics. */
-char const *
-quote (char const *name)
-{
- return quote_n (0, name);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/quote.h b/sources/host-tools/sed-4.2.1/lib/quote.h
deleted file mode 100644
index c3660b1..0000000
--- a/sources/host-tools/sed-4.2.1/lib/quote.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* quote.h - prototypes for quote.c
-
- Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software
- Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-
-char const *quote_n (int n, char const *name);
-char const *quote (char const *name);
diff --git a/sources/host-tools/sed-4.2.1/lib/quotearg.c b/sources/host-tools/sed-4.2.1/lib/quotearg.c
deleted file mode 100644
index 339bf34..0000000
--- a/sources/host-tools/sed-4.2.1/lib/quotearg.c
+++ /dev/null
@@ -1,799 +0,0 @@
-/* quotearg.c - quote arguments for output
-
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007,
- 2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#include <config.h>
-
-#include "quotearg.h"
-
-#include "xalloc.h"
-
-#include <ctype.h>
-#include <errno.h>
-#include <limits.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-#include <wctype.h>
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-#define N_(msgid) msgid
-
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
-
-#define INT_BITS (sizeof (int) * CHAR_BIT)
-
-struct quoting_options
-{
- /* Basic quoting style. */
- enum quoting_style style;
-
- /* Additional flags. Bitwise combination of enum quoting_flags. */
- int flags;
-
- /* Quote the characters indicated by this bit vector even if the
- quoting style would not normally require them to be quoted. */
- unsigned int quote_these_too[(UCHAR_MAX / INT_BITS) + 1];
-};
-
-/* Names of quoting styles. */
-char const *const quoting_style_args[] =
-{
- "literal",
- "shell",
- "shell-always",
- "c",
- "c-maybe",
- "escape",
- "locale",
- "clocale",
- 0
-};
-
-/* Correspondences to quoting style names. */
-enum quoting_style const quoting_style_vals[] =
-{
- literal_quoting_style,
- shell_quoting_style,
- shell_always_quoting_style,
- c_quoting_style,
- c_maybe_quoting_style,
- escape_quoting_style,
- locale_quoting_style,
- clocale_quoting_style
-};
-
-/* The default quoting options. */
-static struct quoting_options default_quoting_options;
-
-/* Allocate a new set of quoting options, with contents initially identical
- to O if O is not null, or to the default if O is null.
- It is the caller's responsibility to free the result. */
-struct quoting_options *
-clone_quoting_options (struct quoting_options *o)
-{
- int e = errno;
- struct quoting_options *p = xmemdup (o ? o : &default_quoting_options,
- sizeof *o);
- errno = e;
- return p;
-}
-
-/* Get the value of O's quoting style. If O is null, use the default. */
-enum quoting_style
-get_quoting_style (struct quoting_options *o)
-{
- return (o ? o : &default_quoting_options)->style;
-}
-
-/* In O (or in the default if O is null),
- set the value of the quoting style to S. */
-void
-set_quoting_style (struct quoting_options *o, enum quoting_style s)
-{
- (o ? o : &default_quoting_options)->style = s;
-}
-
-/* In O (or in the default if O is null),
- set the value of the quoting options for character C to I.
- Return the old value. Currently, the only values defined for I are
- 0 (the default) and 1 (which means to quote the character even if
- it would not otherwise be quoted). */
-int
-set_char_quoting (struct quoting_options *o, char c, int i)
-{
- unsigned char uc = c;
- unsigned int *p =
- (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS;
- int shift = uc % INT_BITS;
- int r = (*p >> shift) & 1;
- *p ^= ((i & 1) ^ r) << shift;
- return r;
-}
-
-/* In O (or in the default if O is null),
- set the value of the quoting options flag to I, which can be a
- bitwise combination of enum quoting_flags, or 0 for default
- behavior. Return the old value. */
-int
-set_quoting_flags (struct quoting_options *o, int i)
-{
- int r;
- if (!o)
- o = &default_quoting_options;
- r = o->flags;
- o->flags = i;
- return r;
-}
-
-/* Return quoting options for STYLE, with no extra quoting. */
-static struct quoting_options
-quoting_options_from_style (enum quoting_style style)
-{
- struct quoting_options o;
- o.style = style;
- o.flags = 0;
- memset (o.quote_these_too, 0, sizeof o.quote_these_too);
- return o;
-}
-
-/* MSGID approximates a quotation mark. Return its translation if it
- has one; otherwise, return either it or "\"", depending on S. */
-static char const *
-gettext_quote (char const *msgid, enum quoting_style s)
-{
- char const *translation = _(msgid);
- if (translation == msgid && s == clocale_quoting_style)
- translation = "\"";
- return translation;
-}
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using QUOTING_STYLE, FLAGS, and
- QUOTE_THESE_TOO to control quoting.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE.
-
- This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG,
- ARGSIZE, O), except it breaks O into its component pieces and is
- not careful about errno. */
-
-static size_t
-quotearg_buffer_restyled (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- enum quoting_style quoting_style, int flags,
- unsigned int const *quote_these_too)
-{
- size_t i;
- size_t len = 0;
- char const *quote_string = 0;
- size_t quote_string_len = 0;
- bool backslash_escapes = false;
- bool unibyte_locale = MB_CUR_MAX == 1;
- bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0;
-
-#define STORE(c) \
- do \
- { \
- if (len < buffersize) \
- buffer[len] = (c); \
- len++; \
- } \
- while (0)
-
- switch (quoting_style)
- {
- case c_maybe_quoting_style:
- quoting_style = c_quoting_style;
- elide_outer_quotes = true;
- /* Fall through. */
- case c_quoting_style:
- if (!elide_outer_quotes)
- STORE ('"');
- backslash_escapes = true;
- quote_string = "\"";
- quote_string_len = 1;
- break;
-
- case escape_quoting_style:
- backslash_escapes = true;
- elide_outer_quotes = false;
- break;
-
- case locale_quoting_style:
- case clocale_quoting_style:
- {
- /* TRANSLATORS:
- Get translations for open and closing quotation marks.
-
- The message catalog should translate "`" to a left
- quotation mark suitable for the locale, and similarly for
- "'". If the catalog has no translation,
- locale_quoting_style quotes `like this', and
- clocale_quoting_style quotes "like this".
-
- For example, an American English Unicode locale should
- translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
- should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
- MARK). A British English Unicode locale should instead
- translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
- U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
-
- If you don't know what to put here, please see
- <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
- and use glyphs suitable for your language. */
-
- char const *left = gettext_quote (N_("`"), quoting_style);
- char const *right = gettext_quote (N_("'"), quoting_style);
- if (!elide_outer_quotes)
- for (quote_string = left; *quote_string; quote_string++)
- STORE (*quote_string);
- backslash_escapes = true;
- quote_string = right;
- quote_string_len = strlen (quote_string);
- }
- break;
-
- case shell_quoting_style:
- quoting_style = shell_always_quoting_style;
- elide_outer_quotes = true;
- /* Fall through. */
- case shell_always_quoting_style:
- if (!elide_outer_quotes)
- STORE ('\'');
- quote_string = "'";
- quote_string_len = 1;
- break;
-
- case literal_quoting_style:
- elide_outer_quotes = false;
- break;
-
- default:
- abort ();
- }
-
- for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++)
- {
- unsigned char c;
- unsigned char esc;
-
- if (backslash_escapes
- && quote_string_len
- && i + quote_string_len <= argsize
- && memcmp (arg + i, quote_string, quote_string_len) == 0)
- {
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
- }
-
- c = arg[i];
- switch (c)
- {
- case '\0':
- if (backslash_escapes)
- {
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
- if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9')
- {
- STORE ('0');
- STORE ('0');
- }
- c = '0';
- }
- else if (flags & QA_ELIDE_NULL_BYTES)
- continue;
- break;
-
- case '?':
- switch (quoting_style)
- {
- case shell_always_quoting_style:
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- break;
-
- case c_quoting_style:
- if ((flags & QA_SPLIT_TRIGRAPHS)
- && i + 2 < argsize && arg[i + 1] == '?')
- switch (arg[i + 2])
- {
- case '!': case '\'':
- case '(': case ')': case '-': case '/':
- case '<': case '=': case '>':
- /* Escape the second '?' in what would otherwise be
- a trigraph. */
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- c = arg[i + 2];
- i += 2;
- STORE ('?');
- STORE ('"');
- STORE ('"');
- STORE ('?');
- break;
-
- default:
- break;
- }
- break;
-
- default:
- break;
- }
- break;
-
- case '\a': esc = 'a'; goto c_escape;
- case '\b': esc = 'b'; goto c_escape;
- case '\f': esc = 'f'; goto c_escape;
- case '\n': esc = 'n'; goto c_and_shell_escape;
- case '\r': esc = 'r'; goto c_and_shell_escape;
- case '\t': esc = 't'; goto c_and_shell_escape;
- case '\v': esc = 'v'; goto c_escape;
- case '\\': esc = c;
- /* No need to escape the escape if we are trying to elide
- outer quotes and nothing else is problematic. */
- if (backslash_escapes && elide_outer_quotes && quote_string_len)
- goto store_c;
-
- c_and_shell_escape:
- if (quoting_style == shell_always_quoting_style
- && elide_outer_quotes)
- goto force_outer_quoting_style;
- /* Fall through. */
- c_escape:
- if (backslash_escapes)
- {
- c = esc;
- goto store_escape;
- }
- break;
-
- case '{': case '}': /* sometimes special if isolated */
- if (! (argsize == SIZE_MAX ? arg[1] == '\0' : argsize == 1))
- break;
- /* Fall through. */
- case '#': case '~':
- if (i != 0)
- break;
- /* Fall through. */
- case ' ':
- case '!': /* special in bash */
- case '"': case '$': case '&':
- case '(': case ')': case '*': case ';':
- case '<':
- case '=': /* sometimes special in 0th or (with "set -k") later args */
- case '>': case '[':
- case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */
- case '`': case '|':
- /* A shell special character. In theory, '$' and '`' could
- be the first bytes of multibyte characters, which means
- we should check them with mbrtowc, but in practice this
- doesn't happen so it's not worth worrying about. */
- if (quoting_style == shell_always_quoting_style
- && elide_outer_quotes)
- goto force_outer_quoting_style;
- break;
-
- case '\'':
- if (quoting_style == shell_always_quoting_style)
- {
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\'');
- STORE ('\\');
- STORE ('\'');
- }
- break;
-
- case '%': case '+': case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9': case ':':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z': case ']': case '_': case 'a': case 'b':
- case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
- case 'o': case 'p': case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
- /* These characters don't cause problems, no matter what the
- quoting style is. They cannot start multibyte sequences. */
- break;
-
- default:
- /* If we have a multibyte sequence, copy it until we reach
- its end, find an error, or come back to the initial shift
- state. For C-like styles, if the sequence has
- unprintable characters, escape the whole sequence, since
- we can't easily escape single characters within it. */
- {
- /* Length of multibyte sequence found so far. */
- size_t m;
-
- bool printable;
-
- if (unibyte_locale)
- {
- m = 1;
- printable = isprint (c) != 0;
- }
- else
- {
- mbstate_t mbstate;
- memset (&mbstate, 0, sizeof mbstate);
-
- m = 0;
- printable = true;
- if (argsize == SIZE_MAX)
- argsize = strlen (arg);
-
- do
- {
- wchar_t w;
- size_t bytes = mbrtowc (&w, &arg[i + m],
- argsize - (i + m), &mbstate);
- if (bytes == 0)
- break;
- else if (bytes == (size_t) -1)
- {
- printable = false;
- break;
- }
- else if (bytes == (size_t) -2)
- {
- printable = false;
- while (i + m < argsize && arg[i + m])
- m++;
- break;
- }
- else
- {
- /* Work around a bug with older shells that "see" a '\'
- that is really the 2nd byte of a multibyte character.
- In practice the problem is limited to ASCII
- chars >= '@' that are shell special chars. */
- if ('[' == 0x5b && elide_outer_quotes
- && quoting_style == shell_always_quoting_style)
- {
- size_t j;
- for (j = 1; j < bytes; j++)
- switch (arg[i + m + j])
- {
- case '[': case '\\': case '^':
- case '`': case '|':
- goto force_outer_quoting_style;
-
- default:
- break;
- }
- }
-
- if (! iswprint (w))
- printable = false;
- m += bytes;
- }
- }
- while (! mbsinit (&mbstate));
- }
-
- if (1 < m || (backslash_escapes && ! printable))
- {
- /* Output a multibyte sequence, or an escaped
- unprintable unibyte character. */
- size_t ilim = i + m;
-
- for (;;)
- {
- if (backslash_escapes && ! printable)
- {
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
- STORE ('0' + (c >> 6));
- STORE ('0' + ((c >> 3) & 7));
- c = '0' + (c & 7);
- }
- if (ilim <= i + 1)
- break;
- STORE (c);
- c = arg[++i];
- }
-
- goto store_c;
- }
- }
- }
-
- if (! ((backslash_escapes || elide_outer_quotes)
- && quote_these_too
- && quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))))
- goto store_c;
-
- store_escape:
- if (elide_outer_quotes)
- goto force_outer_quoting_style;
- STORE ('\\');
-
- store_c:
- STORE (c);
- }
-
- if (len == 0 && quoting_style == shell_always_quoting_style
- && elide_outer_quotes)
- goto force_outer_quoting_style;
-
- if (quote_string && !elide_outer_quotes)
- for (; *quote_string; quote_string++)
- STORE (*quote_string);
-
- if (len < buffersize)
- buffer[len] = '\0';
- return len;
-
- force_outer_quoting_style:
- /* Don't reuse quote_these_too, since the addition of outer quotes
- sufficiently quotes the specified characters. */
- return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
- quoting_style,
- flags & ~QA_ELIDE_OUTER_QUOTES, NULL);
-}
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using O to control quoting.
- If O is null, use the default.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is SIZE_MAX, use the string length of the argument for
- ARGSIZE. */
-size_t
-quotearg_buffer (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- struct quoting_options const *o)
-{
- struct quoting_options const *p = o ? o : &default_quoting_options;
- int e = errno;
- size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
- p->style, p->flags, p->quote_these_too);
- errno = e;
- return r;
-}
-
-/* Equivalent to quotearg_alloc (ARG, ARGSIZE, NULL, O). */
-char *
-quotearg_alloc (char const *arg, size_t argsize,
- struct quoting_options const *o)
-{
- return quotearg_alloc_mem (arg, argsize, NULL, o);
-}
-
-/* Like quotearg_buffer (..., ARG, ARGSIZE, O), except return newly
- allocated storage containing the quoted string, and store the
- resulting size into *SIZE, if non-NULL. The result can contain
- embedded null bytes only if ARGSIZE is not SIZE_MAX, SIZE is not
- NULL, and set_quoting_flags has not set the null byte elision
- flag. */
-char *
-quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size,
- struct quoting_options const *o)
-{
- struct quoting_options const *p = o ? o : &default_quoting_options;
- int e = errno;
- /* Elide embedded null bytes if we can't return a size. */
- int flags = p->flags | (size ? 0 : QA_ELIDE_NULL_BYTES);
- size_t bufsize = quotearg_buffer_restyled (0, 0, arg, argsize, p->style,
- flags, p->quote_these_too) + 1;
- char *buf = xcharalloc (bufsize);
- quotearg_buffer_restyled (buf, bufsize, arg, argsize, p->style, flags,
- p->quote_these_too);
- errno = e;
- if (size)
- *size = bufsize - 1;
- return buf;
-}
-
-/* A storage slot with size and pointer to a value. */
-struct slotvec
-{
- size_t size;
- char *val;
-};
-
-/* Preallocate a slot 0 buffer, so that the caller can always quote
- one small component of a "memory exhausted" message in slot 0. */
-static char slot0[256];
-static unsigned int nslots = 1;
-static struct slotvec slotvec0 = {sizeof slot0, slot0};
-static struct slotvec *slotvec = &slotvec0;
-
-void
-quotearg_free (void)
-{
- struct slotvec *sv = slotvec;
- unsigned int i;
- for (i = 1; i < nslots; i++)
- free (sv[i].val);
- if (sv[0].val != slot0)
- {
- free (sv[0].val);
- slotvec0.size = sizeof slot0;
- slotvec0.val = slot0;
- }
- if (sv != &slotvec0)
- {
- free (sv);
- slotvec = &slotvec0;
- }
- nslots = 1;
-}
-
-/* Use storage slot N to return a quoted version of argument ARG.
- ARG is of size ARGSIZE, but if that is SIZE_MAX, ARG is a
- null-terminated string.
- OPTIONS specifies the quoting options.
- The returned value points to static storage that can be
- reused by the next call to this function with the same value of N.
- N must be nonnegative. N is deliberately declared with type "int"
- to allow for future extensions (using negative values). */
-static char *
-quotearg_n_options (int n, char const *arg, size_t argsize,
- struct quoting_options const *options)
-{
- int e = errno;
-
- unsigned int n0 = n;
- struct slotvec *sv = slotvec;
-
- if (n < 0)
- abort ();
-
- if (nslots <= n0)
- {
- /* FIXME: technically, the type of n1 should be `unsigned int',
- but that evokes an unsuppressible warning from gcc-4.0.1 and
- older. If gcc ever provides an option to suppress that warning,
- revert to the original type, so that the test in xalloc_oversized
- is once again performed only at compile time. */
- size_t n1 = n0 + 1;
- bool preallocated = (sv == &slotvec0);
-
- if (xalloc_oversized (n1, sizeof *sv))
- xalloc_die ();
-
- slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv);
- if (preallocated)
- *sv = slotvec0;
- memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv);
- nslots = n1;
- }
-
- {
- size_t size = sv[n].size;
- char *val = sv[n].val;
- /* Elide embedded null bytes since we don't return a size. */
- int flags = options->flags | QA_ELIDE_NULL_BYTES;
- size_t qsize = quotearg_buffer_restyled (val, size, arg, argsize,
- options->style, flags,
- options->quote_these_too);
-
- if (size <= qsize)
- {
- sv[n].size = size = qsize + 1;
- if (val != slot0)
- free (val);
- sv[n].val = val = xcharalloc (size);
- quotearg_buffer_restyled (val, size, arg, argsize, options->style,
- flags, options->quote_these_too);
- }
-
- errno = e;
- return val;
- }
-}
-
-char *
-quotearg_n (int n, char const *arg)
-{
- return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options);
-}
-
-char *
-quotearg_n_mem (int n, char const *arg, size_t argsize)
-{
- return quotearg_n_options (n, arg, argsize, &default_quoting_options);
-}
-
-char *
-quotearg (char const *arg)
-{
- return quotearg_n (0, arg);
-}
-
-char *
-quotearg_mem (char const *arg, size_t argsize)
-{
- return quotearg_n_mem (0, arg, argsize);
-}
-
-char *
-quotearg_n_style (int n, enum quoting_style s, char const *arg)
-{
- struct quoting_options const o = quoting_options_from_style (s);
- return quotearg_n_options (n, arg, SIZE_MAX, &o);
-}
-
-char *
-quotearg_n_style_mem (int n, enum quoting_style s,
- char const *arg, size_t argsize)
-{
- struct quoting_options const o = quoting_options_from_style (s);
- return quotearg_n_options (n, arg, argsize, &o);
-}
-
-char *
-quotearg_style (enum quoting_style s, char const *arg)
-{
- return quotearg_n_style (0, s, arg);
-}
-
-char *
-quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize)
-{
- return quotearg_n_style_mem (0, s, arg, argsize);
-}
-
-char *
-quotearg_char_mem (char const *arg, size_t argsize, char ch)
-{
- struct quoting_options options;
- options = default_quoting_options;
- set_char_quoting (&options, ch, 1);
- return quotearg_n_options (0, arg, argsize, &options);
-}
-
-char *
-quotearg_char (char const *arg, char ch)
-{
- return quotearg_char_mem (arg, SIZE_MAX, ch);
-}
-
-char *
-quotearg_colon (char const *arg)
-{
- return quotearg_char (arg, ':');
-}
-
-char *
-quotearg_colon_mem (char const *arg, size_t argsize)
-{
- return quotearg_char_mem (arg, argsize, ':');
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/quotearg.h b/sources/host-tools/sed-4.2.1/lib/quotearg.h
deleted file mode 100644
index 7700107..0000000
--- a/sources/host-tools/sed-4.2.1/lib/quotearg.h
+++ /dev/null
@@ -1,305 +0,0 @@
-/* quotearg.h - quote arguments for output
-
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2008 Free
- Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#ifndef QUOTEARG_H_
-# define QUOTEARG_H_ 1
-
-# include <stddef.h>
-
-/* Basic quoting styles. For each style, an example is given on the
- input strings "simple", "\0 \t\n'\"\033?""?/\\", and "a:b", using
- quotearg_buffer, quotearg_mem, and quotearg_colon_mem with that
- style and the default flags and quoted characters. Note that the
- examples are shown here as valid C strings rather than what
- displays on a terminal (with "??/" as a trigraph for "\\"). */
-enum quoting_style
- {
- /* Output names as-is (ls --quoting-style=literal). Can result in
- embedded null bytes if QA_ELIDE_NULL_BYTES is not in
- effect.
-
- quotearg_buffer:
- "simple", "\0 \t\n'\"\033??/\\", "a:b"
- quotearg:
- "simple", " \t\n'\"\033??/\\", "a:b"
- quotearg_colon:
- "simple", " \t\n'\"\033??/\\", "a:b"
- */
- literal_quoting_style,
-
- /* Quote names for the shell if they contain shell metacharacters
- or would cause ambiguous output (ls --quoting-style=shell).
- Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not
- in effect.
-
- quotearg_buffer:
- "simple", "'\0 \t\n'\\''\"\033??/\\'", "a:b"
- quotearg:
- "simple", "' \t\n'\\''\"\033??/\\'", "a:b"
- quotearg_colon:
- "simple", "' \t\n'\\''\"\033??/\\'", "'a:b'"
- */
- shell_quoting_style,
-
- /* Quote names for the shell, even if they would normally not
- require quoting (ls --quoting-style=shell-always). Can result
- in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect.
- Behaves like shell_quoting_style if QA_ELIDE_OUTER_QUOTES is in
- effect.
-
- quotearg_buffer:
- "'simple'", "'\0 \t\n'\\''\"\033??/\\'", "'a:b'"
- quotearg:
- "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'"
- quotearg_colon:
- "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'"
- */
- shell_always_quoting_style,
-
- /* Quote names as for a C language string (ls --quoting-style=c).
- Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is
- in effect. Split into consecutive strings if
- QA_SPLIT_TRIGRAPHS.
-
- quotearg_buffer:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\""
- quotearg:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\""
- quotearg_colon:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\""
- */
- c_quoting_style,
-
- /* Like c_quoting_style except omit the surrounding double-quote
- characters if no quoted characters are encountered.
-
- quotearg_buffer:
- "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b"
- quotearg:
- "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b"
- quotearg_colon:
- "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\""
- */
- c_maybe_quoting_style,
-
- /* Like c_quoting_style except always omit the surrounding
- double-quote characters (ls --quoting-style=escape).
-
- quotearg_buffer:
- "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b"
- quotearg:
- "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b"
- quotearg_colon:
- "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a\\:b"
- */
- escape_quoting_style,
-
- /* Like clocale_quoting_style, but quote `like this' instead of
- "like this" in the default C locale (ls --quoting-style=locale).
-
- LC_MESSAGES=C
- quotearg_buffer:
- "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'"
- quotearg:
- "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'"
- quotearg_colon:
- "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a\\:b'"
-
- LC_MESSAGES=pt_PT.utf8
- quotearg_buffer:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273"
- quotearg:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273"
- quotearg_colon:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273"
- */
- locale_quoting_style,
-
- /* Like c_quoting_style except use quotation marks appropriate for
- the locale (ls --quoting-style=clocale).
-
- LC_MESSAGES=C
- quotearg_buffer:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\""
- quotearg:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\""
- quotearg_colon:
- "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\""
-
- LC_MESSAGES=pt_PT.utf8
- quotearg_buffer:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273"
- quotearg:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273"
- quotearg_colon:
- "\302\253simple\302\273",
- "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273"
- */
- clocale_quoting_style
- };
-
-/* Flags for use in set_quoting_flags. */
-enum quoting_flags
- {
- /* Always elide null bytes from styles that do not quote them,
- even when the length of the result is available to the
- caller. */
- QA_ELIDE_NULL_BYTES = 0x01,
-
- /* Omit the surrounding quote characters if no escaped characters
- are encountered. Note that if no other character needs
- escaping, then neither does the escape character. */
- QA_ELIDE_OUTER_QUOTES = 0x02,
-
- /* In the c_quoting_style and c_maybe_quoting_style, split ANSI
- trigraph sequences into concatenated strings (for example,
- "?""?/" rather than "??/", which could be confused with
- "\\"). */
- QA_SPLIT_TRIGRAPHS = 0x04
- };
-
-/* For now, --quoting-style=literal is the default, but this may change. */
-# ifndef DEFAULT_QUOTING_STYLE
-# define DEFAULT_QUOTING_STYLE literal_quoting_style
-# endif
-
-/* Names of quoting styles and their corresponding values. */
-extern char const *const quoting_style_args[];
-extern enum quoting_style const quoting_style_vals[];
-
-struct quoting_options;
-
-/* The functions listed below set and use a hidden variable
- that contains the default quoting style options. */
-
-/* Allocate a new set of quoting options, with contents initially identical
- to O if O is not null, or to the default if O is null.
- It is the caller's responsibility to free the result. */
-struct quoting_options *clone_quoting_options (struct quoting_options *o);
-
-/* Get the value of O's quoting style. If O is null, use the default. */
-enum quoting_style get_quoting_style (struct quoting_options *o);
-
-/* In O (or in the default if O is null),
- set the value of the quoting style to S. */
-void set_quoting_style (struct quoting_options *o, enum quoting_style s);
-
-/* In O (or in the default if O is null),
- set the value of the quoting options for character C to I.
- Return the old value. Currently, the only values defined for I are
- 0 (the default) and 1 (which means to quote the character even if
- it would not otherwise be quoted). */
-int set_char_quoting (struct quoting_options *o, char c, int i);
-
-/* In O (or in the default if O is null),
- set the value of the quoting options flag to I, which can be a
- bitwise combination of enum quoting_flags, or 0 for default
- behavior. Return the old value. */
-int set_quoting_flags (struct quoting_options *o, int i);
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using O to control quoting.
- If O is null, use the default.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is -1, use the string length of the argument for ARGSIZE.
- On output, BUFFER might contain embedded null bytes if ARGSIZE was
- not -1, the style of O does not use backslash escapes, and the
- flags of O do not request elision of null bytes.*/
-size_t quotearg_buffer (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- struct quoting_options const *o);
-
-/* Like quotearg_buffer, except return the result in a newly allocated
- buffer. It is the caller's responsibility to free the result. The
- result will not contain embedded null bytes. */
-char *quotearg_alloc (char const *arg, size_t argsize,
- struct quoting_options const *o);
-
-/* Like quotearg_alloc, except that the length of the result,
- excluding the terminating null byte, is stored into SIZE if it is
- non-NULL. The result might contain embedded null bytes if ARGSIZE
- was not -1, SIZE was not NULL, the style of O does not use
- backslash escapes, and the flags of O do not request elision of
- null bytes.*/
-char *quotearg_alloc_mem (char const *arg, size_t argsize,
- size_t *size, struct quoting_options const *o);
-
-/* Use storage slot N to return a quoted version of the string ARG.
- Use the default quoting options.
- The returned value points to static storage that can be
- reused by the next call to this function with the same value of N.
- N must be nonnegative. The output of all functions in the
- quotearg_n family are guaranteed to not contain embedded null
- bytes.*/
-char *quotearg_n (int n, char const *arg);
-
-/* Equivalent to quotearg_n (0, ARG). */
-char *quotearg (char const *arg);
-
-/* Use storage slot N to return a quoted version of the argument ARG
- of size ARGSIZE. This is like quotearg_n (N, ARG), except it can
- quote null bytes. */
-char *quotearg_n_mem (int n, char const *arg, size_t argsize);
-
-/* Equivalent to quotearg_n_mem (0, ARG, ARGSIZE). */
-char *quotearg_mem (char const *arg, size_t argsize);
-
-/* Use style S and storage slot N to return a quoted version of the string ARG.
- This is like quotearg_n (N, ARG), except that it uses S with no other
- options to specify the quoting method. */
-char *quotearg_n_style (int n, enum quoting_style s, char const *arg);
-
-/* Use style S and storage slot N to return a quoted version of the
- argument ARG of size ARGSIZE. This is like quotearg_n_style
- (N, S, ARG), except it can quote null bytes. */
-char *quotearg_n_style_mem (int n, enum quoting_style s,
- char const *arg, size_t argsize);
-
-/* Equivalent to quotearg_n_style (0, S, ARG). */
-char *quotearg_style (enum quoting_style s, char const *arg);
-
-/* Equivalent to quotearg_n_style_mem (0, S, ARG, ARGSIZE). */
-char *quotearg_style_mem (enum quoting_style s,
- char const *arg, size_t argsize);
-
-/* Like quotearg (ARG), except also quote any instances of CH. */
-char *quotearg_char (char const *arg, char ch);
-
-/* Like quotearg_char (ARG, CH), except it can quote null bytes. */
-char *quotearg_char_mem (char const *arg, size_t argsize, char ch);
-
-/* Equivalent to quotearg_char (ARG, ':'). */
-char *quotearg_colon (char const *arg);
-
-/* Like quotearg_colon (ARG), except it can quote null bytes. */
-char *quotearg_colon_mem (char const *arg, size_t argsize);
-
-/* Free any dynamically allocated memory. */
-void quotearg_free (void);
-
-#endif /* !QUOTEARG_H_ */
diff --git a/sources/host-tools/sed-4.2.1/lib/realloc.c b/sources/host-tools/sed-4.2.1/lib/realloc.c
deleted file mode 100644
index b61c2ca..0000000
--- a/sources/host-tools/sed-4.2.1/lib/realloc.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* realloc() function that is glibc compatible.
-
- Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* written by Jim Meyering and Bruno Haible */
-
-#include <config.h>
-
-/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */
-#ifdef realloc
-# define NEED_REALLOC_GNU 1
-#endif
-
-/* Infer the properties of the system's malloc function.
- Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
-#if GNULIB_MALLOC_GNU && !defined malloc
-# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1
-#endif
-
-/* Below we want to call the system's malloc and realloc.
- Undefine the symbols here so that including <stdlib.h> provides a
- declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */
-#undef malloc
-#undef realloc
-
-/* Specification. */
-#include <stdlib.h>
-
-#include <errno.h>
-
-/* Below we want to call the system's malloc and realloc.
- Undefine the symbols, if they were defined by gnulib's <stdlib.h>
- replacement. */
-#undef malloc
-#undef realloc
-
-/* Change the size of an allocated block of memory P to N bytes,
- with error checking. If N is zero, change it to 1. If P is NULL,
- use malloc. */
-
-void *
-rpl_realloc (void *p, size_t n)
-{
- void *result;
-
-#if NEED_REALLOC_GNU
- if (n == 0)
- {
- n = 1;
-
- /* In theory realloc might fail, so don't rely on it to free. */
- free (p);
- p = NULL;
- }
-#endif
-
- if (p == NULL)
- {
-#if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE
- if (n == 0)
- n = 1;
-#endif
- result = malloc (n);
- }
- else
- result = realloc (p, n);
-
-#if !HAVE_REALLOC_POSIX
- if (result == NULL)
- errno = ENOMEM;
-#endif
-
- return result;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/ref-add.sin b/sources/host-tools/sed-4.2.1/lib/ref-add.sin
deleted file mode 100644
index 222d752..0000000
--- a/sources/host-tools/sed-4.2.1/lib/ref-add.sin
+++ /dev/null
@@ -1,30 +0,0 @@
-# Add this package to a list of references stored in a text file.
-#
-# Copyright (C) 2000 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
- s/# Packages using this file://
- ta
- :a
- s/ @PACKAGE@ / @PACKAGE@ /
- tb
- s/ $/ @PACKAGE@ /
- :b
- s/^/# Packages using this file:/
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/ref-del.sin b/sources/host-tools/sed-4.2.1/lib/ref-del.sin
deleted file mode 100644
index 1bf073e..0000000
--- a/sources/host-tools/sed-4.2.1/lib/ref-del.sin
+++ /dev/null
@@ -1,25 +0,0 @@
-# Remove this package from a list of references stored in a text file.
-#
-# Copyright (C) 2000 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
- s/# Packages using this file://
- s/ @PACKAGE@ / /
- s/^/# Packages using this file:/
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/regcomp.c b/sources/host-tools/sed-4.2.1/lib/regcomp.c
deleted file mode 100644
index 7f25394..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regcomp.c
+++ /dev/null
@@ -1,3854 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Extended regular expression matching and search library.
- Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
- size_t length, reg_syntax_t syntax);
-static void re_compile_fastmap_iter (regex_t *bufp,
- const re_dfastate_t *init_state,
- char *fastmap);
-static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len);
-#ifdef RE_ENABLE_I18N
-static void free_charset (re_charset_t *cset);
-#endif /* RE_ENABLE_I18N */
-static void free_workarea_compile (regex_t *preg);
-static reg_errcode_t create_initial_state (re_dfa_t *dfa);
-#ifdef RE_ENABLE_I18N
-static void optimize_utf8 (re_dfa_t *dfa);
-#endif
-static reg_errcode_t analyze (regex_t *preg);
-static reg_errcode_t preorder (bin_tree_t *root,
- reg_errcode_t (fn (void *, bin_tree_t *)),
- void *extra);
-static reg_errcode_t postorder (bin_tree_t *root,
- reg_errcode_t (fn (void *, bin_tree_t *)),
- void *extra);
-static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node);
-static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node);
-static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg,
- bin_tree_t *node);
-static reg_errcode_t calc_first (void *extra, bin_tree_t *node);
-static reg_errcode_t calc_next (void *extra, bin_tree_t *node);
-static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node);
-static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint);
-static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node,
- unsigned int constraint);
-static reg_errcode_t calc_eclosure (re_dfa_t *dfa);
-static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa,
- Idx node, bool root);
-static reg_errcode_t calc_inveclosure (re_dfa_t *dfa);
-static Idx fetch_number (re_string_t *input, re_token_t *token,
- reg_syntax_t syntax);
-static int peek_token (re_token_t *token, re_string_t *input,
- reg_syntax_t syntax) internal_function;
-static bin_tree_t *parse (re_string_t *regexp, regex_t *preg,
- reg_syntax_t syntax, reg_errcode_t *err);
-static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg,
- re_token_t *token, reg_syntax_t syntax,
- Idx nest, reg_errcode_t *err);
-static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg,
- re_token_t *token, reg_syntax_t syntax,
- Idx nest, reg_errcode_t *err);
-static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg,
- re_token_t *token, reg_syntax_t syntax,
- Idx nest, reg_errcode_t *err);
-static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg,
- re_token_t *token, reg_syntax_t syntax,
- Idx nest, reg_errcode_t *err);
-static bin_tree_t *parse_dup_op (bin_tree_t *dup_elem, re_string_t *regexp,
- re_dfa_t *dfa, re_token_t *token,
- reg_syntax_t syntax, reg_errcode_t *err);
-static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa,
- re_token_t *token, reg_syntax_t syntax,
- reg_errcode_t *err);
-static reg_errcode_t parse_bracket_element (bracket_elem_t *elem,
- re_string_t *regexp,
- re_token_t *token, int token_len,
- re_dfa_t *dfa,
- reg_syntax_t syntax,
- bool accept_hyphen);
-static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem,
- re_string_t *regexp,
- re_token_t *token);
-#ifdef RE_ENABLE_I18N
-static reg_errcode_t build_equiv_class (bitset_t sbcset,
- re_charset_t *mbcset,
- Idx *equiv_class_alloc,
- const unsigned char *name);
-static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
- bitset_t sbcset,
- re_charset_t *mbcset,
- Idx *char_class_alloc,
- const unsigned char *class_name,
- reg_syntax_t syntax);
-#else /* not RE_ENABLE_I18N */
-static reg_errcode_t build_equiv_class (bitset_t sbcset,
- const unsigned char *name);
-static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
- bitset_t sbcset,
- const unsigned char *class_name,
- reg_syntax_t syntax);
-#endif /* not RE_ENABLE_I18N */
-static bin_tree_t *build_charclass_op (re_dfa_t *dfa,
- RE_TRANSLATE_TYPE trans,
- const unsigned char *class_name,
- const unsigned char *extra,
- bool non_match, reg_errcode_t *err);
-static bin_tree_t *create_tree (re_dfa_t *dfa,
- bin_tree_t *left, bin_tree_t *right,
- re_token_type_t type);
-static bin_tree_t *create_token_tree (re_dfa_t *dfa,
- bin_tree_t *left, bin_tree_t *right,
- const re_token_t *token);
-static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa);
-static void free_token (re_token_t *node);
-static reg_errcode_t free_tree (void *extra, bin_tree_t *node);
-static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node);
-
-/* This table gives an error message for each of the error codes listed
- in regex.h. Obviously the order here has to be same as there.
- POSIX doesn't require that we do anything for REG_NOERROR,
- but why not be nice? */
-
-static const char __re_error_msgid[] =
- {
-#define REG_NOERROR_IDX 0
- gettext_noop ("Success") /* REG_NOERROR */
- "\0"
-#define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success")
- gettext_noop ("No match") /* REG_NOMATCH */
- "\0"
-#define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match")
- gettext_noop ("Invalid regular expression") /* REG_BADPAT */
- "\0"
-#define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression")
- gettext_noop ("Invalid collation character") /* REG_ECOLLATE */
- "\0"
-#define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character")
- gettext_noop ("Invalid character class name") /* REG_ECTYPE */
- "\0"
-#define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name")
- gettext_noop ("Trailing backslash") /* REG_EESCAPE */
- "\0"
-#define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash")
- gettext_noop ("Invalid back reference") /* REG_ESUBREG */
- "\0"
-#define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference")
- gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */
- "\0"
-#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^")
- gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */
- "\0"
-#define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(")
- gettext_noop ("Unmatched \\{") /* REG_EBRACE */
- "\0"
-#define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{")
- gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */
- "\0"
-#define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}")
- gettext_noop ("Invalid range end") /* REG_ERANGE */
- "\0"
-#define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end")
- gettext_noop ("Memory exhausted") /* REG_ESPACE */
- "\0"
-#define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted")
- gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */
- "\0"
-#define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression")
- gettext_noop ("Premature end of regular expression") /* REG_EEND */
- "\0"
-#define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression")
- gettext_noop ("Regular expression too big") /* REG_ESIZE */
- "\0"
-#define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big")
- gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */
- };
-
-static const size_t __re_error_msgid_idx[] =
- {
- REG_NOERROR_IDX,
- REG_NOMATCH_IDX,
- REG_BADPAT_IDX,
- REG_ECOLLATE_IDX,
- REG_ECTYPE_IDX,
- REG_EESCAPE_IDX,
- REG_ESUBREG_IDX,
- REG_EBRACK_IDX,
- REG_EPAREN_IDX,
- REG_EBRACE_IDX,
- REG_BADBR_IDX,
- REG_ERANGE_IDX,
- REG_ESPACE_IDX,
- REG_BADRPT_IDX,
- REG_EEND_IDX,
- REG_ESIZE_IDX,
- REG_ERPAREN_IDX
- };
-
-/* Entry points for GNU code. */
-
-/* re_compile_pattern is the GNU regular expression compiler: it
- compiles PATTERN (of length LENGTH) and puts the result in BUFP.
- Returns 0 if the pattern was valid, otherwise an error string.
-
- Assumes the `allocated' (and perhaps `buffer') and `translate' fields
- are set in BUFP on entry. */
-
-#ifdef _LIBC
-const char *
-re_compile_pattern (pattern, length, bufp)
- const char *pattern;
- size_t length;
- struct re_pattern_buffer *bufp;
-#else /* size_t might promote */
-const char *
-re_compile_pattern (const char *pattern, size_t length,
- struct re_pattern_buffer *bufp)
-#endif
-{
- reg_errcode_t ret;
-
- /* And GNU code determines whether or not to get register information
- by passing null for the REGS argument to re_match, etc., not by
- setting no_sub, unless RE_NO_SUB is set. */
- bufp->no_sub = !!(re_syntax_options & RE_NO_SUB);
-
- /* Match anchors at newline. */
- bufp->newline_anchor = 1;
-
- ret = re_compile_internal (bufp, pattern, length, re_syntax_options);
-
- if (!ret)
- return NULL;
- return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
-}
-#ifdef _LIBC
-weak_alias (__re_compile_pattern, re_compile_pattern)
-#endif
-
-/* Set by `re_set_syntax' to the current regexp syntax to recognize. Can
- also be assigned to arbitrarily: each pattern buffer stores its own
- syntax, so it can be changed between regex compilations. */
-/* This has no initializer because initialized variables in Emacs
- become read-only after dumping. */
-reg_syntax_t re_syntax_options;
-
-
-/* Specify the precise syntax of regexps for compilation. This provides
- for compatibility for various utilities which historically have
- different, incompatible syntaxes.
-
- The argument SYNTAX is a bit mask comprised of the various bits
- defined in regex.h. We return the old syntax. */
-
-reg_syntax_t
-re_set_syntax (syntax)
- reg_syntax_t syntax;
-{
- reg_syntax_t ret = re_syntax_options;
-
- re_syntax_options = syntax;
- return ret;
-}
-#ifdef _LIBC
-weak_alias (__re_set_syntax, re_set_syntax)
-#endif
-
-int
-re_compile_fastmap (bufp)
- struct re_pattern_buffer *bufp;
-{
- re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
- char *fastmap = bufp->fastmap;
-
- memset (fastmap, '\0', sizeof (char) * SBC_MAX);
- re_compile_fastmap_iter (bufp, dfa->init_state, fastmap);
- if (dfa->init_state != dfa->init_state_word)
- re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap);
- if (dfa->init_state != dfa->init_state_nl)
- re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap);
- if (dfa->init_state != dfa->init_state_begbuf)
- re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap);
- bufp->fastmap_accurate = 1;
- return 0;
-}
-#ifdef _LIBC
-weak_alias (__re_compile_fastmap, re_compile_fastmap)
-#endif
-
-static inline void
-__attribute ((always_inline))
-re_set_fastmap (char *fastmap, bool icase, int ch)
-{
- fastmap[ch] = 1;
- if (icase)
- fastmap[tolower (ch)] = 1;
-}
-
-/* Helper function for re_compile_fastmap.
- Compile fastmap for the initial_state INIT_STATE. */
-
-static void
-re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
- char *fastmap)
-{
- re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
- Idx node_cnt;
- bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE));
- for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt)
- {
- Idx node = init_state->nodes.elems[node_cnt];
- re_token_type_t type = dfa->nodes[node].type;
-
- if (type == CHARACTER)
- {
- re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c);
-#ifdef RE_ENABLE_I18N
- if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
- {
- unsigned char buf[MB_LEN_MAX];
- unsigned char *p;
- wchar_t wc;
- mbstate_t state;
-
- p = buf;
- *p++ = dfa->nodes[node].opr.c;
- while (++node < dfa->nodes_len
- && dfa->nodes[node].type == CHARACTER
- && dfa->nodes[node].mb_partial)
- *p++ = dfa->nodes[node].opr.c;
- memset (&state, '\0', sizeof (state));
- if (__mbrtowc (&wc, (const char *) buf, p - buf,
- &state) == p - buf
- && (__wcrtomb ((char *) buf, towlower (wc), &state)
- != (size_t) -1))
- re_set_fastmap (fastmap, false, buf[0]);
- }
-#endif
- }
- else if (type == SIMPLE_BRACKET)
- {
- int i, ch;
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
- {
- int j;
- bitset_word_t w = dfa->nodes[node].opr.sbcset[i];
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
- if (w & ((bitset_word_t) 1 << j))
- re_set_fastmap (fastmap, icase, ch);
- }
- }
-#ifdef RE_ENABLE_I18N
- else if (type == COMPLEX_BRACKET)
- {
- re_charset_t *cset = dfa->nodes[node].opr.mbcset;
- Idx i;
-
-# ifdef _LIBC
- /* See if we have to try all bytes which start multiple collation
- elements.
- e.g. In da_DK, we want to catch 'a' since "aa" is a valid
- collation element, and don't catch 'b' since 'b' is
- the only collation element which starts from 'b' (and
- it is caught by SIMPLE_BRACKET). */
- if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0
- && (cset->ncoll_syms || cset->nranges))
- {
- const int32_t *table = (const int32_t *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
- for (i = 0; i < SBC_MAX; ++i)
- if (table[i] < 0)
- re_set_fastmap (fastmap, icase, i);
- }
-# endif /* _LIBC */
-
- /* See if we have to start the match at all multibyte characters,
- i.e. where we would not find an invalid sequence. This only
- applies to multibyte character sets; for single byte character
- sets, the SIMPLE_BRACKET again suffices. */
- if (dfa->mb_cur_max > 1
- && (cset->nchar_classes || cset->non_match
-# ifdef _LIBC
- || cset->nequiv_classes
-# endif /* _LIBC */
- ))
- {
- unsigned char c = 0;
- do
- {
- mbstate_t mbs;
- memset (&mbs, 0, sizeof (mbs));
- if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2)
- re_set_fastmap (fastmap, false, (int) c);
- }
- while (++c != 0);
- }
-
- else
- {
- /* ... Else catch all bytes which can start the mbchars. */
- for (i = 0; i < cset->nmbchars; ++i)
- {
- char buf[256];
- mbstate_t state;
- memset (&state, '\0', sizeof (state));
- if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1)
- re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
- if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
- {
- if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
- != (size_t) -1)
- re_set_fastmap (fastmap, false, *(unsigned char *) buf);
- }
- }
- }
- }
-#endif /* RE_ENABLE_I18N */
- else if (type == OP_PERIOD
-#ifdef RE_ENABLE_I18N
- || type == OP_UTF8_PERIOD
-#endif /* RE_ENABLE_I18N */
- || type == END_OF_RE)
- {
- memset (fastmap, '\1', sizeof (char) * SBC_MAX);
- if (type == END_OF_RE)
- bufp->can_be_null = 1;
- return;
- }
- }
-}
-
-/* Entry point for POSIX code. */
-/* regcomp takes a regular expression as a string and compiles it.
-
- PREG is a regex_t *. We do not expect any fields to be initialized,
- since POSIX says we shouldn't. Thus, we set
-
- `buffer' to the compiled pattern;
- `used' to the length of the compiled pattern;
- `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
- REG_EXTENDED bit in CFLAGS is set; otherwise, to
- RE_SYNTAX_POSIX_BASIC;
- `newline_anchor' to REG_NEWLINE being set in CFLAGS;
- `fastmap' to an allocated space for the fastmap;
- `fastmap_accurate' to zero;
- `re_nsub' to the number of subexpressions in PATTERN.
-
- PATTERN is the address of the pattern string.
-
- CFLAGS is a series of bits which affect compilation.
-
- If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
- use POSIX basic syntax.
-
- If REG_NEWLINE is set, then . and [^...] don't match newline.
- Also, regexec will try a match beginning after every newline.
-
- If REG_ICASE is set, then we considers upper- and lowercase
- versions of letters to be equivalent when matching.
-
- If REG_NOSUB is set, then when PREG is passed to regexec, that
- routine will report only success or failure, and nothing about the
- registers.
-
- It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for
- the return codes and their meanings.) */
-
-int
-regcomp (preg, pattern, cflags)
- regex_t *_Restrict_ preg;
- const char *_Restrict_ pattern;
- int cflags;
-{
- reg_errcode_t ret;
- reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED
- : RE_SYNTAX_POSIX_BASIC);
-
- preg->buffer = NULL;
- preg->allocated = 0;
- preg->used = 0;
-
- /* Try to allocate space for the fastmap. */
- preg->fastmap = re_malloc (char, SBC_MAX);
- if (BE (preg->fastmap == NULL, 0))
- return REG_ESPACE;
-
- syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0;
-
- /* If REG_NEWLINE is set, newlines are treated differently. */
- if (cflags & REG_NEWLINE)
- { /* REG_NEWLINE implies neither . nor [^...] match newline. */
- syntax &= ~RE_DOT_NEWLINE;
- syntax |= RE_HAT_LISTS_NOT_NEWLINE;
- /* It also changes the matching behavior. */
- preg->newline_anchor = 1;
- }
- else
- preg->newline_anchor = 0;
- preg->no_sub = !!(cflags & REG_NOSUB);
- preg->translate = NULL;
-
- ret = re_compile_internal (preg, pattern, strlen (pattern), syntax);
-
- /* POSIX doesn't distinguish between an unmatched open-group and an
- unmatched close-group: both are REG_EPAREN. */
- if (ret == REG_ERPAREN)
- ret = REG_EPAREN;
-
- /* We have already checked preg->fastmap != NULL. */
- if (BE (ret == REG_NOERROR, 1))
- /* Compute the fastmap now, since regexec cannot modify the pattern
- buffer. This function never fails in this implementation. */
- (void) re_compile_fastmap (preg);
- else
- {
- /* Some error occurred while compiling the expression. */
- re_free (preg->fastmap);
- preg->fastmap = NULL;
- }
-
- return (int) ret;
-}
-#ifdef _LIBC
-weak_alias (__regcomp, regcomp)
-#endif
-
-/* Returns a message corresponding to an error code, ERRCODE, returned
- from either regcomp or regexec. We don't use PREG here. */
-
-#ifdef _LIBC
-size_t
-regerror (errcode, preg, errbuf, errbuf_size)
- int errcode;
- const regex_t *_Restrict_ preg;
- char *_Restrict_ errbuf;
- size_t errbuf_size;
-#else /* size_t might promote */
-size_t
-regerror (int errcode, const regex_t *_Restrict_ preg,
- char *_Restrict_ errbuf, size_t errbuf_size)
-#endif
-{
- const char *msg;
- size_t msg_size;
-
- if (BE (errcode < 0
- || errcode >= (int) (sizeof (__re_error_msgid_idx)
- / sizeof (__re_error_msgid_idx[0])), 0))
- /* Only error codes returned by the rest of the code should be passed
- to this routine. If we are given anything else, or if other regex
- code generates an invalid error code, then the program has a bug.
- Dump core so we can fix it. */
- abort ();
-
- msg = gettext (__re_error_msgid + __re_error_msgid_idx[errcode]);
-
- msg_size = strlen (msg) + 1; /* Includes the null. */
-
- if (BE (errbuf_size != 0, 1))
- {
- size_t cpy_size = msg_size;
- if (BE (msg_size > errbuf_size, 0))
- {
- cpy_size = errbuf_size - 1;
- errbuf[cpy_size] = '\0';
- }
- memcpy (errbuf, msg, cpy_size);
- }
-
- return msg_size;
-}
-#ifdef _LIBC
-weak_alias (__regerror, regerror)
-#endif
-
-
-#ifdef RE_ENABLE_I18N
-/* This static array is used for the map to single-byte characters when
- UTF-8 is used. Otherwise we would allocate memory just to initialize
- it the same all the time. UTF-8 is the preferred encoding so this is
- a worthwhile optimization. */
-static const bitset_t utf8_sb_map =
-{
- /* Set the first 128 bits. */
-# if 4 * BITSET_WORD_BITS < ASCII_CHARS
-# error "bitset_word_t is narrower than 32 bits"
-# elif 3 * BITSET_WORD_BITS < ASCII_CHARS
- BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX,
-# elif 2 * BITSET_WORD_BITS < ASCII_CHARS
- BITSET_WORD_MAX, BITSET_WORD_MAX,
-# elif 1 * BITSET_WORD_BITS < ASCII_CHARS
- BITSET_WORD_MAX,
-# endif
- (BITSET_WORD_MAX
- >> (SBC_MAX % BITSET_WORD_BITS == 0
- ? 0
- : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS))
-};
-#endif
-
-
-static void
-free_dfa_content (re_dfa_t *dfa)
-{
- Idx i, j;
-
- if (dfa->nodes)
- for (i = 0; i < dfa->nodes_len; ++i)
- free_token (dfa->nodes + i);
- re_free (dfa->nexts);
- for (i = 0; i < dfa->nodes_len; ++i)
- {
- if (dfa->eclosures != NULL)
- re_node_set_free (dfa->eclosures + i);
- if (dfa->inveclosures != NULL)
- re_node_set_free (dfa->inveclosures + i);
- if (dfa->edests != NULL)
- re_node_set_free (dfa->edests + i);
- }
- re_free (dfa->edests);
- re_free (dfa->eclosures);
- re_free (dfa->inveclosures);
- re_free (dfa->nodes);
-
- if (dfa->state_table)
- for (i = 0; i <= dfa->state_hash_mask; ++i)
- {
- struct re_state_table_entry *entry = dfa->state_table + i;
- for (j = 0; j < entry->num; ++j)
- {
- re_dfastate_t *state = entry->array[j];
- free_state (state);
- }
- re_free (entry->array);
- }
- re_free (dfa->state_table);
-#ifdef RE_ENABLE_I18N
- if (dfa->sb_char != utf8_sb_map)
- re_free (dfa->sb_char);
-#endif
- re_free (dfa->subexp_map);
-#ifdef DEBUG
- re_free (dfa->re_str);
-#endif
-
- re_free (dfa);
-}
-
-
-/* Free dynamically allocated space used by PREG. */
-
-void
-regfree (preg)
- regex_t *preg;
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- if (BE (dfa != NULL, 1))
- free_dfa_content (dfa);
- preg->buffer = NULL;
- preg->allocated = 0;
-
- re_free (preg->fastmap);
- preg->fastmap = NULL;
-
- re_free (preg->translate);
- preg->translate = NULL;
-}
-#ifdef _LIBC
-weak_alias (__regfree, regfree)
-#endif
-
-/* Entry points compatible with 4.2 BSD regex library. We don't define
- them unless specifically requested. */
-
-#if defined _REGEX_RE_COMP || defined _LIBC
-
-/* BSD has one and only one pattern buffer. */
-static struct re_pattern_buffer re_comp_buf;
-
-char *
-# ifdef _LIBC
-/* Make these definitions weak in libc, so POSIX programs can redefine
- these names if they don't use our functions, and still use
- regcomp/regexec above without link errors. */
-weak_function
-# endif
-re_comp (s)
- const char *s;
-{
- reg_errcode_t ret;
- char *fastmap;
-
- if (!s)
- {
- if (!re_comp_buf.buffer)
- return gettext ("No previous regular expression");
- return 0;
- }
-
- if (re_comp_buf.buffer)
- {
- fastmap = re_comp_buf.fastmap;
- re_comp_buf.fastmap = NULL;
- __regfree (&re_comp_buf);
- memset (&re_comp_buf, '\0', sizeof (re_comp_buf));
- re_comp_buf.fastmap = fastmap;
- }
-
- if (re_comp_buf.fastmap == NULL)
- {
- re_comp_buf.fastmap = (char *) malloc (SBC_MAX);
- if (re_comp_buf.fastmap == NULL)
- return (char *) gettext (__re_error_msgid
- + __re_error_msgid_idx[(int) REG_ESPACE]);
- }
-
- /* Since `re_exec' always passes NULL for the `regs' argument, we
- don't need to initialize the pattern buffer fields which affect it. */
-
- /* Match anchors at newlines. */
- re_comp_buf.newline_anchor = 1;
-
- ret = re_compile_internal (&re_comp_buf, s, strlen (s), re_syntax_options);
-
- if (!ret)
- return NULL;
-
- /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */
- return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
-}
-
-#ifdef _LIBC
-libc_freeres_fn (free_mem)
-{
- __regfree (&re_comp_buf);
-}
-#endif
-
-#endif /* _REGEX_RE_COMP */
-
-/* Internal entry point.
- Compile the regular expression PATTERN, whose length is LENGTH.
- SYNTAX indicate regular expression's syntax. */
-
-static reg_errcode_t
-re_compile_internal (regex_t *preg, const char * pattern, size_t length,
- reg_syntax_t syntax)
-{
- reg_errcode_t err = REG_NOERROR;
- re_dfa_t *dfa;
- re_string_t regexp;
-
- /* Initialize the pattern buffer. */
- preg->fastmap_accurate = 0;
- preg->syntax = syntax;
- preg->not_bol = preg->not_eol = 0;
- preg->used = 0;
- preg->re_nsub = 0;
- preg->can_be_null = 0;
- preg->regs_allocated = REGS_UNALLOCATED;
-
- /* Initialize the dfa. */
- dfa = (re_dfa_t *) preg->buffer;
- if (BE (preg->allocated < sizeof (re_dfa_t), 0))
- {
- /* If zero allocated, but buffer is non-null, try to realloc
- enough space. This loses if buffer's address is bogus, but
- that is the user's responsibility. If ->buffer is NULL this
- is a simple allocation. */
- dfa = re_realloc (preg->buffer, re_dfa_t, 1);
- if (dfa == NULL)
- return REG_ESPACE;
- preg->allocated = sizeof (re_dfa_t);
- preg->buffer = (unsigned char *) dfa;
- }
- preg->used = sizeof (re_dfa_t);
-
- err = init_dfa (dfa, length);
- if (BE (err != REG_NOERROR, 0))
- {
- free_dfa_content (dfa);
- preg->buffer = NULL;
- preg->allocated = 0;
- return err;
- }
-#ifdef DEBUG
- /* Note: length+1 will not overflow since it is checked in init_dfa. */
- dfa->re_str = re_malloc (char, length + 1);
- strncpy (dfa->re_str, pattern, length + 1);
-#endif
-
- __libc_lock_init (dfa->lock);
-
- err = re_string_construct (®exp, pattern, length, preg->translate,
- (syntax & RE_ICASE) != 0, dfa);
- if (BE (err != REG_NOERROR, 0))
- {
- re_compile_internal_free_return:
- free_workarea_compile (preg);
- re_string_destruct (®exp);
- free_dfa_content (dfa);
- preg->buffer = NULL;
- preg->allocated = 0;
- return err;
- }
-
- /* Parse the regular expression, and build a structure tree. */
- preg->re_nsub = 0;
- dfa->str_tree = parse (®exp, preg, syntax, &err);
- if (BE (dfa->str_tree == NULL, 0))
- goto re_compile_internal_free_return;
-
- /* Analyze the tree and create the nfa. */
- err = analyze (preg);
- if (BE (err != REG_NOERROR, 0))
- goto re_compile_internal_free_return;
-
-#ifdef RE_ENABLE_I18N
- /* If possible, do searching in single byte encoding to speed things up. */
- if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL)
- optimize_utf8 (dfa);
-#endif
-
- /* Then create the initial state of the dfa. */
- err = create_initial_state (dfa);
-
- /* Release work areas. */
- free_workarea_compile (preg);
- re_string_destruct (®exp);
-
- if (BE (err != REG_NOERROR, 0))
- {
- free_dfa_content (dfa);
- preg->buffer = NULL;
- preg->allocated = 0;
- }
-
- return err;
-}
-
-/* Initialize DFA. We use the length of the regular expression PAT_LEN
- as the initial length of some arrays. */
-
-static reg_errcode_t
-init_dfa (re_dfa_t *dfa, size_t pat_len)
-{
- __re_size_t table_size;
-#ifdef RE_ENABLE_I18N
- size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t));
-#else
- size_t max_i18n_object_size = 0;
-#endif
- size_t max_object_size =
- MAX (sizeof (struct re_state_table_entry),
- MAX (sizeof (re_token_t),
- MAX (sizeof (re_node_set),
- MAX (sizeof (regmatch_t),
- max_i18n_object_size))));
-
- memset (dfa, '\0', sizeof (re_dfa_t));
-
- /* Force allocation of str_tree_storage the first time. */
- dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE;
-
- /* Avoid overflows. The extra "/ 2" is for the table_size doubling
- calculation below, and for similar doubling calculations
- elsewhere. And it's <= rather than <, because some of the
- doubling calculations add 1 afterwards. */
- if (BE (SIZE_MAX / max_object_size / 2 <= pat_len, 0))
- return REG_ESPACE;
-
- dfa->nodes_alloc = pat_len + 1;
- dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc);
-
- /* table_size = 2 ^ ceil(log pat_len) */
- for (table_size = 1; ; table_size <<= 1)
- if (table_size > pat_len)
- break;
-
- dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size);
- dfa->state_hash_mask = table_size - 1;
-
- dfa->mb_cur_max = MB_CUR_MAX;
-#ifdef _LIBC
- if (dfa->mb_cur_max == 6
- && strcmp (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_CODESET_NAME), "UTF-8") == 0)
- dfa->is_utf8 = 1;
- dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII)
- != 0);
-#else
- if (strcmp (locale_charset (), "UTF-8") == 0)
- dfa->is_utf8 = 1;
-
- /* We check exhaustively in the loop below if this charset is a
- superset of ASCII. */
- dfa->map_notascii = 0;
-#endif
-
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- {
- if (dfa->is_utf8)
- dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map;
- else
- {
- int i, j, ch;
-
- dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
- if (BE (dfa->sb_char == NULL, 0))
- return REG_ESPACE;
-
- /* Set the bits corresponding to single byte chars. */
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
- {
- wint_t wch = __btowc (ch);
- if (wch != WEOF)
- dfa->sb_char[i] |= (bitset_word_t) 1 << j;
-# ifndef _LIBC
- if (isascii (ch) && wch != ch)
- dfa->map_notascii = 1;
-# endif
- }
- }
- }
-#endif
-
- if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0))
- return REG_ESPACE;
- return REG_NOERROR;
-}
-
-/* Initialize WORD_CHAR table, which indicate which character is
- "word". In this case "word" means that it is the word construction
- character used by some operators like "\<", "\>", etc. */
-
-static void
-internal_function
-init_word_char (re_dfa_t *dfa)
-{
- int i, j, ch;
- dfa->word_ops_used = 1;
- for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
- for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
- if (isalnum (ch) || ch == '_')
- dfa->word_char[i] |= (bitset_word_t) 1 << j;
-}
-
-/* Free the work area which are only used while compiling. */
-
-static void
-free_workarea_compile (regex_t *preg)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_storage_t *storage, *next;
- for (storage = dfa->str_tree_storage; storage; storage = next)
- {
- next = storage->next;
- re_free (storage);
- }
- dfa->str_tree_storage = NULL;
- dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE;
- dfa->str_tree = NULL;
- re_free (dfa->org_indices);
- dfa->org_indices = NULL;
-}
-
-/* Create initial states for all contexts. */
-
-static reg_errcode_t
-create_initial_state (re_dfa_t *dfa)
-{
- Idx first, i;
- reg_errcode_t err;
- re_node_set init_nodes;
-
- /* Initial states have the epsilon closure of the node which is
- the first node of the regular expression. */
- first = dfa->str_tree->first->node_idx;
- dfa->init_node = first;
- err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- /* The back-references which are in initial states can epsilon transit,
- since in this case all of the subexpressions can be null.
- Then we add epsilon closures of the nodes which are the next nodes of
- the back-references. */
- if (dfa->nbackref > 0)
- for (i = 0; i < init_nodes.nelem; ++i)
- {
- Idx node_idx = init_nodes.elems[i];
- re_token_type_t type = dfa->nodes[node_idx].type;
-
- Idx clexp_idx;
- if (type != OP_BACK_REF)
- continue;
- for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx)
- {
- re_token_t *clexp_node;
- clexp_node = dfa->nodes + init_nodes.elems[clexp_idx];
- if (clexp_node->type == OP_CLOSE_SUBEXP
- && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx)
- break;
- }
- if (clexp_idx == init_nodes.nelem)
- continue;
-
- if (type == OP_BACK_REF)
- {
- Idx dest_idx = dfa->edests[node_idx].elems[0];
- if (!re_node_set_contains (&init_nodes, dest_idx))
- {
- re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx);
- i = 0;
- }
- }
- }
-
- /* It must be the first time to invoke acquire_state. */
- dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0);
- /* We don't check ERR here, since the initial state must not be NULL. */
- if (BE (dfa->init_state == NULL, 0))
- return err;
- if (dfa->init_state->has_constraint)
- {
- dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes,
- CONTEXT_WORD);
- dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes,
- CONTEXT_NEWLINE);
- dfa->init_state_begbuf = re_acquire_state_context (&err, dfa,
- &init_nodes,
- CONTEXT_NEWLINE
- | CONTEXT_BEGBUF);
- if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL
- || dfa->init_state_begbuf == NULL, 0))
- return err;
- }
- else
- dfa->init_state_word = dfa->init_state_nl
- = dfa->init_state_begbuf = dfa->init_state;
-
- re_node_set_free (&init_nodes);
- return REG_NOERROR;
-}
-
-#ifdef RE_ENABLE_I18N
-/* If it is possible to do searching in single byte encoding instead of UTF-8
- to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change
- DFA nodes where needed. */
-
-static void
-optimize_utf8 (re_dfa_t *dfa)
-{
- Idx node;
- int i;
- bool mb_chars = false;
- bool has_period = false;
-
- for (node = 0; node < dfa->nodes_len; ++node)
- switch (dfa->nodes[node].type)
- {
- case CHARACTER:
- if (dfa->nodes[node].opr.c >= ASCII_CHARS)
- mb_chars = true;
- break;
- case ANCHOR:
- switch (dfa->nodes[node].opr.ctx_type)
- {
- case LINE_FIRST:
- case LINE_LAST:
- case BUF_FIRST:
- case BUF_LAST:
- break;
- default:
- /* Word anchors etc. cannot be handled. It's okay to test
- opr.ctx_type since constraints (for all DFA nodes) are
- created by ORing one or more opr.ctx_type values. */
- return;
- }
- break;
- case OP_PERIOD:
- has_period = true;
- break;
- case OP_BACK_REF:
- case OP_ALT:
- case END_OF_RE:
- case OP_DUP_ASTERISK:
- case OP_OPEN_SUBEXP:
- case OP_CLOSE_SUBEXP:
- break;
- case COMPLEX_BRACKET:
- return;
- case SIMPLE_BRACKET:
- /* Just double check. */
- {
- int rshift = (ASCII_CHARS % BITSET_WORD_BITS == 0
- ? 0
- : BITSET_WORD_BITS - ASCII_CHARS % BITSET_WORD_BITS);
- for (i = ASCII_CHARS / BITSET_WORD_BITS; i < BITSET_WORDS; ++i)
- {
- if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0)
- return;
- rshift = 0;
- }
- }
- break;
- default:
- abort ();
- }
-
- if (mb_chars || has_period)
- for (node = 0; node < dfa->nodes_len; ++node)
- {
- if (dfa->nodes[node].type == CHARACTER
- && dfa->nodes[node].opr.c >= ASCII_CHARS)
- dfa->nodes[node].mb_partial = 0;
- else if (dfa->nodes[node].type == OP_PERIOD)
- dfa->nodes[node].type = OP_UTF8_PERIOD;
- }
-
- /* The search can be in single byte locale. */
- dfa->mb_cur_max = 1;
- dfa->is_utf8 = 0;
- dfa->has_mb_node = dfa->nbackref > 0 || has_period;
-}
-#endif
-
-/* Analyze the structure tree, and calculate "first", "next", "edest",
- "eclosure", and "inveclosure". */
-
-static reg_errcode_t
-analyze (regex_t *preg)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- reg_errcode_t ret;
-
- /* Allocate arrays. */
- dfa->nexts = re_malloc (Idx, dfa->nodes_alloc);
- dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc);
- dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc);
- dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc);
- if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL
- || dfa->eclosures == NULL, 0))
- return REG_ESPACE;
-
- dfa->subexp_map = re_malloc (Idx, preg->re_nsub);
- if (dfa->subexp_map != NULL)
- {
- Idx i;
- for (i = 0; i < preg->re_nsub; i++)
- dfa->subexp_map[i] = i;
- preorder (dfa->str_tree, optimize_subexps, dfa);
- for (i = 0; i < preg->re_nsub; i++)
- if (dfa->subexp_map[i] != i)
- break;
- if (i == preg->re_nsub)
- {
- free (dfa->subexp_map);
- dfa->subexp_map = NULL;
- }
- }
-
- ret = postorder (dfa->str_tree, lower_subexps, preg);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- ret = postorder (dfa->str_tree, calc_first, dfa);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- preorder (dfa->str_tree, calc_next, dfa);
- ret = preorder (dfa->str_tree, link_nfa_nodes, dfa);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- ret = calc_eclosure (dfa);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
-
- /* We only need this during the prune_impossible_nodes pass in regexec.c;
- skip it if p_i_n will not run, as calc_inveclosure can be quadratic. */
- if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match)
- || dfa->nbackref)
- {
- dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len);
- if (BE (dfa->inveclosures == NULL, 0))
- return REG_ESPACE;
- ret = calc_inveclosure (dfa);
- }
-
- return ret;
-}
-
-/* Our parse trees are very unbalanced, so we cannot use a stack to
- implement parse tree visits. Instead, we use parent pointers and
- some hairy code in these two functions. */
-static reg_errcode_t
-postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
- void *extra)
-{
- bin_tree_t *node, *prev;
-
- for (node = root; ; )
- {
- /* Descend down the tree, preferably to the left (or to the right
- if that's the only child). */
- while (node->left || node->right)
- if (node->left)
- node = node->left;
- else
- node = node->right;
-
- do
- {
- reg_errcode_t err = fn (extra, node);
- if (BE (err != REG_NOERROR, 0))
- return err;
- if (node->parent == NULL)
- return REG_NOERROR;
- prev = node;
- node = node->parent;
- }
- /* Go up while we have a node that is reached from the right. */
- while (node->right == prev || node->right == NULL);
- node = node->right;
- }
-}
-
-static reg_errcode_t
-preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
- void *extra)
-{
- bin_tree_t *node;
-
- for (node = root; ; )
- {
- reg_errcode_t err = fn (extra, node);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- /* Go to the left node, or up and to the right. */
- if (node->left)
- node = node->left;
- else
- {
- bin_tree_t *prev = NULL;
- while (node->right == prev || node->right == NULL)
- {
- prev = node;
- node = node->parent;
- if (!node)
- return REG_NOERROR;
- }
- node = node->right;
- }
- }
-}
-
-/* Optimization pass: if a SUBEXP is entirely contained, strip it and tell
- re_search_internal to map the inner one's opr.idx to this one's. Adjust
- backreferences as well. Requires a preorder visit. */
-static reg_errcode_t
-optimize_subexps (void *extra, bin_tree_t *node)
-{
- re_dfa_t *dfa = (re_dfa_t *) extra;
-
- if (node->token.type == OP_BACK_REF && dfa->subexp_map)
- {
- int idx = node->token.opr.idx;
- node->token.opr.idx = dfa->subexp_map[idx];
- dfa->used_bkref_map |= 1 << node->token.opr.idx;
- }
-
- else if (node->token.type == SUBEXP
- && node->left && node->left->token.type == SUBEXP)
- {
- Idx other_idx = node->left->token.opr.idx;
-
- node->left = node->left->left;
- if (node->left)
- node->left->parent = node;
-
- dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx];
- if (other_idx < BITSET_WORD_BITS)
- dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx);
- }
-
- return REG_NOERROR;
-}
-
-/* Lowering pass: Turn each SUBEXP node into the appropriate concatenation
- of OP_OPEN_SUBEXP, the body of the SUBEXP (if any) and OP_CLOSE_SUBEXP. */
-static reg_errcode_t
-lower_subexps (void *extra, bin_tree_t *node)
-{
- regex_t *preg = (regex_t *) extra;
- reg_errcode_t err = REG_NOERROR;
-
- if (node->left && node->left->token.type == SUBEXP)
- {
- node->left = lower_subexp (&err, preg, node->left);
- if (node->left)
- node->left->parent = node;
- }
- if (node->right && node->right->token.type == SUBEXP)
- {
- node->right = lower_subexp (&err, preg, node->right);
- if (node->right)
- node->right->parent = node;
- }
-
- return err;
-}
-
-static bin_tree_t *
-lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_t *body = node->left;
- bin_tree_t *op, *cls, *tree1, *tree;
-
- if (preg->no_sub
- /* We do not optimize empty subexpressions, because otherwise we may
- have bad CONCAT nodes with NULL children. This is obviously not
- very common, so we do not lose much. An example that triggers
- this case is the sed "script" /\(\)/x. */
- && node->left != NULL
- && (node->token.opr.idx >= BITSET_WORD_BITS
- || !(dfa->used_bkref_map
- & ((bitset_word_t) 1 << node->token.opr.idx))))
- return node->left;
-
- /* Convert the SUBEXP node to the concatenation of an
- OP_OPEN_SUBEXP, the contents, and an OP_CLOSE_SUBEXP. */
- op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP);
- cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP);
- tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls;
- tree = create_tree (dfa, op, tree1, CONCAT);
- if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
-
- op->token.opr.idx = cls->token.opr.idx = node->token.opr.idx;
- op->token.opt_subexp = cls->token.opt_subexp = node->token.opt_subexp;
- return tree;
-}
-
-/* Pass 1 in building the NFA: compute FIRST and create unlinked automaton
- nodes. Requires a postorder visit. */
-static reg_errcode_t
-calc_first (void *extra, bin_tree_t *node)
-{
- re_dfa_t *dfa = (re_dfa_t *) extra;
- if (node->token.type == CONCAT)
- {
- node->first = node->left->first;
- node->node_idx = node->left->node_idx;
- }
- else
- {
- node->first = node;
- node->node_idx = re_dfa_add_node (dfa, node->token);
- if (BE (node->node_idx == REG_MISSING, 0))
- return REG_ESPACE;
- if (node->token.type == ANCHOR)
- dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
- }
- return REG_NOERROR;
-}
-
-/* Pass 2: compute NEXT on the tree. Preorder visit. */
-static reg_errcode_t
-calc_next (void *extra, bin_tree_t *node)
-{
- switch (node->token.type)
- {
- case OP_DUP_ASTERISK:
- node->left->next = node;
- break;
- case CONCAT:
- node->left->next = node->right->first;
- node->right->next = node->next;
- break;
- default:
- if (node->left)
- node->left->next = node->next;
- if (node->right)
- node->right->next = node->next;
- break;
- }
- return REG_NOERROR;
-}
-
-/* Pass 3: link all DFA nodes to their NEXT node (any order will do). */
-static reg_errcode_t
-link_nfa_nodes (void *extra, bin_tree_t *node)
-{
- re_dfa_t *dfa = (re_dfa_t *) extra;
- Idx idx = node->node_idx;
- reg_errcode_t err = REG_NOERROR;
-
- switch (node->token.type)
- {
- case CONCAT:
- break;
-
- case END_OF_RE:
- assert (node->next == NULL);
- break;
-
- case OP_DUP_ASTERISK:
- case OP_ALT:
- {
- Idx left, right;
- dfa->has_plural_match = 1;
- if (node->left != NULL)
- left = node->left->first->node_idx;
- else
- left = node->next->node_idx;
- if (node->right != NULL)
- right = node->right->first->node_idx;
- else
- right = node->next->node_idx;
- assert (REG_VALID_INDEX (left));
- assert (REG_VALID_INDEX (right));
- err = re_node_set_init_2 (dfa->edests + idx, left, right);
- }
- break;
-
- case ANCHOR:
- case OP_OPEN_SUBEXP:
- case OP_CLOSE_SUBEXP:
- err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx);
- break;
-
- case OP_BACK_REF:
- dfa->nexts[idx] = node->next->node_idx;
- if (node->token.type == OP_BACK_REF)
- re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]);
- break;
-
- default:
- assert (!IS_EPSILON_NODE (node->token.type));
- dfa->nexts[idx] = node->next->node_idx;
- break;
- }
-
- return err;
-}
-
-/* Duplicate the epsilon closure of the node ROOT_NODE.
- Note that duplicated nodes have constraint INIT_CONSTRAINT in addition
- to their own constraint. */
-
-static reg_errcode_t
-internal_function
-duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
- Idx root_node, unsigned int init_constraint)
-{
- Idx org_node, clone_node;
- bool ok;
- unsigned int constraint = init_constraint;
- for (org_node = top_org_node, clone_node = top_clone_node;;)
- {
- Idx org_dest, clone_dest;
- if (dfa->nodes[org_node].type == OP_BACK_REF)
- {
- /* If the back reference epsilon-transit, its destination must
- also have the constraint. Then duplicate the epsilon closure
- of the destination of the back reference, and store it in
- edests of the back reference. */
- org_dest = dfa->nexts[org_node];
- re_node_set_empty (dfa->edests + clone_node);
- clone_dest = duplicate_node (dfa, org_dest, constraint);
- if (BE (clone_dest == REG_MISSING, 0))
- return REG_ESPACE;
- dfa->nexts[clone_node] = dfa->nexts[org_node];
- ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
- else if (dfa->edests[org_node].nelem == 0)
- {
- /* In case of the node can't epsilon-transit, don't duplicate the
- destination and store the original destination as the
- destination of the node. */
- dfa->nexts[clone_node] = dfa->nexts[org_node];
- break;
- }
- else if (dfa->edests[org_node].nelem == 1)
- {
- /* In case of the node can epsilon-transit, and it has only one
- destination. */
- org_dest = dfa->edests[org_node].elems[0];
- re_node_set_empty (dfa->edests + clone_node);
- clone_dest = search_duplicated_node (dfa, org_dest, constraint);
- /* If the node is root_node itself, it means the epsilon closure
- has a loop. Then tie it to the destination of the root_node. */
- if (org_node == root_node && clone_node != org_node)
- {
- ok = re_node_set_insert (dfa->edests + clone_node, org_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- break;
- }
- /* In case the node has another constraint, append it. */
- constraint |= dfa->nodes[org_node].constraint;
- clone_dest = duplicate_node (dfa, org_dest, constraint);
- if (BE (clone_dest == REG_MISSING, 0))
- return REG_ESPACE;
- ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
- else /* dfa->edests[org_node].nelem == 2 */
- {
- /* In case of the node can epsilon-transit, and it has two
- destinations. In the bin_tree_t and DFA, that's '|' and '*'. */
- org_dest = dfa->edests[org_node].elems[0];
- re_node_set_empty (dfa->edests + clone_node);
- /* Search for a duplicated node which satisfies the constraint. */
- clone_dest = search_duplicated_node (dfa, org_dest, constraint);
- if (clone_dest == REG_MISSING)
- {
- /* There is no such duplicated node, create a new one. */
- reg_errcode_t err;
- clone_dest = duplicate_node (dfa, org_dest, constraint);
- if (BE (clone_dest == REG_MISSING, 0))
- return REG_ESPACE;
- ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- err = duplicate_node_closure (dfa, org_dest, clone_dest,
- root_node, constraint);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- else
- {
- /* There is a duplicated node which satisfy the constraint,
- use it to avoid infinite loop. */
- ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
-
- org_dest = dfa->edests[org_node].elems[1];
- clone_dest = duplicate_node (dfa, org_dest, constraint);
- if (BE (clone_dest == REG_MISSING, 0))
- return REG_ESPACE;
- ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
- org_node = org_dest;
- clone_node = clone_dest;
- }
- return REG_NOERROR;
-}
-
-/* Search for a node which is duplicated from the node ORG_NODE, and
- satisfies the constraint CONSTRAINT. */
-
-static Idx
-search_duplicated_node (const re_dfa_t *dfa, Idx org_node,
- unsigned int constraint)
-{
- Idx idx;
- for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx)
- {
- if (org_node == dfa->org_indices[idx]
- && constraint == dfa->nodes[idx].constraint)
- return idx; /* Found. */
- }
- return REG_MISSING; /* Not found. */
-}
-
-/* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT.
- Return the index of the new node, or REG_MISSING if insufficient storage is
- available. */
-
-static Idx
-duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint)
-{
- Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]);
- if (BE (dup_idx != REG_MISSING, 1))
- {
- dfa->nodes[dup_idx].constraint = constraint;
- dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
- dfa->nodes[dup_idx].duplicated = 1;
-
- /* Store the index of the original node. */
- dfa->org_indices[dup_idx] = org_idx;
- }
- return dup_idx;
-}
-
-static reg_errcode_t
-calc_inveclosure (re_dfa_t *dfa)
-{
- Idx src, idx;
- bool ok;
- for (idx = 0; idx < dfa->nodes_len; ++idx)
- re_node_set_init_empty (dfa->inveclosures + idx);
-
- for (src = 0; src < dfa->nodes_len; ++src)
- {
- Idx *elems = dfa->eclosures[src].elems;
- for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx)
- {
- ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
- }
-
- return REG_NOERROR;
-}
-
-/* Calculate "eclosure" for all the node in DFA. */
-
-static reg_errcode_t
-calc_eclosure (re_dfa_t *dfa)
-{
- Idx node_idx;
- bool incomplete;
-#ifdef DEBUG
- assert (dfa->nodes_len > 0);
-#endif
- incomplete = false;
- /* For each nodes, calculate epsilon closure. */
- for (node_idx = 0; ; ++node_idx)
- {
- reg_errcode_t err;
- re_node_set eclosure_elem;
- if (node_idx == dfa->nodes_len)
- {
- if (!incomplete)
- break;
- incomplete = false;
- node_idx = 0;
- }
-
-#ifdef DEBUG
- assert (dfa->eclosures[node_idx].nelem != REG_MISSING);
-#endif
-
- /* If we have already calculated, skip it. */
- if (dfa->eclosures[node_idx].nelem != 0)
- continue;
- /* Calculate epsilon closure of `node_idx'. */
- err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- if (dfa->eclosures[node_idx].nelem == 0)
- {
- incomplete = true;
- re_node_set_free (&eclosure_elem);
- }
- }
- return REG_NOERROR;
-}
-
-/* Calculate epsilon closure of NODE. */
-
-static reg_errcode_t
-calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
-{
- reg_errcode_t err;
- Idx i;
- bool incomplete;
- bool ok;
- re_node_set eclosure;
- incomplete = false;
- err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- /* This indicates that we are calculating this node now.
- We reference this value to avoid infinite loop. */
- dfa->eclosures[node].nelem = REG_MISSING;
-
- /* If the current node has constraints, duplicate all nodes
- since they must inherit the constraints. */
- if (dfa->nodes[node].constraint
- && dfa->edests[node].nelem
- && !dfa->nodes[dfa->edests[node].elems[0]].duplicated)
- {
- err = duplicate_node_closure (dfa, node, node, node,
- dfa->nodes[node].constraint);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
-
- /* Expand each epsilon destination nodes. */
- if (IS_EPSILON_NODE(dfa->nodes[node].type))
- for (i = 0; i < dfa->edests[node].nelem; ++i)
- {
- re_node_set eclosure_elem;
- Idx edest = dfa->edests[node].elems[i];
- /* If calculating the epsilon closure of `edest' is in progress,
- return intermediate result. */
- if (dfa->eclosures[edest].nelem == REG_MISSING)
- {
- incomplete = true;
- continue;
- }
- /* If we haven't calculated the epsilon closure of `edest' yet,
- calculate now. Otherwise use calculated epsilon closure. */
- if (dfa->eclosures[edest].nelem == 0)
- {
- err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- else
- eclosure_elem = dfa->eclosures[edest];
- /* Merge the epsilon closure of `edest'. */
- re_node_set_merge (&eclosure, &eclosure_elem);
- /* If the epsilon closure of `edest' is incomplete,
- the epsilon closure of this node is also incomplete. */
- if (dfa->eclosures[edest].nelem == 0)
- {
- incomplete = true;
- re_node_set_free (&eclosure_elem);
- }
- }
-
- /* Epsilon closures include itself. */
- ok = re_node_set_insert (&eclosure, node);
- if (BE (! ok, 0))
- return REG_ESPACE;
- if (incomplete && !root)
- dfa->eclosures[node].nelem = 0;
- else
- dfa->eclosures[node] = eclosure;
- *new_set = eclosure;
- return REG_NOERROR;
-}
-
-/* Functions for token which are used in the parser. */
-
-/* Fetch a token from INPUT.
- We must not use this function inside bracket expressions. */
-
-static void
-internal_function
-fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
-{
- re_string_skip_bytes (input, peek_token (result, input, syntax));
-}
-
-/* Peek a token from INPUT, and return the length of the token.
- We must not use this function inside bracket expressions. */
-
-static int
-internal_function
-peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
-{
- unsigned char c;
-
- if (re_string_eoi (input))
- {
- token->type = END_OF_RE;
- return 0;
- }
-
- c = re_string_peek_byte (input, 0);
- token->opr.c = c;
-
- token->word_char = 0;
-#ifdef RE_ENABLE_I18N
- token->mb_partial = 0;
- if (input->mb_cur_max > 1 &&
- !re_string_first_byte (input, re_string_cur_idx (input)))
- {
- token->type = CHARACTER;
- token->mb_partial = 1;
- return 1;
- }
-#endif
- if (c == '\\')
- {
- unsigned char c2;
- if (re_string_cur_idx (input) + 1 >= re_string_length (input))
- {
- token->type = BACK_SLASH;
- return 1;
- }
-
- c2 = re_string_peek_byte_case (input, 1);
- token->opr.c = c2;
- token->type = CHARACTER;
-#ifdef RE_ENABLE_I18N
- if (input->mb_cur_max > 1)
- {
- wint_t wc = re_string_wchar_at (input,
- re_string_cur_idx (input) + 1);
- token->word_char = IS_WIDE_WORD_CHAR (wc) != 0;
- }
- else
-#endif
- token->word_char = IS_WORD_CHAR (c2) != 0;
-
- switch (c2)
- {
- case '|':
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR))
- token->type = OP_ALT;
- break;
- case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- if (!(syntax & RE_NO_BK_REFS))
- {
- token->type = OP_BACK_REF;
- token->opr.idx = c2 - '1';
- }
- break;
- case '<':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = WORD_FIRST;
- }
- break;
- case '>':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = WORD_LAST;
- }
- break;
- case 'b':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = WORD_DELIM;
- }
- break;
- case 'B':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = NOT_WORD_DELIM;
- }
- break;
- case 'w':
- if (!(syntax & RE_NO_GNU_OPS))
- token->type = OP_WORD;
- break;
- case 'W':
- if (!(syntax & RE_NO_GNU_OPS))
- token->type = OP_NOTWORD;
- break;
- case 's':
- if (!(syntax & RE_NO_GNU_OPS))
- token->type = OP_SPACE;
- break;
- case 'S':
- if (!(syntax & RE_NO_GNU_OPS))
- token->type = OP_NOTSPACE;
- break;
- case '`':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = BUF_FIRST;
- }
- break;
- case '\'':
- if (!(syntax & RE_NO_GNU_OPS))
- {
- token->type = ANCHOR;
- token->opr.ctx_type = BUF_LAST;
- }
- break;
- case '(':
- if (!(syntax & RE_NO_BK_PARENS))
- token->type = OP_OPEN_SUBEXP;
- break;
- case ')':
- if (!(syntax & RE_NO_BK_PARENS))
- token->type = OP_CLOSE_SUBEXP;
- break;
- case '+':
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM))
- token->type = OP_DUP_PLUS;
- break;
- case '?':
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM))
- token->type = OP_DUP_QUESTION;
- break;
- case '{':
- if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES)))
- token->type = OP_OPEN_DUP_NUM;
- break;
- case '}':
- if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES)))
- token->type = OP_CLOSE_DUP_NUM;
- break;
- default:
- break;
- }
- return 2;
- }
-
- token->type = CHARACTER;
-#ifdef RE_ENABLE_I18N
- if (input->mb_cur_max > 1)
- {
- wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input));
- token->word_char = IS_WIDE_WORD_CHAR (wc) != 0;
- }
- else
-#endif
- token->word_char = IS_WORD_CHAR (token->opr.c);
-
- switch (c)
- {
- case '\n':
- if (syntax & RE_NEWLINE_ALT)
- token->type = OP_ALT;
- break;
- case '|':
- if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR))
- token->type = OP_ALT;
- break;
- case '*':
- token->type = OP_DUP_ASTERISK;
- break;
- case '+':
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM))
- token->type = OP_DUP_PLUS;
- break;
- case '?':
- if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM))
- token->type = OP_DUP_QUESTION;
- break;
- case '{':
- if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
- token->type = OP_OPEN_DUP_NUM;
- break;
- case '}':
- if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
- token->type = OP_CLOSE_DUP_NUM;
- break;
- case '(':
- if (syntax & RE_NO_BK_PARENS)
- token->type = OP_OPEN_SUBEXP;
- break;
- case ')':
- if (syntax & RE_NO_BK_PARENS)
- token->type = OP_CLOSE_SUBEXP;
- break;
- case '[':
- token->type = OP_OPEN_BRACKET;
- break;
- case '.':
- token->type = OP_PERIOD;
- break;
- case '^':
- if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) &&
- re_string_cur_idx (input) != 0)
- {
- char prev = re_string_peek_byte (input, -1);
- if (!(syntax & RE_NEWLINE_ALT) || prev != '\n')
- break;
- }
- token->type = ANCHOR;
- token->opr.ctx_type = LINE_FIRST;
- break;
- case '$':
- if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) &&
- re_string_cur_idx (input) + 1 != re_string_length (input))
- {
- re_token_t next;
- re_string_skip_bytes (input, 1);
- peek_token (&next, input, syntax);
- re_string_skip_bytes (input, -1);
- if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP)
- break;
- }
- token->type = ANCHOR;
- token->opr.ctx_type = LINE_LAST;
- break;
- default:
- break;
- }
- return 1;
-}
-
-/* Peek a token from INPUT, and return the length of the token.
- We must not use this function out of bracket expressions. */
-
-static int
-internal_function
-peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
-{
- unsigned char c;
- if (re_string_eoi (input))
- {
- token->type = END_OF_RE;
- return 0;
- }
- c = re_string_peek_byte (input, 0);
- token->opr.c = c;
-
-#ifdef RE_ENABLE_I18N
- if (input->mb_cur_max > 1 &&
- !re_string_first_byte (input, re_string_cur_idx (input)))
- {
- token->type = CHARACTER;
- return 1;
- }
-#endif /* RE_ENABLE_I18N */
-
- if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS)
- && re_string_cur_idx (input) + 1 < re_string_length (input))
- {
- /* In this case, '\' escape a character. */
- unsigned char c2;
- re_string_skip_bytes (input, 1);
- c2 = re_string_peek_byte (input, 0);
- token->opr.c = c2;
- token->type = CHARACTER;
- return 1;
- }
- if (c == '[') /* '[' is a special char in a bracket exps. */
- {
- unsigned char c2;
- int token_len;
- if (re_string_cur_idx (input) + 1 < re_string_length (input))
- c2 = re_string_peek_byte (input, 1);
- else
- c2 = 0;
- token->opr.c = c2;
- token_len = 2;
- switch (c2)
- {
- case '.':
- token->type = OP_OPEN_COLL_ELEM;
- break;
- case '=':
- token->type = OP_OPEN_EQUIV_CLASS;
- break;
- case ':':
- if (syntax & RE_CHAR_CLASSES)
- {
- token->type = OP_OPEN_CHAR_CLASS;
- break;
- }
- /* else fall through. */
- default:
- token->type = CHARACTER;
- token->opr.c = c;
- token_len = 1;
- break;
- }
- return token_len;
- }
- switch (c)
- {
- case '-':
- token->type = OP_CHARSET_RANGE;
- break;
- case ']':
- token->type = OP_CLOSE_BRACKET;
- break;
- case '^':
- token->type = OP_NON_MATCH_LIST;
- break;
- default:
- token->type = CHARACTER;
- }
- return 1;
-}
-
-/* Functions for parser. */
-
-/* Entry point of the parser.
- Parse the regular expression REGEXP and return the structure tree.
- If an error is occured, ERR is set by error code, and return NULL.
- This function build the following tree, from regular expression <reg_exp>:
- CAT
- / \
- / \
- <reg_exp> EOR
-
- CAT means concatenation.
- EOR means end of regular expression. */
-
-static bin_tree_t *
-parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
- reg_errcode_t *err)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_t *tree, *eor, *root;
- re_token_t current_token;
- dfa->syntax = syntax;
- fetch_token (¤t_token, regexp, syntax | RE_CARET_ANCHORS_HERE);
- tree = parse_reg_exp (regexp, preg, ¤t_token, syntax, 0, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- eor = create_tree (dfa, NULL, NULL, END_OF_RE);
- if (tree != NULL)
- root = create_tree (dfa, tree, eor, CONCAT);
- else
- root = eor;
- if (BE (eor == NULL || root == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- return root;
-}
-
-/* This function build the following tree, from regular expression
- <branch1>|<branch2>:
- ALT
- / \
- / \
- <branch1> <branch2>
-
- ALT means alternative, which represents the operator `|'. */
-
-static bin_tree_t *
-parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
- reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_t *tree, *branch = NULL;
- tree = parse_branch (regexp, preg, token, syntax, nest, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
-
- while (token->type == OP_ALT)
- {
- fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE);
- if (token->type != OP_ALT && token->type != END_OF_RE
- && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
- {
- branch = parse_branch (regexp, preg, token, syntax, nest, err);
- if (BE (*err != REG_NOERROR && branch == NULL, 0))
- return NULL;
- }
- else
- branch = NULL;
- tree = create_tree (dfa, tree, branch, OP_ALT);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- }
- return tree;
-}
-
-/* This function build the following tree, from regular expression
- <exp1><exp2>:
- CAT
- / \
- / \
- <exp1> <exp2>
-
- CAT means concatenation. */
-
-static bin_tree_t *
-parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
- reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
-{
- bin_tree_t *tree, *expr;
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- tree = parse_expression (regexp, preg, token, syntax, nest, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
-
- while (token->type != OP_ALT && token->type != END_OF_RE
- && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
- {
- expr = parse_expression (regexp, preg, token, syntax, nest, err);
- if (BE (*err != REG_NOERROR && expr == NULL, 0))
- {
- return NULL;
- }
- if (tree != NULL && expr != NULL)
- {
- tree = create_tree (dfa, tree, expr, CONCAT);
- if (tree == NULL)
- {
- *err = REG_ESPACE;
- return NULL;
- }
- }
- else if (tree == NULL)
- tree = expr;
- /* Otherwise expr == NULL, we don't need to create new tree. */
- }
- return tree;
-}
-
-/* This function build the following tree, from regular expression a*:
- *
- |
- a
-*/
-
-static bin_tree_t *
-parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
- reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_t *tree;
- switch (token->type)
- {
- case CHARACTER:
- tree = create_token_tree (dfa, NULL, NULL, token);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- {
- while (!re_string_eoi (regexp)
- && !re_string_first_byte (regexp, re_string_cur_idx (regexp)))
- {
- bin_tree_t *mbc_remain;
- fetch_token (token, regexp, syntax);
- mbc_remain = create_token_tree (dfa, NULL, NULL, token);
- tree = create_tree (dfa, tree, mbc_remain, CONCAT);
- if (BE (mbc_remain == NULL || tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- }
- }
-#endif
- break;
- case OP_OPEN_SUBEXP:
- tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- break;
- case OP_OPEN_BRACKET:
- tree = parse_bracket_exp (regexp, dfa, token, syntax, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- break;
- case OP_BACK_REF:
- if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1))
- {
- *err = REG_ESUBREG;
- return NULL;
- }
- dfa->used_bkref_map |= 1 << token->opr.idx;
- tree = create_token_tree (dfa, NULL, NULL, token);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- ++dfa->nbackref;
- dfa->has_mb_node = 1;
- break;
- case OP_OPEN_DUP_NUM:
- if (syntax & RE_CONTEXT_INVALID_DUP)
- {
- *err = REG_BADRPT;
- return NULL;
- }
- /* FALLTHROUGH */
- case OP_DUP_ASTERISK:
- case OP_DUP_PLUS:
- case OP_DUP_QUESTION:
- if (syntax & RE_CONTEXT_INVALID_OPS)
- {
- *err = REG_BADRPT;
- return NULL;
- }
- else if (syntax & RE_CONTEXT_INDEP_OPS)
- {
- fetch_token (token, regexp, syntax);
- return parse_expression (regexp, preg, token, syntax, nest, err);
- }
- /* else fall through */
- case OP_CLOSE_SUBEXP:
- if ((token->type == OP_CLOSE_SUBEXP) &&
- !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD))
- {
- *err = REG_ERPAREN;
- return NULL;
- }
- /* else fall through */
- case OP_CLOSE_DUP_NUM:
- /* We treat it as a normal character. */
-
- /* Then we can these characters as normal characters. */
- token->type = CHARACTER;
- /* mb_partial and word_char bits should be initialized already
- by peek_token. */
- tree = create_token_tree (dfa, NULL, NULL, token);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- break;
- case ANCHOR:
- if ((token->opr.ctx_type
- & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST))
- && dfa->word_ops_used == 0)
- init_word_char (dfa);
- if (token->opr.ctx_type == WORD_DELIM
- || token->opr.ctx_type == NOT_WORD_DELIM)
- {
- bin_tree_t *tree_first, *tree_last;
- if (token->opr.ctx_type == WORD_DELIM)
- {
- token->opr.ctx_type = WORD_FIRST;
- tree_first = create_token_tree (dfa, NULL, NULL, token);
- token->opr.ctx_type = WORD_LAST;
- }
- else
- {
- token->opr.ctx_type = INSIDE_WORD;
- tree_first = create_token_tree (dfa, NULL, NULL, token);
- token->opr.ctx_type = INSIDE_NOTWORD;
- }
- tree_last = create_token_tree (dfa, NULL, NULL, token);
- tree = create_tree (dfa, tree_first, tree_last, OP_ALT);
- if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- }
- else
- {
- tree = create_token_tree (dfa, NULL, NULL, token);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- }
- /* We must return here, since ANCHORs can't be followed
- by repetition operators.
- eg. RE"^*" is invalid or "<ANCHOR(^)><CHAR(*)>",
- it must not be "<ANCHOR(^)><REPEAT(*)>". */
- fetch_token (token, regexp, syntax);
- return tree;
- case OP_PERIOD:
- tree = create_token_tree (dfa, NULL, NULL, token);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- if (dfa->mb_cur_max > 1)
- dfa->has_mb_node = 1;
- break;
- case OP_WORD:
- case OP_NOTWORD:
- tree = build_charclass_op (dfa, regexp->trans,
- (const unsigned char *) "alnum",
- (const unsigned char *) "_",
- token->type == OP_NOTWORD, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- break;
- case OP_SPACE:
- case OP_NOTSPACE:
- tree = build_charclass_op (dfa, regexp->trans,
- (const unsigned char *) "space",
- (const unsigned char *) "",
- token->type == OP_NOTSPACE, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- break;
- case OP_ALT:
- case END_OF_RE:
- return NULL;
- case BACK_SLASH:
- *err = REG_EESCAPE;
- return NULL;
- default:
- /* Must not happen? */
-#ifdef DEBUG
- assert (0);
-#endif
- return NULL;
- }
- fetch_token (token, regexp, syntax);
-
- while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS
- || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM)
- {
- tree = parse_dup_op (tree, regexp, dfa, token, syntax, err);
- if (BE (*err != REG_NOERROR && tree == NULL, 0))
- return NULL;
- /* In BRE consecutive duplications are not allowed. */
- if ((syntax & RE_CONTEXT_INVALID_DUP)
- && (token->type == OP_DUP_ASTERISK
- || token->type == OP_OPEN_DUP_NUM))
- {
- *err = REG_BADRPT;
- return NULL;
- }
- }
-
- return tree;
-}
-
-/* This function build the following tree, from regular expression
- (<reg_exp>):
- SUBEXP
- |
- <reg_exp>
-*/
-
-static bin_tree_t *
-parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
- reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
-{
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
- bin_tree_t *tree;
- size_t cur_nsub;
- cur_nsub = preg->re_nsub++;
-
- fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE);
-
- /* The subexpression may be a null string. */
- if (token->type == OP_CLOSE_SUBEXP)
- tree = NULL;
- else
- {
- tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
- if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
- *err = REG_EPAREN;
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
- }
-
- if (cur_nsub <= '9' - '1')
- dfa->completed_bkref_map |= 1 << cur_nsub;
-
- tree = create_tree (dfa, tree, NULL, SUBEXP);
- if (BE (tree == NULL, 0))
- {
- *err = REG_ESPACE;
- return NULL;
- }
- tree->token.opr.idx = cur_nsub;
- return tree;
-}
-
-/* This function parse repetition operators like "*", "+", "{1,3}" etc. */
-
-static bin_tree_t *
-parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
- re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err)
-{
- bin_tree_t *tree = NULL, *old_tree = NULL;
- Idx i, start, end, start_idx = re_string_cur_idx (regexp);
- re_token_t start_token = *token;
-
- if (token->type == OP_OPEN_DUP_NUM)
- {
- end = 0;
- start = fetch_number (regexp, token, syntax);
- if (start == REG_MISSING)
- {
- if (token->type == CHARACTER && token->opr.c == ',')
- start = 0; /* We treat "{,m}" as "{0,m}". */
- else
- {
- *err = REG_BADBR; /* <re>{} is invalid. */
- return NULL;
- }
- }
- if (BE (start != REG_ERROR, 1))
- {
- /* We treat "{n}" as "{n,n}". */
- end = ((token->type == OP_CLOSE_DUP_NUM) ? start
- : ((token->type == CHARACTER && token->opr.c == ',')
- ? fetch_number (regexp, token, syntax) : REG_ERROR));
- }
- if (BE (start == REG_ERROR || end == REG_ERROR, 0))
- {
- /* Invalid sequence. */
- if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0))
- {
- if (token->type == END_OF_RE)
- *err = REG_EBRACE;
- else
- *err = REG_BADBR;
-
- return NULL;
- }
-
- /* If the syntax bit is set, rollback. */
- re_string_set_index (regexp, start_idx);
- *token = start_token;
- token->type = CHARACTER;
- /* mb_partial and word_char bits should be already initialized by
- peek_token. */
- return elem;
- }
-
- if (BE (end != REG_MISSING && start > end, 0))
- {
- /* First number greater than second. */
- *err = REG_BADBR;
- return NULL;
- }
- }
- else
- {
- start = (token->type == OP_DUP_PLUS) ? 1 : 0;
- end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING;
- }
-
- fetch_token (token, regexp, syntax);
-
- if (BE (elem == NULL, 0))
- return NULL;
- if (BE (start == 0 && end == 0, 0))
- {
- postorder (elem, free_tree, NULL);
- return NULL;
- }
-
- /* Extract "<re>{n,m}" to "<re><re>...<re><re>{0,<m-n>}". */
- if (BE (start > 0, 0))
- {
- tree = elem;
- for (i = 2; i <= start; ++i)
- {
- elem = duplicate_tree (elem, dfa);
- tree = create_tree (dfa, tree, elem, CONCAT);
- if (BE (elem == NULL || tree == NULL, 0))
- goto parse_dup_op_espace;
- }
-
- if (start == end)
- return tree;
-
- /* Duplicate ELEM before it is marked optional. */
- elem = duplicate_tree (elem, dfa);
- old_tree = tree;
- }
- else
- old_tree = NULL;
-
- if (elem->token.type == SUBEXP)
- postorder (elem, mark_opt_subexp, (void *) (intptr_t) elem->token.opr.idx);
-
- tree = create_tree (dfa, elem, NULL,
- (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT));
- if (BE (tree == NULL, 0))
- goto parse_dup_op_espace;
-
- /* This loop is actually executed only when end != REG_MISSING,
- to rewrite <re>{0,n} as (<re>(<re>...<re>?)?)?... We have
- already created the start+1-th copy. */
- if ((Idx) -1 < 0 || end != REG_MISSING)
- for (i = start + 2; i <= end; ++i)
- {
- elem = duplicate_tree (elem, dfa);
- tree = create_tree (dfa, tree, elem, CONCAT);
- if (BE (elem == NULL || tree == NULL, 0))
- goto parse_dup_op_espace;
-
- tree = create_tree (dfa, tree, NULL, OP_ALT);
- if (BE (tree == NULL, 0))
- goto parse_dup_op_espace;
- }
-
- if (old_tree)
- tree = create_tree (dfa, old_tree, tree, CONCAT);
-
- return tree;
-
- parse_dup_op_espace:
- *err = REG_ESPACE;
- return NULL;
-}
-
-/* Size of the names for collating symbol/equivalence_class/character_class.
- I'm not sure, but maybe enough. */
-#define BRACKET_NAME_BUF_SIZE 32
-
-#ifndef _LIBC
- /* Local function for parse_bracket_exp only used in case of NOT _LIBC.
- Build the range expression which starts from START_ELEM, and ends
- at END_ELEM. The result are written to MBCSET and SBCSET.
- RANGE_ALLOC is the allocated size of mbcset->range_starts, and
- mbcset->range_ends, is a pointer argument sinse we may
- update it. */
-
-static reg_errcode_t
-internal_function
-# ifdef RE_ENABLE_I18N
-build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc,
- bracket_elem_t *start_elem, bracket_elem_t *end_elem)
-# else /* not RE_ENABLE_I18N */
-build_range_exp (bitset_t sbcset, bracket_elem_t *start_elem,
- bracket_elem_t *end_elem)
-# endif /* not RE_ENABLE_I18N */
-{
- unsigned int start_ch, end_ch;
- /* Equivalence Classes and Character Classes can't be a range start/end. */
- if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
- || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
- 0))
- return REG_ERANGE;
-
- /* We can handle no multi character collating elements without libc
- support. */
- if (BE ((start_elem->type == COLL_SYM
- && strlen ((char *) start_elem->opr.name) > 1)
- || (end_elem->type == COLL_SYM
- && strlen ((char *) end_elem->opr.name) > 1), 0))
- return REG_ECOLLATE;
-
-# ifdef RE_ENABLE_I18N
- {
- wchar_t wc;
- wint_t start_wc;
- wint_t end_wc;
- wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
-
- start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch
- : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0]
- : 0));
- end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch
- : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
- : 0));
- start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM)
- ? __btowc (start_ch) : start_elem->opr.wch);
- end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM)
- ? __btowc (end_ch) : end_elem->opr.wch);
- if (start_wc == WEOF || end_wc == WEOF)
- return REG_ECOLLATE;
- cmp_buf[0] = start_wc;
- cmp_buf[4] = end_wc;
- if (wcscoll (cmp_buf, cmp_buf + 4) > 0)
- return REG_ERANGE;
-
- /* Got valid collation sequence values, add them as a new entry.
- However, for !_LIBC we have no collation elements: if the
- character set is single byte, the single byte character set
- that we build below suffices. parse_bracket_exp passes
- no MBCSET if dfa->mb_cur_max == 1. */
- if (mbcset)
- {
- /* Check the space of the arrays. */
- if (BE (*range_alloc == mbcset->nranges, 0))
- {
- /* There is not enough space, need realloc. */
- wchar_t *new_array_start, *new_array_end;
- Idx new_nranges;
-
- /* +1 in case of mbcset->nranges is 0. */
- new_nranges = 2 * mbcset->nranges + 1;
- /* Use realloc since mbcset->range_starts and mbcset->range_ends
- are NULL if *range_alloc == 0. */
- new_array_start = re_realloc (mbcset->range_starts, wchar_t,
- new_nranges);
- new_array_end = re_realloc (mbcset->range_ends, wchar_t,
- new_nranges);
-
- if (BE (new_array_start == NULL || new_array_end == NULL, 0))
- return REG_ESPACE;
-
- mbcset->range_starts = new_array_start;
- mbcset->range_ends = new_array_end;
- *range_alloc = new_nranges;
- }
-
- mbcset->range_starts[mbcset->nranges] = start_wc;
- mbcset->range_ends[mbcset->nranges++] = end_wc;
- }
-
- /* Build the table for single byte characters. */
- for (wc = 0; wc < SBC_MAX; ++wc)
- {
- cmp_buf[2] = wc;
- if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
- && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
- bitset_set (sbcset, wc);
- }
- }
-# else /* not RE_ENABLE_I18N */
- {
- unsigned int ch;
- start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch
- : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0]
- : 0));
- end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch
- : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
- : 0));
- if (start_ch > end_ch)
- return REG_ERANGE;
- /* Build the table for single byte characters. */
- for (ch = 0; ch < SBC_MAX; ++ch)
- if (start_ch <= ch && ch <= end_ch)
- bitset_set (sbcset, ch);
- }
-# endif /* not RE_ENABLE_I18N */
- return REG_NOERROR;
-}
-#endif /* not _LIBC */
-
-#ifndef _LIBC
-/* Helper function for parse_bracket_exp only used in case of NOT _LIBC..
- Build the collating element which is represented by NAME.
- The result are written to MBCSET and SBCSET.
- COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a
- pointer argument since we may update it. */
-
-static reg_errcode_t
-internal_function
-build_collating_symbol (bitset_t sbcset,
-# ifdef RE_ENABLE_I18N
- re_charset_t *mbcset, Idx *coll_sym_alloc,
-# endif
- const unsigned char *name)
-{
- size_t name_len = strlen ((const char *) name);
- if (BE (name_len != 1, 0))
- return REG_ECOLLATE;
- else
- {
- bitset_set (sbcset, name[0]);
- return REG_NOERROR;
- }
-}
-#endif /* not _LIBC */
-
-/* This function parse bracket expression like "[abc]", "[a-c]",
- "[[.a-a.]]" etc. */
-
-static bin_tree_t *
-parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
- reg_syntax_t syntax, reg_errcode_t *err)
-{
-#ifdef _LIBC
- const unsigned char *collseqmb;
- const char *collseqwc;
- uint32_t nrules;
- int32_t table_size;
- const int32_t *symb_table;
- const unsigned char *extra;
-
- /* Local function for parse_bracket_exp used in _LIBC environement.
- Seek the collating symbol entry correspondings to NAME.
- Return the index of the symbol in the SYMB_TABLE. */
-
- auto inline int32_t
- __attribute ((always_inline))
- seek_collating_symbol_entry (name, name_len)
- const unsigned char *name;
- size_t name_len;
- {
- int32_t hash = elem_hash ((const char *) name, name_len);
- int32_t elem = hash % table_size;
- if (symb_table[2 * elem] != 0)
- {
- int32_t second = hash % (table_size - 2) + 1;
-
- do
- {
- /* First compare the hashing value. */
- if (symb_table[2 * elem] == hash
- /* Compare the length of the name. */
- && name_len == extra[symb_table[2 * elem + 1]]
- /* Compare the name. */
- && memcmp (name, &extra[symb_table[2 * elem + 1] + 1],
- name_len) == 0)
- {
- /* Yep, this is the entry. */
- break;
- }
-
- /* Next entry. */
- elem += second;
- }
- while (symb_table[2 * elem] != 0);
- }
- return elem;
- }
-
- /* Local function for parse_bracket_exp used in _LIBC environement.
- Look up the collation sequence value of BR_ELEM.
- Return the value if succeeded, UINT_MAX otherwise. */
-
- auto inline unsigned int
- __attribute ((always_inline))
- lookup_collation_sequence_value (br_elem)
- bracket_elem_t *br_elem;
- {
- if (br_elem->type == SB_CHAR)
- {
- /*
- if (MB_CUR_MAX == 1)
- */
- if (nrules == 0)
- return collseqmb[br_elem->opr.ch];
- else
- {
- wint_t wc = __btowc (br_elem->opr.ch);
- return __collseq_table_lookup (collseqwc, wc);
- }
- }
- else if (br_elem->type == MB_CHAR)
- {
- return __collseq_table_lookup (collseqwc, br_elem->opr.wch);
- }
- else if (br_elem->type == COLL_SYM)
- {
- size_t sym_name_len = strlen ((char *) br_elem->opr.name);
- if (nrules != 0)
- {
- int32_t elem, idx;
- elem = seek_collating_symbol_entry (br_elem->opr.name,
- sym_name_len);
- if (symb_table[2 * elem] != 0)
- {
- /* We found the entry. */
- idx = symb_table[2 * elem + 1];
- /* Skip the name of collating element name. */
- idx += 1 + extra[idx];
- /* Skip the byte sequence of the collating element. */
- idx += 1 + extra[idx];
- /* Adjust for the alignment. */
- idx = (idx + 3) & ~3;
- /* Skip the multibyte collation sequence value. */
- idx += sizeof (unsigned int);
- /* Skip the wide char sequence of the collating element. */
- idx += sizeof (unsigned int) *
- (1 + *(unsigned int *) (extra + idx));
- /* Return the collation sequence value. */
- return *(unsigned int *) (extra + idx);
- }
- else if (symb_table[2 * elem] == 0 && sym_name_len == 1)
- {
- /* No valid character. Match it as a single byte
- character. */
- return collseqmb[br_elem->opr.name[0]];
- }
- }
- else if (sym_name_len == 1)
- return collseqmb[br_elem->opr.name[0]];
- }
- return UINT_MAX;
- }
-
- /* Local function for parse_bracket_exp used in _LIBC environement.
- Build the range expression which starts from START_ELEM, and ends
- at END_ELEM. The result are written to MBCSET and SBCSET.
- RANGE_ALLOC is the allocated size of mbcset->range_starts, and
- mbcset->range_ends, is a pointer argument sinse we may
- update it. */
-
- auto inline reg_errcode_t
- __attribute ((always_inline))
- build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem)
- re_charset_t *mbcset;
- Idx *range_alloc;
- bitset_t sbcset;
- bracket_elem_t *start_elem, *end_elem;
- {
- unsigned int ch;
- uint32_t start_collseq;
- uint32_t end_collseq;
-
- /* Equivalence Classes and Character Classes can't be a range
- start/end. */
- if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
- || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
- 0))
- return REG_ERANGE;
-
- start_collseq = lookup_collation_sequence_value (start_elem);
- end_collseq = lookup_collation_sequence_value (end_elem);
- /* Check start/end collation sequence values. */
- if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0))
- return REG_ECOLLATE;
- if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0))
- return REG_ERANGE;
-
- /* Got valid collation sequence values, add them as a new entry.
- However, if we have no collation elements, and the character set
- is single byte, the single byte character set that we
- build below suffices. */
- if (nrules > 0 || dfa->mb_cur_max > 1)
- {
- /* Check the space of the arrays. */
- if (BE (*range_alloc == mbcset->nranges, 0))
- {
- /* There is not enough space, need realloc. */
- uint32_t *new_array_start;
- uint32_t *new_array_end;
- Idx new_nranges;
-
- /* +1 in case of mbcset->nranges is 0. */
- new_nranges = 2 * mbcset->nranges + 1;
- new_array_start = re_realloc (mbcset->range_starts, uint32_t,
- new_nranges);
- new_array_end = re_realloc (mbcset->range_ends, uint32_t,
- new_nranges);
-
- if (BE (new_array_start == NULL || new_array_end == NULL, 0))
- return REG_ESPACE;
-
- mbcset->range_starts = new_array_start;
- mbcset->range_ends = new_array_end;
- *range_alloc = new_nranges;
- }
-
- mbcset->range_starts[mbcset->nranges] = start_collseq;
- mbcset->range_ends[mbcset->nranges++] = end_collseq;
- }
-
- /* Build the table for single byte characters. */
- for (ch = 0; ch < SBC_MAX; ch++)
- {
- uint32_t ch_collseq;
- /*
- if (MB_CUR_MAX == 1)
- */
- if (nrules == 0)
- ch_collseq = collseqmb[ch];
- else
- ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch));
- if (start_collseq <= ch_collseq && ch_collseq <= end_collseq)
- bitset_set (sbcset, ch);
- }
- return REG_NOERROR;
- }
-
- /* Local function for parse_bracket_exp used in _LIBC environement.
- Build the collating element which is represented by NAME.
- The result are written to MBCSET and SBCSET.
- COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a
- pointer argument sinse we may update it. */
-
- auto inline reg_errcode_t
- __attribute ((always_inline))
- build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name)
- re_charset_t *mbcset;
- Idx *coll_sym_alloc;
- bitset_t sbcset;
- const unsigned char *name;
- {
- int32_t elem, idx;
- size_t name_len = strlen ((const char *) name);
- if (nrules != 0)
- {
- elem = seek_collating_symbol_entry (name, name_len);
- if (symb_table[2 * elem] != 0)
- {
- /* We found the entry. */
- idx = symb_table[2 * elem + 1];
- /* Skip the name of collating element name. */
- idx += 1 + extra[idx];
- }
- else if (symb_table[2 * elem] == 0 && name_len == 1)
- {
- /* No valid character, treat it as a normal
- character. */
- bitset_set (sbcset, name[0]);
- return REG_NOERROR;
- }
- else
- return REG_ECOLLATE;
-
- /* Got valid collation sequence, add it as a new entry. */
- /* Check the space of the arrays. */
- if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0))
- {
- /* Not enough, realloc it. */
- /* +1 in case of mbcset->ncoll_syms is 0. */
- Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1;
- /* Use realloc since mbcset->coll_syms is NULL
- if *alloc == 0. */
- int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t,
- new_coll_sym_alloc);
- if (BE (new_coll_syms == NULL, 0))
- return REG_ESPACE;
- mbcset->coll_syms = new_coll_syms;
- *coll_sym_alloc = new_coll_sym_alloc;
- }
- mbcset->coll_syms[mbcset->ncoll_syms++] = idx;
- return REG_NOERROR;
- }
- else
- {
- if (BE (name_len != 1, 0))
- return REG_ECOLLATE;
- else
- {
- bitset_set (sbcset, name[0]);
- return REG_NOERROR;
- }
- }
- }
-#endif
-
- re_token_t br_token;
- re_bitset_ptr_t sbcset;
-#ifdef RE_ENABLE_I18N
- re_charset_t *mbcset;
- Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0;
- Idx equiv_class_alloc = 0, char_class_alloc = 0;
-#endif /* not RE_ENABLE_I18N */
- bool non_match = false;
- bin_tree_t *work_tree;
- int token_len;
- bool first_round = true;
-#ifdef _LIBC
- collseqmb = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB);
- nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
- if (nrules)
- {
- /*
- if (MB_CUR_MAX > 1)
- */
- collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC);
- table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB);
- symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_SYMB_TABLEMB);
- extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_SYMB_EXTRAMB);
- }
-#endif
- sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-#ifdef RE_ENABLE_I18N
- mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
-#endif /* RE_ENABLE_I18N */
-#ifdef RE_ENABLE_I18N
- if (BE (sbcset == NULL || mbcset == NULL, 0))
-#else
- if (BE (sbcset == NULL, 0))
-#endif /* RE_ENABLE_I18N */
- {
- *err = REG_ESPACE;
- return NULL;
- }
-
- token_len = peek_token_bracket (token, regexp, syntax);
- if (BE (token->type == END_OF_RE, 0))
- {
- *err = REG_BADPAT;
- goto parse_bracket_exp_free_return;
- }
- if (token->type == OP_NON_MATCH_LIST)
- {
-#ifdef RE_ENABLE_I18N
- mbcset->non_match = 1;
-#endif /* not RE_ENABLE_I18N */
- non_match = true;
- if (syntax & RE_HAT_LISTS_NOT_NEWLINE)
- bitset_set (sbcset, '\n');
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
- token_len = peek_token_bracket (token, regexp, syntax);
- if (BE (token->type == END_OF_RE, 0))
- {
- *err = REG_BADPAT;
- goto parse_bracket_exp_free_return;
- }
- }
-
- /* We treat the first ']' as a normal character. */
- if (token->type == OP_CLOSE_BRACKET)
- token->type = CHARACTER;
-
- while (1)
- {
- bracket_elem_t start_elem, end_elem;
- unsigned char start_name_buf[BRACKET_NAME_BUF_SIZE];
- unsigned char end_name_buf[BRACKET_NAME_BUF_SIZE];
- reg_errcode_t ret;
- int token_len2 = 0;
- bool is_range_exp = false;
- re_token_t token2;
-
- start_elem.opr.name = start_name_buf;
- ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa,
- syntax, first_round);
- if (BE (ret != REG_NOERROR, 0))
- {
- *err = ret;
- goto parse_bracket_exp_free_return;
- }
- first_round = false;
-
- /* Get information about the next token. We need it in any case. */
- token_len = peek_token_bracket (token, regexp, syntax);
-
- /* Do not check for ranges if we know they are not allowed. */
- if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS)
- {
- if (BE (token->type == END_OF_RE, 0))
- {
- *err = REG_EBRACK;
- goto parse_bracket_exp_free_return;
- }
- if (token->type == OP_CHARSET_RANGE)
- {
- re_string_skip_bytes (regexp, token_len); /* Skip '-'. */
- token_len2 = peek_token_bracket (&token2, regexp, syntax);
- if (BE (token2.type == END_OF_RE, 0))
- {
- *err = REG_EBRACK;
- goto parse_bracket_exp_free_return;
- }
- if (token2.type == OP_CLOSE_BRACKET)
- {
- /* We treat the last '-' as a normal character. */
- re_string_skip_bytes (regexp, -token_len);
- token->type = CHARACTER;
- }
- else
- is_range_exp = true;
- }
- }
-
- if (is_range_exp == true)
- {
- end_elem.opr.name = end_name_buf;
- ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2,
- dfa, syntax, true);
- if (BE (ret != REG_NOERROR, 0))
- {
- *err = ret;
- goto parse_bracket_exp_free_return;
- }
-
- token_len = peek_token_bracket (token, regexp, syntax);
-
-#ifdef _LIBC
- *err = build_range_exp (sbcset, mbcset, &range_alloc,
- &start_elem, &end_elem);
-#else
-# ifdef RE_ENABLE_I18N
- *err = build_range_exp (sbcset,
- dfa->mb_cur_max > 1 ? mbcset : NULL,
- &range_alloc, &start_elem, &end_elem);
-# else
- *err = build_range_exp (sbcset, &start_elem, &end_elem);
-# endif
-#endif /* RE_ENABLE_I18N */
- if (BE (*err != REG_NOERROR, 0))
- goto parse_bracket_exp_free_return;
- }
- else
- {
- switch (start_elem.type)
- {
- case SB_CHAR:
- bitset_set (sbcset, start_elem.opr.ch);
- break;
-#ifdef RE_ENABLE_I18N
- case MB_CHAR:
- /* Check whether the array has enough space. */
- if (BE (mbchar_alloc == mbcset->nmbchars, 0))
- {
- wchar_t *new_mbchars;
- /* Not enough, realloc it. */
- /* +1 in case of mbcset->nmbchars is 0. */
- mbchar_alloc = 2 * mbcset->nmbchars + 1;
- /* Use realloc since array is NULL if *alloc == 0. */
- new_mbchars = re_realloc (mbcset->mbchars, wchar_t,
- mbchar_alloc);
- if (BE (new_mbchars == NULL, 0))
- goto parse_bracket_exp_espace;
- mbcset->mbchars = new_mbchars;
- }
- mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch;
- break;
-#endif /* RE_ENABLE_I18N */
- case EQUIV_CLASS:
- *err = build_equiv_class (sbcset,
-#ifdef RE_ENABLE_I18N
- mbcset, &equiv_class_alloc,
-#endif /* RE_ENABLE_I18N */
- start_elem.opr.name);
- if (BE (*err != REG_NOERROR, 0))
- goto parse_bracket_exp_free_return;
- break;
- case COLL_SYM:
- *err = build_collating_symbol (sbcset,
-#ifdef RE_ENABLE_I18N
- mbcset, &coll_sym_alloc,
-#endif /* RE_ENABLE_I18N */
- start_elem.opr.name);
- if (BE (*err != REG_NOERROR, 0))
- goto parse_bracket_exp_free_return;
- break;
- case CHAR_CLASS:
- *err = build_charclass (regexp->trans, sbcset,
-#ifdef RE_ENABLE_I18N
- mbcset, &char_class_alloc,
-#endif /* RE_ENABLE_I18N */
- start_elem.opr.name, syntax);
- if (BE (*err != REG_NOERROR, 0))
- goto parse_bracket_exp_free_return;
- break;
- default:
- assert (0);
- break;
- }
- }
- if (BE (token->type == END_OF_RE, 0))
- {
- *err = REG_EBRACK;
- goto parse_bracket_exp_free_return;
- }
- if (token->type == OP_CLOSE_BRACKET)
- break;
- }
-
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
-
- /* If it is non-matching list. */
- if (non_match)
- bitset_not (sbcset);
-
-#ifdef RE_ENABLE_I18N
- /* Ensure only single byte characters are set. */
- if (dfa->mb_cur_max > 1)
- bitset_mask (sbcset, dfa->sb_char);
-
- if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes
- || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes
- || mbcset->non_match)))
- {
- bin_tree_t *mbc_tree;
- int sbc_idx;
- /* Build a tree for complex bracket. */
- dfa->has_mb_node = 1;
- br_token.type = COMPLEX_BRACKET;
- br_token.opr.mbcset = mbcset;
- mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
- if (BE (mbc_tree == NULL, 0))
- goto parse_bracket_exp_espace;
- for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx)
- if (sbcset[sbc_idx])
- break;
- /* If there are no bits set in sbcset, there is no point
- of having both SIMPLE_BRACKET and COMPLEX_BRACKET. */
- if (sbc_idx < BITSET_WORDS)
- {
- /* Build a tree for simple bracket. */
- br_token.type = SIMPLE_BRACKET;
- br_token.opr.sbcset = sbcset;
- work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
- if (BE (work_tree == NULL, 0))
- goto parse_bracket_exp_espace;
-
- /* Then join them by ALT node. */
- work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT);
- if (BE (work_tree == NULL, 0))
- goto parse_bracket_exp_espace;
- }
- else
- {
- re_free (sbcset);
- work_tree = mbc_tree;
- }
- }
- else
-#endif /* not RE_ENABLE_I18N */
- {
-#ifdef RE_ENABLE_I18N
- free_charset (mbcset);
-#endif
- /* Build a tree for simple bracket. */
- br_token.type = SIMPLE_BRACKET;
- br_token.opr.sbcset = sbcset;
- work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
- if (BE (work_tree == NULL, 0))
- goto parse_bracket_exp_espace;
- }
- return work_tree;
-
- parse_bracket_exp_espace:
- *err = REG_ESPACE;
- parse_bracket_exp_free_return:
- re_free (sbcset);
-#ifdef RE_ENABLE_I18N
- free_charset (mbcset);
-#endif /* RE_ENABLE_I18N */
- return NULL;
-}
-
-/* Parse an element in the bracket expression. */
-
-static reg_errcode_t
-parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
- re_token_t *token, int token_len, re_dfa_t *dfa,
- reg_syntax_t syntax, bool accept_hyphen)
-{
-#ifdef RE_ENABLE_I18N
- int cur_char_size;
- cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp));
- if (cur_char_size > 1)
- {
- elem->type = MB_CHAR;
- elem->opr.wch = re_string_wchar_at (regexp, re_string_cur_idx (regexp));
- re_string_skip_bytes (regexp, cur_char_size);
- return REG_NOERROR;
- }
-#endif /* RE_ENABLE_I18N */
- re_string_skip_bytes (regexp, token_len); /* Skip a token. */
- if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS
- || token->type == OP_OPEN_EQUIV_CLASS)
- return parse_bracket_symbol (elem, regexp, token);
- if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen)
- {
- /* A '-' must only appear as anything but a range indicator before
- the closing bracket. Everything else is an error. */
- re_token_t token2;
- (void) peek_token_bracket (&token2, regexp, syntax);
- if (token2.type != OP_CLOSE_BRACKET)
- /* The actual error value is not standardized since this whole
- case is undefined. But ERANGE makes good sense. */
- return REG_ERANGE;
- }
- elem->type = SB_CHAR;
- elem->opr.ch = token->opr.c;
- return REG_NOERROR;
-}
-
-/* Parse a bracket symbol in the bracket expression. Bracket symbols are
- such as [:<character_class>:], [.<collating_element>.], and
- [=<equivalent_class>=]. */
-
-static reg_errcode_t
-parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp,
- re_token_t *token)
-{
- unsigned char ch, delim = token->opr.c;
- int i = 0;
- if (re_string_eoi(regexp))
- return REG_EBRACK;
- for (;; ++i)
- {
- if (i >= BRACKET_NAME_BUF_SIZE)
- return REG_EBRACK;
- if (token->type == OP_OPEN_CHAR_CLASS)
- ch = re_string_fetch_byte_case (regexp);
- else
- ch = re_string_fetch_byte (regexp);
- if (re_string_eoi(regexp))
- return REG_EBRACK;
- if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
- break;
- elem->opr.name[i] = ch;
- }
- re_string_skip_bytes (regexp, 1);
- elem->opr.name[i] = '\0';
- switch (token->type)
- {
- case OP_OPEN_COLL_ELEM:
- elem->type = COLL_SYM;
- break;
- case OP_OPEN_EQUIV_CLASS:
- elem->type = EQUIV_CLASS;
- break;
- case OP_OPEN_CHAR_CLASS:
- elem->type = CHAR_CLASS;
- break;
- default:
- break;
- }
- return REG_NOERROR;
-}
-
- /* Helper function for parse_bracket_exp.
- Build the equivalence class which is represented by NAME.
- The result are written to MBCSET and SBCSET.
- EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes,
- is a pointer argument sinse we may update it. */
-
-static reg_errcode_t
-#ifdef RE_ENABLE_I18N
-build_equiv_class (bitset_t sbcset, re_charset_t *mbcset,
- Idx *equiv_class_alloc, const unsigned char *name)
-#else /* not RE_ENABLE_I18N */
-build_equiv_class (bitset_t sbcset, const unsigned char *name)
-#endif /* not RE_ENABLE_I18N */
-{
-#ifdef _LIBC
- uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
- if (nrules != 0)
- {
- const int32_t *table, *indirect;
- const unsigned char *weights, *extra, *cp;
- unsigned char char_buf[2];
- int32_t idx1, idx2;
- unsigned int ch;
- size_t len;
- /* This #include defines a local function! */
-# include <locale/weight.h>
- /* Calculate the index for equivalence class. */
- cp = name;
- table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
- weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_WEIGHTMB);
- extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_EXTRAMB);
- indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_INDIRECTMB);
- idx1 = findidx (&cp);
- if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
- /* This isn't a valid character. */
- return REG_ECOLLATE;
-
- /* Build single byte matcing table for this equivalence class. */
- char_buf[1] = (unsigned char) '\0';
- len = weights[idx1];
- for (ch = 0; ch < SBC_MAX; ++ch)
- {
- char_buf[0] = ch;
- cp = char_buf;
- idx2 = findidx (&cp);
-/*
- idx2 = table[ch];
-*/
- if (idx2 == 0)
- /* This isn't a valid character. */
- continue;
- if (len == weights[idx2])
- {
- int cnt = 0;
- while (cnt <= len &&
- weights[idx1 + 1 + cnt] == weights[idx2 + 1 + cnt])
- ++cnt;
-
- if (cnt > len)
- bitset_set (sbcset, ch);
- }
- }
- /* Check whether the array has enough space. */
- if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0))
- {
- /* Not enough, realloc it. */
- /* +1 in case of mbcset->nequiv_classes is 0. */
- Idx new_equiv_class_alloc = 2 * mbcset->nequiv_classes + 1;
- /* Use realloc since the array is NULL if *alloc == 0. */
- int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes,
- int32_t,
- new_equiv_class_alloc);
- if (BE (new_equiv_classes == NULL, 0))
- return REG_ESPACE;
- mbcset->equiv_classes = new_equiv_classes;
- *equiv_class_alloc = new_equiv_class_alloc;
- }
- mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1;
- }
- else
-#endif /* _LIBC */
- {
- if (BE (strlen ((const char *) name) != 1, 0))
- return REG_ECOLLATE;
- bitset_set (sbcset, *name);
- }
- return REG_NOERROR;
-}
-
- /* Helper function for parse_bracket_exp.
- Build the character class which is represented by NAME.
- The result are written to MBCSET and SBCSET.
- CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes,
- is a pointer argument sinse we may update it. */
-
-static reg_errcode_t
-#ifdef RE_ENABLE_I18N
-build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
- re_charset_t *mbcset, Idx *char_class_alloc,
- const unsigned char *class_name, reg_syntax_t syntax)
-#else /* not RE_ENABLE_I18N */
-build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
- const unsigned char *class_name, reg_syntax_t syntax)
-#endif /* not RE_ENABLE_I18N */
-{
- int i;
- const char *name = (const char *) class_name;
-
- /* In case of REG_ICASE "upper" and "lower" match the both of
- upper and lower cases. */
- if ((syntax & RE_ICASE)
- && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0))
- name = "alpha";
-
-#ifdef RE_ENABLE_I18N
- /* Check the space of the arrays. */
- if (BE (*char_class_alloc == mbcset->nchar_classes, 0))
- {
- /* Not enough, realloc it. */
- /* +1 in case of mbcset->nchar_classes is 0. */
- Idx new_char_class_alloc = 2 * mbcset->nchar_classes + 1;
- /* Use realloc since array is NULL if *alloc == 0. */
- wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t,
- new_char_class_alloc);
- if (BE (new_char_classes == NULL, 0))
- return REG_ESPACE;
- mbcset->char_classes = new_char_classes;
- *char_class_alloc = new_char_class_alloc;
- }
- mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name);
-#endif /* RE_ENABLE_I18N */
-
-#define BUILD_CHARCLASS_LOOP(ctype_func) \
- do { \
- if (BE (trans != NULL, 0)) \
- { \
- for (i = 0; i < SBC_MAX; ++i) \
- if (ctype_func (i)) \
- bitset_set (sbcset, trans[i]); \
- } \
- else \
- { \
- for (i = 0; i < SBC_MAX; ++i) \
- if (ctype_func (i)) \
- bitset_set (sbcset, i); \
- } \
- } while (0)
-
- if (strcmp (name, "alnum") == 0)
- BUILD_CHARCLASS_LOOP (isalnum);
- else if (strcmp (name, "cntrl") == 0)
- BUILD_CHARCLASS_LOOP (iscntrl);
- else if (strcmp (name, "lower") == 0)
- BUILD_CHARCLASS_LOOP (islower);
- else if (strcmp (name, "space") == 0)
- BUILD_CHARCLASS_LOOP (isspace);
- else if (strcmp (name, "alpha") == 0)
- BUILD_CHARCLASS_LOOP (isalpha);
- else if (strcmp (name, "digit") == 0)
- BUILD_CHARCLASS_LOOP (isdigit);
- else if (strcmp (name, "print") == 0)
- BUILD_CHARCLASS_LOOP (isprint);
- else if (strcmp (name, "upper") == 0)
- BUILD_CHARCLASS_LOOP (isupper);
- else if (strcmp (name, "blank") == 0)
- BUILD_CHARCLASS_LOOP (isblank);
- else if (strcmp (name, "graph") == 0)
- BUILD_CHARCLASS_LOOP (isgraph);
- else if (strcmp (name, "punct") == 0)
- BUILD_CHARCLASS_LOOP (ispunct);
- else if (strcmp (name, "xdigit") == 0)
- BUILD_CHARCLASS_LOOP (isxdigit);
- else
- return REG_ECTYPE;
-
- return REG_NOERROR;
-}
-
-static bin_tree_t *
-build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
- const unsigned char *class_name,
- const unsigned char *extra, bool non_match,
- reg_errcode_t *err)
-{
- re_bitset_ptr_t sbcset;
-#ifdef RE_ENABLE_I18N
- re_charset_t *mbcset;
- Idx alloc = 0;
-#endif /* not RE_ENABLE_I18N */
- reg_errcode_t ret;
- re_token_t br_token;
- bin_tree_t *tree;
-
- sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-#ifdef RE_ENABLE_I18N
- mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
-#endif /* RE_ENABLE_I18N */
-
-#ifdef RE_ENABLE_I18N
- if (BE (sbcset == NULL || mbcset == NULL, 0))
-#else /* not RE_ENABLE_I18N */
- if (BE (sbcset == NULL, 0))
-#endif /* not RE_ENABLE_I18N */
- {
- *err = REG_ESPACE;
- return NULL;
- }
-
- if (non_match)
- {
-#ifdef RE_ENABLE_I18N
- mbcset->non_match = 1;
-#endif /* not RE_ENABLE_I18N */
- }
-
- /* We don't care the syntax in this case. */
- ret = build_charclass (trans, sbcset,
-#ifdef RE_ENABLE_I18N
- mbcset, &alloc,
-#endif /* RE_ENABLE_I18N */
- class_name, 0);
-
- if (BE (ret != REG_NOERROR, 0))
- {
- re_free (sbcset);
-#ifdef RE_ENABLE_I18N
- free_charset (mbcset);
-#endif /* RE_ENABLE_I18N */
- *err = ret;
- return NULL;
- }
- /* \w match '_' also. */
- for (; *extra; extra++)
- bitset_set (sbcset, *extra);
-
- /* If it is non-matching list. */
- if (non_match)
- bitset_not (sbcset);
-
-#ifdef RE_ENABLE_I18N
- /* Ensure only single byte characters are set. */
- if (dfa->mb_cur_max > 1)
- bitset_mask (sbcset, dfa->sb_char);
-#endif
-
- /* Build a tree for simple bracket. */
- br_token.type = SIMPLE_BRACKET;
- br_token.opr.sbcset = sbcset;
- tree = create_token_tree (dfa, NULL, NULL, &br_token);
- if (BE (tree == NULL, 0))
- goto build_word_op_espace;
-
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- {
- bin_tree_t *mbc_tree;
- /* Build a tree for complex bracket. */
- br_token.type = COMPLEX_BRACKET;
- br_token.opr.mbcset = mbcset;
- dfa->has_mb_node = 1;
- mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
- if (BE (mbc_tree == NULL, 0))
- goto build_word_op_espace;
- /* Then join them by ALT node. */
- tree = create_tree (dfa, tree, mbc_tree, OP_ALT);
- if (BE (mbc_tree != NULL, 1))
- return tree;
- }
- else
- {
- free_charset (mbcset);
- return tree;
- }
-#else /* not RE_ENABLE_I18N */
- return tree;
-#endif /* not RE_ENABLE_I18N */
-
- build_word_op_espace:
- re_free (sbcset);
-#ifdef RE_ENABLE_I18N
- free_charset (mbcset);
-#endif /* RE_ENABLE_I18N */
- *err = REG_ESPACE;
- return NULL;
-}
-
-/* This is intended for the expressions like "a{1,3}".
- Fetch a number from `input', and return the number.
- Return REG_MISSING if the number field is empty like "{,1}".
- Return REG_ERROR if an error occurred. */
-
-static Idx
-fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax)
-{
- Idx num = REG_MISSING;
- unsigned char c;
- while (1)
- {
- fetch_token (token, input, syntax);
- c = token->opr.c;
- if (BE (token->type == END_OF_RE, 0))
- return REG_ERROR;
- if (token->type == OP_CLOSE_DUP_NUM || c == ',')
- break;
- num = ((token->type != CHARACTER || c < '0' || '9' < c
- || num == REG_ERROR)
- ? REG_ERROR
- : ((num == REG_MISSING) ? c - '0' : num * 10 + c - '0'));
- num = (num > RE_DUP_MAX) ? REG_ERROR : num;
- }
- return num;
-}
-
-#ifdef RE_ENABLE_I18N
-static void
-free_charset (re_charset_t *cset)
-{
- re_free (cset->mbchars);
-# ifdef _LIBC
- re_free (cset->coll_syms);
- re_free (cset->equiv_classes);
- re_free (cset->range_starts);
- re_free (cset->range_ends);
-# endif
- re_free (cset->char_classes);
- re_free (cset);
-}
-#endif /* RE_ENABLE_I18N */
-
-/* Functions for binary tree operation. */
-
-/* Create a tree node. */
-
-static bin_tree_t *
-create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
- re_token_type_t type)
-{
- re_token_t t;
- t.type = type;
- return create_token_tree (dfa, left, right, &t);
-}
-
-static bin_tree_t *
-create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
- const re_token_t *token)
-{
- bin_tree_t *tree;
- if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0))
- {
- bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1);
-
- if (storage == NULL)
- return NULL;
- storage->next = dfa->str_tree_storage;
- dfa->str_tree_storage = storage;
- dfa->str_tree_storage_idx = 0;
- }
- tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++];
-
- tree->parent = NULL;
- tree->left = left;
- tree->right = right;
- tree->token = *token;
- tree->token.duplicated = 0;
- tree->token.opt_subexp = 0;
- tree->first = NULL;
- tree->next = NULL;
- tree->node_idx = REG_MISSING;
-
- if (left != NULL)
- left->parent = tree;
- if (right != NULL)
- right->parent = tree;
- return tree;
-}
-
-/* Mark the tree SRC as an optional subexpression.
- To be called from preorder or postorder. */
-
-static reg_errcode_t
-mark_opt_subexp (void *extra, bin_tree_t *node)
-{
- Idx idx = (Idx) (intptr_t) extra;
- assert(sizeof(void*) >= sizeof(Idx));
- if (node->token.type == SUBEXP && node->token.opr.idx == idx)
- node->token.opt_subexp = 1;
-
- return REG_NOERROR;
-}
-
-/* Free the allocated memory inside NODE. */
-
-static void
-free_token (re_token_t *node)
-{
-#ifdef RE_ENABLE_I18N
- if (node->type == COMPLEX_BRACKET && node->duplicated == 0)
- free_charset (node->opr.mbcset);
- else
-#endif /* RE_ENABLE_I18N */
- if (node->type == SIMPLE_BRACKET && node->duplicated == 0)
- re_free (node->opr.sbcset);
-}
-
-/* Worker function for tree walking. Free the allocated memory inside NODE
- and its children. */
-
-static reg_errcode_t
-free_tree (void *extra, bin_tree_t *node)
-{
- free_token (&node->token);
- return REG_NOERROR;
-}
-
-
-/* Duplicate the node SRC, and return new node. This is a preorder
- visit similar to the one implemented by the generic visitor, but
- we need more infrastructure to maintain two parallel trees --- so,
- it's easier to duplicate. */
-
-static bin_tree_t *
-duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa)
-{
- const bin_tree_t *node;
- bin_tree_t *dup_root;
- bin_tree_t **p_new = &dup_root, *dup_node = root->parent;
-
- for (node = root; ; )
- {
- /* Create a new tree and link it back to the current parent. */
- *p_new = create_token_tree (dfa, NULL, NULL, &node->token);
- if (*p_new == NULL)
- return NULL;
- (*p_new)->parent = dup_node;
- (*p_new)->token.duplicated = 1;
- dup_node = *p_new;
-
- /* Go to the left node, or up and to the right. */
- if (node->left)
- {
- node = node->left;
- p_new = &dup_node->left;
- }
- else
- {
- const bin_tree_t *prev = NULL;
- while (node->right == prev || node->right == NULL)
- {
- prev = node;
- node = node->parent;
- dup_node = dup_node->parent;
- if (!node)
- return dup_root;
- }
- node = node->right;
- p_new = &dup_node->right;
- }
- }
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/regex.c b/sources/host-tools/sed-4.2.1/lib/regex.c
deleted file mode 100644
index 4b13ec5..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regex.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-/* Make sure noone compiles this code with a C++ compiler. */
-#if defined __cplusplus && defined _LIBC
-# error "This is C code, use a C compiler"
-#endif
-
-#ifdef _LIBC
-/* We have to keep the namespace clean. */
-# define regfree(preg) __regfree (preg)
-# define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef)
-# define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags)
-# define regerror(errcode, preg, errbuf, errbuf_size) \
- __regerror(errcode, preg, errbuf, errbuf_size)
-# define re_set_registers(bu, re, nu, st, en) \
- __re_set_registers (bu, re, nu, st, en)
-# define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \
- __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
-# define re_match(bufp, string, size, pos, regs) \
- __re_match (bufp, string, size, pos, regs)
-# define re_search(bufp, string, size, startpos, range, regs) \
- __re_search (bufp, string, size, startpos, range, regs)
-# define re_compile_pattern(pattern, length, bufp) \
- __re_compile_pattern (pattern, length, bufp)
-# define re_set_syntax(syntax) __re_set_syntax (syntax)
-# define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \
- __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop)
-# define re_compile_fastmap(bufp) __re_compile_fastmap (bufp)
-
-# include "../locale/localeinfo.h"
-#endif
-
-/* On some systems, limits.h sets RE_DUP_MAX to a lower value than
- GNU regex allows. Include it before <regex.h>, which correctly
- #undefs RE_DUP_MAX and sets it to the right value. */
-#include <limits.h>
-
-#include <regex.h>
-#include "regex_internal.h"
-
-#include "regex_internal.c"
-#include "regcomp.c"
-#include "regexec.c"
-
-/* Binary backward compatibility. */
-#if _LIBC
-# include <shlib-compat.h>
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3)
-link_warning (re_max_failures, "the 're_max_failures' variable is obsolete and will go away.")
-int re_max_failures = 2000;
-# endif
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/regex.h b/sources/host-tools/sed-4.2.1/lib/regex.h
deleted file mode 100644
index f1d584d..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regex.h
+++ /dev/null
@@ -1,677 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Definitions for data structures and routines for the regular
- expression library.
- Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _REGEX_H
-#define _REGEX_H 1
-
-#include <sys/types.h>
-
-/* Allow the use in C++ code. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Define __USE_GNU_REGEX to declare GNU extensions that violate the
- POSIX name space rules. */
-#undef __USE_GNU_REGEX
-#if (defined _GNU_SOURCE \
- || (!defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE \
- && !defined _XOPEN_SOURCE))
-# define __USE_GNU_REGEX 1
-#endif
-
-#ifdef _REGEX_LARGE_OFFSETS
-
-/* Use types and values that are wide enough to represent signed and
- unsigned byte offsets in memory. This currently works only when
- the regex code is used outside of the GNU C library; it is not yet
- supported within glibc itself, and glibc users should not define
- _REGEX_LARGE_OFFSETS. */
-
-/* The type of the offset of a byte within a string.
- For historical reasons POSIX 1003.1-2004 requires that regoff_t be
- at least as wide as off_t. However, many common POSIX platforms set
- regoff_t to the more-sensible ssize_t and the Open Group has
- signalled its intention to change the requirement to be that
- regoff_t be at least as wide as ptrdiff_t and ssize_t; see XBD ERN
- 60 (2005-08-25). We don't know of any hosts where ssize_t or
- ptrdiff_t is wider than ssize_t, so ssize_t is safe. */
-typedef ssize_t regoff_t;
-
-/* The type of nonnegative object indexes. Traditionally, GNU regex
- uses 'int' for these. Code that uses __re_idx_t should work
- regardless of whether the type is signed. */
-typedef size_t __re_idx_t;
-
-/* The type of object sizes. */
-typedef size_t __re_size_t;
-
-/* The type of object sizes, in places where the traditional code
- uses unsigned long int. */
-typedef size_t __re_long_size_t;
-
-#else
-
-/* Use types that are binary-compatible with the traditional GNU regex
- implementation, which mishandles strings longer than INT_MAX. */
-
-typedef int regoff_t;
-typedef int __re_idx_t;
-typedef unsigned int __re_size_t;
-typedef unsigned long int __re_long_size_t;
-
-#endif
-
-/* The following two types have to be signed and unsigned integer type
- wide enough to hold a value of a pointer. For most ANSI compilers
- ptrdiff_t and size_t should be likely OK. Still size of these two
- types is 2 for Microsoft C. Ugh... */
-typedef long int s_reg_t;
-typedef unsigned long int active_reg_t;
-
-/* The following bits are used to determine the regexp syntax we
- recognize. The set/not-set meanings are chosen so that Emacs syntax
- remains the value 0. The bits are given in alphabetical order, and
- the definitions shifted by one from the previous bit; thus, when we
- add or remove a bit, only one other definition need change. */
-typedef unsigned long int reg_syntax_t;
-
-#ifdef __USE_GNU_REGEX
-
-/* If this bit is not set, then \ inside a bracket expression is literal.
- If set, then such a \ quotes the following character. */
-# define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
-
-/* If this bit is not set, then + and ? are operators, and \+ and \? are
- literals.
- If set, then \+ and \? are operators and + and ? are literals. */
-# define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
-
-/* If this bit is set, then character classes are supported. They are:
- [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
- [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
- If not set, then character classes are not supported. */
-# define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
-
-/* If this bit is set, then ^ and $ are always anchors (outside bracket
- expressions, of course).
- If this bit is not set, then it depends:
- ^ is an anchor if it is at the beginning of a regular
- expression or after an open-group or an alternation operator;
- $ is an anchor if it is at the end of a regular expression, or
- before a close-group or an alternation operator.
-
- This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
- POSIX draft 11.2 says that * etc. in leading positions is undefined.
- We already implemented a previous draft which made those constructs
- invalid, though, so we haven't changed the code back. */
-# define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
-
-/* If this bit is set, then special characters are always special
- regardless of where they are in the pattern.
- If this bit is not set, then special characters are special only in
- some contexts; otherwise they are ordinary. Specifically,
- * + ? and intervals are only special when not after the beginning,
- open-group, or alternation operator. */
-# define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
-
-/* If this bit is set, then *, +, ?, and { cannot be first in an re or
- immediately after an alternation or begin-group operator. */
-# define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
-
-/* If this bit is set, then . matches newline.
- If not set, then it doesn't. */
-# define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
-
-/* If this bit is set, then . doesn't match NUL.
- If not set, then it does. */
-# define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
-
-/* If this bit is set, nonmatching lists [^...] do not match newline.
- If not set, they do. */
-# define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
-
-/* If this bit is set, either \{...\} or {...} defines an
- interval, depending on RE_NO_BK_BRACES.
- If not set, \{, \}, {, and } are literals. */
-# define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
-
-/* If this bit is set, +, ? and | aren't recognized as operators.
- If not set, they are. */
-# define RE_LIMITED_OPS (RE_INTERVALS << 1)
-
-/* If this bit is set, newline is an alternation operator.
- If not set, newline is literal. */
-# define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
-
-/* If this bit is set, then `{...}' defines an interval, and \{ and \}
- are literals.
- If not set, then `\{...\}' defines an interval. */
-# define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
-
-/* If this bit is set, (...) defines a group, and \( and \) are literals.
- If not set, \(...\) defines a group, and ( and ) are literals. */
-# define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
-
-/* If this bit is set, then \<digit> matches <digit>.
- If not set, then \<digit> is a back-reference. */
-# define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
-
-/* If this bit is set, then | is an alternation operator, and \| is literal.
- If not set, then \| is an alternation operator, and | is literal. */
-# define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
-
-/* If this bit is set, then an ending range point collating higher
- than the starting range point, as in [z-a], is invalid.
- If not set, then when ending range point collates higher than the
- starting range point, the range is ignored. */
-# define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
-
-/* If this bit is set, then an unmatched ) is ordinary.
- If not set, then an unmatched ) is invalid. */
-# define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
-
-/* If this bit is set, succeed as soon as we match the whole pattern,
- without further backtracking. */
-# define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
-
-/* If this bit is set, do not process the GNU regex operators.
- If not set, then the GNU regex operators are recognized. */
-# define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
-
-/* If this bit is set, turn on internal regex debugging.
- If not set, and debugging was on, turn it off.
- This only works if regex.c is compiled -DDEBUG.
- We define this bit always, so that all that's needed to turn on
- debugging is to recompile regex.c; the calling code can always have
- this bit set, and it won't affect anything in the normal case. */
-# define RE_DEBUG (RE_NO_GNU_OPS << 1)
-
-/* If this bit is set, a syntactically invalid interval is treated as
- a string of ordinary characters. For example, the ERE 'a{1' is
- treated as 'a\{1'. */
-# define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1)
-
-/* If this bit is set, then ignore case when matching.
- If not set, then case is significant. */
-# define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1)
-
-/* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only
- for ^, because it is difficult to scan the regex backwards to find
- whether ^ should be special. */
-# define RE_CARET_ANCHORS_HERE (RE_ICASE << 1)
-
-/* If this bit is set, then \{ cannot be first in an bre or
- immediately after an alternation or begin-group operator. */
-# define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1)
-
-/* If this bit is set, then no_sub will be set to 1 during
- re_compile_pattern. */
-# define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1)
-
-#endif /* defined __USE_GNU_REGEX */
-
-/* This global variable defines the particular regexp syntax to use (for
- some interfaces). When a regexp is compiled, the syntax used is
- stored in the pattern buffer, so changing this does not affect
- already-compiled regexps. */
-extern reg_syntax_t re_syntax_options;
-
-#ifdef __USE_GNU_REGEX
-/* Define combinations of the above bits for the standard possibilities.
- (The [[[ comments delimit what gets put into the Texinfo file, so
- don't delete them!) */
-/* [[[begin syntaxes]]] */
-# define RE_SYNTAX_EMACS 0
-
-# define RE_SYNTAX_AWK \
- (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
- | RE_NO_BK_PARENS | RE_NO_BK_REFS \
- | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
- | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \
- | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
-
-# define RE_SYNTAX_GNU_AWK \
- ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \
- & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \
- | RE_CONTEXT_INVALID_OPS ))
-
-# define RE_SYNTAX_POSIX_AWK \
- (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \
- | RE_INTERVALS | RE_NO_GNU_OPS)
-
-# define RE_SYNTAX_GREP \
- (RE_BK_PLUS_QM | RE_CHAR_CLASSES \
- | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
- | RE_NEWLINE_ALT)
-
-# define RE_SYNTAX_EGREP \
- (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
- | RE_NEWLINE_ALT | RE_NO_BK_PARENS \
- | RE_NO_BK_VBAR)
-
-# define RE_SYNTAX_POSIX_EGREP \
- (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \
- | RE_INVALID_INTERVAL_ORD)
-
-/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
-# define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
-
-# define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
-
-/* Syntax bits common to both basic and extended POSIX regex syntax. */
-# define _RE_SYNTAX_POSIX_COMMON \
- (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
- | RE_INTERVALS | RE_NO_EMPTY_RANGES)
-
-# define RE_SYNTAX_POSIX_BASIC \
- (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP)
-
-/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
- RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
- isn't minimal, since other operators, such as \`, aren't disabled. */
-# define RE_SYNTAX_POSIX_MINIMAL_BASIC \
- (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
-
-# define RE_SYNTAX_POSIX_EXTENDED \
- (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
- | RE_NO_BK_PARENS | RE_NO_BK_VBAR \
- | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD)
-
-/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is
- removed and RE_NO_BK_REFS is added. */
-# define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
- (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
- | RE_NO_BK_PARENS | RE_NO_BK_REFS \
- | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
-/* [[[end syntaxes]]] */
-
-#endif /* defined __USE_GNU_REGEX */
-
-#ifdef __USE_GNU_REGEX
-
-/* Maximum number of duplicates an interval can allow. POSIX-conforming
- systems might define this in <limits.h>, but we want our
- value, so remove any previous define. */
-# ifdef RE_DUP_MAX
-# undef RE_DUP_MAX
-# endif
-
-/* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored
- the counter as a 2-byte signed integer. This is no longer true, so
- RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to
- ((SIZE_MAX - 2) / 10 - 1) if _REGEX_LARGE_OFFSETS is defined.
- However, there would be a huge performance problem if someone
- actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains
- its historical value. */
-# define RE_DUP_MAX (0x7fff)
-
-#endif /* defined __USE_GNU_REGEX */
-
-
-/* POSIX `cflags' bits (i.e., information for `regcomp'). */
-
-/* If this bit is set, then use extended regular expression syntax.
- If not set, then use basic regular expression syntax. */
-#define REG_EXTENDED 1
-
-/* If this bit is set, then ignore case when matching.
- If not set, then case is significant. */
-#define REG_ICASE (1 << 1)
-
-/* If this bit is set, then anchors do not match at newline
- characters in the string.
- If not set, then anchors do match at newlines. */
-#define REG_NEWLINE (1 << 2)
-
-/* If this bit is set, then report only success or fail in regexec.
- If not set, then returns differ between not matching and errors. */
-#define REG_NOSUB (1 << 3)
-
-
-/* POSIX `eflags' bits (i.e., information for regexec). */
-
-/* If this bit is set, then the beginning-of-line operator doesn't match
- the beginning of the string (presumably because it's not the
- beginning of a line).
- If not set, then the beginning-of-line operator does match the
- beginning of the string. */
-#define REG_NOTBOL 1
-
-/* Like REG_NOTBOL, except for the end-of-line. */
-#define REG_NOTEOL (1 << 1)
-
-/* Use PMATCH[0] to delimit the start and end of the search in the
- buffer. */
-#define REG_STARTEND (1 << 2)
-
-
-/* If any error codes are removed, changed, or added, update the
- `__re_error_msgid' table in regcomp.c. */
-
-typedef enum
-{
- _REG_ENOSYS = -1, /* This will never happen for this implementation. */
- _REG_NOERROR = 0, /* Success. */
- _REG_NOMATCH, /* Didn't find a match (for regexec). */
-
- /* POSIX regcomp return error codes. (In the order listed in the
- standard.) */
- _REG_BADPAT, /* Invalid pattern. */
- _REG_ECOLLATE, /* Invalid collating element. */
- _REG_ECTYPE, /* Invalid character class name. */
- _REG_EESCAPE, /* Trailing backslash. */
- _REG_ESUBREG, /* Invalid back reference. */
- _REG_EBRACK, /* Unmatched left bracket. */
- _REG_EPAREN, /* Parenthesis imbalance. */
- _REG_EBRACE, /* Unmatched \{. */
- _REG_BADBR, /* Invalid contents of \{\}. */
- _REG_ERANGE, /* Invalid range end. */
- _REG_ESPACE, /* Ran out of memory. */
- _REG_BADRPT, /* No preceding re for repetition op. */
-
- /* Error codes we've added. */
- _REG_EEND, /* Premature end. */
- _REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
- _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
-} reg_errcode_t;
-
-#ifdef _XOPEN_SOURCE
-# define REG_ENOSYS _REG_ENOSYS
-#endif
-#define REG_NOERROR _REG_NOERROR
-#define REG_NOMATCH _REG_NOMATCH
-#define REG_BADPAT _REG_BADPAT
-#define REG_ECOLLATE _REG_ECOLLATE
-#define REG_ECTYPE _REG_ECTYPE
-#define REG_EESCAPE _REG_EESCAPE
-#define REG_ESUBREG _REG_ESUBREG
-#define REG_EBRACK _REG_EBRACK
-#define REG_EPAREN _REG_EPAREN
-#define REG_EBRACE _REG_EBRACE
-#define REG_BADBR _REG_BADBR
-#define REG_ERANGE _REG_ERANGE
-#define REG_ESPACE _REG_ESPACE
-#define REG_BADRPT _REG_BADRPT
-#define REG_EEND _REG_EEND
-#define REG_ESIZE _REG_ESIZE
-#define REG_ERPAREN _REG_ERPAREN
-
-/* struct re_pattern_buffer normally uses member names like `buffer'
- that POSIX does not allow. In POSIX mode these members have names
- with leading `re_' (e.g., `re_buffer'). */
-#ifdef __USE_GNU_REGEX
-# define _REG_RE_NAME(id) id
-# define _REG_RM_NAME(id) id
-#else
-# define _REG_RE_NAME(id) re_##id
-# define _REG_RM_NAME(id) rm_##id
-#endif
-
-/* The user can specify the type of the re_translate member by
- defining the macro RE_TRANSLATE_TYPE, which defaults to unsigned
- char *. This pollutes the POSIX name space, so in POSIX mode just
- use unsigned char *. */
-#ifdef __USE_GNU_REGEX
-# ifndef RE_TRANSLATE_TYPE
-# define RE_TRANSLATE_TYPE unsigned char *
-# endif
-# define REG_TRANSLATE_TYPE RE_TRANSLATE_TYPE
-#else
-# define REG_TRANSLATE_TYPE unsigned char *
-#endif
-
-/* This data structure represents a compiled pattern. Before calling
- the pattern compiler, the fields `buffer', `allocated', `fastmap',
- `translate', and `no_sub' can be set. After the pattern has been
- compiled, the `re_nsub' field is available. All other fields are
- private to the regex routines. */
-
-struct re_pattern_buffer
-{
- /* Space that holds the compiled pattern. It is declared as
- `unsigned char *' because its elements are sometimes used as
- array indexes. */
- unsigned char *_REG_RE_NAME (buffer);
-
- /* Number of bytes to which `buffer' points. */
- __re_long_size_t _REG_RE_NAME (allocated);
-
- /* Number of bytes actually used in `buffer'. */
- __re_long_size_t _REG_RE_NAME (used);
-
- /* Syntax setting with which the pattern was compiled. */
- reg_syntax_t _REG_RE_NAME (syntax);
-
- /* Pointer to a fastmap, if any, otherwise zero. re_search uses the
- fastmap, if there is one, to skip over impossible starting points
- for matches. */
- char *_REG_RE_NAME (fastmap);
-
- /* Either a translate table to apply to all characters before
- comparing them, or zero for no translation. The translation is
- applied to a pattern when it is compiled and to a string when it
- is matched. */
- REG_TRANSLATE_TYPE _REG_RE_NAME (translate);
-
- /* Number of subexpressions found by the compiler. */
- size_t re_nsub;
-
- /* Zero if this pattern cannot match the empty string, one else.
- Well, in truth it's used only in `re_search_2', to see whether or
- not we should use the fastmap, so we don't set this absolutely
- perfectly; see `re_compile_fastmap' (the `duplicate' case). */
- unsigned int _REG_RE_NAME (can_be_null) : 1;
-
- /* If REGS_UNALLOCATED, allocate space in the `regs' structure
- for `max (RE_NREGS, re_nsub + 1)' groups.
- If REGS_REALLOCATE, reallocate space if necessary.
- If REGS_FIXED, use what's there. */
-#ifdef __USE_GNU_REGEX
-# define REGS_UNALLOCATED 0
-# define REGS_REALLOCATE 1
-# define REGS_FIXED 2
-#endif
- unsigned int _REG_RE_NAME (regs_allocated) : 2;
-
- /* Set to zero when `regex_compile' compiles a pattern; set to one
- by `re_compile_fastmap' if it updates the fastmap. */
- unsigned int _REG_RE_NAME (fastmap_accurate) : 1;
-
- /* If set, `re_match_2' does not return information about
- subexpressions. */
- unsigned int _REG_RE_NAME (no_sub) : 1;
-
- /* If set, a beginning-of-line anchor doesn't match at the beginning
- of the string. */
- unsigned int _REG_RE_NAME (not_bol) : 1;
-
- /* Similarly for an end-of-line anchor. */
- unsigned int _REG_RE_NAME (not_eol) : 1;
-
- /* If true, an anchor at a newline matches. */
- unsigned int _REG_RE_NAME (newline_anchor) : 1;
-
-/* [[[end pattern_buffer]]] */
-};
-
-typedef struct re_pattern_buffer regex_t;
-
-/* This is the structure we store register match data in. See
- regex.texinfo for a full description of what registers match. */
-struct re_registers
-{
- __re_size_t _REG_RM_NAME (num_regs);
- regoff_t *_REG_RM_NAME (start);
- regoff_t *_REG_RM_NAME (end);
-};
-
-
-/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
- `re_match_2' returns information about at least this many registers
- the first time a `regs' structure is passed. */
-#if !defined RE_NREGS && defined __USE_GNU_REGEX
-# define RE_NREGS 30
-#endif
-
-
-/* POSIX specification for registers. Aside from the different names than
- `re_registers', POSIX uses an array of structures, instead of a
- structure of arrays. */
-typedef struct
-{
- regoff_t rm_so; /* Byte offset from string's start to substring's start. */
- regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
-} regmatch_t;
-
-/* Declarations for routines. */
-
-/* Sets the current default syntax to SYNTAX, and return the old syntax.
- You can also simply assign to the `re_syntax_options' variable. */
-extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
-
-/* Compile the regular expression PATTERN, with length LENGTH
- and syntax given by the global `re_syntax_options', into the buffer
- BUFFER. Return NULL if successful, and an error string if not. */
-extern const char *re_compile_pattern (const char *__pattern, size_t __length,
- struct re_pattern_buffer *__buffer);
-
-
-/* Compile a fastmap for the compiled pattern in BUFFER; used to
- accelerate searches. Return 0 if successful and -2 if was an
- internal error. */
-extern int re_compile_fastmap (struct re_pattern_buffer *__buffer);
-
-
-/* Search in the string STRING (with length LENGTH) for the pattern
- compiled into BUFFER. Start searching at position START, for RANGE
- characters. Return the starting position of the match, -1 for no
- match, or -2 for an internal error. Also return register
- information in REGS (if REGS and BUFFER->no_sub are nonzero). */
-extern regoff_t re_search (struct re_pattern_buffer *__buffer,
- const char *__string, __re_idx_t __length,
- __re_idx_t __start, regoff_t __range,
- struct re_registers *__regs);
-
-
-/* Like `re_search', but search in the concatenation of STRING1 and
- STRING2. Also, stop searching at index START + STOP. */
-extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer,
- const char *__string1, __re_idx_t __length1,
- const char *__string2, __re_idx_t __length2,
- __re_idx_t __start, regoff_t __range,
- struct re_registers *__regs,
- __re_idx_t __stop);
-
-
-/* Like `re_search', but return how many characters in STRING the regexp
- in BUFFER matched, starting at position START. */
-extern regoff_t re_match (struct re_pattern_buffer *__buffer,
- const char *__string, __re_idx_t __length,
- __re_idx_t __start, struct re_registers *__regs);
-
-
-/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
-extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer,
- const char *__string1, __re_idx_t __length1,
- const char *__string2, __re_idx_t __length2,
- __re_idx_t __start, struct re_registers *__regs,
- __re_idx_t __stop);
-
-
-/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
- ENDS. Subsequent matches using BUFFER and REGS will use this memory
- for recording register information. STARTS and ENDS must be
- allocated with malloc, and must each be at least `NUM_REGS * sizeof
- (regoff_t)' bytes long.
-
- If NUM_REGS == 0, then subsequent matches should allocate their own
- register data.
-
- Unless this function is called, the first search or match using
- PATTERN_BUFFER will allocate its own register data, without
- freeing the old data. */
-extern void re_set_registers (struct re_pattern_buffer *__buffer,
- struct re_registers *__regs,
- __re_size_t __num_regs,
- regoff_t *__starts, regoff_t *__ends);
-
-#if defined _REGEX_RE_COMP || defined _LIBC
-# ifndef _CRAY
-/* 4.2 bsd compatibility. */
-extern char *re_comp (const char *);
-extern int re_exec (const char *);
-# endif
-#endif
-
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
- "restrict", and "configure" may have defined "restrict".
- Other compilers use __restrict, __restrict__, and _Restrict, and
- 'configure' might #define 'restrict' to those words, so pick a
- different name. */
-#ifndef _Restrict_
-# if 199901L <= __STDC_VERSION__
-# define _Restrict_ restrict
-# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__)
-# define _Restrict_ __restrict
-# else
-# define _Restrict_
-# endif
-#endif
-/* gcc 3.1 and up support the [restrict] syntax. Don't trust
- sys/cdefs.h's definition of __restrict_arr, though, as it
- mishandles gcc -ansi -pedantic. */
-#ifndef _Restrict_arr_
-# if ((199901L <= __STDC_VERSION__ \
- || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \
- && !__STRICT_ANSI__)) \
- && !defined __GNUG__)
-# define _Restrict_arr_ _Restrict_
-# else
-# define _Restrict_arr_
-# endif
-#endif
-
-/* POSIX compatibility. */
-extern int regcomp (regex_t *_Restrict_ __preg,
- const char *_Restrict_ __pattern,
- int __cflags);
-
-extern int regexec (const regex_t *_Restrict_ __preg,
- const char *_Restrict_ __string, size_t __nmatch,
- regmatch_t __pmatch[_Restrict_arr_],
- int __eflags);
-
-extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg,
- char *_Restrict_ __errbuf, size_t __errbuf_size);
-
-extern void regfree (regex_t *__preg);
-
-
-#ifdef __cplusplus
-}
-#endif /* C++ */
-
-#endif /* regex.h */
diff --git a/sources/host-tools/sed-4.2.1/lib/regex_internal.c b/sources/host-tools/sed-4.2.1/lib/regex_internal.c
deleted file mode 100644
index 8a5a286..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regex_internal.c
+++ /dev/null
@@ -1,1739 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-static void re_string_construct_common (const char *str, Idx len,
- re_string_t *pstr,
- RE_TRANSLATE_TYPE trans, bool icase,
- const re_dfa_t *dfa) internal_function;
-static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa,
- const re_node_set *nodes,
- re_hashval_t hash) internal_function;
-static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa,
- const re_node_set *nodes,
- unsigned int context,
- re_hashval_t hash) internal_function;
-
-/* Functions for string operation. */
-
-/* This function allocate the buffers. It is necessary to call
- re_string_reconstruct before using the object. */
-
-static reg_errcode_t
-internal_function
-re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
- RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
-{
- reg_errcode_t ret;
- Idx init_buf_len;
-
- /* Ensure at least one character fits into the buffers. */
- if (init_len < dfa->mb_cur_max)
- init_len = dfa->mb_cur_max;
- init_buf_len = (len + 1 < init_len) ? len + 1: init_len;
- re_string_construct_common (str, len, pstr, trans, icase, dfa);
-
- ret = re_string_realloc_buffers (pstr, init_buf_len);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
-
- pstr->word_char = dfa->word_char;
- pstr->word_ops_used = dfa->word_ops_used;
- pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str;
- pstr->valid_len = (pstr->mbs_allocated || dfa->mb_cur_max > 1) ? 0 : len;
- pstr->valid_raw_len = pstr->valid_len;
- return REG_NOERROR;
-}
-
-/* This function allocate the buffers, and initialize them. */
-
-static reg_errcode_t
-internal_function
-re_string_construct (re_string_t *pstr, const char *str, Idx len,
- RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
-{
- reg_errcode_t ret;
- memset (pstr, '\0', sizeof (re_string_t));
- re_string_construct_common (str, len, pstr, trans, icase, dfa);
-
- if (len > 0)
- {
- ret = re_string_realloc_buffers (pstr, len + 1);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- }
- pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str;
-
- if (icase)
- {
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- {
- while (1)
- {
- ret = build_wcs_upper_buffer (pstr);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- if (pstr->valid_raw_len >= len)
- break;
- if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max)
- break;
- ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- }
- }
- else
-#endif /* RE_ENABLE_I18N */
- build_upper_buffer (pstr);
- }
- else
- {
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- build_wcs_buffer (pstr);
- else
-#endif /* RE_ENABLE_I18N */
- {
- if (trans != NULL)
- re_string_translate_buffer (pstr);
- else
- {
- pstr->valid_len = pstr->bufs_len;
- pstr->valid_raw_len = pstr->bufs_len;
- }
- }
- }
-
- return REG_NOERROR;
-}
-
-/* Helper functions for re_string_allocate, and re_string_construct. */
-
-static reg_errcode_t
-internal_function
-re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
-{
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- {
- wint_t *new_wcs;
-
- /* Avoid overflow. */
- size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx));
- if (BE (SIZE_MAX / max_object_size < new_buf_len, 0))
- return REG_ESPACE;
-
- new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len);
- if (BE (new_wcs == NULL, 0))
- return REG_ESPACE;
- pstr->wcs = new_wcs;
- if (pstr->offsets != NULL)
- {
- Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len);
- if (BE (new_offsets == NULL, 0))
- return REG_ESPACE;
- pstr->offsets = new_offsets;
- }
- }
-#endif /* RE_ENABLE_I18N */
- if (pstr->mbs_allocated)
- {
- unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char,
- new_buf_len);
- if (BE (new_mbs == NULL, 0))
- return REG_ESPACE;
- pstr->mbs = new_mbs;
- }
- pstr->bufs_len = new_buf_len;
- return REG_NOERROR;
-}
-
-
-static void
-internal_function
-re_string_construct_common (const char *str, Idx len, re_string_t *pstr,
- RE_TRANSLATE_TYPE trans, bool icase,
- const re_dfa_t *dfa)
-{
- pstr->raw_mbs = (const unsigned char *) str;
- pstr->len = len;
- pstr->raw_len = len;
- pstr->trans = trans;
- pstr->icase = icase;
- pstr->mbs_allocated = (trans != NULL || icase);
- pstr->mb_cur_max = dfa->mb_cur_max;
- pstr->is_utf8 = dfa->is_utf8;
- pstr->map_notascii = dfa->map_notascii;
- pstr->stop = pstr->len;
- pstr->raw_stop = pstr->stop;
-}
-
-#ifdef RE_ENABLE_I18N
-
-/* Build wide character buffer PSTR->WCS.
- If the byte sequence of the string are:
- <mb1>(0), <mb1>(1), <mb2>(0), <mb2>(1), <sb3>
- Then wide character buffer will be:
- <wc1> , WEOF , <wc2> , WEOF , <wc3>
- We use WEOF for padding, they indicate that the position isn't
- a first byte of a multibyte character.
-
- Note that this function assumes PSTR->VALID_LEN elements are already
- built and starts from PSTR->VALID_LEN. */
-
-static void
-internal_function
-build_wcs_buffer (re_string_t *pstr)
-{
-#ifdef _LIBC
- unsigned char buf[MB_LEN_MAX];
- assert (MB_LEN_MAX >= pstr->mb_cur_max);
-#else
- unsigned char buf[64];
-#endif
- mbstate_t prev_st;
- Idx byte_idx, end_idx, remain_len;
- size_t mbclen;
-
- /* Build the buffers from pstr->valid_len to either pstr->len or
- pstr->bufs_len. */
- end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len;
- for (byte_idx = pstr->valid_len; byte_idx < end_idx;)
- {
- wchar_t wc;
- const char *p;
-
- remain_len = end_idx - byte_idx;
- prev_st = pstr->cur_state;
- /* Apply the translation if we need. */
- if (BE (pstr->trans != NULL, 0))
- {
- int i, ch;
-
- for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i)
- {
- ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i];
- buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch];
- }
- p = (const char *) buf;
- }
- else
- p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
- mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
- if (BE (mbclen == (size_t) -2, 0))
- {
- /* The buffer doesn't have enough space, finish to build. */
- pstr->cur_state = prev_st;
- break;
- }
- else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0))
- {
- /* We treat these cases as a singlebyte character. */
- mbclen = 1;
- wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
- if (BE (pstr->trans != NULL, 0))
- wc = pstr->trans[wc];
- pstr->cur_state = prev_st;
- }
-
- /* Write wide character and padding. */
- pstr->wcs[byte_idx++] = wc;
- /* Write paddings. */
- for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
- pstr->wcs[byte_idx++] = WEOF;
- }
- pstr->valid_len = byte_idx;
- pstr->valid_raw_len = byte_idx;
-}
-
-/* Build wide character buffer PSTR->WCS like build_wcs_buffer,
- but for REG_ICASE. */
-
-static reg_errcode_t
-internal_function
-build_wcs_upper_buffer (re_string_t *pstr)
-{
- mbstate_t prev_st;
- Idx src_idx, byte_idx, end_idx, remain_len;
- size_t mbclen;
-#ifdef _LIBC
- char buf[MB_LEN_MAX];
- assert (MB_LEN_MAX >= pstr->mb_cur_max);
-#else
- char buf[64];
-#endif
-
- byte_idx = pstr->valid_len;
- end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len;
-
- /* The following optimization assumes that ASCII characters can be
- mapped to wide characters with a simple cast. */
- if (! pstr->map_notascii && pstr->trans == NULL && !pstr->offsets_needed)
- {
- while (byte_idx < end_idx)
- {
- wchar_t wc;
-
- if (isascii (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx])
- && mbsinit (&pstr->cur_state))
- {
- /* In case of a singlebyte character. */
- pstr->mbs[byte_idx]
- = toupper (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]);
- /* The next step uses the assumption that wchar_t is encoded
- ASCII-safe: all ASCII values can be converted like this. */
- pstr->wcs[byte_idx] = (wchar_t) pstr->mbs[byte_idx];
- ++byte_idx;
- continue;
- }
-
- remain_len = end_idx - byte_idx;
- prev_st = pstr->cur_state;
- mbclen = __mbrtowc (&wc,
- ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
- + byte_idx), remain_len, &pstr->cur_state);
- if (BE (mbclen < (size_t) -2, 1))
- {
- wchar_t wcu = wc;
- if (iswlower (wc))
- {
- size_t mbcdlen;
-
- wcu = towupper (wc);
- mbcdlen = wcrtomb (buf, wcu, &prev_st);
- if (BE (mbclen == mbcdlen, 1))
- memcpy (pstr->mbs + byte_idx, buf, mbclen);
- else
- {
- src_idx = byte_idx;
- goto offsets_needed;
- }
- }
- else
- memcpy (pstr->mbs + byte_idx,
- pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx, mbclen);
- pstr->wcs[byte_idx++] = wcu;
- /* Write paddings. */
- for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
- pstr->wcs[byte_idx++] = WEOF;
- }
- else if (mbclen == (size_t) -1 || mbclen == 0)
- {
- /* It is an invalid character or '\0'. Just use the byte. */
- int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
- pstr->mbs[byte_idx] = ch;
- /* And also cast it to wide char. */
- pstr->wcs[byte_idx++] = (wchar_t) ch;
- if (BE (mbclen == (size_t) -1, 0))
- pstr->cur_state = prev_st;
- }
- else
- {
- /* The buffer doesn't have enough space, finish to build. */
- pstr->cur_state = prev_st;
- break;
- }
- }
- pstr->valid_len = byte_idx;
- pstr->valid_raw_len = byte_idx;
- return REG_NOERROR;
- }
- else
- for (src_idx = pstr->valid_raw_len; byte_idx < end_idx;)
- {
- wchar_t wc;
- const char *p;
- offsets_needed:
- remain_len = end_idx - byte_idx;
- prev_st = pstr->cur_state;
- if (BE (pstr->trans != NULL, 0))
- {
- int i, ch;
-
- for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i)
- {
- ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i];
- buf[i] = pstr->trans[ch];
- }
- p = (const char *) buf;
- }
- else
- p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx;
- mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
- if (BE (mbclen < (size_t) -2, 1))
- {
- wchar_t wcu = wc;
- if (iswlower (wc))
- {
- size_t mbcdlen;
-
- wcu = towupper (wc);
- mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st);
- if (BE (mbclen == mbcdlen, 1))
- memcpy (pstr->mbs + byte_idx, buf, mbclen);
- else if (mbcdlen != (size_t) -1)
- {
- size_t i;
-
- if (byte_idx + mbcdlen > pstr->bufs_len)
- {
- pstr->cur_state = prev_st;
- break;
- }
-
- if (pstr->offsets == NULL)
- {
- pstr->offsets = re_malloc (Idx, pstr->bufs_len);
-
- if (pstr->offsets == NULL)
- return REG_ESPACE;
- }
- if (!pstr->offsets_needed)
- {
- for (i = 0; i < (size_t) byte_idx; ++i)
- pstr->offsets[i] = i;
- pstr->offsets_needed = 1;
- }
-
- memcpy (pstr->mbs + byte_idx, buf, mbcdlen);
- pstr->wcs[byte_idx] = wcu;
- pstr->offsets[byte_idx] = src_idx;
- for (i = 1; i < mbcdlen; ++i)
- {
- pstr->offsets[byte_idx + i]
- = src_idx + (i < mbclen ? i : mbclen - 1);
- pstr->wcs[byte_idx + i] = WEOF;
- }
- pstr->len += mbcdlen - mbclen;
- if (pstr->raw_stop > src_idx)
- pstr->stop += mbcdlen - mbclen;
- end_idx = (pstr->bufs_len > pstr->len)
- ? pstr->len : pstr->bufs_len;
- byte_idx += mbcdlen;
- src_idx += mbclen;
- continue;
- }
- else
- memcpy (pstr->mbs + byte_idx, p, mbclen);
- }
- else
- memcpy (pstr->mbs + byte_idx, p, mbclen);
-
- if (BE (pstr->offsets_needed != 0, 0))
- {
- size_t i;
- for (i = 0; i < mbclen; ++i)
- pstr->offsets[byte_idx + i] = src_idx + i;
- }
- src_idx += mbclen;
-
- pstr->wcs[byte_idx++] = wcu;
- /* Write paddings. */
- for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
- pstr->wcs[byte_idx++] = WEOF;
- }
- else if (mbclen == (size_t) -1 || mbclen == 0)
- {
- /* It is an invalid character or '\0'. Just use the byte. */
- int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx];
-
- if (BE (pstr->trans != NULL, 0))
- ch = pstr->trans [ch];
- pstr->mbs[byte_idx] = ch;
-
- if (BE (pstr->offsets_needed != 0, 0))
- pstr->offsets[byte_idx] = src_idx;
- ++src_idx;
-
- /* And also cast it to wide char. */
- pstr->wcs[byte_idx++] = (wchar_t) ch;
- if (BE (mbclen == (size_t) -1, 0))
- pstr->cur_state = prev_st;
- }
- else
- {
- /* The buffer doesn't have enough space, finish to build. */
- pstr->cur_state = prev_st;
- break;
- }
- }
- pstr->valid_len = byte_idx;
- pstr->valid_raw_len = src_idx;
- return REG_NOERROR;
-}
-
-/* Skip characters until the index becomes greater than NEW_RAW_IDX.
- Return the index. */
-
-static Idx
-internal_function
-re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
-{
- mbstate_t prev_st;
- Idx rawbuf_idx;
- size_t mbclen;
- wint_t wc = WEOF;
-
- /* Skip the characters which are not necessary to check. */
- for (rawbuf_idx = pstr->raw_mbs_idx + pstr->valid_raw_len;
- rawbuf_idx < new_raw_idx;)
- {
- wchar_t wc2;
- Idx remain_len;
- remain_len = pstr->len - rawbuf_idx;
- prev_st = pstr->cur_state;
- mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
- remain_len, &pstr->cur_state);
- if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0))
- {
- /* We treat these cases as a single byte character. */
- if (mbclen == 0 || remain_len == 0)
- wc = L'\0';
- else
- wc = *(unsigned char *) (pstr->raw_mbs + rawbuf_idx);
- mbclen = 1;
- pstr->cur_state = prev_st;
- }
- else
- wc = wc2;
- /* Then proceed the next character. */
- rawbuf_idx += mbclen;
- }
- *last_wc = wc;
- return rawbuf_idx;
-}
-#endif /* RE_ENABLE_I18N */
-
-/* Build the buffer PSTR->MBS, and apply the translation if we need.
- This function is used in case of REG_ICASE. */
-
-static void
-internal_function
-build_upper_buffer (re_string_t *pstr)
-{
- Idx char_idx, end_idx;
- end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len;
-
- for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx)
- {
- int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx];
- if (BE (pstr->trans != NULL, 0))
- ch = pstr->trans[ch];
- if (islower (ch))
- pstr->mbs[char_idx] = toupper (ch);
- else
- pstr->mbs[char_idx] = ch;
- }
- pstr->valid_len = char_idx;
- pstr->valid_raw_len = char_idx;
-}
-
-/* Apply TRANS to the buffer in PSTR. */
-
-static void
-internal_function
-re_string_translate_buffer (re_string_t *pstr)
-{
- Idx buf_idx, end_idx;
- end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len;
-
- for (buf_idx = pstr->valid_len; buf_idx < end_idx; ++buf_idx)
- {
- int ch = pstr->raw_mbs[pstr->raw_mbs_idx + buf_idx];
- pstr->mbs[buf_idx] = pstr->trans[ch];
- }
-
- pstr->valid_len = buf_idx;
- pstr->valid_raw_len = buf_idx;
-}
-
-/* This function re-construct the buffers.
- Concretely, convert to wide character in case of pstr->mb_cur_max > 1,
- convert to upper case in case of REG_ICASE, apply translation. */
-
-static reg_errcode_t
-internal_function
-re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
-{
- Idx offset;
-
- if (BE (pstr->raw_mbs_idx <= idx, 0))
- offset = idx - pstr->raw_mbs_idx;
- else
- {
- /* Reset buffer. */
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- memset (&pstr->cur_state, '\0', sizeof (mbstate_t));
-#endif /* RE_ENABLE_I18N */
- pstr->len = pstr->raw_len;
- pstr->stop = pstr->raw_stop;
- pstr->valid_len = 0;
- pstr->raw_mbs_idx = 0;
- pstr->valid_raw_len = 0;
- pstr->offsets_needed = 0;
- pstr->tip_context = ((eflags & REG_NOTBOL) ? CONTEXT_BEGBUF
- : CONTEXT_NEWLINE | CONTEXT_BEGBUF);
- if (!pstr->mbs_allocated)
- pstr->mbs = (unsigned char *) pstr->raw_mbs;
- offset = idx;
- }
-
- if (BE (offset != 0, 1))
- {
- /* Should the already checked characters be kept? */
- if (BE (offset < pstr->valid_raw_len, 1))
- {
- /* Yes, move them to the front of the buffer. */
-#ifdef RE_ENABLE_I18N
- if (BE (pstr->offsets_needed, 0))
- {
- Idx low = 0, high = pstr->valid_len, mid;
- do
- {
- mid = (high + low) / 2;
- if (pstr->offsets[mid] > offset)
- high = mid;
- else if (pstr->offsets[mid] < offset)
- low = mid + 1;
- else
- break;
- }
- while (low < high);
- if (pstr->offsets[mid] < offset)
- ++mid;
- pstr->tip_context = re_string_context_at (pstr, mid - 1,
- eflags);
- /* This can be quite complicated, so handle specially
- only the common and easy case where the character with
- different length representation of lower and upper
- case is present at or after offset. */
- if (pstr->valid_len > offset
- && mid == offset && pstr->offsets[mid] == offset)
- {
- memmove (pstr->wcs, pstr->wcs + offset,
- (pstr->valid_len - offset) * sizeof (wint_t));
- memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset);
- pstr->valid_len -= offset;
- pstr->valid_raw_len -= offset;
- for (low = 0; low < pstr->valid_len; low++)
- pstr->offsets[low] = pstr->offsets[low + offset] - offset;
- }
- else
- {
- /* Otherwise, just find out how long the partial multibyte
- character at offset is and fill it with WEOF/255. */
- pstr->len = pstr->raw_len - idx + offset;
- pstr->stop = pstr->raw_stop - idx + offset;
- pstr->offsets_needed = 0;
- while (mid > 0 && pstr->offsets[mid - 1] == offset)
- --mid;
- while (mid < pstr->valid_len)
- if (pstr->wcs[mid] != WEOF)
- break;
- else
- ++mid;
- if (mid == pstr->valid_len)
- pstr->valid_len = 0;
- else
- {
- pstr->valid_len = pstr->offsets[mid] - offset;
- if (pstr->valid_len)
- {
- for (low = 0; low < pstr->valid_len; ++low)
- pstr->wcs[low] = WEOF;
- memset (pstr->mbs, 255, pstr->valid_len);
- }
- }
- pstr->valid_raw_len = pstr->valid_len;
- }
- }
- else
-#endif
- {
- pstr->tip_context = re_string_context_at (pstr, offset - 1,
- eflags);
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- memmove (pstr->wcs, pstr->wcs + offset,
- (pstr->valid_len - offset) * sizeof (wint_t));
-#endif /* RE_ENABLE_I18N */
- if (BE (pstr->mbs_allocated, 0))
- memmove (pstr->mbs, pstr->mbs + offset,
- pstr->valid_len - offset);
- pstr->valid_len -= offset;
- pstr->valid_raw_len -= offset;
-#if DEBUG
- assert (pstr->valid_len > 0);
-#endif
- }
- }
- else
- {
-#ifdef RE_ENABLE_I18N
- /* No, skip all characters until IDX. */
- Idx prev_valid_len = pstr->valid_len;
-
- if (BE (pstr->offsets_needed, 0))
- {
- pstr->len = pstr->raw_len - idx + offset;
- pstr->stop = pstr->raw_stop - idx + offset;
- pstr->offsets_needed = 0;
- }
-#endif
- pstr->valid_len = 0;
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- {
- Idx wcs_idx;
- wint_t wc = WEOF;
-
- if (pstr->is_utf8)
- {
- const unsigned char *raw, *p, *end;
-
- /* Special case UTF-8. Multi-byte chars start with any
- byte other than 0x80 - 0xbf. */
- raw = pstr->raw_mbs + pstr->raw_mbs_idx;
- end = raw + (offset - pstr->mb_cur_max);
- if (end < pstr->raw_mbs)
- end = pstr->raw_mbs;
- p = raw + offset - 1;
-#ifdef _LIBC
- /* We know the wchar_t encoding is UCS4, so for the simple
- case, ASCII characters, skip the conversion step. */
- if (isascii (*p) && BE (pstr->trans == NULL, 1))
- {
- memset (&pstr->cur_state, '\0', sizeof (mbstate_t));
- /* pstr->valid_len = 0; */
- wc = (wchar_t) *p;
- }
- else
-#endif
- for (; p >= end; --p)
- if ((*p & 0xc0) != 0x80)
- {
- mbstate_t cur_state;
- wchar_t wc2;
- Idx mlen = raw + pstr->len - p;
- unsigned char buf[6];
- size_t mbclen;
-
- if (BE (pstr->trans != NULL, 0))
- {
- int i = mlen < 6 ? mlen : 6;
- while (--i >= 0)
- buf[i] = pstr->trans[p[i]];
- }
- /* XXX Don't use mbrtowc, we know which conversion
- to use (UTF-8 -> UCS4). */
- memset (&cur_state, 0, sizeof (cur_state));
- mbclen = __mbrtowc (&wc2, (const char *) p, mlen,
- &cur_state);
- if (raw + offset - p <= mbclen
- && mbclen < (size_t) -2)
- {
- memset (&pstr->cur_state, '\0',
- sizeof (mbstate_t));
- pstr->valid_len = mbclen - (raw + offset - p);
- wc = wc2;
- }
- break;
- }
- }
-
- if (wc == WEOF)
- pstr->valid_len = re_string_skip_chars (pstr, idx, &wc) - idx;
- if (wc == WEOF)
- pstr->tip_context
- = re_string_context_at (pstr, prev_valid_len - 1, eflags);
- else
- pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0)
- && IS_WIDE_WORD_CHAR (wc))
- ? CONTEXT_WORD
- : ((IS_WIDE_NEWLINE (wc)
- && pstr->newline_anchor)
- ? CONTEXT_NEWLINE : 0));
- if (BE (pstr->valid_len, 0))
- {
- for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx)
- pstr->wcs[wcs_idx] = WEOF;
- if (pstr->mbs_allocated)
- memset (pstr->mbs, 255, pstr->valid_len);
- }
- pstr->valid_raw_len = pstr->valid_len;
- }
- else
-#endif /* RE_ENABLE_I18N */
- {
- int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1];
- pstr->valid_raw_len = 0;
- if (pstr->trans)
- c = pstr->trans[c];
- pstr->tip_context = (bitset_contain (pstr->word_char, c)
- ? CONTEXT_WORD
- : ((IS_NEWLINE (c) && pstr->newline_anchor)
- ? CONTEXT_NEWLINE : 0));
- }
- }
- if (!BE (pstr->mbs_allocated, 0))
- pstr->mbs += offset;
- }
- pstr->raw_mbs_idx = idx;
- pstr->len -= offset;
- pstr->stop -= offset;
-
- /* Then build the buffers. */
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- {
- if (pstr->icase)
- {
- reg_errcode_t ret = build_wcs_upper_buffer (pstr);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- }
- else
- build_wcs_buffer (pstr);
- }
- else
-#endif /* RE_ENABLE_I18N */
- if (BE (pstr->mbs_allocated, 0))
- {
- if (pstr->icase)
- build_upper_buffer (pstr);
- else if (pstr->trans != NULL)
- re_string_translate_buffer (pstr);
- }
- else
- pstr->valid_len = pstr->len;
-
- pstr->cur_idx = 0;
- return REG_NOERROR;
-}
-
-static unsigned char
-internal_function __attribute ((pure))
-re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
-{
- int ch;
- Idx off;
-
- /* Handle the common (easiest) cases first. */
- if (BE (!pstr->mbs_allocated, 1))
- return re_string_peek_byte (pstr, idx);
-
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1
- && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx))
- return re_string_peek_byte (pstr, idx);
-#endif
-
- off = pstr->cur_idx + idx;
-#ifdef RE_ENABLE_I18N
- if (pstr->offsets_needed)
- off = pstr->offsets[off];
-#endif
-
- ch = pstr->raw_mbs[pstr->raw_mbs_idx + off];
-
-#ifdef RE_ENABLE_I18N
- /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I
- this function returns CAPITAL LETTER I instead of first byte of
- DOTLESS SMALL LETTER I. The latter would confuse the parser,
- since peek_byte_case doesn't advance cur_idx in any way. */
- if (pstr->offsets_needed && !isascii (ch))
- return re_string_peek_byte (pstr, idx);
-#endif
-
- return ch;
-}
-
-static unsigned char
-internal_function __attribute ((pure))
-re_string_fetch_byte_case (re_string_t *pstr)
-{
- if (BE (!pstr->mbs_allocated, 1))
- return re_string_fetch_byte (pstr);
-
-#ifdef RE_ENABLE_I18N
- if (pstr->offsets_needed)
- {
- Idx off;
- int ch;
-
- /* For tr_TR.UTF-8 [[:islower:]] there is
- [[: CAPITAL LETTER I WITH DOT lower:]] in mbs. Skip
- in that case the whole multi-byte character and return
- the original letter. On the other side, with
- [[: DOTLESS SMALL LETTER I return [[:I, as doing
- anything else would complicate things too much. */
-
- if (!re_string_first_byte (pstr, pstr->cur_idx))
- return re_string_fetch_byte (pstr);
-
- off = pstr->offsets[pstr->cur_idx];
- ch = pstr->raw_mbs[pstr->raw_mbs_idx + off];
-
- if (! isascii (ch))
- return re_string_fetch_byte (pstr);
-
- re_string_skip_bytes (pstr,
- re_string_char_size_at (pstr, pstr->cur_idx));
- return ch;
- }
-#endif
-
- return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++];
-}
-
-static void
-internal_function
-re_string_destruct (re_string_t *pstr)
-{
-#ifdef RE_ENABLE_I18N
- re_free (pstr->wcs);
- re_free (pstr->offsets);
-#endif /* RE_ENABLE_I18N */
- if (pstr->mbs_allocated)
- re_free (pstr->mbs);
-}
-
-/* Return the context at IDX in INPUT. */
-
-static unsigned int
-internal_function
-re_string_context_at (const re_string_t *input, Idx idx, int eflags)
-{
- int c;
- if (BE (! REG_VALID_INDEX (idx), 0))
- /* In this case, we use the value stored in input->tip_context,
- since we can't know the character in input->mbs[-1] here. */
- return input->tip_context;
- if (BE (idx == input->len, 0))
- return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF
- : CONTEXT_NEWLINE | CONTEXT_ENDBUF);
-#ifdef RE_ENABLE_I18N
- if (input->mb_cur_max > 1)
- {
- wint_t wc;
- Idx wc_idx = idx;
- while(input->wcs[wc_idx] == WEOF)
- {
-#ifdef DEBUG
- /* It must not happen. */
- assert (REG_VALID_INDEX (wc_idx));
-#endif
- --wc_idx;
- if (! REG_VALID_INDEX (wc_idx))
- return input->tip_context;
- }
- wc = input->wcs[wc_idx];
- if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc))
- return CONTEXT_WORD;
- return (IS_WIDE_NEWLINE (wc) && input->newline_anchor
- ? CONTEXT_NEWLINE : 0);
- }
- else
-#endif
- {
- c = re_string_byte_at (input, idx);
- if (bitset_contain (input->word_char, c))
- return CONTEXT_WORD;
- return IS_NEWLINE (c) && input->newline_anchor ? CONTEXT_NEWLINE : 0;
- }
-}
-
-/* Functions for set operation. */
-
-static reg_errcode_t
-internal_function
-re_node_set_alloc (re_node_set *set, Idx size)
-{
- set->alloc = size;
- set->nelem = 0;
- set->elems = re_malloc (Idx, size);
- if (BE (set->elems == NULL, 0))
- return REG_ESPACE;
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-re_node_set_init_1 (re_node_set *set, Idx elem)
-{
- set->alloc = 1;
- set->nelem = 1;
- set->elems = re_malloc (Idx, 1);
- if (BE (set->elems == NULL, 0))
- {
- set->alloc = set->nelem = 0;
- return REG_ESPACE;
- }
- set->elems[0] = elem;
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
-{
- set->alloc = 2;
- set->elems = re_malloc (Idx, 2);
- if (BE (set->elems == NULL, 0))
- return REG_ESPACE;
- if (elem1 == elem2)
- {
- set->nelem = 1;
- set->elems[0] = elem1;
- }
- else
- {
- set->nelem = 2;
- if (elem1 < elem2)
- {
- set->elems[0] = elem1;
- set->elems[1] = elem2;
- }
- else
- {
- set->elems[0] = elem2;
- set->elems[1] = elem1;
- }
- }
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
-{
- dest->nelem = src->nelem;
- if (src->nelem > 0)
- {
- dest->alloc = dest->nelem;
- dest->elems = re_malloc (Idx, dest->alloc);
- if (BE (dest->elems == NULL, 0))
- {
- dest->alloc = dest->nelem = 0;
- return REG_ESPACE;
- }
- memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx));
- }
- else
- re_node_set_init_empty (dest);
- return REG_NOERROR;
-}
-
-/* Calculate the intersection of the sets SRC1 and SRC2. And merge it to
- DEST. Return value indicate the error code or REG_NOERROR if succeeded.
- Note: We assume dest->elems is NULL, when dest->alloc is 0. */
-
-static reg_errcode_t
-internal_function
-re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
- const re_node_set *src2)
-{
- Idx i1, i2, is, id, delta, sbase;
- if (src1->nelem == 0 || src2->nelem == 0)
- return REG_NOERROR;
-
- /* We need dest->nelem + 2 * elems_in_intersection; this is a
- conservative estimate. */
- if (src1->nelem + src2->nelem + dest->nelem > dest->alloc)
- {
- Idx new_alloc = src1->nelem + src2->nelem + dest->alloc;
- Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc);
- if (BE (new_elems == NULL, 0))
- return REG_ESPACE;
- dest->elems = new_elems;
- dest->alloc = new_alloc;
- }
-
- /* Find the items in the intersection of SRC1 and SRC2, and copy
- into the top of DEST those that are not already in DEST itself. */
- sbase = dest->nelem + src1->nelem + src2->nelem;
- i1 = src1->nelem - 1;
- i2 = src2->nelem - 1;
- id = dest->nelem - 1;
- for (;;)
- {
- if (src1->elems[i1] == src2->elems[i2])
- {
- /* Try to find the item in DEST. Maybe we could binary search? */
- while (REG_VALID_INDEX (id) && dest->elems[id] > src1->elems[i1])
- --id;
-
- if (! REG_VALID_INDEX (id) || dest->elems[id] != src1->elems[i1])
- dest->elems[--sbase] = src1->elems[i1];
-
- if (! REG_VALID_INDEX (--i1) || ! REG_VALID_INDEX (--i2))
- break;
- }
-
- /* Lower the highest of the two items. */
- else if (src1->elems[i1] < src2->elems[i2])
- {
- if (! REG_VALID_INDEX (--i2))
- break;
- }
- else
- {
- if (! REG_VALID_INDEX (--i1))
- break;
- }
- }
-
- id = dest->nelem - 1;
- is = dest->nelem + src1->nelem + src2->nelem - 1;
- delta = is - sbase + 1;
-
- /* Now copy. When DELTA becomes zero, the remaining
- DEST elements are already in place; this is more or
- less the same loop that is in re_node_set_merge. */
- dest->nelem += delta;
- if (delta > 0 && REG_VALID_INDEX (id))
- for (;;)
- {
- if (dest->elems[is] > dest->elems[id])
- {
- /* Copy from the top. */
- dest->elems[id + delta--] = dest->elems[is--];
- if (delta == 0)
- break;
- }
- else
- {
- /* Slide from the bottom. */
- dest->elems[id + delta] = dest->elems[id];
- if (! REG_VALID_INDEX (--id))
- break;
- }
- }
-
- /* Copy remaining SRC elements. */
- memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx));
-
- return REG_NOERROR;
-}
-
-/* Calculate the union set of the sets SRC1 and SRC2. And store it to
- DEST. Return value indicate the error code or REG_NOERROR if succeeded. */
-
-static reg_errcode_t
-internal_function
-re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
- const re_node_set *src2)
-{
- Idx i1, i2, id;
- if (src1 != NULL && src1->nelem > 0 && src2 != NULL && src2->nelem > 0)
- {
- dest->alloc = src1->nelem + src2->nelem;
- dest->elems = re_malloc (Idx, dest->alloc);
- if (BE (dest->elems == NULL, 0))
- return REG_ESPACE;
- }
- else
- {
- if (src1 != NULL && src1->nelem > 0)
- return re_node_set_init_copy (dest, src1);
- else if (src2 != NULL && src2->nelem > 0)
- return re_node_set_init_copy (dest, src2);
- else
- re_node_set_init_empty (dest);
- return REG_NOERROR;
- }
- for (i1 = i2 = id = 0 ; i1 < src1->nelem && i2 < src2->nelem ;)
- {
- if (src1->elems[i1] > src2->elems[i2])
- {
- dest->elems[id++] = src2->elems[i2++];
- continue;
- }
- if (src1->elems[i1] == src2->elems[i2])
- ++i2;
- dest->elems[id++] = src1->elems[i1++];
- }
- if (i1 < src1->nelem)
- {
- memcpy (dest->elems + id, src1->elems + i1,
- (src1->nelem - i1) * sizeof (Idx));
- id += src1->nelem - i1;
- }
- else if (i2 < src2->nelem)
- {
- memcpy (dest->elems + id, src2->elems + i2,
- (src2->nelem - i2) * sizeof (Idx));
- id += src2->nelem - i2;
- }
- dest->nelem = id;
- return REG_NOERROR;
-}
-
-/* Calculate the union set of the sets DEST and SRC. And store it to
- DEST. Return value indicate the error code or REG_NOERROR if succeeded. */
-
-static reg_errcode_t
-internal_function
-re_node_set_merge (re_node_set *dest, const re_node_set *src)
-{
- Idx is, id, sbase, delta;
- if (src == NULL || src->nelem == 0)
- return REG_NOERROR;
- if (dest->alloc < 2 * src->nelem + dest->nelem)
- {
- Idx new_alloc = 2 * (src->nelem + dest->alloc);
- Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc);
- if (BE (new_buffer == NULL, 0))
- return REG_ESPACE;
- dest->elems = new_buffer;
- dest->alloc = new_alloc;
- }
-
- if (BE (dest->nelem == 0, 0))
- {
- dest->nelem = src->nelem;
- memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx));
- return REG_NOERROR;
- }
-
- /* Copy into the top of DEST the items of SRC that are not
- found in DEST. Maybe we could binary search in DEST? */
- for (sbase = dest->nelem + 2 * src->nelem,
- is = src->nelem - 1, id = dest->nelem - 1;
- REG_VALID_INDEX (is) && REG_VALID_INDEX (id); )
- {
- if (dest->elems[id] == src->elems[is])
- is--, id--;
- else if (dest->elems[id] < src->elems[is])
- dest->elems[--sbase] = src->elems[is--];
- else /* if (dest->elems[id] > src->elems[is]) */
- --id;
- }
-
- if (REG_VALID_INDEX (is))
- {
- /* If DEST is exhausted, the remaining items of SRC must be unique. */
- sbase -= is + 1;
- memcpy (dest->elems + sbase, src->elems, (is + 1) * sizeof (Idx));
- }
-
- id = dest->nelem - 1;
- is = dest->nelem + 2 * src->nelem - 1;
- delta = is - sbase + 1;
- if (delta == 0)
- return REG_NOERROR;
-
- /* Now copy. When DELTA becomes zero, the remaining
- DEST elements are already in place. */
- dest->nelem += delta;
- for (;;)
- {
- if (dest->elems[is] > dest->elems[id])
- {
- /* Copy from the top. */
- dest->elems[id + delta--] = dest->elems[is--];
- if (delta == 0)
- break;
- }
- else
- {
- /* Slide from the bottom. */
- dest->elems[id + delta] = dest->elems[id];
- if (! REG_VALID_INDEX (--id))
- {
- /* Copy remaining SRC elements. */
- memcpy (dest->elems, dest->elems + sbase,
- delta * sizeof (Idx));
- break;
- }
- }
- }
-
- return REG_NOERROR;
-}
-
-/* Insert the new element ELEM to the re_node_set* SET.
- SET should not already have ELEM.
- Return true if successful. */
-
-static bool
-internal_function
-re_node_set_insert (re_node_set *set, Idx elem)
-{
- Idx idx;
- /* In case the set is empty. */
- if (set->alloc == 0)
- return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1);
-
- if (BE (set->nelem, 0) == 0)
- {
- /* We already guaranteed above that set->alloc != 0. */
- set->elems[0] = elem;
- ++set->nelem;
- return true;
- }
-
- /* Realloc if we need. */
- if (set->alloc == set->nelem)
- {
- Idx *new_elems;
- set->alloc = set->alloc * 2;
- new_elems = re_realloc (set->elems, Idx, set->alloc);
- if (BE (new_elems == NULL, 0))
- return false;
- set->elems = new_elems;
- }
-
- /* Move the elements which follows the new element. Test the
- first element separately to skip a check in the inner loop. */
- if (elem < set->elems[0])
- {
- idx = 0;
- for (idx = set->nelem; idx > 0; idx--)
- set->elems[idx] = set->elems[idx - 1];
- }
- else
- {
- for (idx = set->nelem; set->elems[idx - 1] > elem; idx--)
- set->elems[idx] = set->elems[idx - 1];
- }
-
- /* Insert the new element. */
- set->elems[idx] = elem;
- ++set->nelem;
- return true;
-}
-
-/* Insert the new element ELEM to the re_node_set* SET.
- SET should not already have any element greater than or equal to ELEM.
- Return true if successful. */
-
-static bool
-internal_function
-re_node_set_insert_last (re_node_set *set, Idx elem)
-{
- /* Realloc if we need. */
- if (set->alloc == set->nelem)
- {
- Idx *new_elems;
- set->alloc = (set->alloc + 1) * 2;
- new_elems = re_realloc (set->elems, Idx, set->alloc);
- if (BE (new_elems == NULL, 0))
- return false;
- set->elems = new_elems;
- }
-
- /* Insert the new element. */
- set->elems[set->nelem++] = elem;
- return true;
-}
-
-/* Compare two node sets SET1 and SET2.
- Return true if SET1 and SET2 are equivalent. */
-
-static bool
-internal_function __attribute ((pure))
-re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
-{
- Idx i;
- if (set1 == NULL || set2 == NULL || set1->nelem != set2->nelem)
- return false;
- for (i = set1->nelem ; REG_VALID_INDEX (--i) ; )
- if (set1->elems[i] != set2->elems[i])
- return false;
- return true;
-}
-
-/* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */
-
-static Idx
-internal_function __attribute ((pure))
-re_node_set_contains (const re_node_set *set, Idx elem)
-{
- __re_size_t idx, right, mid;
- if (! REG_VALID_NONZERO_INDEX (set->nelem))
- return 0;
-
- /* Binary search the element. */
- idx = 0;
- right = set->nelem - 1;
- while (idx < right)
- {
- mid = (idx + right) / 2;
- if (set->elems[mid] < elem)
- idx = mid + 1;
- else
- right = mid;
- }
- return set->elems[idx] == elem ? idx + 1 : 0;
-}
-
-static void
-internal_function
-re_node_set_remove_at (re_node_set *set, Idx idx)
-{
- if (idx < 0 || idx >= set->nelem)
- return;
- --set->nelem;
- for (; idx < set->nelem; idx++)
- set->elems[idx] = set->elems[idx + 1];
-}
-
-
-/* Add the token TOKEN to dfa->nodes, and return the index of the token.
- Or return REG_MISSING if an error occurred. */
-
-static Idx
-internal_function
-re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
-{
- if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0))
- {
- size_t new_nodes_alloc = dfa->nodes_alloc * 2;
- Idx *new_nexts, *new_indices;
- re_node_set *new_edests, *new_eclosures;
- re_token_t *new_nodes;
- size_t max_object_size =
- MAX (sizeof (re_token_t),
- MAX (sizeof (re_node_set),
- sizeof (Idx)));
-
- /* Avoid overflows. */
- if (BE (SIZE_MAX / 2 / max_object_size < dfa->nodes_alloc, 0))
- return REG_MISSING;
-
- new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc);
- if (BE (new_nodes == NULL, 0))
- return REG_MISSING;
- dfa->nodes = new_nodes;
- new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc);
- new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc);
- new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc);
- new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc);
- if (BE (new_nexts == NULL || new_indices == NULL
- || new_edests == NULL || new_eclosures == NULL, 0))
- return REG_MISSING;
- dfa->nexts = new_nexts;
- dfa->org_indices = new_indices;
- dfa->edests = new_edests;
- dfa->eclosures = new_eclosures;
- dfa->nodes_alloc = new_nodes_alloc;
- }
- dfa->nodes[dfa->nodes_len] = token;
- dfa->nodes[dfa->nodes_len].constraint = 0;
-#ifdef RE_ENABLE_I18N
- {
- int type = token.type;
- dfa->nodes[dfa->nodes_len].accept_mb =
- (type == OP_PERIOD && dfa->mb_cur_max > 1) || type == COMPLEX_BRACKET;
- }
-#endif
- dfa->nexts[dfa->nodes_len] = REG_MISSING;
- re_node_set_init_empty (dfa->edests + dfa->nodes_len);
- re_node_set_init_empty (dfa->eclosures + dfa->nodes_len);
- return dfa->nodes_len++;
-}
-
-static inline re_hashval_t
-internal_function
-calc_state_hash (const re_node_set *nodes, unsigned int context)
-{
- re_hashval_t hash = nodes->nelem + context;
- Idx i;
- for (i = 0 ; i < nodes->nelem ; i++)
- hash += nodes->elems[i];
- return hash;
-}
-
-/* Search for the state whose node_set is equivalent to NODES.
- Return the pointer to the state, if we found it in the DFA.
- Otherwise create the new one and return it. In case of an error
- return NULL and set the error code in ERR.
- Note: - We assume NULL as the invalid state, then it is possible that
- return value is NULL and ERR is REG_NOERROR.
- - We never return non-NULL value in case of any errors, it is for
- optimization. */
-
-static re_dfastate_t *
-internal_function
-re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
- const re_node_set *nodes)
-{
- re_hashval_t hash;
- re_dfastate_t *new_state;
- struct re_state_table_entry *spot;
- Idx i;
-#ifdef lint
- /* Suppress bogus uninitialized-variable warnings. */
- *err = REG_NOERROR;
-#endif
- if (BE (nodes->nelem == 0, 0))
- {
- *err = REG_NOERROR;
- return NULL;
- }
- hash = calc_state_hash (nodes, 0);
- spot = dfa->state_table + (hash & dfa->state_hash_mask);
-
- for (i = 0 ; i < spot->num ; i++)
- {
- re_dfastate_t *state = spot->array[i];
- if (hash != state->hash)
- continue;
- if (re_node_set_compare (&state->nodes, nodes))
- return state;
- }
-
- /* There are no appropriate state in the dfa, create the new one. */
- new_state = create_ci_newstate (dfa, nodes, hash);
- if (BE (new_state == NULL, 0))
- *err = REG_ESPACE;
-
- return new_state;
-}
-
-/* Search for the state whose node_set is equivalent to NODES and
- whose context is equivalent to CONTEXT.
- Return the pointer to the state, if we found it in the DFA.
- Otherwise create the new one and return it. In case of an error
- return NULL and set the error code in ERR.
- Note: - We assume NULL as the invalid state, then it is possible that
- return value is NULL and ERR is REG_NOERROR.
- - We never return non-NULL value in case of any errors, it is for
- optimization. */
-
-static re_dfastate_t *
-internal_function
-re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
- const re_node_set *nodes, unsigned int context)
-{
- re_hashval_t hash;
- re_dfastate_t *new_state;
- struct re_state_table_entry *spot;
- Idx i;
-#ifdef lint
- /* Suppress bogus uninitialized-variable warnings. */
- *err = REG_NOERROR;
-#endif
- if (nodes->nelem == 0)
- {
- *err = REG_NOERROR;
- return NULL;
- }
- hash = calc_state_hash (nodes, context);
- spot = dfa->state_table + (hash & dfa->state_hash_mask);
-
- for (i = 0 ; i < spot->num ; i++)
- {
- re_dfastate_t *state = spot->array[i];
- if (state->hash == hash
- && state->context == context
- && re_node_set_compare (state->entrance_nodes, nodes))
- return state;
- }
- /* There are no appropriate state in `dfa', create the new one. */
- new_state = create_cd_newstate (dfa, nodes, context, hash);
- if (BE (new_state == NULL, 0))
- *err = REG_ESPACE;
-
- return new_state;
-}
-
-/* Finish initialization of the new state NEWSTATE, and using its hash value
- HASH put in the appropriate bucket of DFA's state table. Return value
- indicates the error code if failed. */
-
-static reg_errcode_t
-register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
- re_hashval_t hash)
-{
- struct re_state_table_entry *spot;
- reg_errcode_t err;
- Idx i;
-
- newstate->hash = hash;
- err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem);
- if (BE (err != REG_NOERROR, 0))
- return REG_ESPACE;
- for (i = 0; i < newstate->nodes.nelem; i++)
- {
- Idx elem = newstate->nodes.elems[i];
- if (!IS_EPSILON_NODE (dfa->nodes[elem].type))
- if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0))
- return REG_ESPACE;
- }
-
- spot = dfa->state_table + (hash & dfa->state_hash_mask);
- if (BE (spot->alloc <= spot->num, 0))
- {
- Idx new_alloc = 2 * spot->num + 2;
- re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *,
- new_alloc);
- if (BE (new_array == NULL, 0))
- return REG_ESPACE;
- spot->array = new_array;
- spot->alloc = new_alloc;
- }
- spot->array[spot->num++] = newstate;
- return REG_NOERROR;
-}
-
-static void
-free_state (re_dfastate_t *state)
-{
- re_node_set_free (&state->non_eps_nodes);
- re_node_set_free (&state->inveclosure);
- if (state->entrance_nodes != &state->nodes)
- {
- re_node_set_free (state->entrance_nodes);
- re_free (state->entrance_nodes);
- }
- re_node_set_free (&state->nodes);
- re_free (state->word_trtable);
- re_free (state->trtable);
- re_free (state);
-}
-
-/* Create the new state which is independ of contexts.
- Return the new state if succeeded, otherwise return NULL. */
-
-static re_dfastate_t *
-internal_function
-create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
- re_hashval_t hash)
-{
- Idx i;
- reg_errcode_t err;
- re_dfastate_t *newstate;
-
- newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
- if (BE (newstate == NULL, 0))
- return NULL;
- err = re_node_set_init_copy (&newstate->nodes, nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_free (newstate);
- return NULL;
- }
-
- newstate->entrance_nodes = &newstate->nodes;
- for (i = 0 ; i < nodes->nelem ; i++)
- {
- re_token_t *node = dfa->nodes + nodes->elems[i];
- re_token_type_t type = node->type;
- if (type == CHARACTER && !node->constraint)
- continue;
-#ifdef RE_ENABLE_I18N
- newstate->accept_mb |= node->accept_mb;
-#endif /* RE_ENABLE_I18N */
-
- /* If the state has the halt node, the state is a halt state. */
- if (type == END_OF_RE)
- newstate->halt = 1;
- else if (type == OP_BACK_REF)
- newstate->has_backref = 1;
- else if (type == ANCHOR || node->constraint)
- newstate->has_constraint = 1;
- }
- err = register_state (dfa, newstate, hash);
- if (BE (err != REG_NOERROR, 0))
- {
- free_state (newstate);
- newstate = NULL;
- }
- return newstate;
-}
-
-/* Create the new state which is depend on the context CONTEXT.
- Return the new state if succeeded, otherwise return NULL. */
-
-static re_dfastate_t *
-internal_function
-create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
- unsigned int context, re_hashval_t hash)
-{
- Idx i, nctx_nodes = 0;
- reg_errcode_t err;
- re_dfastate_t *newstate;
-
- newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
- if (BE (newstate == NULL, 0))
- return NULL;
- err = re_node_set_init_copy (&newstate->nodes, nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_free (newstate);
- return NULL;
- }
-
- newstate->context = context;
- newstate->entrance_nodes = &newstate->nodes;
-
- for (i = 0 ; i < nodes->nelem ; i++)
- {
- re_token_t *node = dfa->nodes + nodes->elems[i];
- re_token_type_t type = node->type;
- unsigned int constraint = node->constraint;
-
- if (type == CHARACTER && !constraint)
- continue;
-#ifdef RE_ENABLE_I18N
- newstate->accept_mb |= node->accept_mb;
-#endif /* RE_ENABLE_I18N */
-
- /* If the state has the halt node, the state is a halt state. */
- if (type == END_OF_RE)
- newstate->halt = 1;
- else if (type == OP_BACK_REF)
- newstate->has_backref = 1;
-
- if (constraint)
- {
- if (newstate->entrance_nodes == &newstate->nodes)
- {
- newstate->entrance_nodes = re_malloc (re_node_set, 1);
- if (BE (newstate->entrance_nodes == NULL, 0))
- {
- free_state (newstate);
- return NULL;
- }
- re_node_set_init_copy (newstate->entrance_nodes, nodes);
- nctx_nodes = 0;
- newstate->has_constraint = 1;
- }
-
- if (NOT_SATISFY_PREV_CONSTRAINT (constraint,context))
- {
- re_node_set_remove_at (&newstate->nodes, i - nctx_nodes);
- ++nctx_nodes;
- }
- }
- }
- err = register_state (dfa, newstate, hash);
- if (BE (err != REG_NOERROR, 0))
- {
- free_state (newstate);
- newstate = NULL;
- }
- return newstate;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/regex_internal.h b/sources/host-tools/sed-4.2.1/lib/regex_internal.h
deleted file mode 100644
index a5070dc..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regex_internal.h
+++ /dev/null
@@ -1,857 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _REGEX_INTERNAL_H
-#define _REGEX_INTERNAL_H 1
-
-#include <assert.h>
-#include <ctype.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef _LIBC
-# include <langinfo.h>
-#else
-# include "localcharset.h"
-#endif
-#if defined HAVE_LOCALE_H || defined _LIBC
-# include <locale.h>
-#endif
-
-#include <wchar.h>
-#include <wctype.h>
-#include <stdint.h>
-#if defined _LIBC
-# include <bits/libc-lock.h>
-#else
-# define __libc_lock_init(NAME) do { } while (0)
-# define __libc_lock_lock(NAME) do { } while (0)
-# define __libc_lock_unlock(NAME) do { } while (0)
-#endif
-
-/* In case that the system doesn't have isblank(). */
-#if !defined _LIBC && ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK))
-# define isblank(ch) ((ch) == ' ' || (ch) == '\t')
-#endif
-
-#ifdef _LIBC
-# ifndef _RE_DEFINE_LOCALE_FUNCTIONS
-# define _RE_DEFINE_LOCALE_FUNCTIONS 1
-# include <locale/localeinfo.h>
-# include <locale/elem-hash.h>
-# include <locale/coll-lookup.h>
-# endif
-#endif
-
-/* This is for other GNU distributions with internationalized messages. */
-#if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
-# include <libintl.h>
-# ifdef _LIBC
-# undef gettext
-# define gettext(msgid) \
- INTUSE(__dcgettext) (_libc_intl_domainname, msgid, LC_MESSAGES)
-# endif
-#else
-# define gettext(msgid) (msgid)
-#endif
-
-#ifndef gettext_noop
-/* This define is so xgettext can find the internationalizable
- strings. */
-# define gettext_noop(String) String
-#endif
-
-/* For loser systems without the definition. */
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
-
-#if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC
-# define RE_ENABLE_I18N
-#endif
-
-#if __GNUC__ >= 3
-# define BE(expr, val) __builtin_expect (expr, val)
-#else
-# define BE(expr, val) (expr)
-# ifdef _LIBC
-# define inline
-# endif
-#endif
-
-/* Number of ASCII characters. */
-#define ASCII_CHARS 0x80
-
-/* Number of single byte characters. */
-#define SBC_MAX (UCHAR_MAX + 1)
-
-#define COLL_ELEM_LEN_MAX 8
-
-/* The character which represents newline. */
-#define NEWLINE_CHAR '\n'
-#define WIDE_NEWLINE_CHAR L'\n'
-
-/* Rename to standard API for using out of glibc. */
-#ifndef _LIBC
-# define __wctype wctype
-# define __iswctype iswctype
-# define __btowc btowc
-# define __wcrtomb wcrtomb
-# define __mbrtowc mbrtowc
-# define __regfree regfree
-# define attribute_hidden
-#endif /* not _LIBC */
-
-#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
-# define __attribute(arg) __attribute__ (arg)
-#else
-# define __attribute(arg)
-#endif
-
-typedef __re_idx_t Idx;
-
-/* Special return value for failure to match. */
-#define REG_MISSING ((Idx) -1)
-
-/* Special return value for internal error. */
-#define REG_ERROR ((Idx) -2)
-
-/* Test whether N is a valid index, and is not one of the above. */
-#ifdef _REGEX_LARGE_OFFSETS
-# define REG_VALID_INDEX(n) ((Idx) (n) < REG_ERROR)
-#else
-# define REG_VALID_INDEX(n) (0 <= (n))
-#endif
-
-/* Test whether N is a valid nonzero index. */
-#ifdef _REGEX_LARGE_OFFSETS
-# define REG_VALID_NONZERO_INDEX(n) ((Idx) ((n) - 1) < (Idx) (REG_ERROR - 1))
-#else
-# define REG_VALID_NONZERO_INDEX(n) (0 < (n))
-#endif
-
-/* A hash value, suitable for computing hash tables. */
-typedef __re_size_t re_hashval_t;
-
-/* An integer used to represent a set of bits. It must be unsigned,
- and must be at least as wide as unsigned int. */
-typedef unsigned long int bitset_word_t;
-/* All bits set in a bitset_word_t. */
-#define BITSET_WORD_MAX ULONG_MAX
-
-/* Number of bits in a bitset_word_t. For portability to hosts with
- padding bits, do not use '(sizeof (bitset_word_t) * CHAR_BIT)';
- instead, deduce it directly from BITSET_WORD_MAX. Avoid
- greater-than-32-bit integers and unconditional shifts by more than
- 31 bits, as they're not portable. */
-#if BITSET_WORD_MAX == 0xffffffffUL
-# define BITSET_WORD_BITS 32
-#elif BITSET_WORD_MAX >> 31 >> 4 == 1
-# define BITSET_WORD_BITS 36
-#elif BITSET_WORD_MAX >> 31 >> 16 == 1
-# define BITSET_WORD_BITS 48
-#elif BITSET_WORD_MAX >> 31 >> 28 == 1
-# define BITSET_WORD_BITS 60
-#elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1
-# define BITSET_WORD_BITS 64
-#elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1
-# define BITSET_WORD_BITS 72
-#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 == 1
-# define BITSET_WORD_BITS 128
-#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 == 1
-# define BITSET_WORD_BITS 256
-#elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 > 1
-# define BITSET_WORD_BITS 257 /* any value > SBC_MAX will do here */
-# if BITSET_WORD_BITS <= SBC_MAX
-# error "Invalid SBC_MAX"
-# endif
-#else
-# error "Add case for new bitset_word_t size"
-#endif
-
-/* Number of bitset_word_t values in a bitset_t. */
-#define BITSET_WORDS ((SBC_MAX + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS)
-
-typedef bitset_word_t bitset_t[BITSET_WORDS];
-typedef bitset_word_t *re_bitset_ptr_t;
-typedef const bitset_word_t *re_const_bitset_ptr_t;
-
-#define PREV_WORD_CONSTRAINT 0x0001
-#define PREV_NOTWORD_CONSTRAINT 0x0002
-#define NEXT_WORD_CONSTRAINT 0x0004
-#define NEXT_NOTWORD_CONSTRAINT 0x0008
-#define PREV_NEWLINE_CONSTRAINT 0x0010
-#define NEXT_NEWLINE_CONSTRAINT 0x0020
-#define PREV_BEGBUF_CONSTRAINT 0x0040
-#define NEXT_ENDBUF_CONSTRAINT 0x0080
-#define WORD_DELIM_CONSTRAINT 0x0100
-#define NOT_WORD_DELIM_CONSTRAINT 0x0200
-
-typedef enum
-{
- INSIDE_WORD = PREV_WORD_CONSTRAINT | NEXT_WORD_CONSTRAINT,
- WORD_FIRST = PREV_NOTWORD_CONSTRAINT | NEXT_WORD_CONSTRAINT,
- WORD_LAST = PREV_WORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT,
- INSIDE_NOTWORD = PREV_NOTWORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT,
- LINE_FIRST = PREV_NEWLINE_CONSTRAINT,
- LINE_LAST = NEXT_NEWLINE_CONSTRAINT,
- BUF_FIRST = PREV_BEGBUF_CONSTRAINT,
- BUF_LAST = NEXT_ENDBUF_CONSTRAINT,
- WORD_DELIM = WORD_DELIM_CONSTRAINT,
- NOT_WORD_DELIM = NOT_WORD_DELIM_CONSTRAINT
-} re_context_type;
-
-typedef struct
-{
- Idx alloc;
- Idx nelem;
- Idx *elems;
-} re_node_set;
-
-typedef enum
-{
- NON_TYPE = 0,
-
- /* Node type, These are used by token, node, tree. */
- CHARACTER = 1,
- END_OF_RE = 2,
- SIMPLE_BRACKET = 3,
- OP_BACK_REF = 4,
- OP_PERIOD = 5,
-#ifdef RE_ENABLE_I18N
- COMPLEX_BRACKET = 6,
- OP_UTF8_PERIOD = 7,
-#endif /* RE_ENABLE_I18N */
-
- /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used
- when the debugger shows values of this enum type. */
-#define EPSILON_BIT 8
- OP_OPEN_SUBEXP = EPSILON_BIT | 0,
- OP_CLOSE_SUBEXP = EPSILON_BIT | 1,
- OP_ALT = EPSILON_BIT | 2,
- OP_DUP_ASTERISK = EPSILON_BIT | 3,
- ANCHOR = EPSILON_BIT | 4,
-
- /* Tree type, these are used only by tree. */
- CONCAT = 16,
- SUBEXP = 17,
-
- /* Token type, these are used only by token. */
- OP_DUP_PLUS = 18,
- OP_DUP_QUESTION,
- OP_OPEN_BRACKET,
- OP_CLOSE_BRACKET,
- OP_CHARSET_RANGE,
- OP_OPEN_DUP_NUM,
- OP_CLOSE_DUP_NUM,
- OP_NON_MATCH_LIST,
- OP_OPEN_COLL_ELEM,
- OP_CLOSE_COLL_ELEM,
- OP_OPEN_EQUIV_CLASS,
- OP_CLOSE_EQUIV_CLASS,
- OP_OPEN_CHAR_CLASS,
- OP_CLOSE_CHAR_CLASS,
- OP_WORD,
- OP_NOTWORD,
- OP_SPACE,
- OP_NOTSPACE,
- BACK_SLASH
-
-} re_token_type_t;
-
-#ifdef RE_ENABLE_I18N
-typedef struct
-{
- /* Multibyte characters. */
- wchar_t *mbchars;
-
- /* Collating symbols. */
-# ifdef _LIBC
- int32_t *coll_syms;
-# endif
-
- /* Equivalence classes. */
-# ifdef _LIBC
- int32_t *equiv_classes;
-# endif
-
- /* Range expressions. */
-# ifdef _LIBC
- uint32_t *range_starts;
- uint32_t *range_ends;
-# else /* not _LIBC */
- wchar_t *range_starts;
- wchar_t *range_ends;
-# endif /* not _LIBC */
-
- /* Character classes. */
- wctype_t *char_classes;
-
- /* If this character set is the non-matching list. */
- unsigned int non_match : 1;
-
- /* # of multibyte characters. */
- Idx nmbchars;
-
- /* # of collating symbols. */
- Idx ncoll_syms;
-
- /* # of equivalence classes. */
- Idx nequiv_classes;
-
- /* # of range expressions. */
- Idx nranges;
-
- /* # of character classes. */
- Idx nchar_classes;
-} re_charset_t;
-#endif /* RE_ENABLE_I18N */
-
-typedef struct
-{
- union
- {
- unsigned char c; /* for CHARACTER */
- re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */
-#ifdef RE_ENABLE_I18N
- re_charset_t *mbcset; /* for COMPLEX_BRACKET */
-#endif /* RE_ENABLE_I18N */
- Idx idx; /* for BACK_REF */
- re_context_type ctx_type; /* for ANCHOR */
- } opr;
-#if __GNUC__ >= 2 && !__STRICT_ANSI__
- re_token_type_t type : 8;
-#else
- re_token_type_t type;
-#endif
- unsigned int constraint : 10; /* context constraint */
- unsigned int duplicated : 1;
- unsigned int opt_subexp : 1;
-#ifdef RE_ENABLE_I18N
- unsigned int accept_mb : 1;
- /* These 2 bits can be moved into the union if needed (e.g. if running out
- of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */
- unsigned int mb_partial : 1;
-#endif
- unsigned int word_char : 1;
-} re_token_t;
-
-#define IS_EPSILON_NODE(type) ((type) & EPSILON_BIT)
-
-struct re_string_t
-{
- /* Indicate the raw buffer which is the original string passed as an
- argument of regexec(), re_search(), etc.. */
- const unsigned char *raw_mbs;
- /* Store the multibyte string. In case of "case insensitive mode" like
- REG_ICASE, upper cases of the string are stored, otherwise MBS points
- the same address that RAW_MBS points. */
- unsigned char *mbs;
-#ifdef RE_ENABLE_I18N
- /* Store the wide character string which is corresponding to MBS. */
- wint_t *wcs;
- Idx *offsets;
- mbstate_t cur_state;
-#endif
- /* Index in RAW_MBS. Each character mbs[i] corresponds to
- raw_mbs[raw_mbs_idx + i]. */
- Idx raw_mbs_idx;
- /* The length of the valid characters in the buffers. */
- Idx valid_len;
- /* The corresponding number of bytes in raw_mbs array. */
- Idx valid_raw_len;
- /* The length of the buffers MBS and WCS. */
- Idx bufs_len;
- /* The index in MBS, which is updated by re_string_fetch_byte. */
- Idx cur_idx;
- /* length of RAW_MBS array. */
- Idx raw_len;
- /* This is RAW_LEN - RAW_MBS_IDX + VALID_LEN - VALID_RAW_LEN. */
- Idx len;
- /* End of the buffer may be shorter than its length in the cases such
- as re_match_2, re_search_2. Then, we use STOP for end of the buffer
- instead of LEN. */
- Idx raw_stop;
- /* This is RAW_STOP - RAW_MBS_IDX adjusted through OFFSETS. */
- Idx stop;
-
- /* The context of mbs[0]. We store the context independently, since
- the context of mbs[0] may be different from raw_mbs[0], which is
- the beginning of the input string. */
- unsigned int tip_context;
- /* The translation passed as a part of an argument of re_compile_pattern. */
- RE_TRANSLATE_TYPE trans;
- /* Copy of re_dfa_t's word_char. */
- re_const_bitset_ptr_t word_char;
- /* true if REG_ICASE. */
- unsigned char icase;
- unsigned char is_utf8;
- unsigned char map_notascii;
- unsigned char mbs_allocated;
- unsigned char offsets_needed;
- unsigned char newline_anchor;
- unsigned char word_ops_used;
- int mb_cur_max;
-};
-typedef struct re_string_t re_string_t;
-
-
-struct re_dfa_t;
-typedef struct re_dfa_t re_dfa_t;
-
-#ifndef _LIBC
-# if defined __i386__ && !defined __EMX__
-# define internal_function __attribute ((regparm (3), stdcall))
-# else
-# define internal_function
-# endif
-#endif
-
-static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
- Idx new_buf_len)
- internal_function;
-#ifdef RE_ENABLE_I18N
-static void build_wcs_buffer (re_string_t *pstr) internal_function;
-static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
- internal_function;
-#endif /* RE_ENABLE_I18N */
-static void build_upper_buffer (re_string_t *pstr) internal_function;
-static void re_string_translate_buffer (re_string_t *pstr) internal_function;
-static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
- int eflags)
- internal_function __attribute ((pure));
-#define re_string_peek_byte(pstr, offset) \
- ((pstr)->mbs[(pstr)->cur_idx + offset])
-#define re_string_fetch_byte(pstr) \
- ((pstr)->mbs[(pstr)->cur_idx++])
-#define re_string_first_byte(pstr, idx) \
- ((idx) == (pstr)->valid_len || (pstr)->wcs[idx] != WEOF)
-#define re_string_is_single_byte_char(pstr, idx) \
- ((pstr)->wcs[idx] != WEOF && ((pstr)->valid_len == (idx) + 1 \
- || (pstr)->wcs[(idx) + 1] != WEOF))
-#define re_string_eoi(pstr) ((pstr)->stop <= (pstr)->cur_idx)
-#define re_string_cur_idx(pstr) ((pstr)->cur_idx)
-#define re_string_get_buffer(pstr) ((pstr)->mbs)
-#define re_string_length(pstr) ((pstr)->len)
-#define re_string_byte_at(pstr,idx) ((pstr)->mbs[idx])
-#define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx))
-#define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
-
-#include <alloca.h>
-
-#ifndef _LIBC
-# if HAVE_ALLOCA
-/* The OS usually guarantees only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- allocate anything larger than 4096 bytes. Also care for the possibility
- of a few compiler-allocated temporary stack slots. */
-# define __libc_use_alloca(n) ((n) < 4032)
-# else
-/* alloca is implemented with malloc, so just use malloc. */
-# define __libc_use_alloca(n) 0
-# endif
-#endif
-
-#ifndef MAX
-# define MAX(a,b) ((a) < (b) ? (b) : (a))
-#endif
-
-#define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t)))
-#define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t)))
-#define re_free(p) free (p)
-
-struct bin_tree_t
-{
- struct bin_tree_t *parent;
- struct bin_tree_t *left;
- struct bin_tree_t *right;
- struct bin_tree_t *first;
- struct bin_tree_t *next;
-
- re_token_t token;
-
- /* `node_idx' is the index in dfa->nodes, if `type' == 0.
- Otherwise `type' indicate the type of this node. */
- Idx node_idx;
-};
-typedef struct bin_tree_t bin_tree_t;
-
-#define BIN_TREE_STORAGE_SIZE \
- ((1024 - sizeof (void *)) / sizeof (bin_tree_t))
-
-struct bin_tree_storage_t
-{
- struct bin_tree_storage_t *next;
- bin_tree_t data[BIN_TREE_STORAGE_SIZE];
-};
-typedef struct bin_tree_storage_t bin_tree_storage_t;
-
-#define CONTEXT_WORD 1
-#define CONTEXT_NEWLINE (CONTEXT_WORD << 1)
-#define CONTEXT_BEGBUF (CONTEXT_NEWLINE << 1)
-#define CONTEXT_ENDBUF (CONTEXT_BEGBUF << 1)
-
-#define IS_WORD_CONTEXT(c) ((c) & CONTEXT_WORD)
-#define IS_NEWLINE_CONTEXT(c) ((c) & CONTEXT_NEWLINE)
-#define IS_BEGBUF_CONTEXT(c) ((c) & CONTEXT_BEGBUF)
-#define IS_ENDBUF_CONTEXT(c) ((c) & CONTEXT_ENDBUF)
-#define IS_ORDINARY_CONTEXT(c) ((c) == 0)
-
-#define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_')
-#define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR)
-#define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_')
-#define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR)
-
-#define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \
- ((((constraint) & PREV_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \
- || ((constraint & PREV_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \
- || ((constraint & PREV_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context))\
- || ((constraint & PREV_BEGBUF_CONSTRAINT) && !IS_BEGBUF_CONTEXT (context)))
-
-#define NOT_SATISFY_NEXT_CONSTRAINT(constraint,context) \
- ((((constraint) & NEXT_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \
- || (((constraint) & NEXT_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \
- || (((constraint) & NEXT_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context)) \
- || (((constraint) & NEXT_ENDBUF_CONSTRAINT) && !IS_ENDBUF_CONTEXT (context)))
-
-struct re_dfastate_t
-{
- re_hashval_t hash;
- re_node_set nodes;
- re_node_set non_eps_nodes;
- re_node_set inveclosure;
- re_node_set *entrance_nodes;
- struct re_dfastate_t **trtable, **word_trtable;
- unsigned int context : 4;
- unsigned int halt : 1;
- /* If this state can accept `multi byte'.
- Note that we refer to multibyte characters, and multi character
- collating elements as `multi byte'. */
- unsigned int accept_mb : 1;
- /* If this state has backreference node(s). */
- unsigned int has_backref : 1;
- unsigned int has_constraint : 1;
-};
-typedef struct re_dfastate_t re_dfastate_t;
-
-struct re_state_table_entry
-{
- Idx num;
- Idx alloc;
- re_dfastate_t **array;
-};
-
-/* Array type used in re_sub_match_last_t and re_sub_match_top_t. */
-
-typedef struct
-{
- Idx next_idx;
- Idx alloc;
- re_dfastate_t **array;
-} state_array_t;
-
-/* Store information about the node NODE whose type is OP_CLOSE_SUBEXP. */
-
-typedef struct
-{
- Idx node;
- Idx str_idx; /* The position NODE match at. */
- state_array_t path;
-} re_sub_match_last_t;
-
-/* Store information about the node NODE whose type is OP_OPEN_SUBEXP.
- And information about the node, whose type is OP_CLOSE_SUBEXP,
- corresponding to NODE is stored in LASTS. */
-
-typedef struct
-{
- Idx str_idx;
- Idx node;
- state_array_t *path;
- Idx alasts; /* Allocation size of LASTS. */
- Idx nlasts; /* The number of LASTS. */
- re_sub_match_last_t **lasts;
-} re_sub_match_top_t;
-
-struct re_backref_cache_entry
-{
- Idx node;
- Idx str_idx;
- Idx subexp_from;
- Idx subexp_to;
- char more;
- char unused;
- unsigned short int eps_reachable_subexps_map;
-};
-
-typedef struct
-{
- /* The string object corresponding to the input string. */
- re_string_t input;
-#if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
- const re_dfa_t *const dfa;
-#else
- const re_dfa_t *dfa;
-#endif
- /* EFLAGS of the argument of regexec. */
- int eflags;
- /* Where the matching ends. */
- Idx match_last;
- Idx last_node;
- /* The state log used by the matcher. */
- re_dfastate_t **state_log;
- Idx state_log_top;
- /* Back reference cache. */
- Idx nbkref_ents;
- Idx abkref_ents;
- struct re_backref_cache_entry *bkref_ents;
- int max_mb_elem_len;
- Idx nsub_tops;
- Idx asub_tops;
- re_sub_match_top_t **sub_tops;
-} re_match_context_t;
-
-typedef struct
-{
- re_dfastate_t **sifted_states;
- re_dfastate_t **limited_states;
- Idx last_node;
- Idx last_str_idx;
- re_node_set limits;
-} re_sift_context_t;
-
-struct re_fail_stack_ent_t
-{
- Idx idx;
- Idx node;
- regmatch_t *regs;
- re_node_set eps_via_nodes;
-};
-
-struct re_fail_stack_t
-{
- Idx num;
- Idx alloc;
- struct re_fail_stack_ent_t *stack;
-};
-
-struct re_dfa_t
-{
- re_token_t *nodes;
- size_t nodes_alloc;
- size_t nodes_len;
- Idx *nexts;
- Idx *org_indices;
- re_node_set *edests;
- re_node_set *eclosures;
- re_node_set *inveclosures;
- struct re_state_table_entry *state_table;
- re_dfastate_t *init_state;
- re_dfastate_t *init_state_word;
- re_dfastate_t *init_state_nl;
- re_dfastate_t *init_state_begbuf;
- bin_tree_t *str_tree;
- bin_tree_storage_t *str_tree_storage;
- re_bitset_ptr_t sb_char;
- int str_tree_storage_idx;
-
- /* number of subexpressions `re_nsub' is in regex_t. */
- re_hashval_t state_hash_mask;
- Idx init_node;
- Idx nbackref; /* The number of backreference in this dfa. */
-
- /* Bitmap expressing which backreference is used. */
- bitset_word_t used_bkref_map;
- bitset_word_t completed_bkref_map;
-
- unsigned int has_plural_match : 1;
- /* If this dfa has "multibyte node", which is a backreference or
- a node which can accept multibyte character or multi character
- collating element. */
- unsigned int has_mb_node : 1;
- unsigned int is_utf8 : 1;
- unsigned int map_notascii : 1;
- unsigned int word_ops_used : 1;
- int mb_cur_max;
- bitset_t word_char;
- reg_syntax_t syntax;
- Idx *subexp_map;
-#ifdef DEBUG
- char* re_str;
-#endif
-#ifdef _LIBC
- __libc_lock_define (, lock)
-#endif
-};
-
-#define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set))
-#define re_node_set_remove(set,id) \
- (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1))
-#define re_node_set_empty(p) ((p)->nelem = 0)
-#define re_node_set_free(set) re_free ((set)->elems)
-
-
-typedef enum
-{
- SB_CHAR,
- MB_CHAR,
- EQUIV_CLASS,
- COLL_SYM,
- CHAR_CLASS
-} bracket_elem_type;
-
-typedef struct
-{
- bracket_elem_type type;
- union
- {
- unsigned char ch;
- unsigned char *name;
- wchar_t wch;
- } opr;
-} bracket_elem_t;
-
-
-/* Inline functions for bitset_t operation. */
-
-static inline void
-bitset_set (bitset_t set, Idx i)
-{
- set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS;
-}
-
-static inline void
-bitset_clear (bitset_t set, Idx i)
-{
- set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS);
-}
-
-static inline bool
-bitset_contain (const bitset_t set, Idx i)
-{
- return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1;
-}
-
-static inline void
-bitset_empty (bitset_t set)
-{
- memset (set, '\0', sizeof (bitset_t));
-}
-
-static inline void
-bitset_set_all (bitset_t set)
-{
- memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS));
- if (SBC_MAX % BITSET_WORD_BITS != 0)
- set[BITSET_WORDS - 1] =
- ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1;
-}
-
-static inline void
-bitset_copy (bitset_t dest, const bitset_t src)
-{
- memcpy (dest, src, sizeof (bitset_t));
-}
-
-static inline void
-bitset_not (bitset_t set)
-{
- int bitset_i;
- for (bitset_i = 0; bitset_i < SBC_MAX / BITSET_WORD_BITS; ++bitset_i)
- set[bitset_i] = ~set[bitset_i];
- if (SBC_MAX % BITSET_WORD_BITS != 0)
- set[BITSET_WORDS - 1] =
- ((((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1)
- & ~set[BITSET_WORDS - 1]);
-}
-
-static inline void
-bitset_merge (bitset_t dest, const bitset_t src)
-{
- int bitset_i;
- for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i)
- dest[bitset_i] |= src[bitset_i];
-}
-
-static inline void
-bitset_mask (bitset_t dest, const bitset_t src)
-{
- int bitset_i;
- for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i)
- dest[bitset_i] &= src[bitset_i];
-}
-
-#ifdef RE_ENABLE_I18N
-/* Inline functions for re_string. */
-static inline int
-internal_function __attribute ((pure))
-re_string_char_size_at (const re_string_t *pstr, Idx idx)
-{
- int byte_idx;
- if (pstr->mb_cur_max == 1)
- return 1;
- for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx)
- if (pstr->wcs[idx + byte_idx] != WEOF)
- break;
- return byte_idx;
-}
-
-static inline wint_t
-internal_function __attribute ((pure))
-re_string_wchar_at (const re_string_t *pstr, Idx idx)
-{
- if (pstr->mb_cur_max == 1)
- return (wint_t) pstr->mbs[idx];
- return (wint_t) pstr->wcs[idx];
-}
-
-static int
-internal_function __attribute ((pure))
-re_string_elem_size_at (const re_string_t *pstr, Idx idx)
-{
-# ifdef _LIBC
- const unsigned char *p, *extra;
- const int32_t *table, *indirect;
- int32_t tmp;
-# include <locale/weight.h>
- uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
-
- if (nrules != 0)
- {
- table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
- extra = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
- indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
- _NL_COLLATE_INDIRECTMB);
- p = pstr->mbs + idx;
- tmp = findidx (&p);
- return p - pstr->mbs - idx;
- }
- else
-# endif /* _LIBC */
- return 1;
-}
-#endif /* RE_ENABLE_I18N */
-
-#endif /* _REGEX_INTERNAL_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/regexec.c b/sources/host-tools/sed-4.2.1/lib/regexec.c
deleted file mode 100644
index 4853551..0000000
--- a/sources/host-tools/sed-4.2.1/lib/regexec.c
+++ /dev/null
@@ -1,4409 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
- Idx n) internal_function;
-static void match_ctx_clean (re_match_context_t *mctx) internal_function;
-static void match_ctx_free (re_match_context_t *cache) internal_function;
-static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node,
- Idx str_idx, Idx from, Idx to)
- internal_function;
-static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
- internal_function;
-static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node,
- Idx str_idx) internal_function;
-static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop,
- Idx node, Idx str_idx)
- internal_function;
-static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
- re_dfastate_t **limited_sts, Idx last_node,
- Idx last_str_idx)
- internal_function;
-static reg_errcode_t re_search_internal (const regex_t *preg,
- const char *string, Idx length,
- Idx start, Idx last_start, Idx stop,
- size_t nmatch, regmatch_t pmatch[],
- int eflags) internal_function;
-static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp,
- const char *string1, Idx length1,
- const char *string2, Idx length2,
- Idx start, regoff_t range,
- struct re_registers *regs,
- Idx stop, bool ret_len) internal_function;
-static regoff_t re_search_stub (struct re_pattern_buffer *bufp,
- const char *string, Idx length, Idx start,
- regoff_t range, Idx stop,
- struct re_registers *regs,
- bool ret_len) internal_function;
-static unsigned int re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
- Idx nregs, int regs_allocated)
- internal_function;
-static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx)
- internal_function;
-static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match,
- Idx *p_match_first) internal_function;
-static Idx check_halt_state_context (const re_match_context_t *mctx,
- const re_dfastate_t *state, Idx idx)
- internal_function;
-static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
- regmatch_t *prev_idx_match, Idx cur_node,
- Idx cur_idx, Idx nmatch) internal_function;
-static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs,
- Idx str_idx, Idx dest_node, Idx nregs,
- regmatch_t *regs,
- re_node_set *eps_via_nodes)
- internal_function;
-static reg_errcode_t set_regs (const regex_t *preg,
- const re_match_context_t *mctx,
- size_t nmatch, regmatch_t *pmatch,
- bool fl_backtrack) internal_function;
-static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs)
- internal_function;
-
-#ifdef RE_ENABLE_I18N
-static int sift_states_iter_mb (const re_match_context_t *mctx,
- re_sift_context_t *sctx,
- Idx node_idx, Idx str_idx, Idx max_str_idx)
- internal_function;
-#endif /* RE_ENABLE_I18N */
-static reg_errcode_t sift_states_backward (const re_match_context_t *mctx,
- re_sift_context_t *sctx)
- internal_function;
-static reg_errcode_t build_sifted_states (const re_match_context_t *mctx,
- re_sift_context_t *sctx, Idx str_idx,
- re_node_set *cur_dest)
- internal_function;
-static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx,
- re_sift_context_t *sctx,
- Idx str_idx,
- re_node_set *dest_nodes)
- internal_function;
-static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa,
- re_node_set *dest_nodes,
- const re_node_set *candidates)
- internal_function;
-static bool check_dst_limits (const re_match_context_t *mctx,
- const re_node_set *limits,
- Idx dst_node, Idx dst_idx, Idx src_node,
- Idx src_idx) internal_function;
-static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx,
- int boundaries, Idx subexp_idx,
- Idx from_node, Idx bkref_idx)
- internal_function;
-static int check_dst_limits_calc_pos (const re_match_context_t *mctx,
- Idx limit, Idx subexp_idx,
- Idx node, Idx str_idx,
- Idx bkref_idx) internal_function;
-static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa,
- re_node_set *dest_nodes,
- const re_node_set *candidates,
- re_node_set *limits,
- struct re_backref_cache_entry *bkref_ents,
- Idx str_idx) internal_function;
-static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx,
- re_sift_context_t *sctx,
- Idx str_idx, const re_node_set *candidates)
- internal_function;
-static reg_errcode_t merge_state_array (const re_dfa_t *dfa,
- re_dfastate_t **dst,
- re_dfastate_t **src, Idx num)
- internal_function;
-static re_dfastate_t *find_recover_state (reg_errcode_t *err,
- re_match_context_t *mctx) internal_function;
-static re_dfastate_t *transit_state (reg_errcode_t *err,
- re_match_context_t *mctx,
- re_dfastate_t *state) internal_function;
-static re_dfastate_t *merge_state_with_log (reg_errcode_t *err,
- re_match_context_t *mctx,
- re_dfastate_t *next_state)
- internal_function;
-static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx,
- re_node_set *cur_nodes,
- Idx str_idx) internal_function;
-#if 0
-static re_dfastate_t *transit_state_sb (reg_errcode_t *err,
- re_match_context_t *mctx,
- re_dfastate_t *pstate)
- internal_function;
-#endif
-#ifdef RE_ENABLE_I18N
-static reg_errcode_t transit_state_mb (re_match_context_t *mctx,
- re_dfastate_t *pstate)
- internal_function;
-#endif /* RE_ENABLE_I18N */
-static reg_errcode_t transit_state_bkref (re_match_context_t *mctx,
- const re_node_set *nodes)
- internal_function;
-static reg_errcode_t get_subexp (re_match_context_t *mctx,
- Idx bkref_node, Idx bkref_str_idx)
- internal_function;
-static reg_errcode_t get_subexp_sub (re_match_context_t *mctx,
- const re_sub_match_top_t *sub_top,
- re_sub_match_last_t *sub_last,
- Idx bkref_node, Idx bkref_str)
- internal_function;
-static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
- Idx subexp_idx, int type) internal_function;
-static reg_errcode_t check_arrival (re_match_context_t *mctx,
- state_array_t *path, Idx top_node,
- Idx top_str, Idx last_node, Idx last_str,
- int type) internal_function;
-static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx,
- Idx str_idx,
- re_node_set *cur_nodes,
- re_node_set *next_nodes)
- internal_function;
-static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa,
- re_node_set *cur_nodes,
- Idx ex_subexp, int type)
- internal_function;
-static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa,
- re_node_set *dst_nodes,
- Idx target, Idx ex_subexp,
- int type) internal_function;
-static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx,
- re_node_set *cur_nodes, Idx cur_str,
- Idx subexp_num, int type)
- internal_function;
-static bool build_trtable (const re_dfa_t *dfa,
- re_dfastate_t *state) internal_function;
-#ifdef RE_ENABLE_I18N
-static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
- const re_string_t *input, Idx idx)
- internal_function;
-# ifdef _LIBC
-static unsigned int find_collation_sequence_value (const unsigned char *mbs,
- size_t name_len)
- internal_function;
-# endif /* _LIBC */
-#endif /* RE_ENABLE_I18N */
-static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa,
- const re_dfastate_t *state,
- re_node_set *states_node,
- bitset_t *states_ch) internal_function;
-static bool check_node_accept (const re_match_context_t *mctx,
- const re_token_t *node, Idx idx)
- internal_function;
-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
- internal_function;
-
-/* Entry point for POSIX code. */
-
-/* regexec searches for a given pattern, specified by PREG, in the
- string STRING.
-
- If NMATCH is zero or REG_NOSUB was set in the cflags argument to
- `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at
- least NMATCH elements, and we set them to the offsets of the
- corresponding matched substrings.
-
- EFLAGS specifies `execution flags' which affect matching: if
- REG_NOTBOL is set, then ^ does not match at the beginning of the
- string; if REG_NOTEOL is set, then $ does not match at the end.
-
- We return 0 if we find a match and REG_NOMATCH if not. */
-
-int
-regexec (preg, string, nmatch, pmatch, eflags)
- const regex_t *_Restrict_ preg;
- const char *_Restrict_ string;
- size_t nmatch;
- regmatch_t pmatch[_Restrict_arr_];
- int eflags;
-{
- reg_errcode_t err;
- Idx start, length;
-#ifdef _LIBC
- re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
-#endif
-
- if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND))
- return REG_BADPAT;
-
- if (eflags & REG_STARTEND)
- {
- start = pmatch[0].rm_so;
- length = pmatch[0].rm_eo;
- }
- else
- {
- start = 0;
- length = strlen (string);
- }
-
- __libc_lock_lock (dfa->lock);
- if (preg->no_sub)
- err = re_search_internal (preg, string, length, start, length,
- length, 0, NULL, eflags);
- else
- err = re_search_internal (preg, string, length, start, length,
- length, nmatch, pmatch, eflags);
- __libc_lock_unlock (dfa->lock);
- return err != REG_NOERROR;
-}
-
-#ifdef _LIBC
-# include <shlib-compat.h>
-versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4);
-
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-__typeof__ (__regexec) __compat_regexec;
-
-int
-attribute_compat_text_section
-__compat_regexec (const regex_t *_Restrict_ preg,
- const char *_Restrict_ string, size_t nmatch,
- regmatch_t pmatch[], int eflags)
-{
- return regexec (preg, string, nmatch, pmatch,
- eflags & (REG_NOTBOL | REG_NOTEOL));
-}
-compat_symbol (libc, __compat_regexec, regexec, GLIBC_2_0);
-# endif
-#endif
-
-/* Entry points for GNU code. */
-
-/* re_match, re_search, re_match_2, re_search_2
-
- The former two functions operate on STRING with length LENGTH,
- while the later two operate on concatenation of STRING1 and STRING2
- with lengths LENGTH1 and LENGTH2, respectively.
-
- re_match() matches the compiled pattern in BUFP against the string,
- starting at index START.
-
- re_search() first tries matching at index START, then it tries to match
- starting from index START + 1, and so on. The last start position tried
- is START + RANGE. (Thus RANGE = 0 forces re_search to operate the same
- way as re_match().)
-
- The parameter STOP of re_{match,search}_2 specifies that no match exceeding
- the first STOP characters of the concatenation of the strings should be
- concerned.
-
- If REGS is not NULL, and BUFP->no_sub is not set, the offsets of the match
- and all groups is stored in REGS. (For the "_2" variants, the offsets are
- computed relative to the concatenation, not relative to the individual
- strings.)
-
- On success, re_match* functions return the length of the match, re_search*
- return the position of the start of the match. Return value -1 means no
- match was found and -2 indicates an internal error. */
-
-regoff_t
-re_match (bufp, string, length, start, regs)
- struct re_pattern_buffer *bufp;
- const char *string;
- Idx length, start;
- struct re_registers *regs;
-{
- return re_search_stub (bufp, string, length, start, 0, length, regs, true);
-}
-#ifdef _LIBC
-weak_alias (__re_match, re_match)
-#endif
-
-regoff_t
-re_search (bufp, string, length, start, range, regs)
- struct re_pattern_buffer *bufp;
- const char *string;
- Idx length, start;
- regoff_t range;
- struct re_registers *regs;
-{
- return re_search_stub (bufp, string, length, start, range, length, regs,
- false);
-}
-#ifdef _LIBC
-weak_alias (__re_search, re_search)
-#endif
-
-regoff_t
-re_match_2 (bufp, string1, length1, string2, length2, start, regs, stop)
- struct re_pattern_buffer *bufp;
- const char *string1, *string2;
- Idx length1, length2, start, stop;
- struct re_registers *regs;
-{
- return re_search_2_stub (bufp, string1, length1, string2, length2,
- start, 0, regs, stop, true);
-}
-#ifdef _LIBC
-weak_alias (__re_match_2, re_match_2)
-#endif
-
-regoff_t
-re_search_2 (bufp, string1, length1, string2, length2, start, range, regs, stop)
- struct re_pattern_buffer *bufp;
- const char *string1, *string2;
- Idx length1, length2, start, stop;
- regoff_t range;
- struct re_registers *regs;
-{
- return re_search_2_stub (bufp, string1, length1, string2, length2,
- start, range, regs, stop, false);
-}
-#ifdef _LIBC
-weak_alias (__re_search_2, re_search_2)
-#endif
-
-static regoff_t
-internal_function
-re_search_2_stub (struct re_pattern_buffer *bufp,
- const char *string1, Idx length1,
- const char *string2, Idx length2,
- Idx start, regoff_t range, struct re_registers *regs,
- Idx stop, bool ret_len)
-{
- const char *str;
- regoff_t rval;
- Idx len = length1 + length2;
- char *s = NULL;
-
- if (BE (length1 < 0 || length2 < 0 || stop < 0 || len < length1, 0))
- return -2;
-
- /* Concatenate the strings. */
- if (length2 > 0)
- if (length1 > 0)
- {
- s = re_malloc (char, len);
-
- if (BE (s == NULL, 0))
- return -2;
-#ifdef _LIBC
- memcpy (__mempcpy (s, string1, length1), string2, length2);
-#else
- memcpy (s, string1, length1);
- memcpy (s + length1, string2, length2);
-#endif
- str = s;
- }
- else
- str = string2;
- else
- str = string1;
-
- rval = re_search_stub (bufp, str, len, start, range, stop, regs,
- ret_len);
- re_free (s);
- return rval;
-}
-
-/* The parameters have the same meaning as those of re_search.
- Additional parameters:
- If RET_LEN is true the length of the match is returned (re_match style);
- otherwise the position of the match is returned. */
-
-static regoff_t
-internal_function
-re_search_stub (struct re_pattern_buffer *bufp,
- const char *string, Idx length,
- Idx start, regoff_t range, Idx stop, struct re_registers *regs,
- bool ret_len)
-{
- reg_errcode_t result;
- regmatch_t *pmatch;
- Idx nregs;
- regoff_t rval;
- int eflags = 0;
-#ifdef _LIBC
- re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
-#endif
- Idx last_start = start + range;
-
- /* Check for out-of-range. */
- if (BE (start < 0 || start > length, 0))
- return -1;
- if (BE (length < last_start || (0 <= range && last_start < start), 0))
- last_start = length;
- else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0))
- last_start = 0;
-
- __libc_lock_lock (dfa->lock);
-
- eflags |= (bufp->not_bol) ? REG_NOTBOL : 0;
- eflags |= (bufp->not_eol) ? REG_NOTEOL : 0;
-
- /* Compile fastmap if we haven't yet. */
- if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate)
- re_compile_fastmap (bufp);
-
- if (BE (bufp->no_sub, 0))
- regs = NULL;
-
- /* We need at least 1 register. */
- if (regs == NULL)
- nregs = 1;
- else if (BE (bufp->regs_allocated == REGS_FIXED
- && regs->num_regs <= bufp->re_nsub, 0))
- {
- nregs = regs->num_regs;
- if (BE (nregs < 1, 0))
- {
- /* Nothing can be copied to regs. */
- regs = NULL;
- nregs = 1;
- }
- }
- else
- nregs = bufp->re_nsub + 1;
- pmatch = re_malloc (regmatch_t, nregs);
- if (BE (pmatch == NULL, 0))
- {
- rval = -2;
- goto out;
- }
-
- result = re_search_internal (bufp, string, length, start, last_start, stop,
- nregs, pmatch, eflags);
-
- rval = 0;
-
- /* I hope we needn't fill ther regs with -1's when no match was found. */
- if (result != REG_NOERROR)
- rval = -1;
- else if (regs != NULL)
- {
- /* If caller wants register contents data back, copy them. */
- bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs,
- bufp->regs_allocated);
- if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0))
- rval = -2;
- }
-
- if (BE (rval == 0, 1))
- {
- if (ret_len)
- {
- assert (pmatch[0].rm_so == start);
- rval = pmatch[0].rm_eo - start;
- }
- else
- rval = pmatch[0].rm_so;
- }
- re_free (pmatch);
- out:
- __libc_lock_unlock (dfa->lock);
- return rval;
-}
-
-static unsigned int
-internal_function
-re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
- int regs_allocated)
-{
- int rval = REGS_REALLOCATE;
- Idx i;
- Idx need_regs = nregs + 1;
- /* We need one extra element beyond `num_regs' for the `-1' marker GNU code
- uses. */
-
- /* Have the register data arrays been allocated? */
- if (regs_allocated == REGS_UNALLOCATED)
- { /* No. So allocate them with malloc. */
- regs->start = re_malloc (regoff_t, need_regs);
- if (BE (regs->start == NULL, 0))
- return REGS_UNALLOCATED;
- regs->end = re_malloc (regoff_t, need_regs);
- if (BE (regs->end == NULL, 0))
- {
- re_free (regs->start);
- return REGS_UNALLOCATED;
- }
- regs->num_regs = need_regs;
- }
- else if (regs_allocated == REGS_REALLOCATE)
- { /* Yes. If we need more elements than were already
- allocated, reallocate them. If we need fewer, just
- leave it alone. */
- if (BE (need_regs > regs->num_regs, 0))
- {
- regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs);
- regoff_t *new_end;
- if (BE (new_start == NULL, 0))
- return REGS_UNALLOCATED;
- new_end = re_realloc (regs->end, regoff_t, need_regs);
- if (BE (new_end == NULL, 0))
- {
- re_free (new_start);
- return REGS_UNALLOCATED;
- }
- regs->start = new_start;
- regs->end = new_end;
- regs->num_regs = need_regs;
- }
- }
- else
- {
- assert (regs_allocated == REGS_FIXED);
- /* This function may not be called with REGS_FIXED and nregs too big. */
- assert (regs->num_regs >= nregs);
- rval = REGS_FIXED;
- }
-
- /* Copy the regs. */
- for (i = 0; i < nregs; ++i)
- {
- regs->start[i] = pmatch[i].rm_so;
- regs->end[i] = pmatch[i].rm_eo;
- }
- for ( ; i < regs->num_regs; ++i)
- regs->start[i] = regs->end[i] = -1;
-
- return rval;
-}
-
-/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
- ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use
- this memory for recording register information. STARTS and ENDS
- must be allocated using the malloc library routine, and must each
- be at least NUM_REGS * sizeof (regoff_t) bytes long.
-
- If NUM_REGS == 0, then subsequent matches should allocate their own
- register data.
-
- Unless this function is called, the first search or match using
- PATTERN_BUFFER will allocate its own register data, without
- freeing the old data. */
-
-void
-re_set_registers (bufp, regs, num_regs, starts, ends)
- struct re_pattern_buffer *bufp;
- struct re_registers *regs;
- __re_size_t num_regs;
- regoff_t *starts, *ends;
-{
- if (num_regs)
- {
- bufp->regs_allocated = REGS_REALLOCATE;
- regs->num_regs = num_regs;
- regs->start = starts;
- regs->end = ends;
- }
- else
- {
- bufp->regs_allocated = REGS_UNALLOCATED;
- regs->num_regs = 0;
- regs->start = regs->end = NULL;
- }
-}
-#ifdef _LIBC
-weak_alias (__re_set_registers, re_set_registers)
-#endif
-
-/* Entry points compatible with 4.2 BSD regex library. We don't define
- them unless specifically requested. */
-
-#if defined _REGEX_RE_COMP || defined _LIBC
-int
-# ifdef _LIBC
-weak_function
-# endif
-re_exec (s)
- const char *s;
-{
- return 0 == regexec (&re_comp_buf, s, 0, NULL, 0);
-}
-#endif /* _REGEX_RE_COMP */
-
-/* Internal entry point. */
-
-/* Searches for a compiled pattern PREG in the string STRING, whose
- length is LENGTH. NMATCH, PMATCH, and EFLAGS have the same
- meaning as with regexec. LAST_START is START + RANGE, where
- START and RANGE have the same meaning as with re_search.
- Return REG_NOERROR if we find a match, and REG_NOMATCH if not,
- otherwise return the error code.
- Note: We assume front end functions already check ranges.
- (0 <= LAST_START && LAST_START <= LENGTH) */
-
-static reg_errcode_t
-internal_function
-re_search_internal (const regex_t *preg,
- const char *string, Idx length,
- Idx start, Idx last_start, Idx stop,
- size_t nmatch, regmatch_t pmatch[],
- int eflags)
-{
- reg_errcode_t err;
- const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer;
- Idx left_lim, right_lim;
- int incr;
- bool fl_longest_match;
- int match_kind;
- Idx match_first;
- Idx match_last = REG_MISSING;
- Idx extra_nmatch;
- bool sb;
- int ch;
-#if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
- re_match_context_t mctx = { .dfa = dfa };
-#else
- re_match_context_t mctx;
-#endif
- char *fastmap = ((preg->fastmap != NULL && preg->fastmap_accurate
- && start != last_start && !preg->can_be_null)
- ? preg->fastmap : NULL);
- RE_TRANSLATE_TYPE t = preg->translate;
-
-#if !(defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
- memset (&mctx, '\0', sizeof (re_match_context_t));
- mctx.dfa = dfa;
-#endif
-
- extra_nmatch = (nmatch > preg->re_nsub) ? nmatch - (preg->re_nsub + 1) : 0;
- nmatch -= extra_nmatch;
-
- /* Check if the DFA haven't been compiled. */
- if (BE (preg->used == 0 || dfa->init_state == NULL
- || dfa->init_state_word == NULL || dfa->init_state_nl == NULL
- || dfa->init_state_begbuf == NULL, 0))
- return REG_NOMATCH;
-
-#ifdef DEBUG
- /* We assume front-end functions already check them. */
- assert (0 <= last_start && last_start <= length);
-#endif
-
- /* If initial states with non-begbuf contexts have no elements,
- the regex must be anchored. If preg->newline_anchor is set,
- we'll never use init_state_nl, so do not check it. */
- if (dfa->init_state->nodes.nelem == 0
- && dfa->init_state_word->nodes.nelem == 0
- && (dfa->init_state_nl->nodes.nelem == 0
- || !preg->newline_anchor))
- {
- if (start != 0 && last_start != 0)
- return REG_NOMATCH;
- start = last_start = 0;
- }
-
- /* We must check the longest matching, if nmatch > 0. */
- fl_longest_match = (nmatch != 0 || dfa->nbackref);
-
- err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1,
- preg->translate, (preg->syntax & RE_ICASE) != 0,
- dfa);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- mctx.input.stop = stop;
- mctx.input.raw_stop = stop;
- mctx.input.newline_anchor = preg->newline_anchor;
-
- err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
-
- /* We will log all the DFA states through which the dfa pass,
- if nmatch > 1, or this dfa has "multibyte node", which is a
- back-reference or a node which can accept multibyte character or
- multi character collating element. */
- if (nmatch > 1 || dfa->has_mb_node)
- {
- /* Avoid overflow. */
- if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= mctx.input.bufs_len, 0))
- {
- err = REG_ESPACE;
- goto free_return;
- }
-
- mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1);
- if (BE (mctx.state_log == NULL, 0))
- {
- err = REG_ESPACE;
- goto free_return;
- }
- }
- else
- mctx.state_log = NULL;
-
- match_first = start;
- mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF
- : CONTEXT_NEWLINE | CONTEXT_BEGBUF;
-
- /* Check incrementally whether of not the input string match. */
- incr = (last_start < start) ? -1 : 1;
- left_lim = (last_start < start) ? last_start : start;
- right_lim = (last_start < start) ? start : last_start;
- sb = dfa->mb_cur_max == 1;
- match_kind =
- (fastmap
- ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0)
- | (start <= last_start ? 2 : 0)
- | (t != NULL ? 1 : 0))
- : 8);
-
- for (;; match_first += incr)
- {
- err = REG_NOMATCH;
- if (match_first < left_lim || right_lim < match_first)
- goto free_return;
-
- /* Advance as rapidly as possible through the string, until we
- find a plausible place to start matching. This may be done
- with varying efficiency, so there are various possibilities:
- only the most common of them are specialized, in order to
- save on code size. We use a switch statement for speed. */
- switch (match_kind)
- {
- case 8:
- /* No fastmap. */
- break;
-
- case 7:
- /* Fastmap with single-byte translation, match forward. */
- while (BE (match_first < right_lim, 1)
- && !fastmap[t[(unsigned char) string[match_first]]])
- ++match_first;
- goto forward_match_found_start_or_reached_end;
-
- case 6:
- /* Fastmap without translation, match forward. */
- while (BE (match_first < right_lim, 1)
- && !fastmap[(unsigned char) string[match_first]])
- ++match_first;
-
- forward_match_found_start_or_reached_end:
- if (BE (match_first == right_lim, 0))
- {
- ch = match_first >= length
- ? 0 : (unsigned char) string[match_first];
- if (!fastmap[t ? t[ch] : ch])
- goto free_return;
- }
- break;
-
- case 4:
- case 5:
- /* Fastmap without multi-byte translation, match backwards. */
- while (match_first >= left_lim)
- {
- ch = match_first >= length
- ? 0 : (unsigned char) string[match_first];
- if (fastmap[t ? t[ch] : ch])
- break;
- --match_first;
- }
- if (match_first < left_lim)
- goto free_return;
- break;
-
- default:
- /* In this case, we can't determine easily the current byte,
- since it might be a component byte of a multibyte
- character. Then we use the constructed buffer instead. */
- for (;;)
- {
- /* If MATCH_FIRST is out of the valid range, reconstruct the
- buffers. */
- __re_size_t offset = match_first - mctx.input.raw_mbs_idx;
- if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0))
- {
- err = re_string_reconstruct (&mctx.input, match_first,
- eflags);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
-
- offset = match_first - mctx.input.raw_mbs_idx;
- }
- /* If MATCH_FIRST is out of the buffer, leave it as '\0'.
- Note that MATCH_FIRST must not be smaller than 0. */
- ch = (match_first >= length
- ? 0 : re_string_byte_at (&mctx.input, offset));
- if (fastmap[ch])
- break;
- match_first += incr;
- if (match_first < left_lim || match_first > right_lim)
- {
- err = REG_NOMATCH;
- goto free_return;
- }
- }
- break;
- }
-
- /* Reconstruct the buffers so that the matcher can assume that
- the matching starts from the beginning of the buffer. */
- err = re_string_reconstruct (&mctx.input, match_first, eflags);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
-
-#ifdef RE_ENABLE_I18N
- /* Don't consider this char as a possible match start if it part,
- yet isn't the head, of a multibyte character. */
- if (!sb && !re_string_first_byte (&mctx.input, 0))
- continue;
-#endif
-
- /* It seems to be appropriate one, then use the matcher. */
- /* We assume that the matching starts from 0. */
- mctx.state_log_top = mctx.nbkref_ents = mctx.max_mb_elem_len = 0;
- match_last = check_matching (&mctx, fl_longest_match,
- start <= last_start ? &match_first : NULL);
- if (match_last != REG_MISSING)
- {
- if (BE (match_last == REG_ERROR, 0))
- {
- err = REG_ESPACE;
- goto free_return;
- }
- else
- {
- mctx.match_last = match_last;
- if ((!preg->no_sub && nmatch > 1) || dfa->nbackref)
- {
- re_dfastate_t *pstate = mctx.state_log[match_last];
- mctx.last_node = check_halt_state_context (&mctx, pstate,
- match_last);
- }
- if ((!preg->no_sub && nmatch > 1 && dfa->has_plural_match)
- || dfa->nbackref)
- {
- err = prune_impossible_nodes (&mctx);
- if (err == REG_NOERROR)
- break;
- if (BE (err != REG_NOMATCH, 0))
- goto free_return;
- match_last = REG_MISSING;
- }
- else
- break; /* We found a match. */
- }
- }
-
- match_ctx_clean (&mctx);
- }
-
-#ifdef DEBUG
- assert (match_last != REG_MISSING);
- assert (err == REG_NOERROR);
-#endif
-
- /* Set pmatch[] if we need. */
- if (nmatch > 0)
- {
- Idx reg_idx;
-
- /* Initialize registers. */
- for (reg_idx = 1; reg_idx < nmatch; ++reg_idx)
- pmatch[reg_idx].rm_so = pmatch[reg_idx].rm_eo = -1;
-
- /* Set the points where matching start/end. */
- pmatch[0].rm_so = 0;
- pmatch[0].rm_eo = mctx.match_last;
- /* FIXME: This function should fail if mctx.match_last exceeds
- the maximum possible regoff_t value. We need a new error
- code REG_OVERFLOW. */
-
- if (!preg->no_sub && nmatch > 1)
- {
- err = set_regs (preg, &mctx, nmatch, pmatch,
- dfa->has_plural_match && dfa->nbackref > 0);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
-
- /* At last, add the offset to the each registers, since we slided
- the buffers so that we could assume that the matching starts
- from 0. */
- for (reg_idx = 0; reg_idx < nmatch; ++reg_idx)
- if (pmatch[reg_idx].rm_so != -1)
- {
-#ifdef RE_ENABLE_I18N
- if (BE (mctx.input.offsets_needed != 0, 0))
- {
- pmatch[reg_idx].rm_so =
- (pmatch[reg_idx].rm_so == mctx.input.valid_len
- ? mctx.input.valid_raw_len
- : mctx.input.offsets[pmatch[reg_idx].rm_so]);
- pmatch[reg_idx].rm_eo =
- (pmatch[reg_idx].rm_eo == mctx.input.valid_len
- ? mctx.input.valid_raw_len
- : mctx.input.offsets[pmatch[reg_idx].rm_eo]);
- }
-#else
- assert (mctx.input.offsets_needed == 0);
-#endif
- pmatch[reg_idx].rm_so += match_first;
- pmatch[reg_idx].rm_eo += match_first;
- }
- for (reg_idx = 0; reg_idx < extra_nmatch; ++reg_idx)
- {
- pmatch[nmatch + reg_idx].rm_so = -1;
- pmatch[nmatch + reg_idx].rm_eo = -1;
- }
-
- if (dfa->subexp_map)
- for (reg_idx = 0; reg_idx + 1 < nmatch; reg_idx++)
- if (dfa->subexp_map[reg_idx] != reg_idx)
- {
- pmatch[reg_idx + 1].rm_so
- = pmatch[dfa->subexp_map[reg_idx] + 1].rm_so;
- pmatch[reg_idx + 1].rm_eo
- = pmatch[dfa->subexp_map[reg_idx] + 1].rm_eo;
- }
- }
-
- free_return:
- re_free (mctx.state_log);
- if (dfa->nbackref)
- match_ctx_free (&mctx);
- re_string_destruct (&mctx.input);
- return err;
-}
-
-static reg_errcode_t
-internal_function
-prune_impossible_nodes (re_match_context_t *mctx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx halt_node, match_last;
- reg_errcode_t ret;
- re_dfastate_t **sifted_states;
- re_dfastate_t **lim_states = NULL;
- re_sift_context_t sctx;
-#ifdef DEBUG
- assert (mctx->state_log != NULL);
-#endif
- match_last = mctx->match_last;
- halt_node = mctx->last_node;
-
- /* Avoid overflow. */
- if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= match_last, 0))
- return REG_ESPACE;
-
- sifted_states = re_malloc (re_dfastate_t *, match_last + 1);
- if (BE (sifted_states == NULL, 0))
- {
- ret = REG_ESPACE;
- goto free_return;
- }
- if (dfa->nbackref)
- {
- lim_states = re_malloc (re_dfastate_t *, match_last + 1);
- if (BE (lim_states == NULL, 0))
- {
- ret = REG_ESPACE;
- goto free_return;
- }
- while (1)
- {
- memset (lim_states, '\0',
- sizeof (re_dfastate_t *) * (match_last + 1));
- sift_ctx_init (&sctx, sifted_states, lim_states, halt_node,
- match_last);
- ret = sift_states_backward (mctx, &sctx);
- re_node_set_free (&sctx.limits);
- if (BE (ret != REG_NOERROR, 0))
- goto free_return;
- if (sifted_states[0] != NULL || lim_states[0] != NULL)
- break;
- do
- {
- --match_last;
- if (! REG_VALID_INDEX (match_last))
- {
- ret = REG_NOMATCH;
- goto free_return;
- }
- } while (mctx->state_log[match_last] == NULL
- || !mctx->state_log[match_last]->halt);
- halt_node = check_halt_state_context (mctx,
- mctx->state_log[match_last],
- match_last);
- }
- ret = merge_state_array (dfa, sifted_states, lim_states,
- match_last + 1);
- re_free (lim_states);
- lim_states = NULL;
- if (BE (ret != REG_NOERROR, 0))
- goto free_return;
- }
- else
- {
- sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last);
- ret = sift_states_backward (mctx, &sctx);
- re_node_set_free (&sctx.limits);
- if (BE (ret != REG_NOERROR, 0))
- goto free_return;
- if (sifted_states[0] == NULL)
- {
- ret = REG_NOMATCH;
- goto free_return;
- }
- }
- re_free (mctx->state_log);
- mctx->state_log = sifted_states;
- sifted_states = NULL;
- mctx->last_node = halt_node;
- mctx->match_last = match_last;
- ret = REG_NOERROR;
- free_return:
- re_free (sifted_states);
- re_free (lim_states);
- return ret;
-}
-
-/* Acquire an initial state and return it.
- We must select appropriate initial state depending on the context,
- since initial states may have constraints like "\<", "^", etc.. */
-
-static inline re_dfastate_t *
-__attribute ((always_inline)) internal_function
-acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
- Idx idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- if (dfa->init_state->has_constraint)
- {
- unsigned int context;
- context = re_string_context_at (&mctx->input, idx - 1, mctx->eflags);
- if (IS_WORD_CONTEXT (context))
- return dfa->init_state_word;
- else if (IS_ORDINARY_CONTEXT (context))
- return dfa->init_state;
- else if (IS_BEGBUF_CONTEXT (context) && IS_NEWLINE_CONTEXT (context))
- return dfa->init_state_begbuf;
- else if (IS_NEWLINE_CONTEXT (context))
- return dfa->init_state_nl;
- else if (IS_BEGBUF_CONTEXT (context))
- {
- /* It is relatively rare case, then calculate on demand. */
- return re_acquire_state_context (err, dfa,
- dfa->init_state->entrance_nodes,
- context);
- }
- else
- /* Must not happen? */
- return dfa->init_state;
- }
- else
- return dfa->init_state;
-}
-
-/* Check whether the regular expression match input string INPUT or not,
- and return the index where the matching end. Return REG_MISSING if
- there is no match, and return REG_ERROR in case of an error.
- FL_LONGEST_MATCH means we want the POSIX longest matching.
- If P_MATCH_FIRST is not NULL, and the match fails, it is set to the
- next place where we may want to try matching.
- Note that the matcher assume that the maching starts from the current
- index of the buffer. */
-
-static Idx
-internal_function
-check_matching (re_match_context_t *mctx, bool fl_longest_match,
- Idx *p_match_first)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err;
- Idx match = 0;
- Idx match_last = REG_MISSING;
- Idx cur_str_idx = re_string_cur_idx (&mctx->input);
- re_dfastate_t *cur_state;
- bool at_init_state = p_match_first != NULL;
- Idx next_start_idx = cur_str_idx;
-
- err = REG_NOERROR;
- cur_state = acquire_init_state_context (&err, mctx, cur_str_idx);
- /* An initial state must not be NULL (invalid). */
- if (BE (cur_state == NULL, 0))
- {
- assert (err == REG_ESPACE);
- return REG_ERROR;
- }
-
- if (mctx->state_log != NULL)
- {
- mctx->state_log[cur_str_idx] = cur_state;
-
- /* Check OP_OPEN_SUBEXP in the initial state in case that we use them
- later. E.g. Processing back references. */
- if (BE (dfa->nbackref, 0))
- {
- at_init_state = false;
- err = check_subexp_matching_top (mctx, &cur_state->nodes, 0);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- if (cur_state->has_backref)
- {
- err = transit_state_bkref (mctx, &cur_state->nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- }
- }
-
- /* If the RE accepts NULL string. */
- if (BE (cur_state->halt, 0))
- {
- if (!cur_state->has_constraint
- || check_halt_state_context (mctx, cur_state, cur_str_idx))
- {
- if (!fl_longest_match)
- return cur_str_idx;
- else
- {
- match_last = cur_str_idx;
- match = 1;
- }
- }
- }
-
- while (!re_string_eoi (&mctx->input))
- {
- re_dfastate_t *old_state = cur_state;
- Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1;
-
- if (BE (next_char_idx >= mctx->input.bufs_len, 0)
- || (BE (next_char_idx >= mctx->input.valid_len, 0)
- && mctx->input.valid_len < mctx->input.len))
- {
- err = extend_buffers (mctx);
- if (BE (err != REG_NOERROR, 0))
- {
- assert (err == REG_ESPACE);
- return REG_ERROR;
- }
- }
-
- cur_state = transit_state (&err, mctx, cur_state);
- if (mctx->state_log != NULL)
- cur_state = merge_state_with_log (&err, mctx, cur_state);
-
- if (cur_state == NULL)
- {
- /* Reached the invalid state or an error. Try to recover a valid
- state using the state log, if available and if we have not
- already found a valid (even if not the longest) match. */
- if (BE (err != REG_NOERROR, 0))
- return REG_ERROR;
-
- if (mctx->state_log == NULL
- || (match && !fl_longest_match)
- || (cur_state = find_recover_state (&err, mctx)) == NULL)
- break;
- }
-
- if (BE (at_init_state, 0))
- {
- if (old_state == cur_state)
- next_start_idx = next_char_idx;
- else
- at_init_state = false;
- }
-
- if (cur_state->halt)
- {
- /* Reached a halt state.
- Check the halt state can satisfy the current context. */
- if (!cur_state->has_constraint
- || check_halt_state_context (mctx, cur_state,
- re_string_cur_idx (&mctx->input)))
- {
- /* We found an appropriate halt state. */
- match_last = re_string_cur_idx (&mctx->input);
- match = 1;
-
- /* We found a match, do not modify match_first below. */
- p_match_first = NULL;
- if (!fl_longest_match)
- break;
- }
- }
- }
-
- if (p_match_first)
- *p_match_first += next_start_idx;
-
- return match_last;
-}
-
-/* Check NODE match the current context. */
-
-static bool
-internal_function
-check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context)
-{
- re_token_type_t type = dfa->nodes[node].type;
- unsigned int constraint = dfa->nodes[node].constraint;
- if (type != END_OF_RE)
- return false;
- if (!constraint)
- return true;
- if (NOT_SATISFY_NEXT_CONSTRAINT (constraint, context))
- return false;
- return true;
-}
-
-/* Check the halt state STATE match the current context.
- Return 0 if not match, if the node, STATE has, is a halt node and
- match the context, return the node. */
-
-static Idx
-internal_function
-check_halt_state_context (const re_match_context_t *mctx,
- const re_dfastate_t *state, Idx idx)
-{
- Idx i;
- unsigned int context;
-#ifdef DEBUG
- assert (state->halt);
-#endif
- context = re_string_context_at (&mctx->input, idx, mctx->eflags);
- for (i = 0; i < state->nodes.nelem; ++i)
- if (check_halt_node_context (mctx->dfa, state->nodes.elems[i], context))
- return state->nodes.elems[i];
- return 0;
-}
-
-/* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA
- corresponding to the DFA).
- Return the destination node, and update EPS_VIA_NODES;
- return REG_MISSING in case of errors. */
-
-static Idx
-internal_function
-proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
- Idx *pidx, Idx node, re_node_set *eps_via_nodes,
- struct re_fail_stack_t *fs)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx i;
- bool ok;
- if (IS_EPSILON_NODE (dfa->nodes[node].type))
- {
- re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes;
- re_node_set *edests = &dfa->edests[node];
- Idx dest_node;
- ok = re_node_set_insert (eps_via_nodes, node);
- if (BE (! ok, 0))
- return REG_ERROR;
- /* Pick up a valid destination, or return REG_MISSING if none
- is found. */
- for (dest_node = REG_MISSING, i = 0; i < edests->nelem; ++i)
- {
- Idx candidate = edests->elems[i];
- if (!re_node_set_contains (cur_nodes, candidate))
- continue;
- if (dest_node == REG_MISSING)
- dest_node = candidate;
-
- else
- {
- /* In order to avoid infinite loop like "(a*)*", return the second
- epsilon-transition if the first was already considered. */
- if (re_node_set_contains (eps_via_nodes, dest_node))
- return candidate;
-
- /* Otherwise, push the second epsilon-transition on the fail stack. */
- else if (fs != NULL
- && push_fail_stack (fs, *pidx, candidate, nregs, regs,
- eps_via_nodes))
- return REG_ERROR;
-
- /* We know we are going to exit. */
- break;
- }
- }
- return dest_node;
- }
- else
- {
- Idx naccepted = 0;
- re_token_type_t type = dfa->nodes[node].type;
-
-#ifdef RE_ENABLE_I18N
- if (dfa->nodes[node].accept_mb)
- naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx);
- else
-#endif /* RE_ENABLE_I18N */
- if (type == OP_BACK_REF)
- {
- Idx subexp_idx = dfa->nodes[node].opr.idx + 1;
- naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so;
- if (fs != NULL)
- {
- if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1)
- return REG_MISSING;
- else if (naccepted)
- {
- char *buf = (char *) re_string_get_buffer (&mctx->input);
- if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
- naccepted) != 0)
- return REG_MISSING;
- }
- }
-
- if (naccepted == 0)
- {
- Idx dest_node;
- ok = re_node_set_insert (eps_via_nodes, node);
- if (BE (! ok, 0))
- return REG_ERROR;
- dest_node = dfa->edests[node].elems[0];
- if (re_node_set_contains (&mctx->state_log[*pidx]->nodes,
- dest_node))
- return dest_node;
- }
- }
-
- if (naccepted != 0
- || check_node_accept (mctx, dfa->nodes + node, *pidx))
- {
- Idx dest_node = dfa->nexts[node];
- *pidx = (naccepted == 0) ? *pidx + 1 : *pidx + naccepted;
- if (fs && (*pidx > mctx->match_last || mctx->state_log[*pidx] == NULL
- || !re_node_set_contains (&mctx->state_log[*pidx]->nodes,
- dest_node)))
- return REG_MISSING;
- re_node_set_empty (eps_via_nodes);
- return dest_node;
- }
- }
- return REG_MISSING;
-}
-
-static reg_errcode_t
-internal_function
-push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
- Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes)
-{
- reg_errcode_t err;
- Idx num = fs->num++;
- if (fs->num == fs->alloc)
- {
- struct re_fail_stack_ent_t *new_array;
- new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t)
- * fs->alloc * 2));
- if (new_array == NULL)
- return REG_ESPACE;
- fs->alloc *= 2;
- fs->stack = new_array;
- }
- fs->stack[num].idx = str_idx;
- fs->stack[num].node = dest_node;
- fs->stack[num].regs = re_malloc (regmatch_t, nregs);
- if (fs->stack[num].regs == NULL)
- return REG_ESPACE;
- memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs);
- err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes);
- return err;
-}
-
-static Idx
-internal_function
-pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,
- regmatch_t *regs, re_node_set *eps_via_nodes)
-{
- Idx num = --fs->num;
- assert (REG_VALID_INDEX (num));
- *pidx = fs->stack[num].idx;
- memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs);
- re_node_set_free (eps_via_nodes);
- re_free (fs->stack[num].regs);
- *eps_via_nodes = fs->stack[num].eps_via_nodes;
- return fs->stack[num].node;
-}
-
-/* Set the positions where the subexpressions are starts/ends to registers
- PMATCH.
- Note: We assume that pmatch[0] is already set, and
- pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch. */
-
-static reg_errcode_t
-internal_function
-set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
- regmatch_t *pmatch, bool fl_backtrack)
-{
- const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer;
- Idx idx, cur_node;
- re_node_set eps_via_nodes;
- struct re_fail_stack_t *fs;
- struct re_fail_stack_t fs_body = { 0, 2, NULL };
- regmatch_t *prev_idx_match;
- bool prev_idx_match_malloced = false;
-
-#ifdef DEBUG
- assert (nmatch > 1);
- assert (mctx->state_log != NULL);
-#endif
- if (fl_backtrack)
- {
- fs = &fs_body;
- fs->stack = re_malloc (struct re_fail_stack_ent_t, fs->alloc);
- if (fs->stack == NULL)
- return REG_ESPACE;
- }
- else
- fs = NULL;
-
- cur_node = dfa->init_node;
- re_node_set_init_empty (&eps_via_nodes);
-
- if (__libc_use_alloca (nmatch * sizeof (regmatch_t)))
- prev_idx_match = (regmatch_t *) alloca (nmatch * sizeof (regmatch_t));
- else
- {
- prev_idx_match = re_malloc (regmatch_t, nmatch);
- if (prev_idx_match == NULL)
- {
- free_fail_stack_return (fs);
- return REG_ESPACE;
- }
- prev_idx_match_malloced = true;
- }
- memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch);
-
- for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;)
- {
- update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch);
-
- if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node)
- {
- Idx reg_idx;
- if (fs)
- {
- for (reg_idx = 0; reg_idx < nmatch; ++reg_idx)
- if (pmatch[reg_idx].rm_so > -1 && pmatch[reg_idx].rm_eo == -1)
- break;
- if (reg_idx == nmatch)
- {
- re_node_set_free (&eps_via_nodes);
- if (prev_idx_match_malloced)
- re_free (prev_idx_match);
- return free_fail_stack_return (fs);
- }
- cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch,
- &eps_via_nodes);
- }
- else
- {
- re_node_set_free (&eps_via_nodes);
- if (prev_idx_match_malloced)
- re_free (prev_idx_match);
- return REG_NOERROR;
- }
- }
-
- /* Proceed to next node. */
- cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node,
- &eps_via_nodes, fs);
-
- if (BE (! REG_VALID_INDEX (cur_node), 0))
- {
- if (BE (cur_node == REG_ERROR, 0))
- {
- re_node_set_free (&eps_via_nodes);
- if (prev_idx_match_malloced)
- re_free (prev_idx_match);
- free_fail_stack_return (fs);
- return REG_ESPACE;
- }
- if (fs)
- cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch,
- &eps_via_nodes);
- else
- {
- re_node_set_free (&eps_via_nodes);
- if (prev_idx_match_malloced)
- re_free (prev_idx_match);
- return REG_NOMATCH;
- }
- }
- }
- re_node_set_free (&eps_via_nodes);
- if (prev_idx_match_malloced)
- re_free (prev_idx_match);
- return free_fail_stack_return (fs);
-}
-
-static reg_errcode_t
-internal_function
-free_fail_stack_return (struct re_fail_stack_t *fs)
-{
- if (fs)
- {
- Idx fs_idx;
- for (fs_idx = 0; fs_idx < fs->num; ++fs_idx)
- {
- re_node_set_free (&fs->stack[fs_idx].eps_via_nodes);
- re_free (fs->stack[fs_idx].regs);
- }
- re_free (fs->stack);
- }
- return REG_NOERROR;
-}
-
-static void
-internal_function
-update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
- regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch)
-{
- int type = dfa->nodes[cur_node].type;
- if (type == OP_OPEN_SUBEXP)
- {
- Idx reg_num = dfa->nodes[cur_node].opr.idx + 1;
-
- /* We are at the first node of this sub expression. */
- if (reg_num < nmatch)
- {
- pmatch[reg_num].rm_so = cur_idx;
- pmatch[reg_num].rm_eo = -1;
- }
- }
- else if (type == OP_CLOSE_SUBEXP)
- {
- Idx reg_num = dfa->nodes[cur_node].opr.idx + 1;
- if (reg_num < nmatch)
- {
- /* We are at the last node of this sub expression. */
- if (pmatch[reg_num].rm_so < cur_idx)
- {
- pmatch[reg_num].rm_eo = cur_idx;
- /* This is a non-empty match or we are not inside an optional
- subexpression. Accept this right away. */
- memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch);
- }
- else
- {
- if (dfa->nodes[cur_node].opt_subexp
- && prev_idx_match[reg_num].rm_so != -1)
- /* We transited through an empty match for an optional
- subexpression, like (a?)*, and this is not the subexp's
- first match. Copy back the old content of the registers
- so that matches of an inner subexpression are undone as
- well, like in ((a?))*. */
- memcpy (pmatch, prev_idx_match, sizeof (regmatch_t) * nmatch);
- else
- /* We completed a subexpression, but it may be part of
- an optional one, so do not update PREV_IDX_MATCH. */
- pmatch[reg_num].rm_eo = cur_idx;
- }
- }
- }
-}
-
-/* This function checks the STATE_LOG from the SCTX->last_str_idx to 0
- and sift the nodes in each states according to the following rules.
- Updated state_log will be wrote to STATE_LOG.
-
- Rules: We throw away the Node `a' in the STATE_LOG[STR_IDX] if...
- 1. When STR_IDX == MATCH_LAST(the last index in the state_log):
- If `a' isn't the LAST_NODE and `a' can't epsilon transit to
- the LAST_NODE, we throw away the node `a'.
- 2. When 0 <= STR_IDX < MATCH_LAST and `a' accepts
- string `s' and transit to `b':
- i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw
- away the node `a'.
- ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is
- thrown away, we throw away the node `a'.
- 3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b':
- i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the
- node `a'.
- ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away,
- we throw away the node `a'. */
-
-#define STATE_NODE_CONTAINS(state,node) \
- ((state) != NULL && re_node_set_contains (&(state)->nodes, node))
-
-static reg_errcode_t
-internal_function
-sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
-{
- reg_errcode_t err;
- int null_cnt = 0;
- Idx str_idx = sctx->last_str_idx;
- re_node_set cur_dest;
-
-#ifdef DEBUG
- assert (mctx->state_log != NULL && mctx->state_log[str_idx] != NULL);
-#endif
-
- /* Build sifted state_log[str_idx]. It has the nodes which can epsilon
- transit to the last_node and the last_node itself. */
- err = re_node_set_init_1 (&cur_dest, sctx->last_node);
- if (BE (err != REG_NOERROR, 0))
- return err;
- err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
-
- /* Then check each states in the state_log. */
- while (str_idx > 0)
- {
- /* Update counters. */
- null_cnt = (sctx->sifted_states[str_idx] == NULL) ? null_cnt + 1 : 0;
- if (null_cnt > mctx->max_mb_elem_len)
- {
- memset (sctx->sifted_states, '\0',
- sizeof (re_dfastate_t *) * str_idx);
- re_node_set_free (&cur_dest);
- return REG_NOERROR;
- }
- re_node_set_empty (&cur_dest);
- --str_idx;
-
- if (mctx->state_log[str_idx])
- {
- err = build_sifted_states (mctx, sctx, str_idx, &cur_dest);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
-
- /* Add all the nodes which satisfy the following conditions:
- - It can epsilon transit to a node in CUR_DEST.
- - It is in CUR_SRC.
- And update state_log. */
- err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
- err = REG_NOERROR;
- free_return:
- re_node_set_free (&cur_dest);
- return err;
-}
-
-static reg_errcode_t
-internal_function
-build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
- Idx str_idx, re_node_set *cur_dest)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- const re_node_set *cur_src = &mctx->state_log[str_idx]->non_eps_nodes;
- Idx i;
-
- /* Then build the next sifted state.
- We build the next sifted state on `cur_dest', and update
- `sifted_states[str_idx]' with `cur_dest'.
- Note:
- `cur_dest' is the sifted state from `state_log[str_idx + 1]'.
- `cur_src' points the node_set of the old `state_log[str_idx]'
- (with the epsilon nodes pre-filtered out). */
- for (i = 0; i < cur_src->nelem; i++)
- {
- Idx prev_node = cur_src->elems[i];
- int naccepted = 0;
- bool ok;
-
-#ifdef DEBUG
- re_token_type_t type = dfa->nodes[prev_node].type;
- assert (!IS_EPSILON_NODE (type));
-#endif
-#ifdef RE_ENABLE_I18N
- /* If the node may accept `multi byte'. */
- if (dfa->nodes[prev_node].accept_mb)
- naccepted = sift_states_iter_mb (mctx, sctx, prev_node,
- str_idx, sctx->last_str_idx);
-#endif /* RE_ENABLE_I18N */
-
- /* We don't check backreferences here.
- See update_cur_sifted_state(). */
- if (!naccepted
- && check_node_accept (mctx, dfa->nodes + prev_node, str_idx)
- && STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + 1],
- dfa->nexts[prev_node]))
- naccepted = 1;
-
- if (naccepted == 0)
- continue;
-
- if (sctx->limits.nelem)
- {
- Idx to_idx = str_idx + naccepted;
- if (check_dst_limits (mctx, &sctx->limits,
- dfa->nexts[prev_node], to_idx,
- prev_node, str_idx))
- continue;
- }
- ok = re_node_set_insert (cur_dest, prev_node);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
-
- return REG_NOERROR;
-}
-
-/* Helper functions. */
-
-static reg_errcode_t
-internal_function
-clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
-{
- Idx top = mctx->state_log_top;
-
- if (next_state_log_idx >= mctx->input.bufs_len
- || (next_state_log_idx >= mctx->input.valid_len
- && mctx->input.valid_len < mctx->input.len))
- {
- reg_errcode_t err;
- err = extend_buffers (mctx);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
-
- if (top < next_state_log_idx)
- {
- memset (mctx->state_log + top + 1, '\0',
- sizeof (re_dfastate_t *) * (next_state_log_idx - top));
- mctx->state_log_top = next_state_log_idx;
- }
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
- re_dfastate_t **src, Idx num)
-{
- Idx st_idx;
- reg_errcode_t err;
- for (st_idx = 0; st_idx < num; ++st_idx)
- {
- if (dst[st_idx] == NULL)
- dst[st_idx] = src[st_idx];
- else if (src[st_idx] != NULL)
- {
- re_node_set merged_set;
- err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes,
- &src[st_idx]->nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
- dst[st_idx] = re_acquire_state (&err, dfa, &merged_set);
- re_node_set_free (&merged_set);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- }
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-update_cur_sifted_state (const re_match_context_t *mctx,
- re_sift_context_t *sctx, Idx str_idx,
- re_node_set *dest_nodes)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err = REG_NOERROR;
- const re_node_set *candidates;
- candidates = ((mctx->state_log[str_idx] == NULL) ? NULL
- : &mctx->state_log[str_idx]->nodes);
-
- if (dest_nodes->nelem == 0)
- sctx->sifted_states[str_idx] = NULL;
- else
- {
- if (candidates)
- {
- /* At first, add the nodes which can epsilon transit to a node in
- DEST_NODE. */
- err = add_epsilon_src_nodes (dfa, dest_nodes, candidates);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- /* Then, check the limitations in the current sift_context. */
- if (sctx->limits.nelem)
- {
- err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits,
- mctx->bkref_ents, str_idx);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- }
-
- sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
-
- if (candidates && mctx->state_log[str_idx]->has_backref)
- {
- err = sift_states_bkref (mctx, sctx, str_idx, candidates);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
- const re_node_set *candidates)
-{
- reg_errcode_t err = REG_NOERROR;
- Idx i;
-
- re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- if (!state->inveclosure.alloc)
- {
- err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem);
- if (BE (err != REG_NOERROR, 0))
- return REG_ESPACE;
- for (i = 0; i < dest_nodes->nelem; i++)
- re_node_set_merge (&state->inveclosure,
- dfa->inveclosures + dest_nodes->elems[i]);
- }
- return re_node_set_add_intersect (dest_nodes, candidates,
- &state->inveclosure);
-}
-
-static reg_errcode_t
-internal_function
-sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
- const re_node_set *candidates)
-{
- Idx ecl_idx;
- reg_errcode_t err;
- re_node_set *inv_eclosure = dfa->inveclosures + node;
- re_node_set except_nodes;
- re_node_set_init_empty (&except_nodes);
- for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx)
- {
- Idx cur_node = inv_eclosure->elems[ecl_idx];
- if (cur_node == node)
- continue;
- if (IS_EPSILON_NODE (dfa->nodes[cur_node].type))
- {
- Idx edst1 = dfa->edests[cur_node].elems[0];
- Idx edst2 = ((dfa->edests[cur_node].nelem > 1)
- ? dfa->edests[cur_node].elems[1] : REG_MISSING);
- if ((!re_node_set_contains (inv_eclosure, edst1)
- && re_node_set_contains (dest_nodes, edst1))
- || (REG_VALID_NONZERO_INDEX (edst2)
- && !re_node_set_contains (inv_eclosure, edst2)
- && re_node_set_contains (dest_nodes, edst2)))
- {
- err = re_node_set_add_intersect (&except_nodes, candidates,
- dfa->inveclosures + cur_node);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&except_nodes);
- return err;
- }
- }
- }
- }
- for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx)
- {
- Idx cur_node = inv_eclosure->elems[ecl_idx];
- if (!re_node_set_contains (&except_nodes, cur_node))
- {
- Idx idx = re_node_set_contains (dest_nodes, cur_node) - 1;
- re_node_set_remove_at (dest_nodes, idx);
- }
- }
- re_node_set_free (&except_nodes);
- return REG_NOERROR;
-}
-
-static bool
-internal_function
-check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
- Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx lim_idx, src_pos, dst_pos;
-
- Idx dst_bkref_idx = search_cur_bkref_entry (mctx, dst_idx);
- Idx src_bkref_idx = search_cur_bkref_entry (mctx, src_idx);
- for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx)
- {
- Idx subexp_idx;
- struct re_backref_cache_entry *ent;
- ent = mctx->bkref_ents + limits->elems[lim_idx];
- subexp_idx = dfa->nodes[ent->node].opr.idx;
-
- dst_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx],
- subexp_idx, dst_node, dst_idx,
- dst_bkref_idx);
- src_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx],
- subexp_idx, src_node, src_idx,
- src_bkref_idx);
-
- /* In case of:
- <src> <dst> ( <subexp> )
- ( <subexp> ) <src> <dst>
- ( <subexp1> <src> <subexp2> <dst> <subexp3> ) */
- if (src_pos == dst_pos)
- continue; /* This is unrelated limitation. */
- else
- return true;
- }
- return false;
-}
-
-static int
-internal_function
-check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
- Idx subexp_idx, Idx from_node, Idx bkref_idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- const re_node_set *eclosures = dfa->eclosures + from_node;
- Idx node_idx;
-
- /* Else, we are on the boundary: examine the nodes on the epsilon
- closure. */
- for (node_idx = 0; node_idx < eclosures->nelem; ++node_idx)
- {
- Idx node = eclosures->elems[node_idx];
- switch (dfa->nodes[node].type)
- {
- case OP_BACK_REF:
- if (bkref_idx != REG_MISSING)
- {
- struct re_backref_cache_entry *ent = mctx->bkref_ents + bkref_idx;
- do
- {
- Idx dst;
- int cpos;
-
- if (ent->node != node)
- continue;
-
- if (subexp_idx < BITSET_WORD_BITS
- && !(ent->eps_reachable_subexps_map
- & ((bitset_word_t) 1 << subexp_idx)))
- continue;
-
- /* Recurse trying to reach the OP_OPEN_SUBEXP and
- OP_CLOSE_SUBEXP cases below. But, if the
- destination node is the same node as the source
- node, don't recurse because it would cause an
- infinite loop: a regex that exhibits this behavior
- is ()\1*\1* */
- dst = dfa->edests[node].elems[0];
- if (dst == from_node)
- {
- if (boundaries & 1)
- return -1;
- else /* if (boundaries & 2) */
- return 0;
- }
-
- cpos =
- check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx,
- dst, bkref_idx);
- if (cpos == -1 /* && (boundaries & 1) */)
- return -1;
- if (cpos == 0 && (boundaries & 2))
- return 0;
-
- if (subexp_idx < BITSET_WORD_BITS)
- ent->eps_reachable_subexps_map
- &= ~((bitset_word_t) 1 << subexp_idx);
- }
- while (ent++->more);
- }
- break;
-
- case OP_OPEN_SUBEXP:
- if ((boundaries & 1) && subexp_idx == dfa->nodes[node].opr.idx)
- return -1;
- break;
-
- case OP_CLOSE_SUBEXP:
- if ((boundaries & 2) && subexp_idx == dfa->nodes[node].opr.idx)
- return 0;
- break;
-
- default:
- break;
- }
- }
-
- return (boundaries & 2) ? 1 : 0;
-}
-
-static int
-internal_function
-check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
- Idx subexp_idx, Idx from_node, Idx str_idx,
- Idx bkref_idx)
-{
- struct re_backref_cache_entry *lim = mctx->bkref_ents + limit;
- int boundaries;
-
- /* If we are outside the range of the subexpression, return -1 or 1. */
- if (str_idx < lim->subexp_from)
- return -1;
-
- if (lim->subexp_to < str_idx)
- return 1;
-
- /* If we are within the subexpression, return 0. */
- boundaries = (str_idx == lim->subexp_from);
- boundaries |= (str_idx == lim->subexp_to) << 1;
- if (boundaries == 0)
- return 0;
-
- /* Else, examine epsilon closure. */
- return check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx,
- from_node, bkref_idx);
-}
-
-/* Check the limitations of sub expressions LIMITS, and remove the nodes
- which are against limitations from DEST_NODES. */
-
-static reg_errcode_t
-internal_function
-check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
- const re_node_set *candidates, re_node_set *limits,
- struct re_backref_cache_entry *bkref_ents, Idx str_idx)
-{
- reg_errcode_t err;
- Idx node_idx, lim_idx;
-
- for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx)
- {
- Idx subexp_idx;
- struct re_backref_cache_entry *ent;
- ent = bkref_ents + limits->elems[lim_idx];
-
- if (str_idx <= ent->subexp_from || ent->str_idx < str_idx)
- continue; /* This is unrelated limitation. */
-
- subexp_idx = dfa->nodes[ent->node].opr.idx;
- if (ent->subexp_to == str_idx)
- {
- Idx ops_node = REG_MISSING;
- Idx cls_node = REG_MISSING;
- for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx)
- {
- Idx node = dest_nodes->elems[node_idx];
- re_token_type_t type = dfa->nodes[node].type;
- if (type == OP_OPEN_SUBEXP
- && subexp_idx == dfa->nodes[node].opr.idx)
- ops_node = node;
- else if (type == OP_CLOSE_SUBEXP
- && subexp_idx == dfa->nodes[node].opr.idx)
- cls_node = node;
- }
-
- /* Check the limitation of the open subexpression. */
- /* Note that (ent->subexp_to = str_idx != ent->subexp_from). */
- if (REG_VALID_INDEX (ops_node))
- {
- err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes,
- candidates);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
-
- /* Check the limitation of the close subexpression. */
- if (REG_VALID_INDEX (cls_node))
- for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx)
- {
- Idx node = dest_nodes->elems[node_idx];
- if (!re_node_set_contains (dfa->inveclosures + node,
- cls_node)
- && !re_node_set_contains (dfa->eclosures + node,
- cls_node))
- {
- /* It is against this limitation.
- Remove it form the current sifted state. */
- err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
- candidates);
- if (BE (err != REG_NOERROR, 0))
- return err;
- --node_idx;
- }
- }
- }
- else /* (ent->subexp_to != str_idx) */
- {
- for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx)
- {
- Idx node = dest_nodes->elems[node_idx];
- re_token_type_t type = dfa->nodes[node].type;
- if (type == OP_CLOSE_SUBEXP || type == OP_OPEN_SUBEXP)
- {
- if (subexp_idx != dfa->nodes[node].opr.idx)
- continue;
- /* It is against this limitation.
- Remove it form the current sifted state. */
- err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
- candidates);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- }
- }
- }
- return REG_NOERROR;
-}
-
-static reg_errcode_t
-internal_function
-sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
- Idx str_idx, const re_node_set *candidates)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err;
- Idx node_idx, node;
- re_sift_context_t local_sctx;
- Idx first_idx = search_cur_bkref_entry (mctx, str_idx);
-
- if (first_idx == REG_MISSING)
- return REG_NOERROR;
-
- local_sctx.sifted_states = NULL; /* Mark that it hasn't been initialized. */
-
- for (node_idx = 0; node_idx < candidates->nelem; ++node_idx)
- {
- Idx enabled_idx;
- re_token_type_t type;
- struct re_backref_cache_entry *entry;
- node = candidates->elems[node_idx];
- type = dfa->nodes[node].type;
- /* Avoid infinite loop for the REs like "()\1+". */
- if (node == sctx->last_node && str_idx == sctx->last_str_idx)
- continue;
- if (type != OP_BACK_REF)
- continue;
-
- entry = mctx->bkref_ents + first_idx;
- enabled_idx = first_idx;
- do
- {
- Idx subexp_len;
- Idx to_idx;
- Idx dst_node;
- bool ok;
- re_dfastate_t *cur_state;
-
- if (entry->node != node)
- continue;
- subexp_len = entry->subexp_to - entry->subexp_from;
- to_idx = str_idx + subexp_len;
- dst_node = (subexp_len ? dfa->nexts[node]
- : dfa->edests[node].elems[0]);
-
- if (to_idx > sctx->last_str_idx
- || sctx->sifted_states[to_idx] == NULL
- || !STATE_NODE_CONTAINS (sctx->sifted_states[to_idx], dst_node)
- || check_dst_limits (mctx, &sctx->limits, node,
- str_idx, dst_node, to_idx))
- continue;
-
- if (local_sctx.sifted_states == NULL)
- {
- local_sctx = *sctx;
- err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
- local_sctx.last_node = node;
- local_sctx.last_str_idx = str_idx;
- ok = re_node_set_insert (&local_sctx.limits, enabled_idx);
- if (BE (! ok, 0))
- {
- err = REG_ESPACE;
- goto free_return;
- }
- cur_state = local_sctx.sifted_states[str_idx];
- err = sift_states_backward (mctx, &local_sctx);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- if (sctx->limited_states != NULL)
- {
- err = merge_state_array (dfa, sctx->limited_states,
- local_sctx.sifted_states,
- str_idx + 1);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
- local_sctx.sifted_states[str_idx] = cur_state;
- re_node_set_remove (&local_sctx.limits, enabled_idx);
-
- /* mctx->bkref_ents may have changed, reload the pointer. */
- entry = mctx->bkref_ents + enabled_idx;
- }
- while (enabled_idx++, entry++->more);
- }
- err = REG_NOERROR;
- free_return:
- if (local_sctx.sifted_states != NULL)
- {
- re_node_set_free (&local_sctx.limits);
- }
-
- return err;
-}
-
-
-#ifdef RE_ENABLE_I18N
-static int
-internal_function
-sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
- Idx node_idx, Idx str_idx, Idx max_str_idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- int naccepted;
- /* Check the node can accept `multi byte'. */
- naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx);
- if (naccepted > 0 && str_idx + naccepted <= max_str_idx &&
- !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted],
- dfa->nexts[node_idx]))
- /* The node can't accept the `multi byte', or the
- destination was already thrown away, then the node
- could't accept the current input `multi byte'. */
- naccepted = 0;
- /* Otherwise, it is sure that the node could accept
- `naccepted' bytes input. */
- return naccepted;
-}
-#endif /* RE_ENABLE_I18N */
-
-
-/* Functions for state transition. */
-
-/* Return the next state to which the current state STATE will transit by
- accepting the current input byte, and update STATE_LOG if necessary.
- If STATE can accept a multibyte char/collating element/back reference
- update the destination of STATE_LOG. */
-
-static re_dfastate_t *
-internal_function
-transit_state (reg_errcode_t *err, re_match_context_t *mctx,
- re_dfastate_t *state)
-{
- re_dfastate_t **trtable;
- unsigned char ch;
-
-#ifdef RE_ENABLE_I18N
- /* If the current state can accept multibyte. */
- if (BE (state->accept_mb, 0))
- {
- *err = transit_state_mb (mctx, state);
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
- }
-#endif /* RE_ENABLE_I18N */
-
- /* Then decide the next state with the single byte. */
-#if 0
- if (0)
- /* don't use transition table */
- return transit_state_sb (err, mctx, state);
-#endif
-
- /* Use transition table */
- ch = re_string_fetch_byte (&mctx->input);
- for (;;)
- {
- trtable = state->trtable;
- if (BE (trtable != NULL, 1))
- return trtable[ch];
-
- trtable = state->word_trtable;
- if (BE (trtable != NULL, 1))
- {
- unsigned int context;
- context
- = re_string_context_at (&mctx->input,
- re_string_cur_idx (&mctx->input) - 1,
- mctx->eflags);
- if (IS_WORD_CONTEXT (context))
- return trtable[ch + SBC_MAX];
- else
- return trtable[ch];
- }
-
- if (!build_trtable (mctx->dfa, state))
- {
- *err = REG_ESPACE;
- return NULL;
- }
-
- /* Retry, we now have a transition table. */
- }
-}
-
-/* Update the state_log if we need */
-static re_dfastate_t *
-internal_function
-merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
- re_dfastate_t *next_state)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx cur_idx = re_string_cur_idx (&mctx->input);
-
- if (cur_idx > mctx->state_log_top)
- {
- mctx->state_log[cur_idx] = next_state;
- mctx->state_log_top = cur_idx;
- }
- else if (mctx->state_log[cur_idx] == 0)
- {
- mctx->state_log[cur_idx] = next_state;
- }
- else
- {
- re_dfastate_t *pstate;
- unsigned int context;
- re_node_set next_nodes, *log_nodes, *table_nodes = NULL;
- /* If (state_log[cur_idx] != 0), it implies that cur_idx is
- the destination of a multibyte char/collating element/
- back reference. Then the next state is the union set of
- these destinations and the results of the transition table. */
- pstate = mctx->state_log[cur_idx];
- log_nodes = pstate->entrance_nodes;
- if (next_state != NULL)
- {
- table_nodes = next_state->entrance_nodes;
- *err = re_node_set_init_union (&next_nodes, table_nodes,
- log_nodes);
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
- }
- else
- next_nodes = *log_nodes;
- /* Note: We already add the nodes of the initial state,
- then we don't need to add them here. */
-
- context = re_string_context_at (&mctx->input,
- re_string_cur_idx (&mctx->input) - 1,
- mctx->eflags);
- next_state = mctx->state_log[cur_idx]
- = re_acquire_state_context (err, dfa, &next_nodes, context);
- /* We don't need to check errors here, since the return value of
- this function is next_state and ERR is already set. */
-
- if (table_nodes != NULL)
- re_node_set_free (&next_nodes);
- }
-
- if (BE (dfa->nbackref, 0) && next_state != NULL)
- {
- /* Check OP_OPEN_SUBEXP in the current state in case that we use them
- later. We must check them here, since the back references in the
- next state might use them. */
- *err = check_subexp_matching_top (mctx, &next_state->nodes,
- cur_idx);
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
-
- /* If the next state has back references. */
- if (next_state->has_backref)
- {
- *err = transit_state_bkref (mctx, &next_state->nodes);
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
- next_state = mctx->state_log[cur_idx];
- }
- }
-
- return next_state;
-}
-
-/* Skip bytes in the input that correspond to part of a
- multi-byte match, then look in the log for a state
- from which to restart matching. */
-static re_dfastate_t *
-internal_function
-find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
-{
- re_dfastate_t *cur_state;
- do
- {
- Idx max = mctx->state_log_top;
- Idx cur_str_idx = re_string_cur_idx (&mctx->input);
-
- do
- {
- if (++cur_str_idx > max)
- return NULL;
- re_string_skip_bytes (&mctx->input, 1);
- }
- while (mctx->state_log[cur_str_idx] == NULL);
-
- cur_state = merge_state_with_log (err, mctx, NULL);
- }
- while (*err == REG_NOERROR && cur_state == NULL);
- return cur_state;
-}
-
-/* Helper functions for transit_state. */
-
-/* From the node set CUR_NODES, pick up the nodes whose types are
- OP_OPEN_SUBEXP and which have corresponding back references in the regular
- expression. And register them to use them later for evaluating the
- correspoding back references. */
-
-static reg_errcode_t
-internal_function
-check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
- Idx str_idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx node_idx;
- reg_errcode_t err;
-
- /* TODO: This isn't efficient.
- Because there might be more than one nodes whose types are
- OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all
- nodes.
- E.g. RE: (a){2} */
- for (node_idx = 0; node_idx < cur_nodes->nelem; ++node_idx)
- {
- Idx node = cur_nodes->elems[node_idx];
- if (dfa->nodes[node].type == OP_OPEN_SUBEXP
- && dfa->nodes[node].opr.idx < BITSET_WORD_BITS
- && (dfa->used_bkref_map
- & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx)))
- {
- err = match_ctx_add_subtop (mctx, node, str_idx);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- }
- return REG_NOERROR;
-}
-
-#if 0
-/* Return the next state to which the current state STATE will transit by
- accepting the current input byte. */
-
-static re_dfastate_t *
-transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
- re_dfastate_t *state)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- re_node_set next_nodes;
- re_dfastate_t *next_state;
- Idx node_cnt, cur_str_idx = re_string_cur_idx (&mctx->input);
- unsigned int context;
-
- *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1);
- if (BE (*err != REG_NOERROR, 0))
- return NULL;
- for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt)
- {
- Idx cur_node = state->nodes.elems[node_cnt];
- if (check_node_accept (mctx, dfa->nodes + cur_node, cur_str_idx))
- {
- *err = re_node_set_merge (&next_nodes,
- dfa->eclosures + dfa->nexts[cur_node]);
- if (BE (*err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return NULL;
- }
- }
- }
- context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags);
- next_state = re_acquire_state_context (err, dfa, &next_nodes, context);
- /* We don't need to check errors here, since the return value of
- this function is next_state and ERR is already set. */
-
- re_node_set_free (&next_nodes);
- re_string_skip_bytes (&mctx->input, 1);
- return next_state;
-}
-#endif
-
-#ifdef RE_ENABLE_I18N
-static reg_errcode_t
-internal_function
-transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err;
- Idx i;
-
- for (i = 0; i < pstate->nodes.nelem; ++i)
- {
- re_node_set dest_nodes, *new_nodes;
- Idx cur_node_idx = pstate->nodes.elems[i];
- int naccepted;
- Idx dest_idx;
- unsigned int context;
- re_dfastate_t *dest_state;
-
- if (!dfa->nodes[cur_node_idx].accept_mb)
- continue;
-
- if (dfa->nodes[cur_node_idx].constraint)
- {
- context = re_string_context_at (&mctx->input,
- re_string_cur_idx (&mctx->input),
- mctx->eflags);
- if (NOT_SATISFY_NEXT_CONSTRAINT (dfa->nodes[cur_node_idx].constraint,
- context))
- continue;
- }
-
- /* How many bytes the node can accept? */
- naccepted = check_node_accept_bytes (dfa, cur_node_idx, &mctx->input,
- re_string_cur_idx (&mctx->input));
- if (naccepted == 0)
- continue;
-
- /* The node can accepts `naccepted' bytes. */
- dest_idx = re_string_cur_idx (&mctx->input) + naccepted;
- mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted
- : mctx->max_mb_elem_len);
- err = clean_state_log_if_needed (mctx, dest_idx);
- if (BE (err != REG_NOERROR, 0))
- return err;
-#ifdef DEBUG
- assert (dfa->nexts[cur_node_idx] != REG_MISSING);
-#endif
- new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx];
-
- dest_state = mctx->state_log[dest_idx];
- if (dest_state == NULL)
- dest_nodes = *new_nodes;
- else
- {
- err = re_node_set_init_union (&dest_nodes,
- dest_state->entrance_nodes, new_nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- context = re_string_context_at (&mctx->input, dest_idx - 1,
- mctx->eflags);
- mctx->state_log[dest_idx]
- = re_acquire_state_context (&err, dfa, &dest_nodes, context);
- if (dest_state != NULL)
- re_node_set_free (&dest_nodes);
- if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0))
- return err;
- }
- return REG_NOERROR;
-}
-#endif /* RE_ENABLE_I18N */
-
-static reg_errcode_t
-internal_function
-transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err;
- Idx i;
- Idx cur_str_idx = re_string_cur_idx (&mctx->input);
-
- for (i = 0; i < nodes->nelem; ++i)
- {
- Idx dest_str_idx, prev_nelem, bkc_idx;
- Idx node_idx = nodes->elems[i];
- unsigned int context;
- const re_token_t *node = dfa->nodes + node_idx;
- re_node_set *new_dest_nodes;
-
- /* Check whether `node' is a backreference or not. */
- if (node->type != OP_BACK_REF)
- continue;
-
- if (node->constraint)
- {
- context = re_string_context_at (&mctx->input, cur_str_idx,
- mctx->eflags);
- if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context))
- continue;
- }
-
- /* `node' is a backreference.
- Check the substring which the substring matched. */
- bkc_idx = mctx->nbkref_ents;
- err = get_subexp (mctx, node_idx, cur_str_idx);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
-
- /* And add the epsilon closures (which is `new_dest_nodes') of
- the backreference to appropriate state_log. */
-#ifdef DEBUG
- assert (dfa->nexts[node_idx] != REG_MISSING);
-#endif
- for (; bkc_idx < mctx->nbkref_ents; ++bkc_idx)
- {
- Idx subexp_len;
- re_dfastate_t *dest_state;
- struct re_backref_cache_entry *bkref_ent;
- bkref_ent = mctx->bkref_ents + bkc_idx;
- if (bkref_ent->node != node_idx || bkref_ent->str_idx != cur_str_idx)
- continue;
- subexp_len = bkref_ent->subexp_to - bkref_ent->subexp_from;
- new_dest_nodes = (subexp_len == 0
- ? dfa->eclosures + dfa->edests[node_idx].elems[0]
- : dfa->eclosures + dfa->nexts[node_idx]);
- dest_str_idx = (cur_str_idx + bkref_ent->subexp_to
- - bkref_ent->subexp_from);
- context = re_string_context_at (&mctx->input, dest_str_idx - 1,
- mctx->eflags);
- dest_state = mctx->state_log[dest_str_idx];
- prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0
- : mctx->state_log[cur_str_idx]->nodes.nelem);
- /* Add `new_dest_node' to state_log. */
- if (dest_state == NULL)
- {
- mctx->state_log[dest_str_idx]
- = re_acquire_state_context (&err, dfa, new_dest_nodes,
- context);
- if (BE (mctx->state_log[dest_str_idx] == NULL
- && err != REG_NOERROR, 0))
- goto free_return;
- }
- else
- {
- re_node_set dest_nodes;
- err = re_node_set_init_union (&dest_nodes,
- dest_state->entrance_nodes,
- new_dest_nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&dest_nodes);
- goto free_return;
- }
- mctx->state_log[dest_str_idx]
- = re_acquire_state_context (&err, dfa, &dest_nodes, context);
- re_node_set_free (&dest_nodes);
- if (BE (mctx->state_log[dest_str_idx] == NULL
- && err != REG_NOERROR, 0))
- goto free_return;
- }
- /* We need to check recursively if the backreference can epsilon
- transit. */
- if (subexp_len == 0
- && mctx->state_log[cur_str_idx]->nodes.nelem > prev_nelem)
- {
- err = check_subexp_matching_top (mctx, new_dest_nodes,
- cur_str_idx);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- err = transit_state_bkref (mctx, new_dest_nodes);
- if (BE (err != REG_NOERROR, 0))
- goto free_return;
- }
- }
- }
- err = REG_NOERROR;
- free_return:
- return err;
-}
-
-/* Enumerate all the candidates which the backreference BKREF_NODE can match
- at BKREF_STR_IDX, and register them by match_ctx_add_entry().
- Note that we might collect inappropriate candidates here.
- However, the cost of checking them strictly here is too high, then we
- delay these checking for prune_impossible_nodes(). */
-
-static reg_errcode_t
-internal_function
-get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- Idx subexp_num, sub_top_idx;
- const char *buf = (const char *) re_string_get_buffer (&mctx->input);
- /* Return if we have already checked BKREF_NODE at BKREF_STR_IDX. */
- Idx cache_idx = search_cur_bkref_entry (mctx, bkref_str_idx);
- if (cache_idx != REG_MISSING)
- {
- const struct re_backref_cache_entry *entry
- = mctx->bkref_ents + cache_idx;
- do
- if (entry->node == bkref_node)
- return REG_NOERROR; /* We already checked it. */
- while (entry++->more);
- }
-
- subexp_num = dfa->nodes[bkref_node].opr.idx;
-
- /* For each sub expression */
- for (sub_top_idx = 0; sub_top_idx < mctx->nsub_tops; ++sub_top_idx)
- {
- reg_errcode_t err;
- re_sub_match_top_t *sub_top = mctx->sub_tops[sub_top_idx];
- re_sub_match_last_t *sub_last;
- Idx sub_last_idx, sl_str, bkref_str_off;
-
- if (dfa->nodes[sub_top->node].opr.idx != subexp_num)
- continue; /* It isn't related. */
-
- sl_str = sub_top->str_idx;
- bkref_str_off = bkref_str_idx;
- /* At first, check the last node of sub expressions we already
- evaluated. */
- for (sub_last_idx = 0; sub_last_idx < sub_top->nlasts; ++sub_last_idx)
- {
- regoff_t sl_str_diff;
- sub_last = sub_top->lasts[sub_last_idx];
- sl_str_diff = sub_last->str_idx - sl_str;
- /* The matched string by the sub expression match with the substring
- at the back reference? */
- if (sl_str_diff > 0)
- {
- if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0))
- {
- /* Not enough chars for a successful match. */
- if (bkref_str_off + sl_str_diff > mctx->input.len)
- break;
-
- err = clean_state_log_if_needed (mctx,
- bkref_str_off
- + sl_str_diff);
- if (BE (err != REG_NOERROR, 0))
- return err;
- buf = (const char *) re_string_get_buffer (&mctx->input);
- }
- if (memcmp (buf + bkref_str_off, buf + sl_str, sl_str_diff) != 0)
- /* We don't need to search this sub expression any more. */
- break;
- }
- bkref_str_off += sl_str_diff;
- sl_str += sl_str_diff;
- err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node,
- bkref_str_idx);
-
- /* Reload buf, since the preceding call might have reallocated
- the buffer. */
- buf = (const char *) re_string_get_buffer (&mctx->input);
-
- if (err == REG_NOMATCH)
- continue;
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
-
- if (sub_last_idx < sub_top->nlasts)
- continue;
- if (sub_last_idx > 0)
- ++sl_str;
- /* Then, search for the other last nodes of the sub expression. */
- for (; sl_str <= bkref_str_idx; ++sl_str)
- {
- Idx cls_node;
- regoff_t sl_str_off;
- const re_node_set *nodes;
- sl_str_off = sl_str - sub_top->str_idx;
- /* The matched string by the sub expression match with the substring
- at the back reference? */
- if (sl_str_off > 0)
- {
- if (BE (bkref_str_off >= mctx->input.valid_len, 0))
- {
- /* If we are at the end of the input, we cannot match. */
- if (bkref_str_off >= mctx->input.len)
- break;
-
- err = extend_buffers (mctx);
- if (BE (err != REG_NOERROR, 0))
- return err;
-
- buf = (const char *) re_string_get_buffer (&mctx->input);
- }
- if (buf [bkref_str_off++] != buf[sl_str - 1])
- break; /* We don't need to search this sub expression
- any more. */
- }
- if (mctx->state_log[sl_str] == NULL)
- continue;
- /* Does this state have a ')' of the sub expression? */
- nodes = &mctx->state_log[sl_str]->nodes;
- cls_node = find_subexp_node (dfa, nodes, subexp_num,
- OP_CLOSE_SUBEXP);
- if (cls_node == REG_MISSING)
- continue; /* No. */
- if (sub_top->path == NULL)
- {
- sub_top->path = calloc (sizeof (state_array_t),
- sl_str - sub_top->str_idx + 1);
- if (sub_top->path == NULL)
- return REG_ESPACE;
- }
- /* Can the OP_OPEN_SUBEXP node arrive the OP_CLOSE_SUBEXP node
- in the current context? */
- err = check_arrival (mctx, sub_top->path, sub_top->node,
- sub_top->str_idx, cls_node, sl_str,
- OP_CLOSE_SUBEXP);
- if (err == REG_NOMATCH)
- continue;
- if (BE (err != REG_NOERROR, 0))
- return err;
- sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str);
- if (BE (sub_last == NULL, 0))
- return REG_ESPACE;
- err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node,
- bkref_str_idx);
- if (err == REG_NOMATCH)
- continue;
- }
- }
- return REG_NOERROR;
-}
-
-/* Helper functions for get_subexp(). */
-
-/* Check SUB_LAST can arrive to the back reference BKREF_NODE at BKREF_STR.
- If it can arrive, register the sub expression expressed with SUB_TOP
- and SUB_LAST. */
-
-static reg_errcode_t
-internal_function
-get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
- re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str)
-{
- reg_errcode_t err;
- Idx to_idx;
- /* Can the subexpression arrive the back reference? */
- err = check_arrival (mctx, &sub_last->path, sub_last->node,
- sub_last->str_idx, bkref_node, bkref_str,
- OP_OPEN_SUBEXP);
- if (err != REG_NOERROR)
- return err;
- err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx,
- sub_last->str_idx);
- if (BE (err != REG_NOERROR, 0))
- return err;
- to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx;
- return clean_state_log_if_needed (mctx, to_idx);
-}
-
-/* Find the first node which is '(' or ')' and whose index is SUBEXP_IDX.
- Search '(' if FL_OPEN, or search ')' otherwise.
- TODO: This function isn't efficient...
- Because there might be more than one nodes whose types are
- OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all
- nodes.
- E.g. RE: (a){2} */
-
-static Idx
-internal_function
-find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
- Idx subexp_idx, int type)
-{
- Idx cls_idx;
- for (cls_idx = 0; cls_idx < nodes->nelem; ++cls_idx)
- {
- Idx cls_node = nodes->elems[cls_idx];
- const re_token_t *node = dfa->nodes + cls_node;
- if (node->type == type
- && node->opr.idx == subexp_idx)
- return cls_node;
- }
- return REG_MISSING;
-}
-
-/* Check whether the node TOP_NODE at TOP_STR can arrive to the node
- LAST_NODE at LAST_STR. We record the path onto PATH since it will be
- heavily reused.
- Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */
-
-static reg_errcode_t
-internal_function
-check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
- Idx top_str, Idx last_node, Idx last_str, int type)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err = REG_NOERROR;
- Idx subexp_num, backup_cur_idx, str_idx, null_cnt;
- re_dfastate_t *cur_state = NULL;
- re_node_set *cur_nodes, next_nodes;
- re_dfastate_t **backup_state_log;
- unsigned int context;
-
- subexp_num = dfa->nodes[top_node].opr.idx;
- /* Extend the buffer if we need. */
- if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0))
- {
- re_dfastate_t **new_array;
- Idx old_alloc = path->alloc;
- Idx new_alloc = old_alloc + last_str + mctx->max_mb_elem_len + 1;
- if (BE (new_alloc < old_alloc, 0)
- || BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0))
- return REG_ESPACE;
- new_array = re_realloc (path->array, re_dfastate_t *, new_alloc);
- if (BE (new_array == NULL, 0))
- return REG_ESPACE;
- path->array = new_array;
- path->alloc = new_alloc;
- memset (new_array + old_alloc, '\0',
- sizeof (re_dfastate_t *) * (path->alloc - old_alloc));
- }
-
- str_idx = path->next_idx ? path->next_idx : top_str;
-
- /* Temporary modify MCTX. */
- backup_state_log = mctx->state_log;
- backup_cur_idx = mctx->input.cur_idx;
- mctx->state_log = path->array;
- mctx->input.cur_idx = str_idx;
-
- /* Setup initial node set. */
- context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags);
- if (str_idx == top_str)
- {
- err = re_node_set_init_1 (&next_nodes, top_node);
- if (BE (err != REG_NOERROR, 0))
- return err;
- err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- }
- else
- {
- cur_state = mctx->state_log[str_idx];
- if (cur_state && cur_state->has_backref)
- {
- err = re_node_set_init_copy (&next_nodes, &cur_state->nodes);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- else
- re_node_set_init_empty (&next_nodes);
- }
- if (str_idx == top_str || (cur_state && cur_state->has_backref))
- {
- if (next_nodes.nelem)
- {
- err = expand_bkref_cache (mctx, &next_nodes, str_idx,
- subexp_num, type);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- }
- cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
- if (BE (cur_state == NULL && err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- mctx->state_log[str_idx] = cur_state;
- }
-
- for (null_cnt = 0; str_idx < last_str && null_cnt <= mctx->max_mb_elem_len;)
- {
- re_node_set_empty (&next_nodes);
- if (mctx->state_log[str_idx + 1])
- {
- err = re_node_set_merge (&next_nodes,
- &mctx->state_log[str_idx + 1]->nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- }
- if (cur_state)
- {
- err = check_arrival_add_next_nodes (mctx, str_idx,
- &cur_state->non_eps_nodes,
- &next_nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- }
- ++str_idx;
- if (next_nodes.nelem)
- {
- err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- err = expand_bkref_cache (mctx, &next_nodes, str_idx,
- subexp_num, type);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- }
- context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags);
- cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
- if (BE (cur_state == NULL && err != REG_NOERROR, 0))
- {
- re_node_set_free (&next_nodes);
- return err;
- }
- mctx->state_log[str_idx] = cur_state;
- null_cnt = cur_state == NULL ? null_cnt + 1 : 0;
- }
- re_node_set_free (&next_nodes);
- cur_nodes = (mctx->state_log[last_str] == NULL ? NULL
- : &mctx->state_log[last_str]->nodes);
- path->next_idx = str_idx;
-
- /* Fix MCTX. */
- mctx->state_log = backup_state_log;
- mctx->input.cur_idx = backup_cur_idx;
-
- /* Then check the current node set has the node LAST_NODE. */
- if (cur_nodes != NULL && re_node_set_contains (cur_nodes, last_node))
- return REG_NOERROR;
-
- return REG_NOMATCH;
-}
-
-/* Helper functions for check_arrival. */
-
-/* Calculate the destination nodes of CUR_NODES at STR_IDX, and append them
- to NEXT_NODES.
- TODO: This function is similar to the functions transit_state*(),
- however this function has many additional works.
- Can't we unify them? */
-
-static reg_errcode_t
-internal_function
-check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
- re_node_set *cur_nodes, re_node_set *next_nodes)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- bool ok;
- Idx cur_idx;
-#ifdef RE_ENABLE_I18N
- reg_errcode_t err = REG_NOERROR;
-#endif
- re_node_set union_set;
- re_node_set_init_empty (&union_set);
- for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx)
- {
- int naccepted = 0;
- Idx cur_node = cur_nodes->elems[cur_idx];
-#ifdef DEBUG
- re_token_type_t type = dfa->nodes[cur_node].type;
- assert (!IS_EPSILON_NODE (type));
-#endif
-#ifdef RE_ENABLE_I18N
- /* If the node may accept `multi byte'. */
- if (dfa->nodes[cur_node].accept_mb)
- {
- naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input,
- str_idx);
- if (naccepted > 1)
- {
- re_dfastate_t *dest_state;
- Idx next_node = dfa->nexts[cur_node];
- Idx next_idx = str_idx + naccepted;
- dest_state = mctx->state_log[next_idx];
- re_node_set_empty (&union_set);
- if (dest_state)
- {
- err = re_node_set_merge (&union_set, &dest_state->nodes);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&union_set);
- return err;
- }
- }
- ok = re_node_set_insert (&union_set, next_node);
- if (BE (! ok, 0))
- {
- re_node_set_free (&union_set);
- return REG_ESPACE;
- }
- mctx->state_log[next_idx] = re_acquire_state (&err, dfa,
- &union_set);
- if (BE (mctx->state_log[next_idx] == NULL
- && err != REG_NOERROR, 0))
- {
- re_node_set_free (&union_set);
- return err;
- }
- }
- }
-#endif /* RE_ENABLE_I18N */
- if (naccepted
- || check_node_accept (mctx, dfa->nodes + cur_node, str_idx))
- {
- ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]);
- if (BE (! ok, 0))
- {
- re_node_set_free (&union_set);
- return REG_ESPACE;
- }
- }
- }
- re_node_set_free (&union_set);
- return REG_NOERROR;
-}
-
-/* For all the nodes in CUR_NODES, add the epsilon closures of them to
- CUR_NODES, however exclude the nodes which are:
- - inside the sub expression whose number is EX_SUBEXP, if FL_OPEN.
- - out of the sub expression whose number is EX_SUBEXP, if !FL_OPEN.
-*/
-
-static reg_errcode_t
-internal_function
-check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
- Idx ex_subexp, int type)
-{
- reg_errcode_t err;
- Idx idx, outside_node;
- re_node_set new_nodes;
-#ifdef DEBUG
- assert (cur_nodes->nelem);
-#endif
- err = re_node_set_alloc (&new_nodes, cur_nodes->nelem);
- if (BE (err != REG_NOERROR, 0))
- return err;
- /* Create a new node set NEW_NODES with the nodes which are epsilon
- closures of the node in CUR_NODES. */
-
- for (idx = 0; idx < cur_nodes->nelem; ++idx)
- {
- Idx cur_node = cur_nodes->elems[idx];
- const re_node_set *eclosure = dfa->eclosures + cur_node;
- outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type);
- if (outside_node == REG_MISSING)
- {
- /* There are no problematic nodes, just merge them. */
- err = re_node_set_merge (&new_nodes, eclosure);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&new_nodes);
- return err;
- }
- }
- else
- {
- /* There are problematic nodes, re-calculate incrementally. */
- err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node,
- ex_subexp, type);
- if (BE (err != REG_NOERROR, 0))
- {
- re_node_set_free (&new_nodes);
- return err;
- }
- }
- }
- re_node_set_free (cur_nodes);
- *cur_nodes = new_nodes;
- return REG_NOERROR;
-}
-
-/* Helper function for check_arrival_expand_ecl.
- Check incrementally the epsilon closure of TARGET, and if it isn't
- problematic append it to DST_NODES. */
-
-static reg_errcode_t
-internal_function
-check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
- Idx target, Idx ex_subexp, int type)
-{
- Idx cur_node;
- for (cur_node = target; !re_node_set_contains (dst_nodes, cur_node);)
- {
- bool ok;
-
- if (dfa->nodes[cur_node].type == type
- && dfa->nodes[cur_node].opr.idx == ex_subexp)
- {
- if (type == OP_CLOSE_SUBEXP)
- {
- ok = re_node_set_insert (dst_nodes, cur_node);
- if (BE (! ok, 0))
- return REG_ESPACE;
- }
- break;
- }
- ok = re_node_set_insert (dst_nodes, cur_node);
- if (BE (! ok, 0))
- return REG_ESPACE;
- if (dfa->edests[cur_node].nelem == 0)
- break;
- if (dfa->edests[cur_node].nelem == 2)
- {
- reg_errcode_t err;
- err = check_arrival_expand_ecl_sub (dfa, dst_nodes,
- dfa->edests[cur_node].elems[1],
- ex_subexp, type);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- cur_node = dfa->edests[cur_node].elems[0];
- }
- return REG_NOERROR;
-}
-
-
-/* For all the back references in the current state, calculate the
- destination of the back references by the appropriate entry
- in MCTX->BKREF_ENTS. */
-
-static reg_errcode_t
-internal_function
-expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
- Idx cur_str, Idx subexp_num, int type)
-{
- const re_dfa_t *const dfa = mctx->dfa;
- reg_errcode_t err;
- Idx cache_idx_start = search_cur_bkref_entry (mctx, cur_str);
- struct re_backref_cache_entry *ent;
-
- if (cache_idx_start == REG_MISSING)
- return REG_NOERROR;
-
- restart:
- ent = mctx->bkref_ents + cache_idx_start;
- do
- {
- Idx to_idx, next_node;
-
- /* Is this entry ENT is appropriate? */
- if (!re_node_set_contains (cur_nodes, ent->node))
- continue; /* No. */
-
- to_idx = cur_str + ent->subexp_to - ent->subexp_from;
- /* Calculate the destination of the back reference, and append it
- to MCTX->STATE_LOG. */
- if (to_idx == cur_str)
- {
- /* The backreference did epsilon transit, we must re-check all the
- node in the current state. */
- re_node_set new_dests;
- reg_errcode_t err2, err3;
- next_node = dfa->edests[ent->node].elems[0];
- if (re_node_set_contains (cur_nodes, next_node))
- continue;
- err = re_node_set_init_1 (&new_dests, next_node);
- err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type);
- err3 = re_node_set_merge (cur_nodes, &new_dests);
- re_node_set_free (&new_dests);
- if (BE (err != REG_NOERROR || err2 != REG_NOERROR
- || err3 != REG_NOERROR, 0))
- {
- err = (err != REG_NOERROR ? err
- : (err2 != REG_NOERROR ? err2 : err3));
- return err;
- }
- /* TODO: It is still inefficient... */
- goto restart;
- }
- else
- {
- re_node_set union_set;
- next_node = dfa->nexts[ent->node];
- if (mctx->state_log[to_idx])
- {
- bool ok;
- if (re_node_set_contains (&mctx->state_log[to_idx]->nodes,
- next_node))
- continue;
- err = re_node_set_init_copy (&union_set,
- &mctx->state_log[to_idx]->nodes);
- ok = re_node_set_insert (&union_set, next_node);
- if (BE (err != REG_NOERROR || ! ok, 0))
- {
- re_node_set_free (&union_set);
- err = err != REG_NOERROR ? err : REG_ESPACE;
- return err;
- }
- }
- else
- {
- err = re_node_set_init_1 (&union_set, next_node);
- if (BE (err != REG_NOERROR, 0))
- return err;
- }
- mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set);
- re_node_set_free (&union_set);
- if (BE (mctx->state_log[to_idx] == NULL
- && err != REG_NOERROR, 0))
- return err;
- }
- }
- while (ent++->more);
- return REG_NOERROR;
-}
-
-/* Build transition table for the state.
- Return true if successful. */
-
-static bool
-internal_function
-build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
-{
- reg_errcode_t err;
- Idx i, j;
- int ch;
- bool need_word_trtable = false;
- bitset_word_t elem, mask;
- bool dests_node_malloced = false;
- bool dest_states_malloced = false;
- Idx ndests; /* Number of the destination states from `state'. */
- re_dfastate_t **trtable;
- re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl;
- re_node_set follows, *dests_node;
- bitset_t *dests_ch;
- bitset_t acceptable;
-
- struct dests_alloc
- {
- re_node_set dests_node[SBC_MAX];
- bitset_t dests_ch[SBC_MAX];
- } *dests_alloc;
-
- /* We build DFA states which corresponds to the destination nodes
- from `state'. `dests_node[i]' represents the nodes which i-th
- destination state contains, and `dests_ch[i]' represents the
- characters which i-th destination state accepts. */
- if (__libc_use_alloca (sizeof (struct dests_alloc)))
- dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc));
- else
- {
- dests_alloc = re_malloc (struct dests_alloc, 1);
- if (BE (dests_alloc == NULL, 0))
- return false;
- dests_node_malloced = true;
- }
- dests_node = dests_alloc->dests_node;
- dests_ch = dests_alloc->dests_ch;
-
- /* Initialize transiton table. */
- state->word_trtable = state->trtable = NULL;
-
- /* At first, group all nodes belonging to `state' into several
- destinations. */
- ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch);
- if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0))
- {
- if (dests_node_malloced)
- free (dests_alloc);
- if (ndests == 0)
- {
- state->trtable = (re_dfastate_t **)
- calloc (sizeof (re_dfastate_t *), SBC_MAX);
- return true;
- }
- return false;
- }
-
- err = re_node_set_alloc (&follows, ndests + 1);
- if (BE (err != REG_NOERROR, 0))
- goto out_free;
-
- /* Avoid arithmetic overflow in size calculation. */
- if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
- / (3 * sizeof (re_dfastate_t *)))
- < ndests),
- 0))
- goto out_free;
-
- if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX
- + ndests * 3 * sizeof (re_dfastate_t *)))
- dest_states = (re_dfastate_t **)
- alloca (ndests * 3 * sizeof (re_dfastate_t *));
- else
- {
- dest_states = (re_dfastate_t **)
- malloc (ndests * 3 * sizeof (re_dfastate_t *));
- if (BE (dest_states == NULL, 0))
- {
-out_free:
- if (dest_states_malloced)
- free (dest_states);
- re_node_set_free (&follows);
- for (i = 0; i < ndests; ++i)
- re_node_set_free (dests_node + i);
- if (dests_node_malloced)
- free (dests_alloc);
- return false;
- }
- dest_states_malloced = true;
- }
- dest_states_word = dest_states + ndests;
- dest_states_nl = dest_states_word + ndests;
- bitset_empty (acceptable);
-
- /* Then build the states for all destinations. */
- for (i = 0; i < ndests; ++i)
- {
- Idx next_node;
- re_node_set_empty (&follows);
- /* Merge the follows of this destination states. */
- for (j = 0; j < dests_node[i].nelem; ++j)
- {
- next_node = dfa->nexts[dests_node[i].elems[j]];
- if (next_node != REG_MISSING)
- {
- err = re_node_set_merge (&follows, dfa->eclosures + next_node);
- if (BE (err != REG_NOERROR, 0))
- goto out_free;
- }
- }
- dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0);
- if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0))
- goto out_free;
- /* If the new state has context constraint,
- build appropriate states for these contexts. */
- if (dest_states[i]->has_constraint)
- {
- dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows,
- CONTEXT_WORD);
- if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0))
- goto out_free;
-
- if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1)
- need_word_trtable = true;
-
- dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows,
- CONTEXT_NEWLINE);
- if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0))
- goto out_free;
- }
- else
- {
- dest_states_word[i] = dest_states[i];
- dest_states_nl[i] = dest_states[i];
- }
- bitset_merge (acceptable, dests_ch[i]);
- }
-
- if (!BE (need_word_trtable, 0))
- {
- /* We don't care about whether the following character is a word
- character, or we are in a single-byte character set so we can
- discern by looking at the character code: allocate a
- 256-entry transition table. */
- trtable = state->trtable =
- (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX);
- if (BE (trtable == NULL, 0))
- goto out_free;
-
- /* For all characters ch...: */
- for (i = 0; i < BITSET_WORDS; ++i)
- for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
- elem;
- mask <<= 1, elem >>= 1, ++ch)
- if (BE (elem & 1, 0))
- {
- /* There must be exactly one destination which accepts
- character ch. See group_nodes_into_DFAstates. */
- for (j = 0; (dests_ch[j][i] & mask) == 0; ++j)
- ;
-
- /* j-th destination accepts the word character ch. */
- if (dfa->word_char[i] & mask)
- trtable[ch] = dest_states_word[j];
- else
- trtable[ch] = dest_states[j];
- }
- }
- else
- {
- /* We care about whether the following character is a word
- character, and we are in a multi-byte character set: discern
- by looking at the character code: build two 256-entry
- transition tables, one starting at trtable[0] and one
- starting at trtable[SBC_MAX]. */
- trtable = state->word_trtable =
- (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX);
- if (BE (trtable == NULL, 0))
- goto out_free;
-
- /* For all characters ch...: */
- for (i = 0; i < BITSET_WORDS; ++i)
- for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
- elem;
- mask <<= 1, elem >>= 1, ++ch)
- if (BE (elem & 1, 0))
- {
- /* There must be exactly one destination which accepts
- character ch. See group_nodes_into_DFAstates. */
- for (j = 0; (dests_ch[j][i] & mask) == 0; ++j)
- ;
-
- /* j-th destination accepts the word character ch. */
- trtable[ch] = dest_states[j];
- trtable[ch + SBC_MAX] = dest_states_word[j];
- }
- }
-
- /* new line */
- if (bitset_contain (acceptable, NEWLINE_CHAR))
- {
- /* The current state accepts newline character. */
- for (j = 0; j < ndests; ++j)
- if (bitset_contain (dests_ch[j], NEWLINE_CHAR))
- {
- /* k-th destination accepts newline character. */
- trtable[NEWLINE_CHAR] = dest_states_nl[j];
- if (need_word_trtable)
- trtable[NEWLINE_CHAR + SBC_MAX] = dest_states_nl[j];
- /* There must be only one destination which accepts
- newline. See group_nodes_into_DFAstates. */
- break;
- }
- }
-
- if (dest_states_malloced)
- free (dest_states);
-
- re_node_set_free (&follows);
- for (i = 0; i < ndests; ++i)
- re_node_set_free (dests_node + i);
-
- if (dests_node_malloced)
- free (dests_alloc);
-
- return true;
-}
-
-/* Group all nodes belonging to STATE into several destinations.
- Then for all destinations, set the nodes belonging to the destination
- to DESTS_NODE[i] and set the characters accepted by the destination
- to DEST_CH[i]. This function return the number of destinations. */
-
-static Idx
-internal_function
-group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
- re_node_set *dests_node, bitset_t *dests_ch)
-{
- reg_errcode_t err;
- bool ok;
- Idx i, j, k;
- Idx ndests; /* Number of the destinations from `state'. */
- bitset_t accepts; /* Characters a node can accept. */
- const re_node_set *cur_nodes = &state->nodes;
- bitset_empty (accepts);
- ndests = 0;
-
- /* For all the nodes belonging to `state', */
- for (i = 0; i < cur_nodes->nelem; ++i)
- {
- re_token_t *node = &dfa->nodes[cur_nodes->elems[i]];
- re_token_type_t type = node->type;
- unsigned int constraint = node->constraint;
-
- /* Enumerate all single byte character this node can accept. */
- if (type == CHARACTER)
- bitset_set (accepts, node->opr.c);
- else if (type == SIMPLE_BRACKET)
- {
- bitset_merge (accepts, node->opr.sbcset);
- }
- else if (type == OP_PERIOD)
- {
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- bitset_merge (accepts, dfa->sb_char);
- else
-#endif
- bitset_set_all (accepts);
- if (!(dfa->syntax & RE_DOT_NEWLINE))
- bitset_clear (accepts, '\n');
- if (dfa->syntax & RE_DOT_NOT_NULL)
- bitset_clear (accepts, '\0');
- }
-#ifdef RE_ENABLE_I18N
- else if (type == OP_UTF8_PERIOD)
- {
- if (ASCII_CHARS % BITSET_WORD_BITS == 0)
- memset (accepts, -1, ASCII_CHARS / CHAR_BIT);
- else
- bitset_merge (accepts, utf8_sb_map);
- if (!(dfa->syntax & RE_DOT_NEWLINE))
- bitset_clear (accepts, '\n');
- if (dfa->syntax & RE_DOT_NOT_NULL)
- bitset_clear (accepts, '\0');
- }
-#endif
- else
- continue;
-
- /* Check the `accepts' and sift the characters which are not
- match it the context. */
- if (constraint)
- {
- if (constraint & NEXT_NEWLINE_CONSTRAINT)
- {
- bool accepts_newline = bitset_contain (accepts, NEWLINE_CHAR);
- bitset_empty (accepts);
- if (accepts_newline)
- bitset_set (accepts, NEWLINE_CHAR);
- else
- continue;
- }
- if (constraint & NEXT_ENDBUF_CONSTRAINT)
- {
- bitset_empty (accepts);
- continue;
- }
-
- if (constraint & NEXT_WORD_CONSTRAINT)
- {
- bitset_word_t any_set = 0;
- if (type == CHARACTER && !node->word_char)
- {
- bitset_empty (accepts);
- continue;
- }
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- for (j = 0; j < BITSET_WORDS; ++j)
- any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j]));
- else
-#endif
- for (j = 0; j < BITSET_WORDS; ++j)
- any_set |= (accepts[j] &= dfa->word_char[j]);
- if (!any_set)
- continue;
- }
- if (constraint & NEXT_NOTWORD_CONSTRAINT)
- {
- bitset_word_t any_set = 0;
- if (type == CHARACTER && node->word_char)
- {
- bitset_empty (accepts);
- continue;
- }
-#ifdef RE_ENABLE_I18N
- if (dfa->mb_cur_max > 1)
- for (j = 0; j < BITSET_WORDS; ++j)
- any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j]));
- else
-#endif
- for (j = 0; j < BITSET_WORDS; ++j)
- any_set |= (accepts[j] &= ~dfa->word_char[j]);
- if (!any_set)
- continue;
- }
- }
-
- /* Then divide `accepts' into DFA states, or create a new
- state. Above, we make sure that accepts is not empty. */
- for (j = 0; j < ndests; ++j)
- {
- bitset_t intersec; /* Intersection sets, see below. */
- bitset_t remains;
- /* Flags, see below. */
- bitset_word_t has_intersec, not_subset, not_consumed;
-
- /* Optimization, skip if this state doesn't accept the character. */
- if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c))
- continue;
-
- /* Enumerate the intersection set of this state and `accepts'. */
- has_intersec = 0;
- for (k = 0; k < BITSET_WORDS; ++k)
- has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k];
- /* And skip if the intersection set is empty. */
- if (!has_intersec)
- continue;
-
- /* Then check if this state is a subset of `accepts'. */
- not_subset = not_consumed = 0;
- for (k = 0; k < BITSET_WORDS; ++k)
- {
- not_subset |= remains[k] = ~accepts[k] & dests_ch[j][k];
- not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k];
- }
-
- /* If this state isn't a subset of `accepts', create a
- new group state, which has the `remains'. */
- if (not_subset)
- {
- bitset_copy (dests_ch[ndests], remains);
- bitset_copy (dests_ch[j], intersec);
- err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]);
- if (BE (err != REG_NOERROR, 0))
- goto error_return;
- ++ndests;
- }
-
- /* Put the position in the current group. */
- ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]);
- if (BE (! ok, 0))
- goto error_return;
-
- /* If all characters are consumed, go to next node. */
- if (!not_consumed)
- break;
- }
- /* Some characters remain, create a new group. */
- if (j == ndests)
- {
- bitset_copy (dests_ch[ndests], accepts);
- err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]);
- if (BE (err != REG_NOERROR, 0))
- goto error_return;
- ++ndests;
- bitset_empty (accepts);
- }
- }
- return ndests;
- error_return:
- for (j = 0; j < ndests; ++j)
- re_node_set_free (dests_node + j);
- return REG_MISSING;
-}
-
-#ifdef RE_ENABLE_I18N
-/* Check how many bytes the node `dfa->nodes[node_idx]' accepts.
- Return the number of the bytes the node accepts.
- STR_IDX is the current index of the input string.
-
- This function handles the nodes which can accept one character, or
- one collating element like '.', '[a-z]', opposite to the other nodes
- can only accept one byte. */
-
-static int
-internal_function
-check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
- const re_string_t *input, Idx str_idx)
-{
- const re_token_t *node = dfa->nodes + node_idx;
- int char_len, elem_len;
- Idx i;
-
- if (BE (node->type == OP_UTF8_PERIOD, 0))
- {
- unsigned char c = re_string_byte_at (input, str_idx), d;
- if (BE (c < 0xc2, 1))
- return 0;
-
- if (str_idx + 2 > input->len)
- return 0;
-
- d = re_string_byte_at (input, str_idx + 1);
- if (c < 0xe0)
- return (d < 0x80 || d > 0xbf) ? 0 : 2;
- else if (c < 0xf0)
- {
- char_len = 3;
- if (c == 0xe0 && d < 0xa0)
- return 0;
- }
- else if (c < 0xf8)
- {
- char_len = 4;
- if (c == 0xf0 && d < 0x90)
- return 0;
- }
- else if (c < 0xfc)
- {
- char_len = 5;
- if (c == 0xf8 && d < 0x88)
- return 0;
- }
- else if (c < 0xfe)
- {
- char_len = 6;
- if (c == 0xfc && d < 0x84)
- return 0;
- }
- else
- return 0;
-
- if (str_idx + char_len > input->len)
- return 0;
-
- for (i = 1; i < char_len; ++i)
- {
- d = re_string_byte_at (input, str_idx + i);
- if (d < 0x80 || d > 0xbf)
- return 0;
- }
- return char_len;
- }
-
- char_len = re_string_char_size_at (input, str_idx);
- if (node->type == OP_PERIOD)
- {
- if (char_len <= 1)
- return 0;
- /* FIXME: I don't think this if is needed, as both '\n'
- and '\0' are char_len == 1. */
- /* '.' accepts any one character except the following two cases. */
- if ((!(dfa->syntax & RE_DOT_NEWLINE) &&
- re_string_byte_at (input, str_idx) == '\n') ||
- ((dfa->syntax & RE_DOT_NOT_NULL) &&
- re_string_byte_at (input, str_idx) == '\0'))
- return 0;
- return char_len;
- }
-
- elem_len = re_string_elem_size_at (input, str_idx);
- if ((elem_len <= 1 && char_len <= 1) || char_len == 0)
- return 0;
-
- if (node->type == COMPLEX_BRACKET)
- {
- const re_charset_t *cset = node->opr.mbcset;
-# ifdef _LIBC
- const unsigned char *pin
- = ((const unsigned char *) re_string_get_buffer (input) + str_idx);
- Idx j;
- uint32_t nrules;
-# endif /* _LIBC */
- int match_len = 0;
- wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars)
- ? re_string_wchar_at (input, str_idx) : 0);
-
- /* match with multibyte character? */
- for (i = 0; i < cset->nmbchars; ++i)
- if (wc == cset->mbchars[i])
- {
- match_len = char_len;
- goto check_node_accept_bytes_match;
- }
- /* match with character_class? */
- for (i = 0; i < cset->nchar_classes; ++i)
- {
- wctype_t wt = cset->char_classes[i];
- if (__iswctype (wc, wt))
- {
- match_len = char_len;
- goto check_node_accept_bytes_match;
- }
- }
-
-# ifdef _LIBC
- nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
- if (nrules != 0)
- {
- unsigned int in_collseq = 0;
- const int32_t *table, *indirect;
- const unsigned char *weights, *extra;
- const char *collseqwc;
- int32_t idx;
- /* This #include defines a local function! */
-# include <locale/weight.h>
-
- /* match with collating_symbol? */
- if (cset->ncoll_syms)
- extra = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB);
- for (i = 0; i < cset->ncoll_syms; ++i)
- {
- const unsigned char *coll_sym = extra + cset->coll_syms[i];
- /* Compare the length of input collating element and
- the length of current collating element. */
- if (*coll_sym != elem_len)
- continue;
- /* Compare each bytes. */
- for (j = 0; j < *coll_sym; j++)
- if (pin[j] != coll_sym[1 + j])
- break;
- if (j == *coll_sym)
- {
- /* Match if every bytes is equal. */
- match_len = j;
- goto check_node_accept_bytes_match;
- }
- }
-
- if (cset->nranges)
- {
- if (elem_len <= char_len)
- {
- collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC);
- in_collseq = __collseq_table_lookup (collseqwc, wc);
- }
- else
- in_collseq = find_collation_sequence_value (pin, elem_len);
- }
- /* match with range expression? */
- for (i = 0; i < cset->nranges; ++i)
- if (cset->range_starts[i] <= in_collseq
- && in_collseq <= cset->range_ends[i])
- {
- match_len = elem_len;
- goto check_node_accept_bytes_match;
- }
-
- /* match with equivalence_class? */
- if (cset->nequiv_classes)
- {
- const unsigned char *cp = pin;
- table = (const int32_t *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
- weights = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB);
- extra = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
- indirect = (const int32_t *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- idx = findidx (&cp);
- if (idx > 0)
- for (i = 0; i < cset->nequiv_classes; ++i)
- {
- int32_t equiv_class_idx = cset->equiv_classes[i];
- size_t weight_len = weights[idx];
- if (weight_len == weights[equiv_class_idx])
- {
- Idx cnt = 0;
- while (cnt <= weight_len
- && (weights[equiv_class_idx + 1 + cnt]
- == weights[idx + 1 + cnt]))
- ++cnt;
- if (cnt > weight_len)
- {
- match_len = elem_len;
- goto check_node_accept_bytes_match;
- }
- }
- }
- }
- }
- else
-# endif /* _LIBC */
- {
- /* match with range expression? */
-#if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__)
- wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'};
-#else
- wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
- cmp_buf[2] = wc;
-#endif
- for (i = 0; i < cset->nranges; ++i)
- {
- cmp_buf[0] = cset->range_starts[i];
- cmp_buf[4] = cset->range_ends[i];
- if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
- && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
- {
- match_len = char_len;
- goto check_node_accept_bytes_match;
- }
- }
- }
- check_node_accept_bytes_match:
- if (!cset->non_match)
- return match_len;
- else
- {
- if (match_len > 0)
- return 0;
- else
- return (elem_len > char_len) ? elem_len : char_len;
- }
- }
- return 0;
-}
-
-# ifdef _LIBC
-static unsigned int
-internal_function
-find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
-{
- uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
- if (nrules == 0)
- {
- if (mbs_len == 1)
- {
- /* No valid character. Match it as a single byte character. */
- const unsigned char *collseq = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB);
- return collseq[mbs[0]];
- }
- return UINT_MAX;
- }
- else
- {
- int32_t idx;
- const unsigned char *extra = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB);
- int32_t extrasize = (const unsigned char *)
- _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB + 1) - extra;
-
- for (idx = 0; idx < extrasize;)
- {
- int mbs_cnt;
- bool found = false;
- int32_t elem_mbs_len;
- /* Skip the name of collating element name. */
- idx = idx + extra[idx] + 1;
- elem_mbs_len = extra[idx++];
- if (mbs_len == elem_mbs_len)
- {
- for (mbs_cnt = 0; mbs_cnt < elem_mbs_len; ++mbs_cnt)
- if (extra[idx + mbs_cnt] != mbs[mbs_cnt])
- break;
- if (mbs_cnt == elem_mbs_len)
- /* Found the entry. */
- found = true;
- }
- /* Skip the byte sequence of the collating element. */
- idx += elem_mbs_len;
- /* Adjust for the alignment. */
- idx = (idx + 3) & ~3;
- /* Skip the collation sequence value. */
- idx += sizeof (uint32_t);
- /* Skip the wide char sequence of the collating element. */
- idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
- /* If we found the entry, return the sequence value. */
- if (found)
- return *(uint32_t *) (extra + idx);
- /* Skip the collation sequence value. */
- idx += sizeof (uint32_t);
- }
- return UINT_MAX;
- }
-}
-# endif /* _LIBC */
-#endif /* RE_ENABLE_I18N */
-
-/* Check whether the node accepts the byte which is IDX-th
- byte of the INPUT. */
-
-static bool
-internal_function
-check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
- Idx idx)
-{
- unsigned char ch;
- ch = re_string_byte_at (&mctx->input, idx);
- switch (node->type)
- {
- case CHARACTER:
- if (node->opr.c != ch)
- return false;
- break;
-
- case SIMPLE_BRACKET:
- if (!bitset_contain (node->opr.sbcset, ch))
- return false;
- break;
-
-#ifdef RE_ENABLE_I18N
- case OP_UTF8_PERIOD:
- if (ch >= ASCII_CHARS)
- return false;
- /* FALLTHROUGH */
-#endif
- case OP_PERIOD:
- if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE))
- || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL)))
- return false;
- break;
-
- default:
- return false;
- }
-
- if (node->constraint)
- {
- /* The node has constraints. Check whether the current context
- satisfies the constraints. */
- unsigned int context = re_string_context_at (&mctx->input, idx,
- mctx->eflags);
- if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context))
- return false;
- }
-
- return true;
-}
-
-/* Extend the buffers, if the buffers have run out. */
-
-static reg_errcode_t
-internal_function
-extend_buffers (re_match_context_t *mctx)
-{
- reg_errcode_t ret;
- re_string_t *pstr = &mctx->input;
-
- /* Avoid overflow. */
- if (BE (SIZE_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
- return REG_ESPACE;
-
- /* Double the lengthes of the buffers. */
- ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
-
- if (mctx->state_log != NULL)
- {
- /* And double the length of state_log. */
- /* XXX We have no indication of the size of this buffer. If this
- allocation fail we have no indication that the state_log array
- does not have the right size. */
- re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *,
- pstr->bufs_len + 1);
- if (BE (new_array == NULL, 0))
- return REG_ESPACE;
- mctx->state_log = new_array;
- }
-
- /* Then reconstruct the buffers. */
- if (pstr->icase)
- {
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- {
- ret = build_wcs_upper_buffer (pstr);
- if (BE (ret != REG_NOERROR, 0))
- return ret;
- }
- else
-#endif /* RE_ENABLE_I18N */
- build_upper_buffer (pstr);
- }
- else
- {
-#ifdef RE_ENABLE_I18N
- if (pstr->mb_cur_max > 1)
- build_wcs_buffer (pstr);
- else
-#endif /* RE_ENABLE_I18N */
- {
- if (pstr->trans != NULL)
- re_string_translate_buffer (pstr);
- }
- }
- return REG_NOERROR;
-}
-
-
-/* Functions for matching context. */
-
-/* Initialize MCTX. */
-
-static reg_errcode_t
-internal_function
-match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
-{
- mctx->eflags = eflags;
- mctx->match_last = REG_MISSING;
- if (n > 0)
- {
- /* Avoid overflow. */
- size_t max_object_size =
- MAX (sizeof (struct re_backref_cache_entry),
- sizeof (re_sub_match_top_t *));
- if (BE (SIZE_MAX / max_object_size < n, 0))
- return REG_ESPACE;
-
- mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n);
- mctx->sub_tops = re_malloc (re_sub_match_top_t *, n);
- if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0))
- return REG_ESPACE;
- }
- /* Already zero-ed by the caller.
- else
- mctx->bkref_ents = NULL;
- mctx->nbkref_ents = 0;
- mctx->nsub_tops = 0; */
- mctx->abkref_ents = n;
- mctx->max_mb_elem_len = 1;
- mctx->asub_tops = n;
- return REG_NOERROR;
-}
-
-/* Clean the entries which depend on the current input in MCTX.
- This function must be invoked when the matcher changes the start index
- of the input, or changes the input string. */
-
-static void
-internal_function
-match_ctx_clean (re_match_context_t *mctx)
-{
- Idx st_idx;
- for (st_idx = 0; st_idx < mctx->nsub_tops; ++st_idx)
- {
- Idx sl_idx;
- re_sub_match_top_t *top = mctx->sub_tops[st_idx];
- for (sl_idx = 0; sl_idx < top->nlasts; ++sl_idx)
- {
- re_sub_match_last_t *last = top->lasts[sl_idx];
- re_free (last->path.array);
- re_free (last);
- }
- re_free (top->lasts);
- if (top->path)
- {
- re_free (top->path->array);
- re_free (top->path);
- }
- free (top);
- }
-
- mctx->nsub_tops = 0;
- mctx->nbkref_ents = 0;
-}
-
-/* Free all the memory associated with MCTX. */
-
-static void
-internal_function
-match_ctx_free (re_match_context_t *mctx)
-{
- /* First, free all the memory associated with MCTX->SUB_TOPS. */
- match_ctx_clean (mctx);
- re_free (mctx->sub_tops);
- re_free (mctx->bkref_ents);
-}
-
-/* Add a new backreference entry to MCTX.
- Note that we assume that caller never call this function with duplicate
- entry, and call with STR_IDX which isn't smaller than any existing entry.
-*/
-
-static reg_errcode_t
-internal_function
-match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
- Idx to)
-{
- if (mctx->nbkref_ents >= mctx->abkref_ents)
- {
- struct re_backref_cache_entry* new_entry;
- new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry,
- mctx->abkref_ents * 2);
- if (BE (new_entry == NULL, 0))
- {
- re_free (mctx->bkref_ents);
- return REG_ESPACE;
- }
- mctx->bkref_ents = new_entry;
- memset (mctx->bkref_ents + mctx->nbkref_ents, '\0',
- sizeof (struct re_backref_cache_entry) * mctx->abkref_ents);
- mctx->abkref_ents *= 2;
- }
- if (mctx->nbkref_ents > 0
- && mctx->bkref_ents[mctx->nbkref_ents - 1].str_idx == str_idx)
- mctx->bkref_ents[mctx->nbkref_ents - 1].more = 1;
-
- mctx->bkref_ents[mctx->nbkref_ents].node = node;
- mctx->bkref_ents[mctx->nbkref_ents].str_idx = str_idx;
- mctx->bkref_ents[mctx->nbkref_ents].subexp_from = from;
- mctx->bkref_ents[mctx->nbkref_ents].subexp_to = to;
-
- /* This is a cache that saves negative results of check_dst_limits_calc_pos.
- If bit N is clear, means that this entry won't epsilon-transition to
- an OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP for the N+1-th subexpression. If
- it is set, check_dst_limits_calc_pos_1 will recurse and try to find one
- such node.
-
- A backreference does not epsilon-transition unless it is empty, so set
- to all zeros if FROM != TO. */
- mctx->bkref_ents[mctx->nbkref_ents].eps_reachable_subexps_map
- = (from == to ? -1 : 0);
-
- mctx->bkref_ents[mctx->nbkref_ents++].more = 0;
- if (mctx->max_mb_elem_len < to - from)
- mctx->max_mb_elem_len = to - from;
- return REG_NOERROR;
-}
-
-/* Return the first entry with the same str_idx, or REG_MISSING if none is
- found. Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX. */
-
-static Idx
-internal_function
-search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
-{
- Idx left, right, mid, last;
- last = right = mctx->nbkref_ents;
- for (left = 0; left < right;)
- {
- mid = (left + right) / 2;
- if (mctx->bkref_ents[mid].str_idx < str_idx)
- left = mid + 1;
- else
- right = mid;
- }
- if (left < last && mctx->bkref_ents[left].str_idx == str_idx)
- return left;
- else
- return REG_MISSING;
-}
-
-/* Register the node NODE, whose type is OP_OPEN_SUBEXP, and which matches
- at STR_IDX. */
-
-static reg_errcode_t
-internal_function
-match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
-{
-#ifdef DEBUG
- assert (mctx->sub_tops != NULL);
- assert (mctx->asub_tops > 0);
-#endif
- if (BE (mctx->nsub_tops == mctx->asub_tops, 0))
- {
- Idx new_asub_tops = mctx->asub_tops * 2;
- re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops,
- re_sub_match_top_t *,
- new_asub_tops);
- if (BE (new_array == NULL, 0))
- return REG_ESPACE;
- mctx->sub_tops = new_array;
- mctx->asub_tops = new_asub_tops;
- }
- mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t));
- if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0))
- return REG_ESPACE;
- mctx->sub_tops[mctx->nsub_tops]->node = node;
- mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx;
- return REG_NOERROR;
-}
-
-/* Register the node NODE, whose type is OP_CLOSE_SUBEXP, and which matches
- at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */
-
-static re_sub_match_last_t *
-internal_function
-match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)
-{
- re_sub_match_last_t *new_entry;
- if (BE (subtop->nlasts == subtop->alasts, 0))
- {
- Idx new_alasts = 2 * subtop->alasts + 1;
- re_sub_match_last_t **new_array = re_realloc (subtop->lasts,
- re_sub_match_last_t *,
- new_alasts);
- if (BE (new_array == NULL, 0))
- return NULL;
- subtop->lasts = new_array;
- subtop->alasts = new_alasts;
- }
- new_entry = calloc (1, sizeof (re_sub_match_last_t));
- if (BE (new_entry != NULL, 1))
- {
- subtop->lasts[subtop->nlasts] = new_entry;
- new_entry->node = node;
- new_entry->str_idx = str_idx;
- ++subtop->nlasts;
- }
- return new_entry;
-}
-
-static void
-internal_function
-sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
- re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx)
-{
- sctx->sifted_states = sifted_sts;
- sctx->limited_states = limited_sts;
- sctx->last_node = last_node;
- sctx->last_str_idx = last_str_idx;
- re_node_set_init_empty (&sctx->limits);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/rename.c b/sources/host-tools/sed-4.2.1/lib/rename.c
deleted file mode 100644
index b27fd91..0000000
--- a/sources/host-tools/sed-4.2.1/lib/rename.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Work around rename bugs in some systems. On SunOS 4.1.1_U1
- and mips-dec-ultrix4.4, rename fails when the source file has
- a trailing slash. On mingw, rename fails when the destination
- exists.
-
- Copyright (C) 2001, 2002, 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* written by Volker Borchert */
-
-#include <config.h>
-#undef rename
-
-#if RENAME_DEST_EXISTS_BUG
-/* This replacement must come first, otherwise when cross
- * compiling to Windows we will guess that it has the trailing
- * slash bug and entirely miss this one. */
-#include <errno.h>
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-/* Rename the file SRC to DST. This replacement is necessary on
- Windows, on which the system rename function will not replace
- an existing DST. */
-int
-rpl_rename (char const *src, char const *dst)
-{
- int error;
-
- /* MoveFileEx works if SRC is a directory without any flags,
- but fails with MOVEFILE_REPLACE_EXISTING, so try without
- flags first. */
- if (MoveFileEx (src, dst, 0))
- return 0;
-
- /* Retry with MOVEFILE_REPLACE_EXISTING if the move failed
- * due to the destination already existing. */
- error = GetLastError ();
- if (error == ERROR_FILE_EXISTS || error == ERROR_ALREADY_EXISTS)
- {
- if (MoveFileEx (src, dst, MOVEFILE_REPLACE_EXISTING))
- return 0;
-
- error = GetLastError ();
- }
-
- switch (error)
- {
- case ERROR_FILE_NOT_FOUND:
- case ERROR_PATH_NOT_FOUND:
- case ERROR_BAD_PATHNAME:
- case ERROR_DIRECTORY:
- errno = ENOENT;
- break;
-
- case ERROR_ACCESS_DENIED:
- case ERROR_SHARING_VIOLATION:
- errno = EACCES;
- break;
-
- case ERROR_OUTOFMEMORY:
- errno = ENOMEM;
- break;
-
- case ERROR_CURRENT_DIRECTORY:
- errno = EBUSY;
- break;
-
- case ERROR_NOT_SAME_DEVICE:
- errno = EXDEV;
- break;
-
- case ERROR_WRITE_PROTECT:
- errno = EROFS;
- break;
-
- case ERROR_WRITE_FAULT:
- case ERROR_READ_FAULT:
- case ERROR_GEN_FAILURE:
- errno = EIO;
- break;
-
- case ERROR_HANDLE_DISK_FULL:
- case ERROR_DISK_FULL:
- case ERROR_DISK_TOO_FRAGMENTED:
- errno = ENOSPC;
- break;
-
- case ERROR_FILE_EXISTS:
- case ERROR_ALREADY_EXISTS:
- errno = EEXIST;
- break;
-
- case ERROR_BUFFER_OVERFLOW:
- case ERROR_FILENAME_EXCED_RANGE:
- errno = ENAMETOOLONG;
- break;
-
- case ERROR_INVALID_NAME:
- case ERROR_DELETE_PENDING:
- errno = EPERM; /* ? */
- break;
-
-#ifndef ERROR_FILE_TOO_LARGE
-/* This value is documented but not defined in all versions of windows.h. */
-#define ERROR_FILE_TOO_LARGE 223
-#endif
- case ERROR_FILE_TOO_LARGE:
- errno = EFBIG;
- break;
-
- default:
- errno = EINVAL;
- break;
- }
-
- return -1;
-}
-#elif RENAME_TRAILING_SLASH_BUG
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "dirname.h"
-#include "xalloc.h"
-
-/* Rename the file SRC to DST, removing any trailing
- slashes from SRC. Needed for SunOS 4.1.1_U1. */
-
-int
-rpl_rename (char const *src, char const *dst)
-{
- char *src_temp;
- int ret_val;
- size_t s_len = strlen (src);
-
- if (s_len && src[s_len - 1] == '/')
- {
- src_temp = xstrdup (src);
- strip_trailing_slashes (src_temp);
- }
- else
- src_temp = (char *) src;
-
- ret_val = rename (src_temp, dst);
-
- if (src_temp != src)
- free (src_temp);
-
- return ret_val;
-}
-#endif /* RENAME_TRAILING_SLASH_BUG */
diff --git a/sources/host-tools/sed-4.2.1/lib/se-context.in.h b/sources/host-tools/sed-4.2.1/lib/se-context.in.h
deleted file mode 100644
index 5eb95af..0000000
--- a/sources/host-tools/sed-4.2.1/lib/se-context.in.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef SELINUX_CONTEXT_H
-# define SELINUX_CONTEXT_H
-
-# include <errno.h>
-
-typedef int context_t;
-static inline context_t context_new (char const *s _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return 0; }
-static inline char *context_str (context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return (void *) 0; }
-static inline void context_free (context_t c _UNUSED_PARAMETER_) {}
-
-static inline int context_user_set (context_t sc _UNUSED_PARAMETER_,
- char const *s _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int context_role_set (context_t sc _UNUSED_PARAMETER_,
- char const *s _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int context_range_set (context_t sc _UNUSED_PARAMETER_,
- char const *s _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int context_type_set (context_t sc _UNUSED_PARAMETER_,
- char const *s _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/se-selinux.in.h b/sources/host-tools/sed-4.2.1/lib/se-selinux.in.h
deleted file mode 100644
index 25cbaae..0000000
--- a/sources/host-tools/sed-4.2.1/lib/se-selinux.in.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef SELINUX_SELINUX_H
-# define SELINUX_SELINUX_H
-
-# include <sys/types.h>
-# include <errno.h>
-
-typedef unsigned short security_class_t;
-# define security_context_t char*
-# define is_selinux_enabled() 0
-
-static inline int getcon (security_context_t *con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline void freecon (security_context_t con _UNUSED_PARAMETER_) {}
-
-
-static inline int getfscreatecon (security_context_t *con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int setfscreatecon (security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int matchpathcon (char const *s _UNUSED_PARAMETER_,
- mode_t m _UNUSED_PARAMETER_,
- security_context_t *con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int getfilecon (char const *s _UNUSED_PARAMETER_,
- security_context_t *con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int lgetfilecon (char const *s _UNUSED_PARAMETER_,
- security_context_t *con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int setfilecon (char const *s _UNUSED_PARAMETER_,
- security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int lsetfilecon (char const *s _UNUSED_PARAMETER_,
- security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int fsetfilecon (int fd _UNUSED_PARAMETER_,
- security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-
-static inline int security_check_context
- (security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int security_check_context_raw
- (security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int setexeccon (security_context_t con _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int security_compute_create
- (security_context_t scon _UNUSED_PARAMETER_,
- security_context_t tcon _UNUSED_PARAMETER_,
- security_class_t tclass _UNUSED_PARAMETER_,
- security_context_t *newcon _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-static inline int matchpathcon_init_prefix
- (char const *path _UNUSED_PARAMETER_,
- char const *prefix _UNUSED_PARAMETER_)
- { errno = ENOTSUP; return -1; }
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/set-mode-acl.c b/sources/host-tools/sed-4.2.1/lib/set-mode-acl.c
deleted file mode 100644
index a24b9f3..0000000
--- a/sources/host-tools/sed-4.2.1/lib/set-mode-acl.c
+++ /dev/null
@@ -1,490 +0,0 @@
-/* set-mode-acl.c - set access control list equivalent to a mode
-
- Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Paul Eggert and Andreas Gruenbacher, and Bruno Haible. */
-
-#include <config.h>
-
-#include "acl.h"
-
-#include "acl-internal.h"
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-
-
-/* If DESC is a valid file descriptor use fchmod to change the
- file's mode to MODE on systems that have fchown. On systems
- that don't have fchown and if DESC is invalid, use chown on
- NAME instead.
- Return 0 if successful. Return -1 and set errno upon failure. */
-
-int
-chmod_or_fchmod (const char *name, int desc, mode_t mode)
-{
- if (HAVE_FCHMOD && desc != -1)
- return fchmod (desc, mode);
- else
- return chmod (name, mode);
-}
-
-/* Set the access control lists of a file. If DESC is a valid file
- descriptor, use file descriptor operations where available, else use
- filename based operations on NAME. If access control lists are not
- available, fchmod the target file to MODE. Also sets the
- non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX)
- to those from MODE if any are set.
- Return 0 if successful. Return -1 and set errno upon failure. */
-
-int
-qset_acl (char const *name, int desc, mode_t mode)
-{
-#if USE_ACL
-# if HAVE_ACL_GET_FILE
- /* POSIX 1003.1e draft 17 (abandoned) specific version. */
- /* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
-# if MODE_INSIDE_ACL
- /* Linux, FreeBSD, IRIX, Tru64 */
-
- /* We must also have acl_from_text and acl_delete_def_file.
- (acl_delete_def_file could be emulated with acl_init followed
- by acl_set_file, but acl_set_file with an empty acl is
- unspecified.) */
-
-# ifndef HAVE_ACL_FROM_TEXT
-# error Must have acl_from_text (see POSIX 1003.1e draft 17).
-# endif
-# ifndef HAVE_ACL_DELETE_DEF_FILE
-# error Must have acl_delete_def_file (see POSIX 1003.1e draft 17).
-# endif
-
- acl_t acl;
- int ret;
-
- if (HAVE_ACL_FROM_MODE) /* Linux */
- {
- acl = acl_from_mode (mode);
- if (!acl)
- return -1;
- }
- else /* FreeBSD, IRIX, Tru64 */
- {
- /* If we were to create the ACL using the functions acl_init(),
- acl_create_entry(), acl_set_tag_type(), acl_set_qualifier(),
- acl_get_permset(), acl_clear_perm[s](), acl_add_perm(), we
- would need to create a qualifier. I don't know how to do this.
- So create it using acl_from_text(). */
-
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
- char acl_text[] = "u::---,g::---,o::---,";
-# else /* FreeBSD, IRIX */
- char acl_text[] = "u::---,g::---,o::---";
-# endif
-
- if (mode & S_IRUSR) acl_text[ 3] = 'r';
- if (mode & S_IWUSR) acl_text[ 4] = 'w';
- if (mode & S_IXUSR) acl_text[ 5] = 'x';
- if (mode & S_IRGRP) acl_text[10] = 'r';
- if (mode & S_IWGRP) acl_text[11] = 'w';
- if (mode & S_IXGRP) acl_text[12] = 'x';
- if (mode & S_IROTH) acl_text[17] = 'r';
- if (mode & S_IWOTH) acl_text[18] = 'w';
- if (mode & S_IXOTH) acl_text[19] = 'x';
-
- acl = acl_from_text (acl_text);
- if (!acl)
- return -1;
- }
- if (HAVE_ACL_SET_FD && desc != -1)
- ret = acl_set_fd (desc, acl);
- else
- ret = acl_set_file (name, ACL_TYPE_ACCESS, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
- acl_free (acl);
-
- if (ACL_NOT_WELL_SUPPORTED (errno))
- return chmod_or_fchmod (name, desc, mode);
- else
- {
- errno = saved_errno;
- return -1;
- }
- }
- else
- acl_free (acl);
-
- if (S_ISDIR (mode) && acl_delete_def_file (name))
- return -1;
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# else /* !MODE_INSIDE_ACL */
- /* MacOS X */
-
-# if !HAVE_ACL_TYPE_EXTENDED
-# error Must have ACL_TYPE_EXTENDED
-# endif
-
- /* On MacOS X, acl_get_file (name, ACL_TYPE_ACCESS)
- and acl_get_file (name, ACL_TYPE_DEFAULT)
- always return NULL / EINVAL. You have to use
- acl_get_file (name, ACL_TYPE_EXTENDED)
- or acl_get_fd (open (name, ...))
- to retrieve an ACL.
- On the other hand,
- acl_set_file (name, ACL_TYPE_ACCESS, acl)
- and acl_set_file (name, ACL_TYPE_DEFAULT, acl)
- have the same effect as
- acl_set_file (name, ACL_TYPE_EXTENDED, acl):
- Each of these calls sets the file's ACL. */
-
- acl_t acl;
- int ret;
-
- /* Remove the ACL if the file has ACLs. */
- if (HAVE_ACL_GET_FD && desc != -1)
- acl = acl_get_fd (desc);
- else
- acl = acl_get_file (name, ACL_TYPE_EXTENDED);
- if (acl)
- {
- acl_free (acl);
-
- acl = acl_init (0);
- if (acl)
- {
- if (HAVE_ACL_SET_FD && desc != -1)
- ret = acl_set_fd (desc, acl);
- else
- ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl);
- if (ret != 0)
- {
- int saved_errno = errno;
-
- acl_free (acl);
-
- if (ACL_NOT_WELL_SUPPORTED (saved_errno))
- return chmod_or_fchmod (name, desc, mode);
- else
- {
- errno = saved_errno;
- return -1;
- }
- }
- acl_free (acl);
- }
- }
-
- /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */
- return chmod_or_fchmod (name, desc, mode);
-# endif
-
-# elif HAVE_ACL && defined GETACLCNT /* Solaris, Cygwin, not HP-UX */
-
-# if defined ACL_NO_TRIVIAL
- /* Solaris 10 (newer version), which has additional API declared in
- <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial,
- acl_fromtext, ...). */
-
- acl_t *aclp;
- char acl_text[] = "user::---,group::---,mask:---,other:---";
- int ret;
- int saved_errno;
-
- if (mode & S_IRUSR) acl_text[ 6] = 'r';
- if (mode & S_IWUSR) acl_text[ 7] = 'w';
- if (mode & S_IXUSR) acl_text[ 8] = 'x';
- if (mode & S_IRGRP) acl_text[17] = acl_text[26] = 'r';
- if (mode & S_IWGRP) acl_text[18] = acl_text[27] = 'w';
- if (mode & S_IXGRP) acl_text[19] = acl_text[28] = 'x';
- if (mode & S_IROTH) acl_text[36] = 'r';
- if (mode & S_IWOTH) acl_text[37] = 'w';
- if (mode & S_IXOTH) acl_text[38] = 'x';
-
- if (acl_fromtext (acl_text, &aclp) != 0)
- {
- errno = ENOMEM;
- return -1;
- }
-
- ret = (desc < 0 ? acl_set (name, aclp) : facl_set (desc, aclp));
- saved_errno = errno;
- acl_free (aclp);
- if (ret < 0)
- {
- if (saved_errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
- errno = saved_errno;
- return -1;
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# else /* Solaris, Cygwin, general case */
-
-# ifdef ACE_GETACL
- /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4
- file systems (whereas the other ones are used in UFS file systems). */
-
- /* The flags in the ace_t structure changed in a binary incompatible way
- when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15.
- How to distinguish the two conventions at runtime?
- We fetch the existing ACL. In the old convention, usually three ACEs have
- a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400.
- In the new convention, these values are not used. */
- int convention;
-
- {
- int count;
- ace_t *entries;
-
- for (;;)
- {
- if (desc != -1)
- count = facl (desc, ACE_GETACLCNT, 0, NULL);
- else
- count = acl (name, ACE_GETACLCNT, 0, NULL);
- if (count <= 0)
- {
- convention = -1;
- break;
- }
- entries = (ace_t *) malloc (count * sizeof (ace_t));
- if (entries == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- if ((desc != -1
- ? facl (desc, ACE_GETACL, count, entries)
- : acl (name, ACE_GETACL, count, entries))
- == count)
- {
- int i;
-
- convention = 0;
- for (i = 0; i < count; i++)
- if (entries[i].a_flags & (ACE_OWNER | ACE_GROUP | ACE_OTHER))
- {
- convention = 1;
- break;
- }
- free (entries);
- break;
- }
- /* Huh? The number of ACL entries changed since the last call.
- Repeat. */
- free (entries);
- }
- }
-
- if (convention >= 0)
- {
- ace_t entries[3];
- int ret;
-
- if (convention)
- {
- /* Running on Solaris 10. */
- entries[0].a_type = ALLOW;
- entries[0].a_flags = ACE_OWNER;
- entries[0].a_who = 0; /* irrelevant */
- entries[0].a_access_mask = (mode >> 6) & 7;
- entries[1].a_type = ALLOW;
- entries[1].a_flags = ACE_GROUP;
- entries[1].a_who = 0; /* irrelevant */
- entries[1].a_access_mask = (mode >> 3) & 7;
- entries[2].a_type = ALLOW;
- entries[2].a_flags = ACE_OTHER;
- entries[2].a_who = 0;
- entries[2].a_access_mask = mode & 7;
- }
- else
- {
- /* Running on Solaris 10 (newer version) or Solaris 11. */
- entries[0].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[0].a_flags = NEW_ACE_OWNER;
- entries[0].a_who = 0; /* irrelevant */
- entries[0].a_access_mask =
- (mode & 0400 ? NEW_ACE_READ_DATA : 0)
- | (mode & 0200 ? NEW_ACE_WRITE_DATA : 0)
- | (mode & 0100 ? NEW_ACE_EXECUTE : 0);
- entries[1].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[1].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP;
- entries[1].a_who = 0; /* irrelevant */
- entries[1].a_access_mask =
- (mode & 0040 ? NEW_ACE_READ_DATA : 0)
- | (mode & 0020 ? NEW_ACE_WRITE_DATA : 0)
- | (mode & 0010 ? NEW_ACE_EXECUTE : 0);
- entries[2].a_type = ACE_ACCESS_ALLOWED_ACE_TYPE;
- entries[2].a_flags = ACE_EVERYONE;
- entries[2].a_who = 0;
- entries[2].a_access_mask =
- (mode & 0004 ? NEW_ACE_READ_DATA : 0)
- | (mode & 0002 ? NEW_ACE_WRITE_DATA : 0)
- | (mode & 0001 ? NEW_ACE_EXECUTE : 0);
- }
- if (desc != -1)
- ret = facl (desc, ACE_SETACL,
- sizeof (entries) / sizeof (ace_t), entries);
- else
- ret = acl (name, ACE_SETACL,
- sizeof (entries) / sizeof (ace_t), entries);
- if (ret < 0 && errno != EINVAL && errno != ENOTSUP)
- {
- if (errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
- }
-# endif
-
- {
- aclent_t entries[3];
- int ret;
-
- entries[0].a_type = USER_OBJ;
- entries[0].a_id = 0; /* irrelevant */
- entries[0].a_perm = (mode >> 6) & 7;
- entries[1].a_type = GROUP_OBJ;
- entries[1].a_id = 0; /* irrelevant */
- entries[1].a_perm = (mode >> 3) & 7;
- entries[2].a_type = OTHER_OBJ;
- entries[2].a_id = 0;
- entries[2].a_perm = mode & 7;
-
- if (desc != -1)
- ret = facl (desc, SETACL, sizeof (entries) / sizeof (aclent_t), entries);
- else
- ret = acl (name, SETACL, sizeof (entries) / sizeof (aclent_t), entries);
- if (ret < 0)
- {
- if (errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
- }
-
- if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX)))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# endif
-
-# elif HAVE_GETACL /* HP-UX */
-
- struct stat statbuf;
- struct acl_entry entries[3];
- int ret;
-
- if (desc != -1)
- ret = fstat (desc, &statbuf);
- else
- ret = stat (name, &statbuf);
- if (ret < 0)
- return -1;
-
- entries[0].uid = statbuf.st_uid;
- entries[0].gid = ACL_NSGROUP;
- entries[0].mode = (mode >> 6) & 7;
- entries[1].uid = ACL_NSUSER;
- entries[1].gid = statbuf.st_gid;
- entries[1].mode = (mode >> 3) & 7;
- entries[2].uid = ACL_NSUSER;
- entries[2].gid = ACL_NSGROUP;
- entries[2].mode = mode & 7;
-
- if (desc != -1)
- ret = fsetacl (desc, sizeof (entries) / sizeof (struct acl_entry), entries);
- else
- ret = setacl (name, sizeof (entries) / sizeof (struct acl_entry), entries);
- if (ret < 0)
- {
- if (errno == ENOSYS || errno == EOPNOTSUPP)
- return chmod_or_fchmod (name, desc, mode);
- return -1;
- }
-
- if (mode & (S_ISUID | S_ISGID | S_ISVTX))
- {
- /* We did not call chmod so far, so the special bits have not yet
- been set. */
- return chmod_or_fchmod (name, desc, mode);
- }
- return 0;
-
-# elif HAVE_ACLX_GET && 0 /* AIX */
-
- /* TODO: use aclx_fput or aclx_put, respectively */
-
-# elif HAVE_STATACL /* older AIX */
-
- union { struct acl a; char room[128]; } u;
- int ret;
-
- u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */
- u.a.acl_mode = mode & ~(S_IXACL | 0777);
- u.a.u_access = (mode >> 6) & 7;
- u.a.g_access = (mode >> 3) & 7;
- u.a.o_access = mode & 7;
-
- if (desc != -1)
- ret = fchacl (desc, &u.a, u.a.acl_len);
- else
- ret = chacl (name, &u.a, u.a.acl_len);
-
- if (ret < 0 && errno == ENOSYS)
- return chmod_or_fchmod (name, desc, mode);
-
- return ret;
-
-# else /* Unknown flavor of ACLs */
- return chmod_or_fchmod (name, desc, mode);
-# endif
-#else /* !USE_ACL */
- return chmod_or_fchmod (name, desc, mode);
-#endif
-}
-
-/* As with qset_acl, but also output a diagnostic on failure. */
-
-int
-set_acl (char const *name, int desc, mode_t mode)
-{
- int r = qset_acl (name, desc, mode);
- if (r != 0)
- error (0, errno, _("setting permissions for %s"), quote (name));
- return r;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/stat-macros.h b/sources/host-tools/sed-4.2.1/lib/stat-macros.h
deleted file mode 100644
index 690216c..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stat-macros.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* All the mode bits that can be affected by chmod. */
-#define CHMOD_MODE_BITS \
- (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
diff --git a/sources/host-tools/sed-4.2.1/lib/stdbool.in.h b/sources/host-tools/sed-4.2.1/lib/stdbool.in.h
deleted file mode 100644
index d95f723..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stdbool.in.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc.
- Written by Bruno Haible <haible@clisp.cons.org>, 2001.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _GL_STDBOOL_H
-#define _GL_STDBOOL_H
-
-/* ISO C 99 <stdbool.h> for platforms that lack it. */
-
-/* Usage suggestions:
-
- Programs that use <stdbool.h> should be aware of some limitations
- and standards compliance issues.
-
- Standards compliance:
-
- - <stdbool.h> must be #included before 'bool', 'false', 'true'
- can be used.
-
- - You cannot assume that sizeof (bool) == 1.
-
- - Programs should not undefine the macros bool, true, and false,
- as C99 lists that as an "obsolescent feature".
-
- Limitations of this substitute, when used in a C89 environment:
-
- - <stdbool.h> must be #included before the '_Bool' type can be used.
-
- - You cannot assume that _Bool is a typedef; it might be a macro.
-
- - Bit-fields of type 'bool' are not supported. Portable code
- should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
-
- - In C99, casts and automatic conversions to '_Bool' or 'bool' are
- performed in such a way that every nonzero value gets converted
- to 'true', and zero gets converted to 'false'. This doesn't work
- with this substitute. With this substitute, only the values 0 and 1
- give the expected result when converted to _Bool' or 'bool'.
-
- Also, it is suggested that programs use 'bool' rather than '_Bool';
- this isn't required, but 'bool' is more common. */
-
-
-/* 7.16. Boolean type and values */
-
-/* BeOS <sys/socket.h> already #defines false 0, true 1. We use the same
- definitions below, but temporarily we have to #undef them. */
-#if defined __BEOS__ && !defined __HAIKU__
-# include <OS.h> /* defines bool but not _Bool */
-# undef false
-# undef true
-#endif
-
-/* For the sake of symbolic names in gdb, we define true and false as
- enum constants, not only as macros.
- It is tempting to write
- typedef enum { false = 0, true = 1 } _Bool;
- so that gdb prints values of type 'bool' symbolically. But if we do
- this, values of type '_Bool' may promote to 'int' or 'unsigned int'
- (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
- (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the
- enum; this ensures that '_Bool' promotes to 'int'. */
-#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
- /* A compiler known to have 'bool'. */
- /* If the compiler already has both 'bool' and '_Bool', we can assume they
- are the same types. */
-# if !@HAVE__BOOL@
-typedef bool _Bool;
-# endif
-#else
-# if !defined __GNUC__
- /* If @HAVE__BOOL@:
- Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
- the built-in _Bool type is used. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- Similar bugs are likely with other compilers as well; this file
- wouldn't be used if <stdbool.h> was working.
- So we override the _Bool type.
- If !@HAVE__BOOL@:
- Need to define _Bool ourselves. As 'signed char' or as an enum type?
- Use of a typedef, with SunPRO C, leads to a stupid
- "warning: _Bool is a keyword in ISO C99".
- Use of an enum type, with IRIX cc, leads to a stupid
- "warning(1185): enumerated type mixed with another type".
- Even the existence of an enum type, without a typedef,
- "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
- The only benefit of the enum, debuggability, is not important
- with these compilers. So use 'signed char' and no enum. */
-# define _Bool signed char
-# else
- /* With this compiler, trust the _Bool type if the compiler has it. */
-# if !@HAVE__BOOL@
-typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
-# endif
-# endif
-#endif
-#define bool _Bool
-
-/* The other macros must be usable in preprocessor directives. */
-#define false 0
-#define true 1
-#define __bool_true_false_are_defined 1
-
-#endif /* _GL_STDBOOL_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/stdint.in.h b/sources/host-tools/sed-4.2.1/lib/stdint.in.h
deleted file mode 100644
index 0aa4784..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stdint.in.h
+++ /dev/null
@@ -1,569 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc.
- Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
- This file is part of gnulib.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/*
- * ISO C 99 <stdint.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/stdint.h.html>
- */
-
-#ifndef _GL_STDINT_H
-
-/* When including a system file that in turn includes <inttypes.h>,
- use the system <inttypes.h>, not our substitute. This avoids
- problems with (for example) VMS, whose <sys/bitypes.h> includes
- <inttypes.h>. */
-#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-
-/* Get those types that are already defined in other system include
- files, so that we can "#define int8_t signed char" below without
- worrying about a later system include file containing a "typedef
- signed char int8_t;" that will get messed up by our macro. Our
- macros should all be consistent with the system versions, except
- for the "fast" types and macros, which we recommend against using
- in public interfaces due to compiler differences. */
-
-#if @HAVE_STDINT_H@
-# if defined __sgi && ! defined __c99
- /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
- with "This header file is to be used only for c99 mode compilations"
- diagnostics. */
-# define __STDINT_H__
-# endif
- /* Other systems may have an incomplete or buggy <stdint.h>.
- Include it before <inttypes.h>, since any "#include <stdint.h>"
- in <inttypes.h> would reinclude us, skipping our contents because
- _GL_STDINT_H is defined.
- The include_next requires a split double-inclusion guard. */
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
-#endif
-
-#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-#define _GL_STDINT_H
-
-/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
- IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
- AIX 5.2 <sys/types.h> isn't needed and causes troubles.
- MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
- relies on the system <stdint.h> definitions, so include
- <sys/types.h> after @NEXT_STDINT_H@. */
-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
-# include <sys/types.h>
-#endif
-
-/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
-#include <limits.h>
-
-#if @HAVE_INTTYPES_H@
- /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
- int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
- <inttypes.h> also defines intptr_t and uintptr_t. */
-# include <inttypes.h>
-#elif @HAVE_SYS_INTTYPES_H@
- /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
- the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
-# include <sys/inttypes.h>
-#endif
-
-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
- /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
- int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
- included by <sys/types.h>. */
-# include <sys/bitypes.h>
-#endif
-
-#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-
-/* Minimum and maximum values for a integer type under the usual assumption.
- Return an unspecified value if BITS == 0, adding a check to pacify
- picky compilers. */
-
-#define _STDINT_MIN(signed, bits, zero) \
- ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
-
-#define _STDINT_MAX(signed, bits, zero) \
- ((signed) \
- ? ~ _STDINT_MIN (signed, bits, zero) \
- : /* The expression for the unsigned case. The subtraction of (signed) \
- is a nop in the unsigned case and avoids "signed integer overflow" \
- warnings in the signed case. */ \
- ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
-
-/* 7.18.1.1. Exact-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. */
-
-#undef int8_t
-#undef uint8_t
-typedef signed char gl_int8_t;
-typedef unsigned char gl_uint8_t;
-#define int8_t gl_int8_t
-#define uint8_t gl_uint8_t
-
-#undef int16_t
-#undef uint16_t
-typedef short int gl_int16_t;
-typedef unsigned short int gl_uint16_t;
-#define int16_t gl_int16_t
-#define uint16_t gl_uint16_t
-
-#undef int32_t
-#undef uint32_t
-typedef int gl_int32_t;
-typedef unsigned int gl_uint32_t;
-#define int32_t gl_int32_t
-#define uint32_t gl_uint32_t
-
-/* Do not undefine int64_t if gnulib is not being used with 64-bit
- types, since otherwise it breaks platforms like Tandem/NSK. */
-#if LONG_MAX >> 31 >> 31 == 1
-# undef int64_t
-typedef long int gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
-#elif defined _MSC_VER
-# undef int64_t
-typedef __int64 gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
-#elif @HAVE_LONG_LONG_INT@
-# undef int64_t
-typedef long long int gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
-#endif
-
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# undef uint64_t
-typedef unsigned long int gl_uint64_t;
-# define uint64_t gl_uint64_t
-# define GL_UINT64_T
-#elif defined _MSC_VER
-# undef uint64_t
-typedef unsigned __int64 gl_uint64_t;
-# define uint64_t gl_uint64_t
-# define GL_UINT64_T
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# undef uint64_t
-typedef unsigned long long int gl_uint64_t;
-# define uint64_t gl_uint64_t
-# define GL_UINT64_T
-#endif
-
-/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
-#define _UINT8_T
-#define _UINT32_T
-#define _UINT64_T
-
-
-/* 7.18.1.2. Minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
- are the same as the corresponding N_t types. */
-
-#undef int_least8_t
-#undef uint_least8_t
-#undef int_least16_t
-#undef uint_least16_t
-#undef int_least32_t
-#undef uint_least32_t
-#undef int_least64_t
-#undef uint_least64_t
-#define int_least8_t int8_t
-#define uint_least8_t uint8_t
-#define int_least16_t int16_t
-#define uint_least16_t uint16_t
-#define int_least32_t int32_t
-#define uint_least32_t uint32_t
-#ifdef GL_INT64_T
-# define int_least64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_least64_t uint64_t
-#endif
-
-/* 7.18.1.3. Fastest minimum-width integer types */
-
-/* Note: Other <stdint.h> substitutes may define these types differently.
- It is not recommended to use these types in public header files. */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
- are taken from the same list of types. Assume that 'long int'
- is fast enough for all narrower integers. */
-
-#undef int_fast8_t
-#undef uint_fast8_t
-#undef int_fast16_t
-#undef uint_fast16_t
-#undef int_fast32_t
-#undef uint_fast32_t
-#undef int_fast64_t
-#undef uint_fast64_t
-typedef long int gl_int_fast8_t;
-typedef unsigned long int gl_uint_fast8_t;
-typedef long int gl_int_fast16_t;
-typedef unsigned long int gl_uint_fast16_t;
-typedef long int gl_int_fast32_t;
-typedef unsigned long int gl_uint_fast32_t;
-#define int_fast8_t gl_int_fast8_t
-#define uint_fast8_t gl_uint_fast8_t
-#define int_fast16_t gl_int_fast16_t
-#define uint_fast16_t gl_uint_fast16_t
-#define int_fast32_t gl_int_fast32_t
-#define uint_fast32_t gl_uint_fast32_t
-#ifdef GL_INT64_T
-# define int_fast64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_fast64_t uint64_t
-#endif
-
-/* 7.18.1.4. Integer types capable of holding object pointers */
-
-#undef intptr_t
-#undef uintptr_t
-typedef long int gl_intptr_t;
-typedef unsigned long int gl_uintptr_t;
-#define intptr_t gl_intptr_t
-#define uintptr_t gl_uintptr_t
-
-/* 7.18.1.5. Greatest-width integer types */
-
-/* Note: These types are compiler dependent. It may be unwise to use them in
- public header files. */
-
-#undef intmax_t
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-typedef long long int gl_intmax_t;
-# define intmax_t gl_intmax_t
-#elif defined GL_INT64_T
-# define intmax_t int64_t
-#else
-typedef long int gl_intmax_t;
-# define intmax_t gl_intmax_t
-#endif
-
-#undef uintmax_t
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-typedef unsigned long long int gl_uintmax_t;
-# define uintmax_t gl_uintmax_t
-#elif defined GL_UINT64_T
-# define uintmax_t uint64_t
-#else
-typedef unsigned long int gl_uintmax_t;
-# define uintmax_t gl_uintmax_t
-#endif
-
-/* Verify that intmax_t and uintmax_t have the same size. Too much code
- breaks if this is not the case. If this check fails, the reason is likely
- to be found in the autoconf macros. */
-typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1];
-
-/* 7.18.2. Limits of specified-width integer types */
-
-#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
-
-/* 7.18.2.1. Limits of exact-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. */
-
-#undef INT8_MIN
-#undef INT8_MAX
-#undef UINT8_MAX
-#define INT8_MIN (~ INT8_MAX)
-#define INT8_MAX 127
-#define UINT8_MAX 255
-
-#undef INT16_MIN
-#undef INT16_MAX
-#undef UINT16_MAX
-#define INT16_MIN (~ INT16_MAX)
-#define INT16_MAX 32767
-#define UINT16_MAX 65535
-
-#undef INT32_MIN
-#undef INT32_MAX
-#undef UINT32_MAX
-#define INT32_MIN (~ INT32_MAX)
-#define INT32_MAX 2147483647
-#define UINT32_MAX 4294967295U
-
-#undef INT64_MIN
-#undef INT64_MAX
-#ifdef GL_INT64_T
-/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
- evaluates the latter incorrectly in preprocessor expressions. */
-# define INT64_MIN (- INTMAX_C (1) << 63)
-# define INT64_MAX INTMAX_C (9223372036854775807)
-#endif
-
-#undef UINT64_MAX
-#ifdef GL_UINT64_T
-# define UINT64_MAX UINTMAX_C (18446744073709551615)
-#endif
-
-/* 7.18.2.2. Limits of minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
- are the same as the corresponding N_t types. */
-
-#undef INT_LEAST8_MIN
-#undef INT_LEAST8_MAX
-#undef UINT_LEAST8_MAX
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST8_MAX INT8_MAX
-#define UINT_LEAST8_MAX UINT8_MAX
-
-#undef INT_LEAST16_MIN
-#undef INT_LEAST16_MAX
-#undef UINT_LEAST16_MAX
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST16_MAX INT16_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-
-#undef INT_LEAST32_MIN
-#undef INT_LEAST32_MAX
-#undef UINT_LEAST32_MAX
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST32_MAX INT32_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-
-#undef INT_LEAST64_MIN
-#undef INT_LEAST64_MAX
-#ifdef GL_INT64_T
-# define INT_LEAST64_MIN INT64_MIN
-# define INT_LEAST64_MAX INT64_MAX
-#endif
-
-#undef UINT_LEAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_LEAST64_MAX UINT64_MAX
-#endif
-
-/* 7.18.2.3. Limits of fastest minimum-width integer types */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
- are taken from the same list of types. */
-
-#undef INT_FAST8_MIN
-#undef INT_FAST8_MAX
-#undef UINT_FAST8_MAX
-#define INT_FAST8_MIN LONG_MIN
-#define INT_FAST8_MAX LONG_MAX
-#define UINT_FAST8_MAX ULONG_MAX
-
-#undef INT_FAST16_MIN
-#undef INT_FAST16_MAX
-#undef UINT_FAST16_MAX
-#define INT_FAST16_MIN LONG_MIN
-#define INT_FAST16_MAX LONG_MAX
-#define UINT_FAST16_MAX ULONG_MAX
-
-#undef INT_FAST32_MIN
-#undef INT_FAST32_MAX
-#undef UINT_FAST32_MAX
-#define INT_FAST32_MIN LONG_MIN
-#define INT_FAST32_MAX LONG_MAX
-#define UINT_FAST32_MAX ULONG_MAX
-
-#undef INT_FAST64_MIN
-#undef INT_FAST64_MAX
-#ifdef GL_INT64_T
-# define INT_FAST64_MIN INT64_MIN
-# define INT_FAST64_MAX INT64_MAX
-#endif
-
-#undef UINT_FAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_FAST64_MAX UINT64_MAX
-#endif
-
-/* 7.18.2.4. Limits of integer types capable of holding object pointers */
-
-#undef INTPTR_MIN
-#undef INTPTR_MAX
-#undef UINTPTR_MAX
-#define INTPTR_MIN LONG_MIN
-#define INTPTR_MAX LONG_MAX
-#define UINTPTR_MAX ULONG_MAX
-
-/* 7.18.2.5. Limits of greatest-width integer types */
-
-#undef INTMAX_MIN
-#undef INTMAX_MAX
-#ifdef INT64_MAX
-# define INTMAX_MIN INT64_MIN
-# define INTMAX_MAX INT64_MAX
-#else
-# define INTMAX_MIN INT32_MIN
-# define INTMAX_MAX INT32_MAX
-#endif
-
-#undef UINTMAX_MAX
-#ifdef UINT64_MAX
-# define UINTMAX_MAX UINT64_MAX
-#else
-# define UINTMAX_MAX UINT32_MAX
-#endif
-
-/* 7.18.3. Limits of other integer types */
-
-/* ptrdiff_t limits */
-#undef PTRDIFF_MIN
-#undef PTRDIFF_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
-# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
-# else
-# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
-# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
-# endif
-#else
-# define PTRDIFF_MIN \
- _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-# define PTRDIFF_MAX \
- _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-#endif
-
-/* sig_atomic_t limits */
-#undef SIG_ATOMIC_MIN
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MIN \
- _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
- 0@SIG_ATOMIC_T_SUFFIX@)
-#define SIG_ATOMIC_MAX \
- _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
- 0@SIG_ATOMIC_T_SUFFIX@)
-
-
-/* size_t limit */
-#undef SIZE_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-# define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
-# else
-# define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
-# endif
-#else
-# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
-#endif
-
-/* wchar_t limits */
-/* Get WCHAR_MIN, WCHAR_MAX.
- This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested
- includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
- <stdint.h> and assumes its types are already defined. */
-#if ! (defined WCHAR_MIN && defined WCHAR_MAX)
-# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-# include <wchar.h>
-# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN \
- _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-#define WCHAR_MAX \
- _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-
-/* wint_t limits */
-#undef WINT_MIN
-#undef WINT_MAX
-#define WINT_MIN \
- _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-#define WINT_MAX \
- _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-
-#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
-
-/* 7.18.4. Macros for integer constants */
-
-#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
-
-/* 7.18.4.1. Macros for minimum-width integer constants */
-/* According to ISO C 99 Technical Corrigendum 1 */
-
-/* Here we assume a standard architecture where the hardware integer
- types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
-
-#undef INT8_C
-#undef UINT8_C
-#define INT8_C(x) x
-#define UINT8_C(x) x
-
-#undef INT16_C
-#undef UINT16_C
-#define INT16_C(x) x
-#define UINT16_C(x) x
-
-#undef INT32_C
-#undef UINT32_C
-#define INT32_C(x) x
-#define UINT32_C(x) x ## U
-
-#undef INT64_C
-#undef UINT64_C
-#if LONG_MAX >> 31 >> 31 == 1
-# define INT64_C(x) x##L
-#elif defined _MSC_VER
-# define INT64_C(x) x##i64
-#elif @HAVE_LONG_LONG_INT@
-# define INT64_C(x) x##LL
-#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# define UINT64_C(x) x##UL
-#elif defined _MSC_VER
-# define UINT64_C(x) x##ui64
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# define UINT64_C(x) x##ULL
-#endif
-
-/* 7.18.4.2. Macros for greatest-width integer constants */
-
-#undef INTMAX_C
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define INTMAX_C(x) x##LL
-#elif defined GL_INT64_T
-# define INTMAX_C(x) INT64_C(x)
-#else
-# define INTMAX_C(x) x##L
-#endif
-
-#undef UINTMAX_C
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-# define UINTMAX_C(x) x##ULL
-#elif defined GL_UINT64_T
-# define UINTMAX_C(x) UINT64_C(x)
-#else
-# define UINTMAX_C(x) x##UL
-#endif
-
-#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
-
-#endif /* _GL_STDINT_H */
-#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/stdio-write.c b/sources/host-tools/sed-4.2.1/lib/stdio-write.c
deleted file mode 100644
index f1d0fcb..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stdio-write.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/* POSIX compatible FILE stream write function.
- Copyright (C) 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <stdio.h>
-
-/* Replace these functions only if module 'sigpipe' is requested. */
-#if GNULIB_SIGPIPE
-
-/* On native Windows platforms, SIGPIPE does not exist. When write() is
- called on a pipe with no readers, WriteFile() fails with error
- GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
- error EINVAL. This write() function is at the basis of the function
- which flushes the buffer of a FILE stream. */
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-# include <errno.h>
-# include <signal.h>
-# include <io.h>
-
-# define WIN32_LEAN_AND_MEAN /* avoid including junk */
-# include <windows.h>
-
-# define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \
- if (ferror (stream)) \
- return (EXPRESSION); \
- else \
- { \
- RETTYPE ret; \
- SetLastError (0); \
- ret = (EXPRESSION); \
- if (FAILED && GetLastError () == ERROR_NO_DATA && ferror (stream)) \
- { \
- int fd = fileno (stream); \
- if (fd >= 0 \
- && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE)\
- { \
- /* Try to raise signal SIGPIPE. */ \
- raise (SIGPIPE); \
- /* If it is currently blocked or ignored, change errno from \
- EINVAL to EPIPE. */ \
- errno = EPIPE; \
- } \
- } \
- return ret; \
- }
-
-# if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */
-int
-printf (const char *format, ...)
-{
- int retval;
- va_list args;
-
- va_start (args, format);
- retval = vfprintf (stdout, format, args);
- va_end (args);
-
- return retval;
-}
-# endif
-
-# if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */
-int
-fprintf (FILE *stream, const char *format, ...)
-{
- int retval;
- va_list args;
-
- va_start (args, format);
- retval = vfprintf (stream, format, args);
- va_end (args);
-
- return retval;
-}
-# endif
-
-# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vprintf.c */
-int
-vprintf (const char *format, va_list args)
-{
- return vfprintf (stdout, format, args);
-}
-# endif
-
-# if !REPLACE_VPRINTF_POSIX /* avoid collision with vfprintf.c */
-int
-vfprintf (FILE *stream, const char *format, va_list args)
-#undef vfprintf
-{
- CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF)
-}
-# endif
-
-int
-putchar (int c)
-{
- return fputc (c, stdout);
-}
-
-int
-fputc (int c, FILE *stream)
-#undef fputc
-{
- CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF)
-}
-
-int
-fputs (const char *string, FILE *stream)
-#undef fputs
-{
- CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF)
-}
-
-int
-puts (const char *string)
-#undef puts
-{
- FILE *stream = stdout;
- CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF)
-}
-
-size_t
-fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
-#undef fwrite
-{
- CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n)
-}
-
-# endif
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/stdio.in.h b/sources/host-tools/sed-4.2.1/lib/stdio.in.h
deleted file mode 100644
index 3335114..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stdio.in.h
+++ /dev/null
@@ -1,544 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A GNU-like <stdio.h>.
-
- Copyright (C) 2004, 2007-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined __need_FILE || defined __need___FILE
-/* Special invocation convention inside glibc header files. */
-
-#@INCLUDE_NEXT@ @NEXT_STDIO_H@
-
-#else
-/* Normal invocation convention. */
-
-#ifndef _GL_STDIO_H
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_STDIO_H@
-
-#ifndef _GL_STDIO_H
-#define _GL_STDIO_H
-
-#include <stdarg.h>
-#include <stddef.h>
-
-#if (@GNULIB_FSEEKO@ && @REPLACE_FSEEKO@) \
- || (@GNULIB_FTELLO@ && @REPLACE_FTELLO@) \
- || (@GNULIB_GETDELIM@ && !@HAVE_DECL_GETDELIM@) \
- || (@GNULIB_GETLINE@ && (!@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@))
-/* Get off_t and ssize_t. */
-# include <sys/types.h>
-#endif
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if @GNULIB_FPRINTF_POSIX@
-# if @REPLACE_FPRINTF@
-# define fprintf rpl_fprintf
-extern int fprintf (FILE *fp, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-# endif
-#elif @GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# define fprintf rpl_fprintf
-extern int fprintf (FILE *fp, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-#elif defined GNULIB_POSIXCHECK
-# undef fprintf
-# define fprintf \
- (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \
- "use gnulib module fprintf-posix for portable " \
- "POSIX compliance"), \
- fprintf)
-#endif
-
-#if @GNULIB_VFPRINTF_POSIX@
-# if @REPLACE_VFPRINTF@
-# define vfprintf rpl_vfprintf
-extern int vfprintf (FILE *fp, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-# endif
-#elif @GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# define vfprintf rpl_vfprintf
-extern int vfprintf (FILE *fp, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-#elif defined GNULIB_POSIXCHECK
-# undef vfprintf
-# define vfprintf(s,f,a) \
- (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \
- "use gnulib module vfprintf-posix for portable " \
- "POSIX compliance"), \
- vfprintf (s, f, a))
-#endif
-
-#if @GNULIB_PRINTF_POSIX@
-# if @REPLACE_PRINTF@
-/* Don't break __attribute__((format(printf,M,N))). */
-# define printf __printf__
-extern int printf (const char *format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
-# endif
-#elif @GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-/* Don't break __attribute__((format(printf,M,N))). */
-# define printf __printf__
-extern int printf (const char *format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
-#elif defined GNULIB_POSIXCHECK
-# undef printf
-# define printf \
- (GL_LINK_WARNING ("printf is not always POSIX compliant - " \
- "use gnulib module printf-posix for portable " \
- "POSIX compliance"), \
- printf)
-/* Don't break __attribute__((format(printf,M,N))). */
-# define format(kind,m,n) format (__##kind##__, m, n)
-# define __format__(kind,m,n) __format__ (__##kind##__, m, n)
-# define ____printf____ __printf__
-# define ____scanf____ __scanf__
-# define ____strftime____ __strftime__
-# define ____strfmon____ __strfmon__
-#endif
-
-#if @GNULIB_VPRINTF_POSIX@
-# if @REPLACE_VPRINTF@
-# define vprintf rpl_vprintf
-extern int vprintf (const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 1, 0)));
-# endif
-#elif @GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# define vprintf rpl_vprintf
-extern int vprintf (const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 1, 0)));
-#elif defined GNULIB_POSIXCHECK
-# undef vprintf
-# define vprintf(f,a) \
- (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \
- "use gnulib module vprintf-posix for portable " \
- "POSIX compliance"), \
- vprintf (f, a))
-#endif
-
-#if @GNULIB_SNPRINTF@
-# if @REPLACE_SNPRINTF@
-# define snprintf rpl_snprintf
-# endif
-# if @REPLACE_SNPRINTF@ || !@HAVE_DECL_SNPRINTF@
-extern int snprintf (char *str, size_t size, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef snprintf
-# define snprintf \
- (GL_LINK_WARNING ("snprintf is unportable - " \
- "use gnulib module snprintf for portability"), \
- snprintf)
-#endif
-
-#if @GNULIB_VSNPRINTF@
-# if @REPLACE_VSNPRINTF@
-# define vsnprintf rpl_vsnprintf
-# endif
-# if @REPLACE_VSNPRINTF@ || !@HAVE_DECL_VSNPRINTF@
-extern int vsnprintf (char *str, size_t size, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 3, 0)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef vsnprintf
-# define vsnprintf(b,s,f,a) \
- (GL_LINK_WARNING ("vsnprintf is unportable - " \
- "use gnulib module vsnprintf for portability"), \
- vsnprintf (b, s, f, a))
-#endif
-
-#if @GNULIB_SPRINTF_POSIX@
-# if @REPLACE_SPRINTF@
-# define sprintf rpl_sprintf
-extern int sprintf (char *str, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef sprintf
-# define sprintf \
- (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \
- "use gnulib module sprintf-posix for portable " \
- "POSIX compliance"), \
- sprintf)
-#endif
-
-#if @GNULIB_VSPRINTF_POSIX@
-# if @REPLACE_VSPRINTF@
-# define vsprintf rpl_vsprintf
-extern int vsprintf (char *str, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef vsprintf
-# define vsprintf(b,f,a) \
- (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \
- "use gnulib module vsprintf-posix for portable " \
- "POSIX compliance"), \
- vsprintf (b, f, a))
-#endif
-
-#if @GNULIB_DPRINTF@
-# if @REPLACE_DPRINTF@
-# define dprintf rpl_dprintf
-# endif
-# if @REPLACE_DPRINTF@ || !@HAVE_DPRINTF@
-extern int dprintf (int fd, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef dprintf
-# define dprintf(d,f,a) \
- (GL_LINK_WARNING ("dprintf is unportable - " \
- "use gnulib module dprintf for portability"), \
- dprintf (d, f, a))
-#endif
-
-#if @GNULIB_VDPRINTF@
-# if @REPLACE_VDPRINTF@
-# define vdprintf rpl_vdprintf
-# endif
-# if @REPLACE_VDPRINTF@ || !@HAVE_VDPRINTF@
-extern int vdprintf (int fd, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef vdprintf
-# define vdprintf(d,f,a) \
- (GL_LINK_WARNING ("vdprintf is unportable - " \
- "use gnulib module vdprintf for portability"), \
- vdprintf (d, f, a))
-#endif
-
-#if @GNULIB_VASPRINTF@
-# if @REPLACE_VASPRINTF@
-# define asprintf rpl_asprintf
-# define vasprintf rpl_vasprintf
-# endif
-# if @REPLACE_VASPRINTF@ || !@HAVE_VASPRINTF@
- /* Write formatted output to a string dynamically allocated with malloc().
- If the memory allocation succeeds, store the address of the string in
- *RESULT and return the number of resulting bytes, excluding the trailing
- NUL. Upon memory allocation error, or some other error, return -1. */
- extern int asprintf (char **result, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
- extern int vasprintf (char **result, const char *format, va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-# endif
-#endif
-
-#if @GNULIB_OBSTACK_PRINTF@
-# if @REPLACE_OBSTACK_PRINTF@
-# define obstack_printf rpl_osbtack_printf
-# define obstack_vprintf rpl_obstack_vprintf
-# endif
-# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@
- struct obstack;
- /* Grow an obstack with formatted output. Return the number of
- bytes added to OBS. No trailing nul byte is added, and the
- object should be closed with obstack_finish before use. Upon
- memory allocation error, call obstack_alloc_failed_handler. Upon
- other error, return -1. */
- extern int obstack_printf (struct obstack *obs, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
- extern int obstack_vprintf (struct obstack *obs, const char *format,
- va_list args)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-# endif
-#endif
-
-#if @GNULIB_FOPEN@
-# if @REPLACE_FOPEN@
-# undef fopen
-# define fopen rpl_fopen
-extern FILE * fopen (const char *filename, const char *mode);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fopen
-# define fopen(f,m) \
- (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \
- "use gnulib module fopen for portability"), \
- fopen (f, m))
-#endif
-
-#if @GNULIB_FREOPEN@
-# if @REPLACE_FREOPEN@
-# undef freopen
-# define freopen rpl_freopen
-extern FILE * freopen (const char *filename, const char *mode, FILE *stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef freopen
-# define freopen(f,m,s) \
- (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \
- "use gnulib module freopen for portability"), \
- freopen (f, m, s))
-#endif
-
-#if @GNULIB_FSEEKO@
-# if @REPLACE_FSEEKO@
-/* Provide fseek, fseeko functions that are aware of a preceding
- fflush(), and which detect pipes. */
-# define fseeko rpl_fseeko
-extern int fseeko (FILE *fp, off_t offset, int whence);
-# define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence)
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fseeko
-# define fseeko(f,o,w) \
- (GL_LINK_WARNING ("fseeko is unportable - " \
- "use gnulib module fseeko for portability"), \
- fseeko (f, o, w))
-#endif
-
-#if @GNULIB_FSEEK@ && @REPLACE_FSEEK@
-extern int rpl_fseek (FILE *fp, long offset, int whence);
-# undef fseek
-# if defined GNULIB_POSIXCHECK
-# define fseek(f,o,w) \
- (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \
- "on 32-bit platforms - " \
- "use fseeko function for handling of large files"), \
- rpl_fseek (f, o, w))
-# else
-# define fseek rpl_fseek
-# endif
-#elif defined GNULIB_POSIXCHECK
-# ifndef fseek
-# define fseek(f,o,w) \
- (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \
- "on 32-bit platforms - " \
- "use fseeko function for handling of large files"), \
- fseek (f, o, w))
-# endif
-#endif
-
-#if @GNULIB_FTELLO@
-# if @REPLACE_FTELLO@
-# define ftello rpl_ftello
-extern off_t ftello (FILE *fp);
-# define ftell(fp) ftello (fp)
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef ftello
-# define ftello(f) \
- (GL_LINK_WARNING ("ftello is unportable - " \
- "use gnulib module ftello for portability"), \
- ftello (f))
-#endif
-
-#if @GNULIB_FTELL@ && @REPLACE_FTELL@
-extern long rpl_ftell (FILE *fp);
-# undef ftell
-# if GNULIB_POSIXCHECK
-# define ftell(f) \
- (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \
- "on 32-bit platforms - " \
- "use ftello function for handling of large files"), \
- rpl_ftell (f))
-# else
-# define ftell rpl_ftell
-# endif
-#elif defined GNULIB_POSIXCHECK
-# ifndef ftell
-# define ftell(f) \
- (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \
- "on 32-bit platforms - " \
- "use ftello function for handling of large files"), \
- ftell (f))
-# endif
-#endif
-
-#if @GNULIB_FFLUSH@
-# if @REPLACE_FFLUSH@
-# define fflush rpl_fflush
- /* Flush all pending data on STREAM according to POSIX rules. Both
- output and seekable input streams are supported.
- Note! LOSS OF DATA can occur if fflush is applied on an input stream
- that is _not_seekable_ or on an update stream that is _not_seekable_
- and in which the most recent operation was input. Seekability can
- be tested with lseek(fileno(fp),0,SEEK_CUR). */
- extern int fflush (FILE *gl_stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fflush
-# define fflush(f) \
- (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \
- "use gnulib module fflush for portable " \
- "POSIX compliance"), \
- fflush (f))
-#endif
-
-#if @GNULIB_FPURGE@
-# if @REPLACE_FPURGE@
-# define fpurge rpl_fpurge
-# endif
-# if @REPLACE_FPURGE@ || !@HAVE_DECL_FPURGE@
- /* Discard all pending buffered I/O data on STREAM.
- STREAM must not be wide-character oriented.
- Return 0 if successful. Upon error, return -1 and set errno. */
- extern int fpurge (FILE *gl_stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fpurge
-# define fpurge(f) \
- (GL_LINK_WARNING ("fpurge is not always present - " \
- "use gnulib module fpurge for portability"), \
- fpurge (f))
-#endif
-
-#if @GNULIB_FCLOSE@
-# if @REPLACE_FCLOSE@
-# define fclose rpl_fclose
- /* Close STREAM and its underlying file descriptor. */
-extern int fclose (FILE *stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fclose
-# define fclose(f) \
- (GL_LINK_WARNING ("fclose is not always POSIX compliant - " \
- "use gnulib module fclose for portable " \
- "POSIX compliance"), \
- fclose (f))
-#endif
-
-#if @GNULIB_FPUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef fputc
-# define fputc rpl_fputc
-extern int fputc (int c, FILE *stream);
-#endif
-
-#if @GNULIB_PUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef putc
-# define putc rpl_fputc
-extern int putc (int c, FILE *stream);
-#endif
-
-#if @GNULIB_PUTCHAR@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef putchar
-# define putchar rpl_putchar
-extern int putchar (int c);
-#endif
-
-#if @GNULIB_FPUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef fputs
-# define fputs rpl_fputs
-extern int fputs (const char *string, FILE *stream);
-#endif
-
-#if @GNULIB_PUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef puts
-# define puts rpl_puts
-extern int puts (const char *string);
-#endif
-
-#if @GNULIB_FWRITE@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
-# undef fwrite
-# define fwrite rpl_fwrite
-extern size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream);
-#endif
-
-#if @GNULIB_GETDELIM@
-# if !@HAVE_DECL_GETDELIM@
-/* Read input, up to (and including) the next occurrence of DELIMITER, from
- STREAM, store it in *LINEPTR (and NUL-terminate it).
- *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
- bytes of space. It is realloc'd as necessary.
- Return the number of bytes read and stored at *LINEPTR (not including the
- NUL terminator), or -1 on error or EOF. */
-extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter,
- FILE *stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getdelim
-# define getdelim(l, s, d, f) \
- (GL_LINK_WARNING ("getdelim is unportable - " \
- "use gnulib module getdelim for portability"), \
- getdelim (l, s, d, f))
-#endif
-
-#if @GNULIB_GETLINE@
-# if @REPLACE_GETLINE@
-# undef getline
-# define getline rpl_getline
-# endif
-# if !@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@
-/* Read a line, up to (and including) the next newline, from STREAM, store it
- in *LINEPTR (and NUL-terminate it).
- *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
- bytes of space. It is realloc'd as necessary.
- Return the number of bytes read and stored at *LINEPTR (not including the
- NUL terminator), or -1 on error or EOF. */
-extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getline
-# define getline(l, s, f) \
- (GL_LINK_WARNING ("getline is unportable - " \
- "use gnulib module getline for portability"), \
- getline (l, s, f))
-#endif
-
-#if @GNULIB_PERROR@
-# if @REPLACE_PERROR@
-# define perror rpl_perror
-/* Print a message to standard error, describing the value of ERRNO,
- (if STRING is not NULL and not empty) prefixed with STRING and ": ",
- and terminated with a newline. */
-extern void perror (const char *string);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef perror
-# define perror(s) \
- (GL_LINK_WARNING ("perror is not always POSIX compliant - " \
- "use gnulib module perror for portability"), \
- perror (s))
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_STDIO_H */
-#endif /* _GL_STDIO_H */
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/stdlib.in.h b/sources/host-tools/sed-4.2.1/lib/stdlib.in.h
deleted file mode 100644
index f99767f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stdlib.in.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/* A GNU-like <stdlib.h>.
-
- Copyright (C) 1995, 2001-2004, 2006-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined __need_malloc_and_calloc
-/* Special invocation convention inside glibc header files. */
-
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#else
-/* Normal invocation convention. */
-
-#ifndef _GL_STDLIB_H
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
-
-#ifndef _GL_STDLIB_H
-#define _GL_STDLIB_H
-
-
-/* Solaris declares getloadavg() in <sys/loadavg.h>. */
-#if @GNULIB_GETLOADAVG@ && @HAVE_SYS_LOADAVG_H@
-# include <sys/loadavg.h>
-#endif
-
-/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
- from <stdlib.h> if _REENTRANT is defined. Include it always. */
-#if @HAVE_RANDOM_H@
-# include <random.h>
-#endif
-
-#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@
-# include <stdint.h>
-#endif
-
-#if !@HAVE_STRUCT_RANDOM_DATA@
-struct random_data
-{
- int32_t *fptr; /* Front pointer. */
- int32_t *rptr; /* Rear pointer. */
- int32_t *state; /* Array of state values. */
- int rand_type; /* Type of random number generator. */
- int rand_deg; /* Degree of random number generator. */
- int rand_sep; /* Distance between front and rear. */
- int32_t *end_ptr; /* Pointer behind state table. */
-};
-#endif
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-
-/* Some systems do not define EXIT_*, despite otherwise supporting C89. */
-#ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-#endif
-/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
- with proper operation of xargs. */
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#elif EXIT_FAILURE != 1
-# undef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if @GNULIB_MALLOC_POSIX@
-# if !@HAVE_MALLOC_POSIX@
-# undef malloc
-# define malloc rpl_malloc
-extern void * malloc (size_t size);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef malloc
-# define malloc(s) \
- (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \
- "use gnulib module malloc-posix for portability"), \
- malloc (s))
-#endif
-
-
-#if @GNULIB_REALLOC_POSIX@
-# if !@HAVE_REALLOC_POSIX@
-# undef realloc
-# define realloc rpl_realloc
-extern void * realloc (void *ptr, size_t size);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef realloc
-# define realloc(p,s) \
- (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \
- "use gnulib module realloc-posix for portability"), \
- realloc (p, s))
-#endif
-
-
-#if @GNULIB_CALLOC_POSIX@
-# if !@HAVE_CALLOC_POSIX@
-# undef calloc
-# define calloc rpl_calloc
-extern void * calloc (size_t nmemb, size_t size);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef calloc
-# define calloc(n,s) \
- (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \
- "use gnulib module calloc-posix for portability"), \
- calloc (n, s))
-#endif
-
-
-#if @GNULIB_ATOLL@
-# if !@HAVE_ATOLL@
-/* Parse a signed decimal integer.
- Returns the value of the integer. Errors are not detected. */
-extern long long atoll (const char *string);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef atoll
-# define atoll(s) \
- (GL_LINK_WARNING ("atoll is unportable - " \
- "use gnulib module atoll for portability"), \
- atoll (s))
-#endif
-
-
-#if @GNULIB_GETLOADAVG@
-# if !@HAVE_DECL_GETLOADAVG@
-/* Store max(NELEM,3) load average numbers in LOADAVG[].
- The three numbers are the load average of the last 1 minute, the last 5
- minutes, and the last 15 minutes, respectively.
- LOADAVG is an array of NELEM numbers. */
-extern int getloadavg (double loadavg[], int nelem);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getloadavg
-# define getloadavg(l,n) \
- (GL_LINK_WARNING ("getloadavg is not portable - " \
- "use gnulib module getloadavg for portability"), \
- getloadavg (l, n))
-#endif
-
-
-#if @GNULIB_GETSUBOPT@
-/* Assuming *OPTIONP is a comma separated list of elements of the form
- "token" or "token=value", getsubopt parses the first of these elements.
- If the first element refers to a "token" that is member of the given
- NULL-terminated array of tokens:
- - It replaces the comma with a NUL byte, updates *OPTIONP to point past
- the first option and the comma, sets *VALUEP to the value of the
- element (or NULL if it doesn't contain an "=" sign),
- - It returns the index of the "token" in the given array of tokens.
- Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
- For more details see the POSIX:2001 specification.
- http://www.opengroup.org/susv3xsh/getsubopt.html */
-# if !@HAVE_GETSUBOPT@
-extern int getsubopt (char **optionp, char *const *tokens, char **valuep);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getsubopt
-# define getsubopt(o,t,v) \
- (GL_LINK_WARNING ("getsubopt is unportable - " \
- "use gnulib module getsubopt for portability"), \
- getsubopt (o, t, v))
-#endif
-
-
-#if @GNULIB_MKDTEMP@
-# if !@HAVE_MKDTEMP@
-/* Create a unique temporary directory from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the directory name unique.
- Returns TEMPLATE, or a null pointer if it cannot get a unique name.
- The directory is created mode 700. */
-extern char * mkdtemp (char * /*template*/);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mkdtemp
-# define mkdtemp(t) \
- (GL_LINK_WARNING ("mkdtemp is unportable - " \
- "use gnulib module mkdtemp for portability"), \
- mkdtemp (t))
-#endif
-
-
-#if @GNULIB_MKSTEMP@
-# if @REPLACE_MKSTEMP@
-/* Create a unique temporary file from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the file name unique.
- The file is then created, ensuring it didn't exist before.
- The file is created read-write (mask at least 0600 & ~umask), but it may be
- world-readable and world-writable (mask 0666 & ~umask), depending on the
- implementation.
- Returns the open file descriptor if successful, otherwise -1 and errno
- set. */
-# define mkstemp rpl_mkstemp
-extern int mkstemp (char * /*template*/);
-# else
-/* On MacOS X 10.3, only <unistd.h> declares mkstemp. */
-# include <unistd.h>
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mkstemp
-# define mkstemp(t) \
- (GL_LINK_WARNING ("mkstemp is unportable - " \
- "use gnulib module mkstemp for portability"), \
- mkstemp (t))
-#endif
-
-
-#if @GNULIB_PUTENV@
-# if @REPLACE_PUTENV@
-# undef putenv
-# define putenv rpl_putenv
-extern int putenv (char *string);
-# endif
-#endif
-
-
-#if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
-
-# ifndef RAND_MAX
-# define RAND_MAX 2147483647
-# endif
-
-int srandom_r (unsigned int seed, struct random_data *rand_state);
-int initstate_r (unsigned int seed, char *buf, size_t buf_size,
- struct random_data *rand_state);
-int setstate_r (char *arg_state, struct random_data *rand_state);
-int random_r (struct random_data *buf, int32_t *result);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef random_r
-# define random_r(b,r) \
- (GL_LINK_WARNING ("random_r is unportable - " \
- "use gnulib module random_r for portability"), \
- random_r (b,r))
-# undef initstate_r
-# define initstate_r(s,b,sz,r) \
- (GL_LINK_WARNING ("initstate_r is unportable - " \
- "use gnulib module random_r for portability"), \
- initstate_r (s,b,sz,r))
-# undef srandom_r
-# define srandom_r(s,r) \
- (GL_LINK_WARNING ("srandom_r is unportable - " \
- "use gnulib module random_r for portability"), \
- srandom_r (s,r))
-# undef setstate_r
-# define setstate_r(a,r) \
- (GL_LINK_WARNING ("setstate_r is unportable - " \
- "use gnulib module random_r for portability"), \
- setstate_r (a,r))
-#endif
-
-
-#if @GNULIB_RPMATCH@
-# if !@HAVE_RPMATCH@
-/* Test a user response to a question.
- Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
-extern int rpmatch (const char *response);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef rpmatch
-# define rpmatch(r) \
- (GL_LINK_WARNING ("rpmatch is unportable - " \
- "use gnulib module rpmatch for portability"), \
- rpmatch (r))
-#endif
-
-
-#if @GNULIB_SETENV@
-# if !@HAVE_SETENV@
-/* Set NAME to VALUE in the environment.
- If REPLACE is nonzero, overwrite an existing value. */
-extern int setenv (const char *name, const char *value, int replace);
-# endif
-#endif
-
-
-#if @GNULIB_UNSETENV@
-# if @HAVE_UNSETENV@
-# if @VOID_UNSETENV@
-/* On some systems, unsetenv() returns void.
- This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */
-# define unsetenv(name) ((unsetenv)(name), 0)
-# endif
-# else
-/* Remove the variable NAME from the environment. */
-extern int unsetenv (const char *name);
-# endif
-#endif
-
-
-#if @GNULIB_STRTOD@
-# if @REPLACE_STRTOD@
-# define strtod rpl_strtod
-# endif
-# if !@HAVE_STRTOD@ || @REPLACE_STRTOD@
- /* Parse a double from STRING, updating ENDP if appropriate. */
-extern double strtod (const char *str, char **endp);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strtod
-# define strtod(s, e) \
- (GL_LINK_WARNING ("strtod is unportable - " \
- "use gnulib module strtod for portability"), \
- strtod (s, e))
-#endif
-
-
-#if @GNULIB_STRTOLL@
-# if !@HAVE_STRTOLL@
-/* Parse a signed integer whose textual representation starts at STRING.
- The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
- it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
- "0x").
- If ENDPTR is not NULL, the address of the first byte after the integer is
- stored in *ENDPTR.
- Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
- to ERANGE. */
-extern long long strtoll (const char *string, char **endptr, int base);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strtoll
-# define strtoll(s,e,b) \
- (GL_LINK_WARNING ("strtoll is unportable - " \
- "use gnulib module strtoll for portability"), \
- strtoll (s, e, b))
-#endif
-
-
-#if @GNULIB_STRTOULL@
-# if !@HAVE_STRTOULL@
-/* Parse an unsigned integer whose textual representation starts at STRING.
- The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
- it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
- "0x").
- If ENDPTR is not NULL, the address of the first byte after the integer is
- stored in *ENDPTR.
- Upon overflow, the return value is ULLONG_MAX, and errno is set to
- ERANGE. */
-extern unsigned long long strtoull (const char *string, char **endptr, int base);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strtoull
-# define strtoull(s,e,b) \
- (GL_LINK_WARNING ("strtoull is unportable - " \
- "use gnulib module strtoull for portability"), \
- strtoull (s, e, b))
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_STDLIB_H */
-#endif /* _GL_STDLIB_H */
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/streq.h b/sources/host-tools/sed-4.2.1/lib/streq.h
deleted file mode 100644
index e3b0c3f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/streq.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Optimized string comparison.
- Copyright (C) 2001-2002, 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#ifndef _GL_STREQ_H
-#define _GL_STREQ_H
-
-#include <string.h>
-
-/* STREQ allows to optimize string comparison with a small literal string.
- STREQ (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
- is semantically equivalent to
- strcmp (s, "EUC-KR") == 0
- just faster. */
-
-/* Help GCC to generate good code for string comparisons with
- immediate strings. */
-#if defined (__GNUC__) && defined (__OPTIMIZE__)
-
-static inline int
-streq9 (const char *s1, const char *s2)
-{
- return strcmp (s1 + 9, s2 + 9) == 0;
-}
-
-static inline int
-streq8 (const char *s1, const char *s2, char s28)
-{
- if (s1[8] == s28)
- {
- if (s28 == 0)
- return 1;
- else
- return streq9 (s1, s2);
- }
- else
- return 0;
-}
-
-static inline int
-streq7 (const char *s1, const char *s2, char s27, char s28)
-{
- if (s1[7] == s27)
- {
- if (s27 == 0)
- return 1;
- else
- return streq8 (s1, s2, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq6 (const char *s1, const char *s2, char s26, char s27, char s28)
-{
- if (s1[6] == s26)
- {
- if (s26 == 0)
- return 1;
- else
- return streq7 (s1, s2, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28)
-{
- if (s1[5] == s25)
- {
- if (s25 == 0)
- return 1;
- else
- return streq6 (s1, s2, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28)
-{
- if (s1[4] == s24)
- {
- if (s24 == 0)
- return 1;
- else
- return streq5 (s1, s2, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28)
-{
- if (s1[3] == s23)
- {
- if (s23 == 0)
- return 1;
- else
- return streq4 (s1, s2, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
-{
- if (s1[2] == s22)
- {
- if (s22 == 0)
- return 1;
- else
- return streq3 (s1, s2, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
-{
- if (s1[1] == s21)
- {
- if (s21 == 0)
- return 1;
- else
- return streq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
-{
- if (s1[0] == s20)
- {
- if (s20 == 0)
- return 1;
- else
- return streq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
- streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28)
-
-#else
-
-#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
- (strcmp (s1, s2) == 0)
-
-#endif
-
-#endif /* _GL_STREQ_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/strerror.c b/sources/host-tools/sed-4.2.1/lib/strerror.c
deleted file mode 100644
index dfe6c25..0000000
--- a/sources/host-tools/sed-4.2.1/lib/strerror.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/* strerror.c --- POSIX compatible system error routine
-
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include <string.h>
-
-#if REPLACE_STRERROR
-
-# include <errno.h>
-# include <stdio.h>
-
-# if GNULIB_defined_ESOCK /* native Windows platforms */
-# if HAVE_WINSOCK2_H
-# include <winsock2.h>
-# endif
-# endif
-
-# include "intprops.h"
-
-# undef strerror
-# if ! HAVE_DECL_STRERROR
-# define strerror(n) NULL
-# endif
-
-char *
-rpl_strerror (int n)
-{
- char const *msg = NULL;
- /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */
- switch (n)
- {
-# if GNULIB_defined_ETXTBSY
- case ETXTBSY:
- msg = "Text file busy";
- break;
-# endif
-
-# if GNULIB_defined_ESOCK /* native Windows platforms */
- /* EWOULDBLOCK is the same as EAGAIN. */
- case EINPROGRESS:
- msg = "Operation now in progress";
- break;
- case EALREADY:
- msg = "Operation already in progress";
- break;
- case ENOTSOCK:
- msg = "Socket operation on non-socket";
- break;
- case EDESTADDRREQ:
- msg = "Destination address required";
- break;
- case EMSGSIZE:
- msg = "Message too long";
- break;
- case EPROTOTYPE:
- msg = "Protocol wrong type for socket";
- break;
- case ENOPROTOOPT:
- msg = "Protocol not available";
- break;
- case EPROTONOSUPPORT:
- msg = "Protocol not supported";
- break;
- case ESOCKTNOSUPPORT:
- msg = "Socket type not supported";
- break;
- case EOPNOTSUPP:
- msg = "Operation not supported";
- break;
- case EPFNOSUPPORT:
- msg = "Protocol family not supported";
- break;
- case EAFNOSUPPORT:
- msg = "Address family not supported by protocol";
- break;
- case EADDRINUSE:
- msg = "Address already in use";
- break;
- case EADDRNOTAVAIL:
- msg = "Cannot assign requested address";
- break;
- case ENETDOWN:
- msg = "Network is down";
- break;
- case ENETUNREACH:
- msg = "Network is unreachable";
- break;
- case ENETRESET:
- msg = "Network dropped connection on reset";
- break;
- case ECONNABORTED:
- msg = "Software caused connection abort";
- break;
- case ECONNRESET:
- msg = "Connection reset by peer";
- break;
- case ENOBUFS:
- msg = "No buffer space available";
- break;
- case EISCONN:
- msg = "Transport endpoint is already connected";
- break;
- case ENOTCONN:
- msg = "Transport endpoint is not connected";
- break;
- case ESHUTDOWN:
- msg = "Cannot send after transport endpoint shutdown";
- break;
- case ETOOMANYREFS:
- msg = "Too many references: cannot splice";
- break;
- case ETIMEDOUT:
- msg = "Connection timed out";
- break;
- case ECONNREFUSED:
- msg = "Connection refused";
- break;
- case ELOOP:
- msg = "Too many levels of symbolic links";
- break;
- case EHOSTDOWN:
- msg = "Host is down";
- break;
- case EHOSTUNREACH:
- msg = "No route to host";
- break;
- case EPROCLIM:
- msg = "Too many processes";
- break;
- case EUSERS:
- msg = "Too many users";
- break;
- case EDQUOT:
- msg = "Disk quota exceeded";
- break;
- case ESTALE:
- msg = "Stale NFS file handle";
- break;
- case EREMOTE:
- msg = "Object is remote";
- break;
-# if HAVE_WINSOCK2_H
- /* WSA_INVALID_HANDLE maps to EBADF */
- /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
- /* WSA_INVALID_PARAMETER maps to EINVAL */
- case WSA_OPERATION_ABORTED:
- msg = "Overlapped operation aborted";
- break;
- case WSA_IO_INCOMPLETE:
- msg = "Overlapped I/O event object not in signaled state";
- break;
- case WSA_IO_PENDING:
- msg = "Overlapped operations will complete later";
- break;
- /* WSAEINTR maps to EINTR */
- /* WSAEBADF maps to EBADF */
- /* WSAEACCES maps to EACCES */
- /* WSAEFAULT maps to EFAULT */
- /* WSAEINVAL maps to EINVAL */
- /* WSAEMFILE maps to EMFILE */
- /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
- /* WSAEINPROGRESS is EINPROGRESS */
- /* WSAEALREADY is EALREADY */
- /* WSAENOTSOCK is ENOTSOCK */
- /* WSAEDESTADDRREQ is EDESTADDRREQ */
- /* WSAEMSGSIZE is EMSGSIZE */
- /* WSAEPROTOTYPE is EPROTOTYPE */
- /* WSAENOPROTOOPT is ENOPROTOOPT */
- /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
- /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
- /* WSAEOPNOTSUPP is EOPNOTSUPP */
- /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
- /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
- /* WSAEADDRINUSE is EADDRINUSE */
- /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
- /* WSAENETDOWN is ENETDOWN */
- /* WSAENETUNREACH is ENETUNREACH */
- /* WSAENETRESET is ENETRESET */
- /* WSAECONNABORTED is ECONNABORTED */
- /* WSAECONNRESET is ECONNRESET */
- /* WSAENOBUFS is ENOBUFS */
- /* WSAEISCONN is EISCONN */
- /* WSAENOTCONN is ENOTCONN */
- /* WSAESHUTDOWN is ESHUTDOWN */
- /* WSAETOOMANYREFS is ETOOMANYREFS */
- /* WSAETIMEDOUT is ETIMEDOUT */
- /* WSAECONNREFUSED is ECONNREFUSED */
- /* WSAELOOP is ELOOP */
- /* WSAENAMETOOLONG maps to ENAMETOOLONG */
- /* WSAEHOSTDOWN is EHOSTDOWN */
- /* WSAEHOSTUNREACH is EHOSTUNREACH */
- /* WSAENOTEMPTY maps to ENOTEMPTY */
- /* WSAEPROCLIM is EPROCLIM */
- /* WSAEUSERS is EUSERS */
- /* WSAEDQUOT is EDQUOT */
- /* WSAESTALE is ESTALE */
- /* WSAEREMOTE is EREMOTE */
- case WSASYSNOTREADY:
- msg = "Network subsystem is unavailable";
- break;
- case WSAVERNOTSUPPORTED:
- msg = "Winsock.dll version out of range";
- break;
- case WSANOTINITIALISED:
- msg = "Successful WSAStartup not yet performed";
- break;
- case WSAEDISCON:
- msg = "Graceful shutdown in progress";
- break;
- case WSAENOMORE: case WSA_E_NO_MORE:
- msg = "No more results";
- break;
- case WSAECANCELLED: case WSA_E_CANCELLED:
- msg = "Call was canceled";
- break;
- case WSAEINVALIDPROCTABLE:
- msg = "Procedure call table is invalid";
- break;
- case WSAEINVALIDPROVIDER:
- msg = "Service provider is invalid";
- break;
- case WSAEPROVIDERFAILEDINIT:
- msg = "Service provider failed to initialize";
- break;
- case WSASYSCALLFAILURE:
- msg = "System call failure";
- break;
- case WSASERVICE_NOT_FOUND:
- msg = "Service not found";
- break;
- case WSATYPE_NOT_FOUND:
- msg = "Class type not found";
- break;
- case WSAEREFUSED:
- msg = "Database query was refused";
- break;
- case WSAHOST_NOT_FOUND:
- msg = "Host not found";
- break;
- case WSATRY_AGAIN:
- msg = "Nonauthoritative host not found";
- break;
- case WSANO_RECOVERY:
- msg = "Nonrecoverable error";
- break;
- case WSANO_DATA:
- msg = "Valid name, no data record of requested type";
- break;
- /* WSA_QOS_* omitted */
-# endif
-# endif
-
-# if GNULIB_defined_ENOMSG
- case ENOMSG:
- msg = "No message of desired type";
- break;
-# endif
-
-# if GNULIB_defined_EIDRM
- case EIDRM:
- msg = "Identifier removed";
- break;
-# endif
-
-# if GNULIB_defined_ENOLINK
- case ENOLINK:
- msg = "Link has been severed";
- break;
-# endif
-
-# if GNULIB_defined_EPROTO
- case EPROTO:
- msg = "Protocol error";
- break;
-# endif
-
-# if GNULIB_defined_EMULTIHOP
- case EMULTIHOP:
- msg = "Multihop attempted";
- break;
-# endif
-
-# if GNULIB_defined_EBADMSG
- case EBADMSG:
- msg = "Bad message";
- break;
-# endif
-
-# if GNULIB_defined_EOVERFLOW
- case EOVERFLOW:
- msg = "Value too large for defined data type";
- break;
-# endif
-
-# if GNULIB_defined_ENOTSUP
- case ENOTSUP:
- msg = "Not supported";
- break;
-# endif
-
-# if GNULIB_defined_ESTALE
- case ESTALE:
- msg = "Stale NFS file handle";
- break;
-# endif
-
-# if GNULIB_defined_ECANCELED
- case ECANCELED:
- msg = "Operation canceled";
- break;
-# endif
- }
-
- if (msg)
- return (char *) msg;
-
- {
- char *result = strerror (n);
-
- if (result == NULL || result[0] == '\0')
- {
- static char const fmt[] = "Unknown error (%d)";
- static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)];
- sprintf (msg_buf, fmt, n);
- return msg_buf;
- }
-
- return result;
- }
-}
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/string.in.h b/sources/host-tools/sed-4.2.1/lib/string.in.h
deleted file mode 100644
index d8fadbf..0000000
--- a/sources/host-tools/sed-4.2.1/lib/string.in.h
+++ /dev/null
@@ -1,622 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A GNU-like <string.h>.
-
- Copyright (C) 1995-1996, 2001-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _GL_STRING_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_STRING_H@
-
-#ifndef _GL_STRING_H
-#define _GL_STRING_H
-
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-/* The attribute __pure__ was added in gcc 2.96. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-# define __pure__ /* empty */
-# endif
-#endif
-
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Return the first instance of C within N bytes of S, or NULL. */
-#if @GNULIB_MEMCHR@
-# if @REPLACE_MEMCHR@
-# define memchr rpl_memchr
-extern void *memchr (void const *__s, int __c, size_t __n)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef memchr
-# define memchr(s,c,n) \
- (GL_LINK_WARNING ("memchr has platform-specific bugs - " \
- "use gnulib module memchr for portability" ), \
- memchr (s, c, n))
-#endif
-
-/* Return the first occurrence of NEEDLE in HAYSTACK. */
-#if @GNULIB_MEMMEM@
-# if @REPLACE_MEMMEM@
-# define memmem rpl_memmem
-# endif
-# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@
-extern void *memmem (void const *__haystack, size_t __haystack_len,
- void const *__needle, size_t __needle_len)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef memmem
-# define memmem(a,al,b,bl) \
- (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \
- "use gnulib module memmem-simple for portability, " \
- "and module memmem for speed" ), \
- memmem (a, al, b, bl))
-#endif
-
-/* Copy N bytes of SRC to DEST, return pointer to bytes after the
- last written byte. */
-#if @GNULIB_MEMPCPY@
-# if ! @HAVE_MEMPCPY@
-extern void *mempcpy (void *restrict __dest, void const *restrict __src,
- size_t __n);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mempcpy
-# define mempcpy(a,b,n) \
- (GL_LINK_WARNING ("mempcpy is unportable - " \
- "use gnulib module mempcpy for portability"), \
- mempcpy (a, b, n))
-#endif
-
-/* Search backwards through a block for a byte (specified as an int). */
-#if @GNULIB_MEMRCHR@
-# if ! @HAVE_DECL_MEMRCHR@
-extern void *memrchr (void const *, int, size_t)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef memrchr
-# define memrchr(a,b,c) \
- (GL_LINK_WARNING ("memrchr is unportable - " \
- "use gnulib module memrchr for portability"), \
- memrchr (a, b, c))
-#endif
-
-/* Find the first occurrence of C in S. More efficient than
- memchr(S,C,N), at the expense of undefined behavior if C does not
- occur within N bytes. */
-#if @GNULIB_RAWMEMCHR@
-# if ! @HAVE_RAWMEMCHR@
-extern void *rawmemchr (void const *__s, int __c_in)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef rawmemchr
-# define rawmemchr(a,b) \
- (GL_LINK_WARNING ("rawmemchr is unportable - " \
- "use gnulib module rawmemchr for portability"), \
- rawmemchr (a, b))
-#endif
-
-/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
-#if @GNULIB_STPCPY@
-# if ! @HAVE_STPCPY@
-extern char *stpcpy (char *restrict __dst, char const *restrict __src);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef stpcpy
-# define stpcpy(a,b) \
- (GL_LINK_WARNING ("stpcpy is unportable - " \
- "use gnulib module stpcpy for portability"), \
- stpcpy (a, b))
-#endif
-
-/* Copy no more than N bytes of SRC to DST, returning a pointer past the
- last non-NUL byte written into DST. */
-#if @GNULIB_STPNCPY@
-# if ! @HAVE_STPNCPY@
-# define stpncpy gnu_stpncpy
-extern char *stpncpy (char *restrict __dst, char const *restrict __src,
- size_t __n);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef stpncpy
-# define stpncpy(a,b,n) \
- (GL_LINK_WARNING ("stpncpy is unportable - " \
- "use gnulib module stpncpy for portability"), \
- stpncpy (a, b, n))
-#endif
-
-#if defined GNULIB_POSIXCHECK
-/* strchr() does not work with multibyte strings if the locale encoding is
- GB18030 and the character to be searched is a digit. */
-# undef strchr
-# define strchr(s,c) \
- (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbschr if you care about internationalization"), \
- strchr (s, c))
-#endif
-
-/* Find the first occurrence of C in S or the final NUL byte. */
-#if @GNULIB_STRCHRNUL@
-# if ! @HAVE_STRCHRNUL@
-extern char *strchrnul (char const *__s, int __c_in)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strchrnul
-# define strchrnul(a,b) \
- (GL_LINK_WARNING ("strchrnul is unportable - " \
- "use gnulib module strchrnul for portability"), \
- strchrnul (a, b))
-#endif
-
-/* Duplicate S, returning an identical malloc'd string. */
-#if @GNULIB_STRDUP@
-# if @REPLACE_STRDUP@
-# undef strdup
-# define strdup rpl_strdup
-# endif
-# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@
-extern char *strdup (char const *__s);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strdup
-# define strdup(a) \
- (GL_LINK_WARNING ("strdup is unportable - " \
- "use gnulib module strdup for portability"), \
- strdup (a))
-#endif
-
-/* Return a newly allocated copy of at most N bytes of STRING. */
-#if @GNULIB_STRNDUP@
-# if ! @HAVE_STRNDUP@
-# undef strndup
-# define strndup rpl_strndup
-# endif
-# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@
-extern char *strndup (char const *__string, size_t __n);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strndup
-# define strndup(a,n) \
- (GL_LINK_WARNING ("strndup is unportable - " \
- "use gnulib module strndup for portability"), \
- strndup (a, n))
-#endif
-
-/* Find the length (number of bytes) of STRING, but scan at most
- MAXLEN bytes. If no '\0' terminator is found in that many bytes,
- return MAXLEN. */
-#if @GNULIB_STRNLEN@
-# if ! @HAVE_DECL_STRNLEN@
-extern size_t strnlen (char const *__string, size_t __maxlen)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strnlen
-# define strnlen(a,n) \
- (GL_LINK_WARNING ("strnlen is unportable - " \
- "use gnulib module strnlen for portability"), \
- strnlen (a, n))
-#endif
-
-#if defined GNULIB_POSIXCHECK
-/* strcspn() assumes the second argument is a list of single-byte characters.
- Even in this simple case, it does not work with multibyte strings if the
- locale encoding is GB18030 and one of the characters to be searched is a
- digit. */
-# undef strcspn
-# define strcspn(s,a) \
- (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscspn if you care about internationalization"), \
- strcspn (s, a))
-#endif
-
-/* Find the first occurrence in S of any character in ACCEPT. */
-#if @GNULIB_STRPBRK@
-# if ! @HAVE_STRPBRK@
-extern char *strpbrk (char const *__s, char const *__accept)
- __attribute__ ((__pure__));
-# endif
-# if defined GNULIB_POSIXCHECK
-/* strpbrk() assumes the second argument is a list of single-byte characters.
- Even in this simple case, it does not work with multibyte strings if the
- locale encoding is GB18030 and one of the characters to be searched is a
- digit. */
-# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbspbrk if you care about internationalization"), \
- strpbrk (s, a))
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk is unportable - " \
- "use gnulib module strpbrk for portability"), \
- strpbrk (s, a))
-#endif
-
-#if defined GNULIB_POSIXCHECK
-/* strspn() assumes the second argument is a list of single-byte characters.
- Even in this simple case, it cannot work with multibyte strings. */
-# undef strspn
-# define strspn(s,a) \
- (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbsspn if you care about internationalization"), \
- strspn (s, a))
-#endif
-
-#if defined GNULIB_POSIXCHECK
-/* strrchr() does not work with multibyte strings if the locale encoding is
- GB18030 and the character to be searched is a digit. */
-# undef strrchr
-# define strrchr(s,c) \
- (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbsrchr if you care about internationalization"), \
- strrchr (s, c))
-#endif
-
-/* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
- If one is found, overwrite it with a NUL, and advance *STRINGP
- to point to the next char after it. Otherwise, set *STRINGP to NULL.
- If *STRINGP was already NULL, nothing happens.
- Return the old value of *STRINGP.
-
- This is a variant of strtok() that is multithread-safe and supports
- empty fields.
-
- Caveat: It modifies the original string.
- Caveat: These functions cannot be used on constant strings.
- Caveat: The identity of the delimiting character is lost.
- Caveat: It doesn't work with multibyte strings unless all of the delimiter
- characters are ASCII characters < 0x30.
-
- See also strtok_r(). */
-#if @GNULIB_STRSEP@
-# if ! @HAVE_STRSEP@
-extern char *strsep (char **restrict __stringp, char const *restrict __delim);
-# endif
-# if defined GNULIB_POSIXCHECK
-# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbssep if you care about internationalization"), \
- strsep (s, d))
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep is unportable - " \
- "use gnulib module strsep for portability"), \
- strsep (s, d))
-#endif
-
-#if @GNULIB_STRSTR@
-# if @REPLACE_STRSTR@
-# define strstr rpl_strstr
-char *strstr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-/* strstr() does not work with multibyte strings if the locale encoding is
- different from UTF-8:
- POSIX says that it operates on "strings", and "string" in POSIX is defined
- as a sequence of bytes, not of characters. */
-# undef strstr
-# define strstr(a,b) \
- (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \
- "work correctly on character strings in most " \
- "multibyte locales - " \
- "use mbsstr if you care about internationalization, " \
- "or use strstr if you care about speed"), \
- strstr (a, b))
-#endif
-
-/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive
- comparison. */
-#if @GNULIB_STRCASESTR@
-# if @REPLACE_STRCASESTR@
-# define strcasestr rpl_strcasestr
-# endif
-# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@
-extern char *strcasestr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
-# endif
-#elif defined GNULIB_POSIXCHECK
-/* strcasestr() does not work with multibyte strings:
- It is a glibc extension, and glibc implements it only for unibyte
- locales. */
-# undef strcasestr
-# define strcasestr(a,b) \
- (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscasestr if you care about " \
- "internationalization, or use c-strcasestr if you want " \
- "a locale independent function"), \
- strcasestr (a, b))
-#endif
-
-/* Parse S into tokens separated by characters in DELIM.
- If S is NULL, the saved pointer in SAVE_PTR is used as
- the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = strtok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
-
- This is a variant of strtok() that is multithread-safe.
-
- For the POSIX documentation for this function, see:
- http://www.opengroup.org/susv3xsh/strtok.html
-
- Caveat: It modifies the original string.
- Caveat: These functions cannot be used on constant strings.
- Caveat: The identity of the delimiting character is lost.
- Caveat: It doesn't work with multibyte strings unless all of the delimiter
- characters are ASCII characters < 0x30.
-
- See also strsep(). */
-#if @GNULIB_STRTOK_R@
-# if ! @HAVE_DECL_STRTOK_R@
-extern char *strtok_r (char *restrict s, char const *restrict delim,
- char **restrict save_ptr);
-# endif
-# if defined GNULIB_POSIXCHECK
-# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbstok_r if you care about internationalization"), \
- strtok_r (s, d, p))
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r is unportable - " \
- "use gnulib module strtok_r for portability"), \
- strtok_r (s, d, p))
-#endif
-
-
-/* The following functions are not specified by POSIX. They are gnulib
- extensions. */
-
-#if @GNULIB_MBSLEN@
-/* Return the number of multibyte characters in the character string STRING.
- This considers multibyte characters, unlike strlen, which counts bytes. */
-extern size_t mbslen (const char *string);
-#endif
-
-#if @GNULIB_MBSNLEN@
-/* Return the number of multibyte characters in the character string starting
- at STRING and ending at STRING + LEN. */
-extern size_t mbsnlen (const char *string, size_t len);
-#endif
-
-#if @GNULIB_MBSCHR@
-/* Locate the first single-byte character C in the character string STRING,
- and return a pointer to it. Return NULL if C is not found in STRING.
- Unlike strchr(), this function works correctly in multibyte locales with
- encodings such as GB18030. */
-# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
-extern char * mbschr (const char *string, int c);
-#endif
-
-#if @GNULIB_MBSRCHR@
-/* Locate the last single-byte character C in the character string STRING,
- and return a pointer to it. Return NULL if C is not found in STRING.
- Unlike strrchr(), this function works correctly in multibyte locales with
- encodings such as GB18030. */
-# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */
-extern char * mbsrchr (const char *string, int c);
-#endif
-
-#if @GNULIB_MBSSTR@
-/* Find the first occurrence of the character string NEEDLE in the character
- string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK.
- Unlike strstr(), this function works correctly in multibyte locales with
- encodings different from UTF-8. */
-extern char * mbsstr (const char *haystack, const char *needle);
-#endif
-
-#if @GNULIB_MBSCASECMP@
-/* Compare the character strings S1 and S2, ignoring case, returning less than,
- equal to or greater than zero if S1 is lexicographically less than, equal to
- or greater than S2.
- Note: This function may, in multibyte locales, return 0 for strings of
- different lengths!
- Unlike strcasecmp(), this function works correctly in multibyte locales. */
-extern int mbscasecmp (const char *s1, const char *s2);
-#endif
-
-#if @GNULIB_MBSNCASECMP@
-/* Compare the initial segment of the character string S1 consisting of at most
- N characters with the initial segment of the character string S2 consisting
- of at most N characters, ignoring case, returning less than, equal to or
- greater than zero if the initial segment of S1 is lexicographically less
- than, equal to or greater than the initial segment of S2.
- Note: This function may, in multibyte locales, return 0 for initial segments
- of different lengths!
- Unlike strncasecmp(), this function works correctly in multibyte locales.
- But beware that N is not a byte count but a character count! */
-extern int mbsncasecmp (const char *s1, const char *s2, size_t n);
-#endif
-
-#if @GNULIB_MBSPCASECMP@
-/* Compare the initial segment of the character string STRING consisting of
- at most mbslen (PREFIX) characters with the character string PREFIX,
- ignoring case, returning less than, equal to or greater than zero if this
- initial segment is lexicographically less than, equal to or greater than
- PREFIX.
- Note: This function may, in multibyte locales, return 0 if STRING is of
- smaller length than PREFIX!
- Unlike strncasecmp(), this function works correctly in multibyte
- locales. */
-extern char * mbspcasecmp (const char *string, const char *prefix);
-#endif
-
-#if @GNULIB_MBSCASESTR@
-/* Find the first occurrence of the character string NEEDLE in the character
- string HAYSTACK, using case-insensitive comparison.
- Note: This function may, in multibyte locales, return success even if
- strlen (haystack) < strlen (needle) !
- Unlike strcasestr(), this function works correctly in multibyte locales. */
-extern char * mbscasestr (const char *haystack, const char *needle);
-#endif
-
-#if @GNULIB_MBSCSPN@
-/* Find the first occurrence in the character string STRING of any character
- in the character string ACCEPT. Return the number of bytes from the
- beginning of the string to this occurrence, or to the end of the string
- if none exists.
- Unlike strcspn(), this function works correctly in multibyte locales. */
-extern size_t mbscspn (const char *string, const char *accept);
-#endif
-
-#if @GNULIB_MBSPBRK@
-/* Find the first occurrence in the character string STRING of any character
- in the character string ACCEPT. Return the pointer to it, or NULL if none
- exists.
- Unlike strpbrk(), this function works correctly in multibyte locales. */
-# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
-extern char * mbspbrk (const char *string, const char *accept);
-#endif
-
-#if @GNULIB_MBSSPN@
-/* Find the first occurrence in the character string STRING of any character
- not in the character string REJECT. Return the number of bytes from the
- beginning of the string to this occurrence, or to the end of the string
- if none exists.
- Unlike strspn(), this function works correctly in multibyte locales. */
-extern size_t mbsspn (const char *string, const char *reject);
-#endif
-
-#if @GNULIB_MBSSEP@
-/* Search the next delimiter (multibyte character listed in the character
- string DELIM) starting at the character string *STRINGP.
- If one is found, overwrite it with a NUL, and advance *STRINGP to point
- to the next multibyte character after it. Otherwise, set *STRINGP to NULL.
- If *STRINGP was already NULL, nothing happens.
- Return the old value of *STRINGP.
-
- This is a variant of mbstok_r() that supports empty fields.
-
- Caveat: It modifies the original string.
- Caveat: These functions cannot be used on constant strings.
- Caveat: The identity of the delimiting character is lost.
-
- See also mbstok_r(). */
-extern char * mbssep (char **stringp, const char *delim);
-#endif
-
-#if @GNULIB_MBSTOK_R@
-/* Parse the character string STRING into tokens separated by characters in
- the character string DELIM.
- If STRING is NULL, the saved pointer in SAVE_PTR is used as
- the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = mbstok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
-
- Caveat: It modifies the original string.
- Caveat: These functions cannot be used on constant strings.
- Caveat: The identity of the delimiting character is lost.
-
- See also mbssep(). */
-extern char * mbstok_r (char *string, const char *delim, char **save_ptr);
-#endif
-
-/* Map any int, typically from errno, into an error message. */
-#if @GNULIB_STRERROR@
-# if @REPLACE_STRERROR@
-# undef strerror
-# define strerror rpl_strerror
-extern char *strerror (int);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strerror
-# define strerror(e) \
- (GL_LINK_WARNING ("strerror is unportable - " \
- "use gnulib module strerror to guarantee non-NULL result"), \
- strerror (e))
-#endif
-
-#if @GNULIB_STRSIGNAL@
-# if @REPLACE_STRSIGNAL@
-# define strsignal rpl_strsignal
-# endif
-# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@
-extern char *strsignal (int __sig);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strsignal
-# define strsignal(a) \
- (GL_LINK_WARNING ("strsignal is unportable - " \
- "use gnulib module strsignal for portability"), \
- strsignal (a))
-#endif
-
-#if @GNULIB_STRVERSCMP@
-# if !@HAVE_STRVERSCMP@
-extern int strverscmp (const char *, const char *);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef strverscmp
-# define strverscmp(a, b) \
- (GL_LINK_WARNING ("strverscmp is unportable - " \
- "use gnulib module strverscmp for portability"), \
- strverscmp (a, b))
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_STRING_H */
-#endif /* _GL_STRING_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/stripslash.c b/sources/host-tools/sed-4.2.1/lib/stripslash.c
deleted file mode 100644
index 4084410..0000000
--- a/sources/host-tools/sed-4.2.1/lib/stripslash.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* stripslash.c -- remove redundant trailing slashes from a file name
-
- Copyright (C) 1990, 2001, 2003-2006 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include "dirname.h"
-
-/* Remove trailing slashes from FILE. Return true if a trailing slash
- was removed. This is useful when using file name completion from a
- shell that adds a "/" after directory names (such as tcsh and
- bash), because on symlinks to directories, several system calls
- have different semantics according to whether a trailing slash is
- present. */
-
-bool
-strip_trailing_slashes (char *file)
-{
- char *base = last_component (file);
- char *base_lim;
- bool had_slash;
-
- /* last_component returns "" for file system roots, but we need to turn
- `///' into `/'. */
- if (! *base)
- base = file;
- base_lim = base + base_len (base);
- had_slash = (*base_lim != '\0');
- *base_lim = '\0';
- return had_slash;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/strndup.c b/sources/host-tools/sed-4.2.1/lib/strndup.c
deleted file mode 100644
index 239c625..0000000
--- a/sources/host-tools/sed-4.2.1/lib/strndup.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A replacement function, for systems that lack strndup.
-
- Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2005, 2006, 2007
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 3, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-#include <string.h>
-
-#include <stdlib.h>
-
-char *
-strndup (char const *s, size_t n)
-{
- size_t len = strnlen (s, n);
- char *new = malloc (len + 1);
-
- if (new == NULL)
- return NULL;
-
- new[len] = '\0';
- return memcpy (new, s, len);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/strnlen.c b/sources/host-tools/sed-4.2.1/lib/strnlen.c
deleted file mode 100644
index dec9587..0000000
--- a/sources/host-tools/sed-4.2.1/lib/strnlen.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Find the length of STRING, but scan at most MAXLEN characters.
- Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
- Written by Simon Josefsson.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-#include <string.h>
-
-/* Find the length of STRING, but scan at most MAXLEN characters.
- If no '\0' terminator is found in that many characters, return MAXLEN. */
-
-size_t
-strnlen (const char *string, size_t maxlen)
-{
- const char *end = memchr (string, '\0', maxlen);
- return end ? (size_t) (end - string) : maxlen;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/strverscmp.c b/sources/host-tools/sed-4.2.1/lib/strverscmp.c
deleted file mode 100644
index 6bfda3b..0000000
--- a/sources/host-tools/sed-4.2.1/lib/strverscmp.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Compare strings while treating digits characters numerically.
- Copyright (C) 1997, 2000, 2002, 2004, 2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#if !_LIBC
-# include <config.h>
-#endif
-
-#include <string.h>
-#include <ctype.h>
-
-/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
- fractional parts, S_Z: idem but with leading Zeroes only */
-#define S_N 0x0
-#define S_I 0x4
-#define S_F 0x8
-#define S_Z 0xC
-
-/* result_type: CMP: return diff; LEN: compare using len_diff/diff */
-#define CMP 2
-#define LEN 3
-
-
-/* ISDIGIT differs from isdigit, as follows:
- - Its arg may be any int or unsigned int; it need not be an unsigned char
- or EOF.
- - It's typically faster.
- POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
- isdigit unless it's important to use the locale's definition
- of `digit' even when the host does not conform to POSIX. */
-#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
-
-#undef __strverscmp
-#undef strverscmp
-
-#ifndef weak_alias
-# define __strverscmp strverscmp
-#endif
-
-/* Compare S1 and S2 as strings holding indices/version numbers,
- returning less than, equal to or greater than zero if S1 is less than,
- equal to or greater than S2 (for more info, see the texinfo doc).
-*/
-
-int
-__strverscmp (const char *s1, const char *s2)
-{
- const unsigned char *p1 = (const unsigned char *) s1;
- const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
- int state;
- int diff;
-
- /* Symbol(s) 0 [1-9] others (padding)
- Transition (10) 0 (01) d (00) x (11) - */
- static const unsigned int next_state[] =
- {
- /* state x d 0 - */
- /* S_N */ S_N, S_I, S_Z, S_N,
- /* S_I */ S_N, S_I, S_I, S_I,
- /* S_F */ S_N, S_F, S_F, S_F,
- /* S_Z */ S_N, S_F, S_Z, S_Z
- };
-
- static const int result_type[] =
- {
- /* state x/x x/d x/0 x/- d/x d/d d/0 d/-
- 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */
-
- /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
- CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
- /* S_I */ CMP, -1, -1, CMP, 1, LEN, LEN, CMP,
- 1, LEN, LEN, CMP, CMP, CMP, CMP, CMP,
- /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
- CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
- /* S_Z */ CMP, 1, 1, CMP, -1, CMP, CMP, CMP,
- -1, CMP, CMP, CMP
- };
-
- if (p1 == p2)
- return 0;
-
- c1 = *p1++;
- c2 = *p2++;
- /* Hint: '0' is a digit too. */
- state = S_N | ((c1 == '0') + (ISDIGIT (c1) != 0));
-
- while ((diff = c1 - c2) == 0 && c1 != '\0')
- {
- state = next_state[state];
- c1 = *p1++;
- c2 = *p2++;
- state |= (c1 == '0') + (ISDIGIT (c1) != 0);
- }
-
- state = result_type[state << 2 | ((c2 == '0') + (ISDIGIT (c2) != 0))];
-
- switch (state)
- {
- case CMP:
- return diff;
-
- case LEN:
- while (ISDIGIT (*p1++))
- if (!ISDIGIT (*p2++))
- return 1;
-
- return ISDIGIT (*p2) ? -1 : diff;
-
- default:
- return state;
- }
-}
-#ifdef weak_alias
-weak_alias (__strverscmp, strverscmp)
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/sys_stat.in.h b/sources/host-tools/sed-4.2.1/lib/sys_stat.in.h
deleted file mode 100644
index ff42af7..0000000
--- a/sources/host-tools/sed-4.2.1/lib/sys_stat.in.h
+++ /dev/null
@@ -1,363 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */
-
-/* This file is supposed to be used on platforms where <sys/stat.h> is
- incomplete. It is intended to provide definitions and prototypes
- needed by an application. Start with what the system provides. */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined __need_system_sys_stat_h
-/* Special invocation convention. */
-
-#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
-
-#else
-/* Normal invocation convention. */
-
-#ifndef _GL_SYS_STAT_H
-
-/* Get nlink_t. */
-#include <sys/types.h>
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
-
-#ifndef _GL_SYS_STAT_H
-#define _GL_SYS_STAT_H
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-/* Before doing "#define mkdir rpl_mkdir" below, we need to include all
- headers that may declare mkdir(). */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# include <io.h>
-#endif
-
-#ifndef S_IFMT
-# define S_IFMT 0170000
-#endif
-
-#if STAT_MACROS_BROKEN
-# undef S_ISBLK
-# undef S_ISCHR
-# undef S_ISDIR
-# undef S_ISFIFO
-# undef S_ISLNK
-# undef S_ISNAM
-# undef S_ISMPB
-# undef S_ISMPC
-# undef S_ISNWK
-# undef S_ISREG
-# undef S_ISSOCK
-#endif
-
-#ifndef S_ISBLK
-# ifdef S_IFBLK
-# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-# else
-# define S_ISBLK(m) 0
-# endif
-#endif
-
-#ifndef S_ISCHR
-# ifdef S_IFCHR
-# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-# else
-# define S_ISCHR(m) 0
-# endif
-#endif
-
-#ifndef S_ISDIR
-# ifdef S_IFDIR
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-# else
-# define S_ISDIR(m) 0
-# endif
-#endif
-
-#ifndef S_ISDOOR /* Solaris 2.5 and up */
-# define S_ISDOOR(m) 0
-#endif
-
-#ifndef S_ISFIFO
-# ifdef S_IFIFO
-# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-# else
-# define S_ISFIFO(m) 0
-# endif
-#endif
-
-#ifndef S_ISLNK
-# ifdef S_IFLNK
-# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-# else
-# define S_ISLNK(m) 0
-# endif
-#endif
-
-#ifndef S_ISMPB /* V7 */
-# ifdef S_IFMPB
-# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
-# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
-# else
-# define S_ISMPB(m) 0
-# define S_ISMPC(m) 0
-# endif
-#endif
-
-#ifndef S_ISNAM /* Xenix */
-# ifdef S_IFNAM
-# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
-# else
-# define S_ISNAM(m) 0
-# endif
-#endif
-
-#ifndef S_ISNWK /* HP/UX */
-# ifdef S_IFNWK
-# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
-# else
-# define S_ISNWK(m) 0
-# endif
-#endif
-
-#ifndef S_ISPORT /* Solaris 10 and up */
-# define S_ISPORT(m) 0
-#endif
-
-#ifndef S_ISREG
-# ifdef S_IFREG
-# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-# else
-# define S_ISREG(m) 0
-# endif
-#endif
-
-#ifndef S_ISSOCK
-# ifdef S_IFSOCK
-# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-# else
-# define S_ISSOCK(m) 0
-# endif
-#endif
-
-
-#ifndef S_TYPEISMQ
-# define S_TYPEISMQ(p) 0
-#endif
-
-#ifndef S_TYPEISTMO
-# define S_TYPEISTMO(p) 0
-#endif
-
-
-#ifndef S_TYPEISSEM
-# ifdef S_INSEM
-# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
-# else
-# define S_TYPEISSEM(p) 0
-# endif
-#endif
-
-#ifndef S_TYPEISSHM
-# ifdef S_INSHD
-# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
-# else
-# define S_TYPEISSHM(p) 0
-# endif
-#endif
-
-/* high performance ("contiguous data") */
-#ifndef S_ISCTG
-# define S_ISCTG(p) 0
-#endif
-
-/* Cray DMF (data migration facility): off line, with data */
-#ifndef S_ISOFD
-# define S_ISOFD(p) 0
-#endif
-
-/* Cray DMF (data migration facility): off line, with no data */
-#ifndef S_ISOFL
-# define S_ISOFL(p) 0
-#endif
-
-/* 4.4BSD whiteout */
-#ifndef S_ISWHT
-# define S_ISWHT(m) 0
-#endif
-
-/* If any of the following are undefined,
- define them to their de facto standard values. */
-#if !S_ISUID
-# define S_ISUID 04000
-#endif
-#if !S_ISGID
-# define S_ISGID 02000
-#endif
-
-/* S_ISVTX is a common extension to POSIX. */
-#ifndef S_ISVTX
-# define S_ISVTX 01000
-#endif
-
-#if !S_IRUSR && S_IREAD
-# define S_IRUSR S_IREAD
-#endif
-#if !S_IRUSR
-# define S_IRUSR 00400
-#endif
-#if !S_IRGRP
-# define S_IRGRP (S_IRUSR >> 3)
-#endif
-#if !S_IROTH
-# define S_IROTH (S_IRUSR >> 6)
-#endif
-
-#if !S_IWUSR && S_IWRITE
-# define S_IWUSR S_IWRITE
-#endif
-#if !S_IWUSR
-# define S_IWUSR 00200
-#endif
-#if !S_IWGRP
-# define S_IWGRP (S_IWUSR >> 3)
-#endif
-#if !S_IWOTH
-# define S_IWOTH (S_IWUSR >> 6)
-#endif
-
-#if !S_IXUSR && S_IEXEC
-# define S_IXUSR S_IEXEC
-#endif
-#if !S_IXUSR
-# define S_IXUSR 00100
-#endif
-#if !S_IXGRP
-# define S_IXGRP (S_IXUSR >> 3)
-#endif
-#if !S_IXOTH
-# define S_IXOTH (S_IXUSR >> 6)
-#endif
-
-#if !S_IRWXU
-# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
-#endif
-#if !S_IRWXG
-# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
-#endif
-#if !S_IRWXO
-# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
-#endif
-
-/* S_IXUGO is a common extension to POSIX. */
-#if !S_IXUGO
-# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
-#endif
-
-#ifndef S_IRWXUGO
-# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if @GNULIB_LSTAT@
-# if ! @HAVE_LSTAT@
-/* mingw does not support symlinks, therefore it does not have lstat. But
- without links, stat does just fine. */
-# define lstat stat
-# elif @REPLACE_LSTAT@
-# undef lstat
-# define lstat rpl_lstat
-extern int rpl_lstat (const char *name, struct stat *buf);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lstat
-# define lstat(p,b) \
- (GL_LINK_WARNING ("lstat is unportable - " \
- "use gnulib module lstat for portability"), \
- lstat (p, b))
-#endif
-
-
-#if @REPLACE_MKDIR@
-# undef mkdir
-# define mkdir rpl_mkdir
-extern int mkdir (char const *name, mode_t mode);
-#else
-/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
- Additionally, it declares _mkdir (and depending on compile flags, an
- alias mkdir), only in the nonstandard <io.h>, which is included above. */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-static inline int
-rpl_mkdir (char const *name, mode_t mode)
-{
- return _mkdir (name);
-}
-
-# define mkdir rpl_mkdir
-# endif
-#endif
-
-
-/* Declare BSD extensions. */
-
-#if @GNULIB_LCHMOD@
-/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
- denotes a symbolic link. */
-# if !@HAVE_LCHMOD@
-/* The lchmod replacement follows symbolic links. Callers should take
- this into account; lchmod should be applied only to arguments that
- are known to not be symbolic links. On hosts that lack lchmod,
- this can lead to race conditions between the check and the
- invocation of lchmod, but we know of no workarounds that are
- reliable in general. You might try requesting support for lchmod
- from your operating system supplier. */
-# define lchmod chmod
-# endif
-# if 0 /* assume already declared */
-extern int lchmod (const char *filename, mode_t mode);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lchmod
-# define lchmod(f,m) \
- (GL_LINK_WARNING ("lchmod is unportable - " \
- "use gnulib module lchmod for portability"), \
- lchmod (f, m))
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _GL_SYS_STAT_H */
-#endif /* _GL_SYS_STAT_H */
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/sys_time.in.h b/sources/host-tools/sed-4.2.1/lib/sys_time.in.h
deleted file mode 100644
index 6db7ba8..0000000
--- a/sources/host-tools/sed-4.2.1/lib/sys_time.in.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Provide a more complete sys/time.h.
-
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Paul Eggert. */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined _GL_SYS_TIME_H
-
-/* Simply delegate to the system's header, without adding anything. */
-# if @HAVE_SYS_TIME_H@
-# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
-# endif
-
-#else
-
-# define _GL_SYS_TIME_H
-
-# if @HAVE_SYS_TIME_H@
-# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
-# else
-# include <time.h>
-# endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-# if ! @HAVE_STRUCT_TIMEVAL@
-struct timeval
-{
- time_t tv_sec;
- long int tv_usec;
-};
-# endif
-
-# if @REPLACE_GETTIMEOFDAY@
-# undef gettimeofday
-# define gettimeofday rpl_gettimeofday
-int gettimeofday (struct timeval *restrict, void *restrict);
-# endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_SYS_TIME_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/tempname.c b/sources/host-tools/sed-4.2.1/lib/tempname.c
deleted file mode 100644
index 5a3a326..0000000
--- a/sources/host-tools/sed-4.2.1/lib/tempname.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/* tempname.c - generate the name of a temporary file.
-
- Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation,
- Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */
-
-#if !_LIBC
-# include <config.h>
-# include "tempname.h"
-#endif
-
-#include <sys/types.h>
-#include <assert.h>
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(Val) errno = (Val)
-#endif
-
-#include <stdio.h>
-#ifndef P_tmpdir
-# define P_tmpdir "/tmp"
-#endif
-#ifndef TMP_MAX
-# define TMP_MAX 238328
-#endif
-#ifndef __GT_FILE
-# define __GT_FILE 0
-# define __GT_BIGFILE 1
-# define __GT_DIR 2
-# define __GT_NOCREATE 3
-#endif
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <fcntl.h>
-#include <sys/time.h>
-#include <stdint.h>
-#include <unistd.h>
-
-#include <sys/stat.h>
-
-#if _LIBC
-# define struct_stat64 struct stat64
-# define small_open __open
-# define large_open __open64
-#else
-# define struct_stat64 struct stat
-# define small_open open
-# define large_open open
-# define __gen_tempname gen_tempname
-# define __getpid getpid
-# define __gettimeofday gettimeofday
-# define __mkdir mkdir
-# define __lxstat64(version, file, buf) lstat (file, buf)
-# define __xstat64(version, file, buf) stat (file, buf)
-#endif
-
-#if ! (HAVE___SECURE_GETENV || _LIBC)
-# define __secure_getenv getenv
-#endif
-
-#ifdef _LIBC
-# include <hp-timing.h>
-# if HP_TIMING_AVAIL
-# define RANDOM_BITS(Var) \
- if (__builtin_expect (value == UINT64_C (0), 0)) \
- { \
- /* If this is the first time this function is used initialize \
- the variable we accumulate the value in to some somewhat \
- random value. If we'd not do this programs at startup time \
- might have a reduced set of possible names, at least on slow \
- machines. */ \
- struct timeval tv; \
- __gettimeofday (&tv, NULL); \
- value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; \
- } \
- HP_TIMING_NOW (Var)
-# endif
-#endif
-
-/* Use the widest available unsigned type if uint64_t is not
- available. The algorithm below extracts a number less than 62**6
- (approximately 2**35.725) from uint64_t, so ancient hosts where
- uintmax_t is only 32 bits lose about 3.725 bits of randomness,
- which is better than not having mkstemp at all. */
-#if !defined UINT64_MAX && !defined uint64_t
-# define uint64_t uintmax_t
-#endif
-
-#if _LIBC
-/* Return nonzero if DIR is an existent directory. */
-static int
-direxists (const char *dir)
-{
- struct_stat64 buf;
- return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode);
-}
-
-/* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is
- non-null and exists, uses it; otherwise uses the first of $TMPDIR,
- P_tmpdir, /tmp that exists. Copies into TMPL a template suitable
- for use with mk[s]temp. Will fail (-1) if DIR is non-null and
- doesn't exist, none of the searched dirs exists, or there's not
- enough space in TMPL. */
-int
-__path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
- int try_tmpdir)
-{
- const char *d;
- size_t dlen, plen;
-
- if (!pfx || !pfx[0])
- {
- pfx = "file";
- plen = 4;
- }
- else
- {
- plen = strlen (pfx);
- if (plen > 5)
- plen = 5;
- }
-
- if (try_tmpdir)
- {
- d = __secure_getenv ("TMPDIR");
- if (d != NULL && direxists (d))
- dir = d;
- else if (dir != NULL && direxists (dir))
- /* nothing */ ;
- else
- dir = NULL;
- }
- if (dir == NULL)
- {
- if (direxists (P_tmpdir))
- dir = P_tmpdir;
- else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp"))
- dir = "/tmp";
- else
- {
- __set_errno (ENOENT);
- return -1;
- }
- }
-
- dlen = strlen (dir);
- while (dlen > 1 && dir[dlen - 1] == '/')
- dlen--; /* remove trailing slashes */
-
- /* check we have room for "${dir}/${pfx}XXXXXX\0" */
- if (tmpl_len < dlen + 1 + plen + 6 + 1)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx);
- return 0;
-}
-#endif /* _LIBC */
-
-/* These are the characters used in temporary file names. */
-static const char letters[] =
-"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-
-/* Generate a temporary file name based on TMPL. TMPL must match the
- rules for mk[s]temp (i.e. end in "XXXXXX"). The name constructed
- does not exist at the time of the call to __gen_tempname. TMPL is
- overwritten with the result.
-
- KIND may be one of:
- __GT_NOCREATE: simply verify that the name does not exist
- at the time of the call.
- __GT_FILE: create the file using open(O_CREAT|O_EXCL)
- and return a read-write fd. The file is mode 0600.
- __GT_BIGFILE: same as __GT_FILE but use open64().
- __GT_DIR: create a directory, which will be mode 0700.
-
- We use a clever algorithm to get hard-to-predict names. */
-int
-__gen_tempname (char *tmpl, int kind)
-{
- int len;
- char *XXXXXX;
- static uint64_t value;
- uint64_t random_time_bits;
- unsigned int count;
- int fd = -1;
- int save_errno = errno;
- struct_stat64 st;
-
- /* A lower bound on the number of temporary files to attempt to
- generate. The maximum total number of temporary file names that
- can exist for a given template is 62**6. It should never be
- necessary to try all these combinations. Instead if a reasonable
- number of names is tried (we define reasonable as 62**3) fail to
- give the system administrator the chance to remove the problems. */
-#define ATTEMPTS_MIN (62 * 62 * 62)
-
- /* The number of times to attempt to generate a temporary file. To
- conform to POSIX, this must be no smaller than TMP_MAX. */
-#if ATTEMPTS_MIN < TMP_MAX
- unsigned int attempts = TMP_MAX;
-#else
- unsigned int attempts = ATTEMPTS_MIN;
-#endif
-
- len = strlen (tmpl);
- if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- /* This is where the Xs start. */
- XXXXXX = &tmpl[len - 6];
-
- /* Get some more or less random data. */
-#ifdef RANDOM_BITS
- RANDOM_BITS (random_time_bits);
-#else
- {
- struct timeval tv;
- __gettimeofday (&tv, NULL);
- random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec;
- }
-#endif
- value += random_time_bits ^ __getpid ();
-
- for (count = 0; count < attempts; value += 7777, ++count)
- {
- uint64_t v = value;
-
- /* Fill in the random bits. */
- XXXXXX[0] = letters[v % 62];
- v /= 62;
- XXXXXX[1] = letters[v % 62];
- v /= 62;
- XXXXXX[2] = letters[v % 62];
- v /= 62;
- XXXXXX[3] = letters[v % 62];
- v /= 62;
- XXXXXX[4] = letters[v % 62];
- v /= 62;
- XXXXXX[5] = letters[v % 62];
-
- switch (kind)
- {
- case __GT_FILE:
- fd = small_open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
- break;
-
- case __GT_BIGFILE:
- fd = large_open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
- break;
-
- case __GT_DIR:
- fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
- break;
-
- case __GT_NOCREATE:
- /* This case is backward from the other three. __gen_tempname
- succeeds if __xstat fails because the name does not exist.
- Note the continue to bypass the common logic at the bottom
- of the loop. */
- if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
- {
- if (errno == ENOENT)
- {
- __set_errno (save_errno);
- return 0;
- }
- else
- /* Give up now. */
- return -1;
- }
- continue;
-
- default:
- assert (! "invalid KIND in __gen_tempname");
- }
-
- if (fd >= 0)
- {
- __set_errno (save_errno);
- return fd;
- }
- else if (errno != EEXIST)
- return -1;
- }
-
- /* We got out of the loop because we ran out of combinations to try. */
- __set_errno (EEXIST);
- return -1;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/tempname.h b/sources/host-tools/sed-4.2.1/lib/tempname.h
deleted file mode 100644
index 74da03b..0000000
--- a/sources/host-tools/sed-4.2.1/lib/tempname.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Create a temporary file or directory.
-
- Copyright (C) 2006 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* header written by Eric Blake */
-
-/* In gnulib, always prefer large files. GT_FILE maps to
- __GT_BIGFILE, not __GT_FILE, for a reason. */
-#define GT_FILE 1
-#define GT_DIR 2
-#define GT_NOCREATE 3
-
-/* Generate a temporary file name based on TMPL. TMPL must match the
- rules for mk[s]temp (i.e. end in "XXXXXX"). The name constructed
- does not exist at the time of the call to gen_tempname. TMPL is
- overwritten with the result.
-
- KIND may be one of:
- GT_NOCREATE: simply verify that the name does not exist
- at the time of the call.
- GT_FILE: create a large file using open(O_CREAT|O_EXCL)
- and return a read-write fd. The file is mode 0600.
- GT_DIR: create a directory, which will be mode 0700.
-
- We use a clever algorithm to get hard-to-predict names. */
-extern int gen_tempname (char *tmpl, int kind);
diff --git a/sources/host-tools/sed-4.2.1/lib/unistd.in.h b/sources/host-tools/sed-4.2.1/lib/unistd.in.h
deleted file mode 100644
index d5900a8..0000000
--- a/sources/host-tools/sed-4.2.1/lib/unistd.in.h
+++ /dev/null
@@ -1,580 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _GL_UNISTD_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_UNISTD_H@
-# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
-#endif
-
-#ifndef _GL_UNISTD_H
-#define _GL_UNISTD_H
-
-/* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */
-#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET)
-# include <stdio.h>
-#endif
-
-/* mingw fails to declare _exit in <unistd.h>. */
-/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
-#include <stdlib.h>
-
-#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
-/* Get ssize_t. */
-# include <sys/types.h>
-#endif
-
-#if @GNULIB_GETHOSTNAME@
-/* Get all possible declarations of gethostname(). */
-# if @UNISTD_H_HAVE_WINSOCK2_H@
-# include <winsock2.h>
-# if !defined _GL_SYS_SOCKET_H
-# undef socket
-# define socket socket_used_without_including_sys_socket_h
-# undef connect
-# define connect connect_used_without_including_sys_socket_h
-# undef accept
-# define accept accept_used_without_including_sys_socket_h
-# undef bind
-# define bind bind_used_without_including_sys_socket_h
-# undef getpeername
-# define getpeername getpeername_used_without_including_sys_socket_h
-# undef getsockname
-# define getsockname getsockname_used_without_including_sys_socket_h
-# undef getsockopt
-# define getsockopt getsockopt_used_without_including_sys_socket_h
-# undef listen
-# define listen listen_used_without_including_sys_socket_h
-# undef recv
-# define recv recv_used_without_including_sys_socket_h
-# undef send
-# define send send_used_without_including_sys_socket_h
-# undef recvfrom
-# define recvfrom recvfrom_used_without_including_sys_socket_h
-# undef sendto
-# define sendto sendto_used_without_including_sys_socket_h
-# undef setsockopt
-# define setsockopt setsockopt_used_without_including_sys_socket_h
-# undef shutdown
-# define shutdown shutdown_used_without_including_sys_socket_h
-# endif
-# if !defined _GL_SYS_SELECT_H
-# undef select
-# define select select_used_without_including_sys_select_h
-# endif
-# endif
-#endif
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-
-/* OS/2 EMX lacks these macros. */
-#ifndef STDIN_FILENO
-# define STDIN_FILENO 0
-#endif
-#ifndef STDOUT_FILENO
-# define STDOUT_FILENO 1
-#endif
-#ifndef STDERR_FILENO
-# define STDERR_FILENO 2
-#endif
-
-/* Declare overridden functions. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if @GNULIB_CHOWN@
-# if @REPLACE_CHOWN@
-# ifndef REPLACE_CHOWN
-# define REPLACE_CHOWN 1
-# endif
-# if REPLACE_CHOWN
-/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
- to GID (if GID is not -1). Follow symbolic links.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/chown.html>. */
-# define chown rpl_chown
-extern int chown (const char *file, uid_t uid, gid_t gid);
-# endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef chown
-# define chown(f,u,g) \
- (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \
- "doesn't treat a uid or gid of -1 on some systems - " \
- "use gnulib module chown for portability"), \
- chown (f, u, g))
-#endif
-
-
-#if @GNULIB_CLOSE@
-# if @REPLACE_CLOSE@
-/* Automatically included by modules that need a replacement for close. */
-# undef close
-# define close rpl_close
-extern int close (int);
-# endif
-#elif @UNISTD_H_HAVE_WINSOCK2_H@
-# undef close
-# define close close_used_without_requesting_gnulib_module_close
-#elif defined GNULIB_POSIXCHECK
-# undef close
-# define close(f) \
- (GL_LINK_WARNING ("close does not portably work on sockets - " \
- "use gnulib module close for portability"), \
- close (f))
-#endif
-
-
-#if @GNULIB_DUP2@
-# if !@HAVE_DUP2@
-/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if
- NEWFD = OLDFD, otherwise close NEWFD first if it is open.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/dup2.html>. */
-extern int dup2 (int oldfd, int newfd);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef dup2
-# define dup2(o,n) \
- (GL_LINK_WARNING ("dup2 is unportable - " \
- "use gnulib module dup2 for portability"), \
- dup2 (o, n))
-#endif
-
-
-#if @GNULIB_ENVIRON@
-# if !@HAVE_DECL_ENVIRON@
-/* Set of environment variables and values. An array of strings of the form
- "VARIABLE=VALUE", terminated with a NULL. */
-# if defined __APPLE__ && defined __MACH__
-# include <crt_externs.h>
-# define environ (*_NSGetEnviron ())
-# else
-extern char **environ;
-# endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef environ
-# define environ \
- (GL_LINK_WARNING ("environ is unportable - " \
- "use gnulib module environ for portability"), \
- environ)
-#endif
-
-
-#if @GNULIB_EUIDACCESS@
-# if !@HAVE_EUIDACCESS@
-/* Like access(), except that is uses the effective user id and group id of
- the current process. */
-extern int euidaccess (const char *filename, int mode);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef euidaccess
-# define euidaccess(f,m) \
- (GL_LINK_WARNING ("euidaccess is unportable - " \
- "use gnulib module euidaccess for portability"), \
- euidaccess (f, m))
-#endif
-
-
-#if @GNULIB_FCHDIR@
-# if @REPLACE_FCHDIR@
-
-/* Change the process' current working directory to the directory on which
- the given file descriptor is open.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/fchdir.html>. */
-extern int fchdir (int /*fd*/);
-
-# define dup rpl_dup
-extern int dup (int);
-# define dup2 rpl_dup2
-extern int dup2 (int, int);
-
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fchdir
-# define fchdir(f) \
- (GL_LINK_WARNING ("fchdir is unportable - " \
- "use gnulib module fchdir for portability"), \
- fchdir (f))
-#endif
-
-
-#if @GNULIB_FSYNC@
-/* Synchronize changes to a file.
- Return 0 if successful, otherwise -1 and errno set.
- See POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/fsync.html>. */
-# if !@HAVE_FSYNC@
-extern int fsync (int fd);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef fsync
-# define fsync(fd) \
- (GL_LINK_WARNING ("fsync is unportable - " \
- "use gnulib module fsync for portability"), \
- fsync (fd))
-#endif
-
-
-#if @GNULIB_FTRUNCATE@
-# if !@HAVE_FTRUNCATE@
-/* Change the size of the file to which FD is opened to become equal to LENGTH.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/ftruncate.html>. */
-extern int ftruncate (int fd, off_t length);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef ftruncate
-# define ftruncate(f,l) \
- (GL_LINK_WARNING ("ftruncate is unportable - " \
- "use gnulib module ftruncate for portability"), \
- ftruncate (f, l))
-#endif
-
-
-#if @GNULIB_GETCWD@
-/* Include the headers that might declare getcwd so that they will not
- cause confusion if included after this file. */
-# include <stdlib.h>
-# if @REPLACE_GETCWD@
-/* Get the name of the current working directory, and put it in SIZE bytes
- of BUF.
- Return BUF if successful, or NULL if the directory couldn't be determined
- or SIZE was too small.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/getcwd.html>.
- Additionally, the gnulib module 'getcwd' guarantees the following GNU
- extension: If BUF is NULL, an array is allocated with 'malloc'; the array
- is SIZE bytes long, unless SIZE == 0, in which case it is as big as
- necessary. */
-# define getcwd rpl_getcwd
-extern char * getcwd (char *buf, size_t size);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getcwd
-# define getcwd(b,s) \
- (GL_LINK_WARNING ("getcwd is unportable - " \
- "use gnulib module getcwd for portability"), \
- getcwd (b, s))
-#endif
-
-
-#if @GNULIB_GETDOMAINNAME@
-/* Return the NIS domain name of the machine.
- WARNING! The NIS domain name is unrelated to the fully qualified host name
- of the machine. It is also unrelated to email addresses.
- WARNING! The NIS domain name is usually the empty string or "(none)" when
- not using NIS.
-
- Put up to LEN bytes of the NIS domain name into NAME.
- Null terminate it if the name is shorter than LEN.
- If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
- Return 0 if successful, otherwise set errno and return -1. */
-# if !@HAVE_GETDOMAINNAME@
-extern int getdomainname(char *name, size_t len);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getdomainname
-# define getdomainname(n,l) \
- (GL_LINK_WARNING ("getdomainname is unportable - " \
- "use gnulib module getdomainname for portability"), \
- getdomainname (n, l))
-#endif
-
-
-#if @GNULIB_GETDTABLESIZE@
-# if !@HAVE_GETDTABLESIZE@
-/* Return the maximum number of file descriptors in the current process. */
-extern int getdtablesize (void);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getdtablesize
-# define getdtablesize() \
- (GL_LINK_WARNING ("getdtablesize is unportable - " \
- "use gnulib module getdtablesize for portability"), \
- getdtablesize ())
-#endif
-
-
-#if @GNULIB_GETHOSTNAME@
-/* Return the standard host name of the machine.
- WARNING! The host name may or may not be fully qualified.
-
- Put up to LEN bytes of the host name into NAME.
- Null terminate it if the name is shorter than LEN.
- If the host name is longer than LEN, set errno = EINVAL and return -1.
- Return 0 if successful, otherwise set errno and return -1. */
-# if @UNISTD_H_HAVE_WINSOCK2_H@
-# undef gethostname
-# define gethostname rpl_gethostname
-# endif
-# if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@
-extern int gethostname(char *name, size_t len);
-# endif
-#elif @UNISTD_H_HAVE_WINSOCK2_H@
-# undef gethostname
-# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
-#elif defined GNULIB_POSIXCHECK
-# undef gethostname
-# define gethostname(n,l) \
- (GL_LINK_WARNING ("gethostname is unportable - " \
- "use gnulib module gethostname for portability"), \
- gethostname (n, l))
-#endif
-
-
-#if @GNULIB_GETLOGIN_R@
-/* Copies the user's login name to NAME.
- The array pointed to by NAME has room for SIZE bytes.
-
- Returns 0 if successful. Upon error, an error number is returned, or -1 in
- the case that the login name cannot be found but no specific error is
- provided (this case is hopefully rare but is left open by the POSIX spec).
-
- See <http://www.opengroup.org/susv3xsh/getlogin.html>.
- */
-# if !@HAVE_DECL_GETLOGIN_R@
-# include <stddef.h>
-extern int getlogin_r (char *name, size_t size);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getlogin_r
-# define getlogin_r(n,s) \
- (GL_LINK_WARNING ("getlogin_r is unportable - " \
- "use gnulib module getlogin_r for portability"), \
- getlogin_r (n, s))
-#endif
-
-
-#if @GNULIB_GETPAGESIZE@
-# if @REPLACE_GETPAGESIZE@
-# define getpagesize rpl_getpagesize
-extern int getpagesize (void);
-# elif !@HAVE_GETPAGESIZE@
-/* This is for POSIX systems. */
-# if !defined getpagesize && defined _SC_PAGESIZE
-# if ! (defined __VMS && __VMS_VER < 70000000)
-# define getpagesize() sysconf (_SC_PAGESIZE)
-# endif
-# endif
-/* This is for older VMS. */
-# if !defined getpagesize && defined __VMS
-# ifdef __ALPHA
-# define getpagesize() 8192
-# else
-# define getpagesize() 512
-# endif
-# endif
-/* This is for BeOS. */
-# if !defined getpagesize && @HAVE_OS_H@
-# include <OS.h>
-# if defined B_PAGE_SIZE
-# define getpagesize() B_PAGE_SIZE
-# endif
-# endif
-/* This is for AmigaOS4.0. */
-# if !defined getpagesize && defined __amigaos4__
-# define getpagesize() 2048
-# endif
-/* This is for older Unix systems. */
-# if !defined getpagesize && @HAVE_SYS_PARAM_H@
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else
-# ifdef NBPG
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif
-# define getpagesize() (NBPG * CLSIZE)
-# else
-# ifdef NBPC
-# define getpagesize() NBPC
-# endif
-# endif
-# endif
-# endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getpagesize
-# define getpagesize() \
- (GL_LINK_WARNING ("getpagesize is unportable - " \
- "use gnulib module getpagesize for portability"), \
- getpagesize ())
-#endif
-
-
-#if @GNULIB_GETUSERSHELL@
-# if !@HAVE_GETUSERSHELL@
-/* Return the next valid login shell on the system, or NULL when the end of
- the list has been reached. */
-extern char *getusershell (void);
-/* Rewind to pointer that is advanced at each getusershell() call. */
-extern void setusershell (void);
-/* Free the pointer that is advanced at each getusershell() call and
- associated resources. */
-extern void endusershell (void);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef getusershell
-# define getusershell() \
- (GL_LINK_WARNING ("getusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- getusershell ())
-# undef setusershell
-# define setusershell() \
- (GL_LINK_WARNING ("setusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- setusershell ())
-# undef endusershell
-# define endusershell() \
- (GL_LINK_WARNING ("endusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- endusershell ())
-#endif
-
-
-#if @GNULIB_LCHOWN@
-# if @REPLACE_LCHOWN@
-/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
- to GID (if GID is not -1). Do not follow symbolic links.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/lchown.html>. */
-# define lchown rpl_lchown
-extern int lchown (char const *file, uid_t owner, gid_t group);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lchown
-# define lchown(f,u,g) \
- (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \
- "systems - use gnulib module lchown for portability"), \
- lchown (f, u, g))
-#endif
-
-
-#if @GNULIB_LINK@
-/* Create a new hard link for an existing file.
- Return 0 if successful, otherwise -1 and errno set.
- See POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/link.html>. */
-# if !@HAVE_LINK@
-extern int link (const char *path1, const char *path2);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef link
-# define link(path1,path2) \
- (GL_LINK_WARNING ("link is unportable - " \
- "use gnulib module link for portability"), \
- link (path1, path2))
-#endif
-
-
-#if @GNULIB_LSEEK@
-# if @REPLACE_LSEEK@
-/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
- Return the new offset if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/lseek.html>. */
-# define lseek rpl_lseek
- extern off_t lseek (int fd, off_t offset, int whence);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lseek
-# define lseek(f,o,w) \
- (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \
- "systems - use gnulib module lseek for portability"), \
- lseek (f, o, w))
-#endif
-
-
-#if @GNULIB_READLINK@
-/* Read the contents of the symbolic link FILE and place the first BUFSIZE
- bytes of it into BUF. Return the number of bytes placed into BUF if
- successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/readlink.html>. */
-# if !@HAVE_READLINK@
-# include <stddef.h>
-extern int readlink (const char *file, char *buf, size_t bufsize);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef readlink
-# define readlink(f,b,s) \
- (GL_LINK_WARNING ("readlink is unportable - " \
- "use gnulib module readlink for portability"), \
- readlink (f, b, s))
-#endif
-
-
-#if @GNULIB_SLEEP@
-/* Pause the execution of the current thread for N seconds.
- Returns the number of seconds left to sleep.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/sleep.html>. */
-# if !@HAVE_SLEEP@
-extern unsigned int sleep (unsigned int n);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef sleep
-# define sleep(n) \
- (GL_LINK_WARNING ("sleep is unportable - " \
- "use gnulib module sleep for portability"), \
- sleep (n))
-#endif
-
-
-#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
-/* Write up to COUNT bytes starting at BUF to file descriptor FD.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/write.html>. */
-# undef write
-# define write rpl_write
-extern ssize_t write (int fd, const void *buf, size_t count);
-#endif
-
-
-#ifdef FCHDIR_REPLACEMENT
-/* gnulib internal function. */
-extern void _gl_unregister_fd (int fd);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _GL_UNISTD_H */
-#endif /* _GL_UNISTD_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/unlocked-io.h b/sources/host-tools/sed-4.2.1/lib/unlocked-io.h
deleted file mode 100644
index 6b2939e..0000000
--- a/sources/host-tools/sed-4.2.1/lib/unlocked-io.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Prefer faster, non-thread-safe stdio functions if available.
-
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Jim Meyering. */
-
-#ifndef UNLOCKED_IO_H
-# define UNLOCKED_IO_H 1
-
-/* These are wrappers for functions/macros from the GNU C library, and
- from other C libraries supporting POSIX's optional thread-safe functions.
-
- The standard I/O functions are thread-safe. These *_unlocked ones are
- more efficient but not thread-safe. That they're not thread-safe is
- fine since all of the applications in this package are single threaded.
-
- Also, some code that is shared with the GNU C library may invoke
- the *_unlocked functions directly. On hosts that lack those
- functions, invoke the non-thread-safe versions instead. */
-
-# include <stdio.h>
-
-# if HAVE_DECL_CLEARERR_UNLOCKED
-# undef clearerr
-# define clearerr(x) clearerr_unlocked (x)
-# else
-# define clearerr_unlocked(x) clearerr (x)
-# endif
-
-# if HAVE_DECL_FEOF_UNLOCKED
-# undef feof
-# define feof(x) feof_unlocked (x)
-# else
-# define feof_unlocked(x) feof (x)
-# endif
-
-# if HAVE_DECL_FERROR_UNLOCKED
-# undef ferror
-# define ferror(x) ferror_unlocked (x)
-# else
-# define ferror_unlocked(x) ferror (x)
-# endif
-
-# if HAVE_DECL_FFLUSH_UNLOCKED
-# undef fflush
-# define fflush(x) fflush_unlocked (x)
-# else
-# define fflush_unlocked(x) fflush (x)
-# endif
-
-# if HAVE_DECL_FGETS_UNLOCKED
-# undef fgets
-# define fgets(x,y,z) fgets_unlocked (x,y,z)
-# else
-# define fgets_unlocked(x,y,z) fgets (x,y,z)
-# endif
-
-# if HAVE_DECL_FPUTC_UNLOCKED
-# undef fputc
-# define fputc(x,y) fputc_unlocked (x,y)
-# else
-# define fputc_unlocked(x,y) fputc (x,y)
-# endif
-
-# if HAVE_DECL_FPUTS_UNLOCKED
-# undef fputs
-# define fputs(x,y) fputs_unlocked (x,y)
-# else
-# define fputs_unlocked(x,y) fputs (x,y)
-# endif
-
-# if HAVE_DECL_FREAD_UNLOCKED
-# undef fread
-# define fread(w,x,y,z) fread_unlocked (w,x,y,z)
-# else
-# define fread_unlocked(w,x,y,z) fread (w,x,y,z)
-# endif
-
-# if HAVE_DECL_FWRITE_UNLOCKED
-# undef fwrite
-# define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z)
-# else
-# define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z)
-# endif
-
-# if HAVE_DECL_GETC_UNLOCKED
-# undef getc
-# define getc(x) getc_unlocked (x)
-# else
-# define getc_unlocked(x) getc (x)
-# endif
-
-# if HAVE_DECL_GETCHAR_UNLOCKED
-# undef getchar
-# define getchar() getchar_unlocked ()
-# else
-# define getchar_unlocked() getchar ()
-# endif
-
-# if HAVE_DECL_PUTC_UNLOCKED
-# undef putc
-# define putc(x,y) putc_unlocked (x,y)
-# else
-# define putc_unlocked(x,y) putc (x,y)
-# endif
-
-# if HAVE_DECL_PUTCHAR_UNLOCKED
-# undef putchar
-# define putchar(x) putchar_unlocked (x)
-# else
-# define putchar_unlocked(x) putchar (x)
-# endif
-
-# undef flockfile
-# define flockfile(x) ((void) 0)
-
-# undef ftrylockfile
-# define ftrylockfile(x) 0
-
-# undef funlockfile
-# define funlockfile(x) ((void) 0)
-
-#endif /* UNLOCKED_IO_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/verify.h b/sources/host-tools/sed-4.2.1/lib/verify.h
deleted file mode 100644
index fac53f6..0000000
--- a/sources/host-tools/sed-4.2.1/lib/verify.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Compile-time assert-like macros.
-
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
-
-#ifndef VERIFY_H
-# define VERIFY_H 1
-
-/* Each of these macros verifies that its argument R is nonzero. To
- be portable, R should be an integer constant expression. Unlike
- assert (R), there is no run-time overhead.
-
- There are two macros, since no single macro can be used in all
- contexts in C. verify_true (R) is for scalar contexts, including
- integer constant expression contexts. verify (R) is for declaration
- contexts, e.g., the top level.
-
- Symbols ending in "__" are private to this header.
-
- The code below uses several ideas.
-
- * The first step is ((R) ? 1 : -1). Given an expression R, of
- integral or boolean or floating-point type, this yields an
- expression of integral type, whose value is later verified to be
- constant and nonnegative.
-
- * Next this expression W is wrapped in a type
- struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }.
- If W is negative, this yields a compile-time error. No compiler can
- deal with a bit-field of negative size.
-
- One might think that an array size check would have the same
- effect, that is, that the type struct { unsigned int dummy[W]; }
- would work as well. However, inside a function, some compilers
- (such as C++ compilers and GNU C) allow local parameters and
- variables inside array size expressions. With these compilers,
- an array size check would not properly diagnose this misuse of
- the verify macro:
-
- void function (int n) { verify (n < 0); }
-
- * For the verify macro, the struct verify_type__ will need to
- somehow be embedded into a declaration. To be portable, this
- declaration must declare an object, a constant, a function, or a
- typedef name. If the declared entity uses the type directly,
- such as in
-
- struct dummy {...};
- typedef struct {...} dummy;
- extern struct {...} *dummy;
- extern void dummy (struct {...} *);
- extern struct {...} *dummy (void);
-
- two uses of the verify macro would yield colliding declarations
- if the entity names are not disambiguated. A workaround is to
- attach the current line number to the entity name:
-
- #define GL_CONCAT0(x, y) x##y
- #define GL_CONCAT(x, y) GL_CONCAT0 (x, y)
- extern struct {...} * GL_CONCAT(dummy,__LINE__);
-
- But this has the problem that two invocations of verify from
- within the same macro would collide, since the __LINE__ value
- would be the same for both invocations.
-
- A solution is to use the sizeof operator. It yields a number,
- getting rid of the identity of the type. Declarations like
-
- extern int dummy [sizeof (struct {...})];
- extern void dummy (int [sizeof (struct {...})]);
- extern int (*dummy (void)) [sizeof (struct {...})];
-
- can be repeated.
-
- * Should the implementation use a named struct or an unnamed struct?
- Which of the following alternatives can be used?
-
- extern int dummy [sizeof (struct {...})];
- extern int dummy [sizeof (struct verify_type__ {...})];
- extern void dummy (int [sizeof (struct {...})]);
- extern void dummy (int [sizeof (struct verify_type__ {...})]);
- extern int (*dummy (void)) [sizeof (struct {...})];
- extern int (*dummy (void)) [sizeof (struct verify_type__ {...})];
-
- In the second and sixth case, the struct type is exported to the
- outer scope; two such declarations therefore collide. GCC warns
- about the first, third, and fourth cases. So the only remaining
- possibility is the fifth case:
-
- extern int (*dummy (void)) [sizeof (struct {...})];
-
- * This implementation exploits the fact that GCC does not warn about
- the last declaration mentioned above. If a future version of GCC
- introduces a warning for this, the problem could be worked around
- by using code specialized to GCC, e.g.,:
-
- #if 4 <= __GNUC__
- # define verify(R) \
- extern int (* verify_function__ (void)) \
- [__builtin_constant_p (R) && (R) ? 1 : -1]
- #endif
-
- * In C++, any struct definition inside sizeof is invalid.
- Use a template type to work around the problem. */
-
-
-/* Verify requirement R at compile-time, as an integer constant expression.
- Return 1. */
-
-# ifdef __cplusplus
-template <int w>
- struct verify_type__ { unsigned int verify_error_if_negative_size__: w; };
-# define verify_true(R) \
- (!!sizeof (verify_type__<(R) ? 1 : -1>))
-# else
-# define verify_true(R) \
- (!!sizeof \
- (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; }))
-# endif
-
-/* Verify requirement R at compile-time, as a declaration without a
- trailing ';'. */
-
-# define verify(R) extern int (* verify_function__ (void)) [verify_true (R)]
-
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/wchar.in.h b/sources/host-tools/sed-4.2.1/lib/wchar.in.h
deleted file mode 100644
index 10a27fd..0000000
--- a/sources/host-tools/sed-4.2.1/lib/wchar.in.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
-
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Eric Blake. */
-
-/*
- * ISO C 99 <wchar.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/wchar.h.html>
- *
- * For now, this just ensures proper prerequisite inclusion order and
- * the declaration of wcwidth().
- */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
-/* Special invocation convention:
- - Inside uClibc header files.
- - On HP-UX 11.00 we have a sequence of nested includes
- <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
- once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
- and once directly. In both situations 'wint_t' is not yet defined,
- therefore we cannot provide the function overrides; instead include only
- the system's <wchar.h>.
- - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
- the latter includes <wchar.h>. But here, we have no way to detect whether
- <wctype.h> is completely included or is still being included. */
-
-#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
-
-#else
-/* Normal invocation convention. */
-
-#ifndef _GL_WCHAR_H
-
-#define _GL_ALREADY_INCLUDING_WCHAR_H
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-
-/* Include the original <wchar.h> if it exists.
- Some builds of uClibc lack it. */
-/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_WCHAR_H@
-# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-#endif
-
-#undef _GL_ALREADY_INCLUDING_WCHAR_H
-
-#ifndef _GL_WCHAR_H
-#define _GL_WCHAR_H
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Define wint_t. (Also done in wctype.in.h.) */
-#if !@HAVE_WINT_T@ && !defined wint_t
-# define wint_t int
-# ifndef WEOF
-# define WEOF -1
-# endif
-#endif
-
-
-/* Override mbstate_t if it is too small.
- On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
- implementing mbrtowc for encodings like UTF-8. */
-#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
-typedef int rpl_mbstate_t;
-# undef mbstate_t
-# define mbstate_t rpl_mbstate_t
-# define GNULIB_defined_mbstate_t 1
-#endif
-
-
-/* Convert a single-byte character to a wide character. */
-#if @GNULIB_BTOWC@
-# if @REPLACE_BTOWC@
-# undef btowc
-# define btowc rpl_btowc
-# endif
-# if !@HAVE_BTOWC@ || @REPLACE_BTOWC@
-extern wint_t btowc (int c);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef btowc
-# define btowc(c) \
- (GL_LINK_WARNING ("btowc is unportable - " \
- "use gnulib module btowc for portability"), \
- btowc (c))
-#endif
-
-
-/* Convert a wide character to a single-byte character. */
-#if @GNULIB_WCTOB@
-# if @REPLACE_WCTOB@
-# undef wctob
-# define wctob rpl_wctob
-# endif
-# if (!defined wctob && !@HAVE_DECL_WCTOB@) || @REPLACE_WCTOB@
-/* wctob is provided by gnulib, or wctob exists but is not declared. */
-extern int wctob (wint_t wc);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wctob
-# define wctob(w) \
- (GL_LINK_WARNING ("wctob is unportable - " \
- "use gnulib module wctob for portability"), \
- wctob (w))
-#endif
-
-
-/* Test whether *PS is in the initial state. */
-#if @GNULIB_MBSINIT@
-# if @REPLACE_MBSINIT@
-# undef mbsinit
-# define mbsinit rpl_mbsinit
-# endif
-# if !@HAVE_MBSINIT@ || @REPLACE_MBSINIT@
-extern int mbsinit (const mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsinit
-# define mbsinit(p) \
- (GL_LINK_WARNING ("mbsinit is unportable - " \
- "use gnulib module mbsinit for portability"), \
- mbsinit (p))
-#endif
-
-
-/* Convert a multibyte character to a wide character. */
-#if @GNULIB_MBRTOWC@
-# if @REPLACE_MBRTOWC@
-# undef mbrtowc
-# define mbrtowc rpl_mbrtowc
-# endif
-# if !@HAVE_MBRTOWC@ || @REPLACE_MBRTOWC@
-extern size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbrtowc
-# define mbrtowc(w,s,n,p) \
- (GL_LINK_WARNING ("mbrtowc is unportable - " \
- "use gnulib module mbrtowc for portability"), \
- mbrtowc (w, s, n, p))
-#endif
-
-
-/* Recognize a multibyte character. */
-#if @GNULIB_MBRLEN@
-# if @REPLACE_MBRLEN@
-# undef mbrlen
-# define mbrlen rpl_mbrlen
-# endif
-# if !@HAVE_MBRLEN@ || @REPLACE_MBRLEN@
-extern size_t mbrlen (const char *s, size_t n, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbrlen
-# define mbrlen(s,n,p) \
- (GL_LINK_WARNING ("mbrlen is unportable - " \
- "use gnulib module mbrlen for portability"), \
- mbrlen (s, n, p))
-#endif
-
-
-/* Convert a string to a wide string. */
-#if @GNULIB_MBSRTOWCS@
-# if @REPLACE_MBSRTOWCS@
-# undef mbsrtowcs
-# define mbsrtowcs rpl_mbsrtowcs
-# endif
-# if !@HAVE_MBSRTOWCS@ || @REPLACE_MBSRTOWCS@
-extern size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsrtowcs
-# define mbsrtowcs(d,s,l,p) \
- (GL_LINK_WARNING ("mbsrtowcs is unportable - " \
- "use gnulib module mbsrtowcs for portability"), \
- mbsrtowcs (d, s, l, p))
-#endif
-
-
-/* Convert a string to a wide string. */
-#if @GNULIB_MBSNRTOWCS@
-# if @REPLACE_MBSNRTOWCS@
-# undef mbsnrtowcs
-# define mbsnrtowcs rpl_mbsnrtowcs
-# endif
-# if !@HAVE_MBSNRTOWCS@ || @REPLACE_MBSNRTOWCS@
-extern size_t mbsnrtowcs (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsnrtowcs
-# define mbsnrtowcs(d,s,n,l,p) \
- (GL_LINK_WARNING ("mbsnrtowcs is unportable - " \
- "use gnulib module mbsnrtowcs for portability"), \
- mbsnrtowcs (d, s, n, l, p))
-#endif
-
-
-/* Convert a wide character to a multibyte character. */
-#if @GNULIB_WCRTOMB@
-# if @REPLACE_WCRTOMB@
-# undef wcrtomb
-# define wcrtomb rpl_wcrtomb
-# endif
-# if !@HAVE_WCRTOMB@ || @REPLACE_WCRTOMB@
-extern size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcrtomb
-# define wcrtomb(s,w,p) \
- (GL_LINK_WARNING ("wcrtomb is unportable - " \
- "use gnulib module wcrtomb for portability"), \
- wcrtomb (s, w, p))
-#endif
-
-
-/* Convert a wide string to a string. */
-#if @GNULIB_WCSRTOMBS@
-# if @REPLACE_WCSRTOMBS@
-# undef wcsrtombs
-# define wcsrtombs rpl_wcsrtombs
-# endif
-# if !@HAVE_WCSRTOMBS@ || @REPLACE_WCSRTOMBS@
-extern size_t wcsrtombs (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrtombs
-# define wcsrtombs(d,s,l,p) \
- (GL_LINK_WARNING ("wcsrtombs is unportable - " \
- "use gnulib module wcsrtombs for portability"), \
- wcsrtombs (d, s, l, p))
-#endif
-
-
-/* Convert a wide string to a string. */
-#if @GNULIB_WCSNRTOMBS@
-# if @REPLACE_WCSNRTOMBS@
-# undef wcsnrtombs
-# define wcsnrtombs rpl_wcsnrtombs
-# endif
-# if !@HAVE_WCSNRTOMBS@ || @REPLACE_WCSNRTOMBS@
-extern size_t wcsnrtombs (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnrtombs
-# define wcsnrtombs(d,s,n,l,p) \
- (GL_LINK_WARNING ("wcsnrtombs is unportable - " \
- "use gnulib module wcsnrtombs for portability"), \
- wcsnrtombs (d, s, n, l, p))
-#endif
-
-
-/* Return the number of screen columns needed for WC. */
-#if @GNULIB_WCWIDTH@
-# if @REPLACE_WCWIDTH@
-# undef wcwidth
-# define wcwidth rpl_wcwidth
-extern int wcwidth (wchar_t);
-# else
-# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@
-/* wcwidth exists but is not declared. */
-extern int wcwidth (int /* actually wchar_t */);
-# endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcwidth
-# define wcwidth(w) \
- (GL_LINK_WARNING ("wcwidth is unportable - " \
- "use gnulib module wcwidth for portability"), \
- wcwidth (w))
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_WCHAR_H */
-#endif /* _GL_WCHAR_H */
-#endif
diff --git a/sources/host-tools/sed-4.2.1/lib/wcrtomb.c b/sources/host-tools/sed-4.2.1/lib/wcrtomb.c
deleted file mode 100644
index 79df99f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/wcrtomb.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Convert wide character to multibyte character.
- Copyright (C) 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-#include <errno.h>
-#include <stdlib.h>
-
-
-size_t
-wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
-{
- /* This implementation of wcrtomb on top of wctomb() supports only
- stateless encodings. ps must be in the initial state. */
- if (ps != NULL && !mbsinit (ps))
- {
- errno = EINVAL;
- return (size_t)(-1);
- }
-
- if (s == NULL)
- /* We know the NUL wide character corresponds to the NUL character. */
- return 1;
- else
- {
- int ret = wctomb (s, wc);
-
- if (ret >= 0)
- return ret;
- else
- {
- errno = EILSEQ;
- return (size_t)(-1);
- }
- }
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/wctob.c b/sources/host-tools/sed-4.2.1/lib/wctob.c
deleted file mode 100644
index 4fa71b0..0000000
--- a/sources/host-tools/sed-4.2.1/lib/wctob.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Convert wide character to unibyte character.
- Copyright (C) 2008 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2008.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <wchar.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-wctob (wint_t wc)
-{
- char buf[64];
-
- if (!(MB_CUR_MAX <= sizeof (buf)))
- abort ();
- if (wctomb (buf, wc) == 1)
- return (unsigned char) buf[0];
- else
- return EOF;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/wctype.in.h b/sources/host-tools/sed-4.2.1/lib/wctype.in.h
deleted file mode 100644
index f7942ed..0000000
--- a/sources/host-tools/sed-4.2.1/lib/wctype.in.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
-
- Copyright (C) 2006-2008 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Bruno Haible and Paul Eggert. */
-
-/*
- * ISO C 99 <wctype.h> for platforms that lack it.
- * <http://www.opengroup.org/susv3xbd/wctype.h.html>
- *
- * iswctype, towctrans, towlower, towupper, wctrans, wctype,
- * wctrans_t, and wctype_t are not yet implemented.
- */
-
-#ifndef _GL_WCTYPE_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if @HAVE_WINT_T@
-/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
- Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# include <wchar.h>
-#endif
-
-/* Include the original <wctype.h> if it exists.
- BeOS 5 has the functions but no <wctype.h>. */
-/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_WCTYPE_H@
-# @INCLUDE_NEXT@ @NEXT_WCTYPE_H@
-#endif
-
-#ifndef _GL_WCTYPE_H
-#define _GL_WCTYPE_H
-
-/* Define wint_t. (Also done in wchar.in.h.) */
-#if !@HAVE_WINT_T@ && !defined wint_t
-# define wint_t int
-# ifndef WEOF
-# define WEOF -1
-# endif
-#endif
-
-/* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
- Linux libc5 has <wctype.h> and the functions but they are broken.
- Assume all 12 functions are implemented the same way, or not at all. */
-#if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
-
-/* IRIX 5.3 has macros but no functions, its isw* macros refer to an
- undefined variable _ctmp_ and to <ctype.h> macros like _P, and they
- refer to system functions like _iswctype that are not in the
- standard C library. Rather than try to get ancient buggy
- implementations like this to work, just disable them. */
-# undef iswalnum
-# undef iswalpha
-# undef iswblank
-# undef iswcntrl
-# undef iswdigit
-# undef iswgraph
-# undef iswlower
-# undef iswprint
-# undef iswpunct
-# undef iswspace
-# undef iswupper
-# undef iswxdigit
-
-/* Linux libc5 has <wctype.h> and the functions but they are broken. */
-# if @REPLACE_ISWCNTRL@
-# define iswalnum rpl_iswalnum
-# define iswalpha rpl_iswalpha
-# define iswblank rpl_iswblank
-# define iswcntrl rpl_iswcntrl
-# define iswdigit rpl_iswdigit
-# define iswgraph rpl_iswgraph
-# define iswlower rpl_iswlower
-# define iswprint rpl_iswprint
-# define iswpunct rpl_iswpunct
-# define iswspace rpl_iswspace
-# define iswupper rpl_iswupper
-# define iswxdigit rpl_iswxdigit
-# endif
-
-static inline int
-iswalnum (wint_t wc)
-{
- return ((wc >= '0' && wc <= '9')
- || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'));
-}
-
-static inline int
-iswalpha (wint_t wc)
-{
- return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z';
-}
-
-static inline int
-iswblank (wint_t wc)
-{
- return wc == ' ' || wc == '\t';
-}
-
-static inline int
-iswcntrl (wint_t wc)
-{
- return (wc & ~0x1f) == 0 || wc == 0x7f;
-}
-
-static inline int
-iswdigit (wint_t wc)
-{
- return wc >= '0' && wc <= '9';
-}
-
-static inline int
-iswgraph (wint_t wc)
-{
- return wc >= '!' && wc <= '~';
-}
-
-static inline int
-iswlower (wint_t wc)
-{
- return wc >= 'a' && wc <= 'z';
-}
-
-static inline int
-iswprint (wint_t wc)
-{
- return wc >= ' ' && wc <= '~';
-}
-
-static inline int
-iswpunct (wint_t wc)
-{
- return (wc >= '!' && wc <= '~'
- && !((wc >= '0' && wc <= '9')
- || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')));
-}
-
-static inline int
-iswspace (wint_t wc)
-{
- return (wc == ' ' || wc == '\t'
- || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r');
-}
-
-static inline int
-iswupper (wint_t wc)
-{
- return wc >= 'A' && wc <= 'Z';
-}
-
-static inline int
-iswxdigit (wint_t wc)
-{
- return ((wc >= '0' && wc <= '9')
- || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F'));
-}
-
-# endif /* ! HAVE_ISWCNTRL */
-
-#endif /* _GL_WCTYPE_H */
-#endif /* _GL_WCTYPE_H */
diff --git a/sources/host-tools/sed-4.2.1/lib/xalloc-die.c b/sources/host-tools/sed-4.2.1/lib/xalloc-die.c
deleted file mode 100644
index 0a0694f..0000000
--- a/sources/host-tools/sed-4.2.1/lib/xalloc-die.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Report a memory allocation failure and exit.
-
- Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006 Free
- Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include "xalloc.h"
-
-#include <stdlib.h>
-
-#include "error.h"
-#include "exitfail.h"
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-
-void
-xalloc_die (void)
-{
- error (exit_failure, 0, "%s", _("memory exhausted"));
-
- /* The `noreturn' cannot be given to error, since it may return if
- its first argument is 0. To help compilers understand the
- xalloc_die does not return, call abort. Also, the abort is a
- safety feature if exit_failure is 0 (which shouldn't happen). */
- abort ();
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/xalloc.h b/sources/host-tools/sed-4.2.1/lib/xalloc.h
deleted file mode 100644
index 57a13e0..0000000
--- a/sources/host-tools/sed-4.2.1/lib/xalloc.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/* xalloc.h -- malloc with out-of-memory checking
-
- Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef XALLOC_H_
-# define XALLOC_H_
-
-# include <stddef.h>
-
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-
-# ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
-# define __attribute__(x)
-# endif
-# endif
-
-# ifndef ATTRIBUTE_NORETURN
-# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
-# endif
-
-# ifndef ATTRIBUTE_MALLOC
-# if __GNUC__ >= 3
-# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-# else
-# define ATTRIBUTE_MALLOC
-# endif
-# endif
-
-/* This function is always triggered when memory is exhausted.
- It must be defined by the application, either explicitly
- or by using gnulib's xalloc-die module. This is the
- function to call when one wants the program to die because of a
- memory allocation failure. */
-extern void xalloc_die (void) ATTRIBUTE_NORETURN;
-
-void *xmalloc (size_t s) ATTRIBUTE_MALLOC;
-void *xzalloc (size_t s) ATTRIBUTE_MALLOC;
-void *xcalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
-void *xrealloc (void *p, size_t s);
-void *x2realloc (void *p, size_t *pn);
-void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC;
-char *xstrdup (char const *str) ATTRIBUTE_MALLOC;
-
-/* Return 1 if an array of N objects, each of size S, cannot exist due
- to size arithmetic overflow. S must be positive and N must be
- nonnegative. This is a macro, not an inline function, so that it
- works correctly even when SIZE_MAX < N.
-
- By gnulib convention, SIZE_MAX represents overflow in size
- calculations, so the conservative dividend to use here is
- SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value.
- However, malloc (SIZE_MAX) fails on all known hosts where
- sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for
- exactly-SIZE_MAX allocations on such hosts; this avoids a test and
- branch when S is known to be 1. */
-# define xalloc_oversized(n, s) \
- ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n))
-
-
-/* In the following macros, T must be an elementary or structure/union or
- typedef'ed type, or a pointer to such a type. To apply one of the
- following macros to a function pointer or array type, you need to typedef
- it first and use the typedef name. */
-
-/* Allocate an object of type T dynamically, with error checking. */
-/* extern t *XMALLOC (typename t); */
-# define XMALLOC(t) ((t *) xmalloc (sizeof (t)))
-
-/* Allocate memory for N elements of type T, with error checking. */
-/* extern t *XNMALLOC (size_t n, typename t); */
-# define XNMALLOC(n, t) \
- ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t))))
-
-/* Allocate an object of type T dynamically, with error checking,
- and zero it. */
-/* extern t *XZALLOC (typename t); */
-# define XZALLOC(t) ((t *) xzalloc (sizeof (t)))
-
-/* Allocate memory for N elements of type T, with error checking,
- and zero it. */
-/* extern t *XCALLOC (size_t n, typename t); */
-# define XCALLOC(n, t) \
- ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t))))
-
-
-# if HAVE_INLINE
-# define static_inline static inline
-# else
- void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
- void *xnrealloc (void *p, size_t n, size_t s);
- void *x2nrealloc (void *p, size_t *pn, size_t s);
- char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
-# endif
-
-# ifdef static_inline
-
-/* Allocate an array of N objects, each with S bytes of memory,
- dynamically, with error checking. S must be nonzero. */
-
-static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
-static_inline void *
-xnmalloc (size_t n, size_t s)
-{
- if (xalloc_oversized (n, s))
- xalloc_die ();
- return xmalloc (n * s);
-}
-
-/* Change the size of an allocated block of memory P to an array of N
- objects each of S bytes, with error checking. S must be nonzero. */
-
-static_inline void *
-xnrealloc (void *p, size_t n, size_t s)
-{
- if (xalloc_oversized (n, s))
- xalloc_die ();
- return xrealloc (p, n * s);
-}
-
-/* If P is null, allocate a block of at least *PN such objects;
- otherwise, reallocate P so that it contains more than *PN objects
- each of S bytes. *PN must be nonzero unless P is null, and S must
- be nonzero. Set *PN to the new number of objects, and return the
- pointer to the new block. *PN is never set to zero, and the
- returned pointer is never null.
-
- Repeated reallocations are guaranteed to make progress, either by
- allocating an initial block with a nonzero size, or by allocating a
- larger block.
-
- In the following implementation, nonzero sizes are increased by a
- factor of approximately 1.5 so that repeated reallocations have
- O(N) overall cost rather than O(N**2) cost, but the
- specification for this function does not guarantee that rate.
-
- Here is an example of use:
-
- int *p = NULL;
- size_t used = 0;
- size_t allocated = 0;
-
- void
- append_int (int value)
- {
- if (used == allocated)
- p = x2nrealloc (p, &allocated, sizeof *p);
- p[used++] = value;
- }
-
- This causes x2nrealloc to allocate a block of some nonzero size the
- first time it is called.
-
- To have finer-grained control over the initial size, set *PN to a
- nonzero value before calling this function with P == NULL. For
- example:
-
- int *p = NULL;
- size_t used = 0;
- size_t allocated = 0;
- size_t allocated1 = 1000;
-
- void
- append_int (int value)
- {
- if (used == allocated)
- {
- p = x2nrealloc (p, &allocated1, sizeof *p);
- allocated = allocated1;
- }
- p[used++] = value;
- }
-
- */
-
-static_inline void *
-x2nrealloc (void *p, size_t *pn, size_t s)
-{
- size_t n = *pn;
-
- if (! p)
- {
- if (! n)
- {
- /* The approximate size to use for initial small allocation
- requests, when the invoking code specifies an old size of
- zero. 64 bytes is the largest "small" request for the
- GNU C library malloc. */
- enum { DEFAULT_MXFAST = 64 };
-
- n = DEFAULT_MXFAST / s;
- n += !n;
- }
- }
- else
- {
- /* Set N = ceil (1.5 * N) so that progress is made if N == 1.
- Check for overflow, so that N * S stays in size_t range.
- The check is slightly conservative, but an exact check isn't
- worth the trouble. */
- if ((size_t) -1 / 3 * 2 / s <= n)
- xalloc_die ();
- n += (n + 1) / 2;
- }
-
- *pn = n;
- return xrealloc (p, n * s);
-}
-
-/* Return a pointer to a new buffer of N bytes. This is like xmalloc,
- except it returns char *. */
-
-static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
-static_inline char *
-xcharalloc (size_t n)
-{
- return XNMALLOC (n, char);
-}
-
-# endif
-
-# ifdef __cplusplus
-}
-
-/* C++ does not allow conversions from void * to other pointer types
- without a cast. Use templates to work around the problem when
- possible. */
-
-template <typename T> inline T *
-xrealloc (T *p, size_t s)
-{
- return (T *) xrealloc ((void *) p, s);
-}
-
-template <typename T> inline T *
-xnrealloc (T *p, size_t n, size_t s)
-{
- return (T *) xnrealloc ((void *) p, n, s);
-}
-
-template <typename T> inline T *
-x2realloc (T *p, size_t *pn)
-{
- return (T *) x2realloc ((void *) p, pn);
-}
-
-template <typename T> inline T *
-x2nrealloc (T *p, size_t *pn, size_t s)
-{
- return (T *) x2nrealloc ((void *) p, pn, s);
-}
-
-template <typename T> inline T *
-xmemdup (T const *p, size_t s)
-{
- return (T *) xmemdup ((void const *) p, s);
-}
-
-# endif
-
-
-#endif /* !XALLOC_H_ */
diff --git a/sources/host-tools/sed-4.2.1/lib/xmalloc.c b/sources/host-tools/sed-4.2.1/lib/xmalloc.c
deleted file mode 100644
index 585fb4b..0000000
--- a/sources/host-tools/sed-4.2.1/lib/xmalloc.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/* xmalloc.c -- malloc with out of memory checking
-
- Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008-2009 Free Software Foundation,
- Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#if ! HAVE_INLINE
-# define static_inline
-#endif
-#include "xalloc.h"
-#undef static_inline
-
-#include <stdlib.h>
-#include <string.h>
-
-/* 1 if calloc is known to be compatible with GNU calloc. This
- matters if we are not also using the calloc module, which defines
- HAVE_CALLOC and supports the GNU API even on non-GNU platforms. */
-#if defined HAVE_CALLOC || defined __GLIBC__
-enum { HAVE_GNU_CALLOC = 1 };
-#else
-enum { HAVE_GNU_CALLOC = 0 };
-#endif
-
-/* Allocate N bytes of memory dynamically, with error checking. */
-
-void *
-xmalloc (size_t n)
-{
- void *p = malloc (n);
- if (!p && n != 0)
- xalloc_die ();
- return p;
-}
-
-/* Change the size of an allocated block of memory P to N bytes,
- with error checking. */
-
-void *
-xrealloc (void *p, size_t n)
-{
- p = realloc (p, n);
- if (!p && n != 0)
- xalloc_die ();
- return p;
-}
-
-/* If P is null, allocate a block of at least *PN bytes; otherwise,
- reallocate P so that it contains more than *PN bytes. *PN must be
- nonzero unless P is null. Set *PN to the new block's size, and
- return the pointer to the new block. *PN is never set to zero, and
- the returned pointer is never null. */
-
-void *
-x2realloc (void *p, size_t *pn)
-{
- return x2nrealloc (p, pn, 1);
-}
-
-/* Allocate S bytes of zeroed memory dynamically, with error checking.
- There's no need for xnzalloc (N, S), since it would be equivalent
- to xcalloc (N, S). */
-
-void *
-xzalloc (size_t s)
-{
- return memset (xmalloc (s), 0, s);
-}
-
-/* Allocate zeroed memory for N elements of S bytes, with error
- checking. S must be nonzero. */
-
-void *
-xcalloc (size_t n, size_t s)
-{
- void *p;
- /* Test for overflow, since some calloc implementations don't have
- proper overflow checks. But omit overflow and size-zero tests if
- HAVE_GNU_CALLOC, since GNU calloc catches overflow and never
- returns NULL if successful. */
- if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s))
- || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0)))
- xalloc_die ();
- return p;
-}
-
-/* Clone an object P of size S, with error checking. There's no need
- for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any
- need for an arithmetic overflow check. */
-
-void *
-xmemdup (void const *p, size_t s)
-{
- return memcpy (xmalloc (s), p, s);
-}
-
-/* Clone STRING. */
-
-char *
-xstrdup (char const *string)
-{
- return xmemdup (string, strlen (string) + 1);
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/xstrndup.c b/sources/host-tools/sed-4.2.1/lib/xstrndup.c
deleted file mode 100644
index 37488cd..0000000
--- a/sources/host-tools/sed-4.2.1/lib/xstrndup.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Duplicate a bounded initial segment of a string, with out-of-memory
- checking.
- Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "xstrndup.h"
-
-#include <string.h>
-#include "xalloc.h"
-
-/* Return a newly allocated copy of at most N bytes of STRING.
- In other words, return a copy of the initial segment of length N of
- STRING. */
-char *
-xstrndup (const char *string, size_t n)
-{
- char *s = strndup (string, n);
- if (! s)
- xalloc_die ();
- return s;
-}
diff --git a/sources/host-tools/sed-4.2.1/lib/xstrndup.h b/sources/host-tools/sed-4.2.1/lib/xstrndup.h
deleted file mode 100644
index 4882e39..0000000
--- a/sources/host-tools/sed-4.2.1/lib/xstrndup.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Duplicate a bounded initial segment of a string, with out-of-memory
- checking.
- Copyright (C) 2003 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-
-/* Return a newly allocated copy of at most N bytes of STRING.
- In other words, return a copy of the initial segment of length N of
- STRING. */
-extern char *xstrndup (const char *string, size_t n);
diff --git a/sources/host-tools/sed-4.2.1/m4/00gnulib.m4 b/sources/host-tools/sed-4.2.1/m4/00gnulib.m4
deleted file mode 100644
index d4d04d1..0000000
--- a/sources/host-tools/sed-4.2.1/m4/00gnulib.m4
+++ /dev/null
@@ -1,30 +0,0 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This file must be named something that sorts before all other
-dnl gnulib-provided .m4 files. It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
-
-# AC_DEFUN_ONCE([NAME], VALUE)
-# ----------------------------
-# Define NAME to expand to VALUE on the first use (whether by direct
-# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses.
-# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This
-# definition is slower than the version in Autoconf 2.64, because it
-# can only use interfaces that existed since 2.59; but it achieves the
-# same effect. Quoting is necessary to avoid confusing Automake.
-m4_version_prereq([2.63.263], [],
-[m4_define([AC][_DEFUN_ONCE],
- [AC][_DEFUN([$1],
- [AC_REQUIRE([_gl_DEFUN_ONCE([$1])],
- [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl
-[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])])
-
-# gl_00GNULIB
-# -----------
-# Witness macro that this file has been included. Needed to force
-# Automake to include this file prior to all other gnulib .m4 files.
-AC_DEFUN([gl_00GNULIB])
diff --git a/sources/host-tools/sed-4.2.1/m4/acl.m4 b/sources/host-tools/sed-4.2.1/m4/acl.m4
deleted file mode 100644
index 5340e2e..0000000
--- a/sources/host-tools/sed-4.2.1/m4/acl.m4
+++ /dev/null
@@ -1,150 +0,0 @@
-# acl.m4 - check for access control list (ACL) primitives
-# serial 9
-
-# Copyright (C) 2002, 2004-2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Written by Paul Eggert and Jim Meyering.
-
-AC_DEFUN([gl_FUNC_ACL],
-[
- AC_ARG_ENABLE([acl],
- AS_HELP_STRING([--disable-acl], [do not support ACLs]),
- , [enable_acl=auto])
-
- LIB_ACL=
- use_acl=0
- AC_REQUIRE([AC_C_INLINE])
- if test "x$enable_acl" != "xno"; then
- dnl On all platforms, the ACL related API is declared in <sys/acl.h>.
- AC_CHECK_HEADERS([sys/acl.h])
- if test $ac_cv_header_sys_acl_h = yes; then
- ac_save_LIBS=$LIBS
-
- dnl Test for POSIX-draft-like API (Linux, FreeBSD, MacOS X, IRIX, Tru64).
- dnl -lacl is needed on Linux, -lpacl is needed on OSF/1.
- if test $use_acl = 0; then
- AC_SEARCH_LIBS([acl_get_file], [acl pacl],
- [if test "$ac_cv_search_acl_get_file" != "none required"; then
- LIB_ACL=$ac_cv_search_acl_get_file
- fi
- AC_CHECK_FUNCS(
- [acl_get_file acl_get_fd acl_set_file acl_set_fd \
- acl_free acl_from_mode acl_from_text \
- acl_delete_def_file acl_extended_file \
- acl_delete_fd_np acl_delete_file_np \
- acl_copy_ext_native acl_create_entry_np \
- acl_to_short_text acl_free_text])
- # If the acl_get_file bug is detected, don't enable the ACL support.
- gl_ACL_GET_FILE([use_acl=1], [])
- if test $use_acl = 1; then
- dnl On Linux, additional API is declared in <acl/libacl.h>.
- AC_CHECK_HEADERS([acl/libacl.h])
- AC_REPLACE_FUNCS([acl_entries])
- AC_CACHE_CHECK([for ACL_FIRST_ENTRY],
- [gl_cv_acl_ACL_FIRST_ENTRY],
- [AC_COMPILE_IFELSE(
-[[#include <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_FIRST_ENTRY;]],
- [gl_cv_acl_ACL_FIRST_ENTRY=yes],
- [gl_cv_acl_ACL_FIRST_ENTRY=no])])
- if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then
- AC_DEFINE([HAVE_ACL_FIRST_ENTRY], [1],
- [Define to 1 if the constant ACL_FIRST_ENTRY exists.])
- fi
- dnl On MacOS X, other types of ACLs are supported.
- AC_CACHE_CHECK([for ACL_TYPE_EXTENDED],
- [gl_cv_acl_ACL_TYPE_EXTENDED],
- [AC_COMPILE_IFELSE(
-[[#include <sys/types.h>
-#include <sys/acl.h>
-int type = ACL_TYPE_EXTENDED;]],
- [gl_cv_acl_ACL_TYPE_EXTENDED=yes],
- [gl_cv_acl_ACL_TYPE_EXTENDED=no])])
- if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then
- AC_DEFINE([HAVE_ACL_TYPE_EXTENDED], [1],
- [Define to 1 if the ACL type ACL_TYPE_EXTENDED exists.])
- fi
- else
- LIB_ACL=
- fi
- ])
- fi
-
- dnl Test for Solaris API (Solaris, Cygwin).
- if test $use_acl = 0; then
- AC_CHECK_FUNCS([acl])
- if test $ac_cv_func_acl = yes; then
- AC_SEARCH_LIBS([acl_trivial], [sec],
- [if test "$ac_cv_search_acl_trivial" != "none required"; then
- LIB_ACL=$ac_cv_search_acl_trivial
- fi
- ])
- AC_CHECK_FUNCS([acl_trivial])
- use_acl=1
- fi
- fi
-
- dnl Test for HP-UX API.
- if test $use_acl = 0 || test "$ac_cv_func_acl" = yes; then
- AC_CHECK_FUNCS([getacl])
- if test $ac_cv_func_getacl = yes; then
- use_acl=1
- fi
- fi
-
- dnl Test for AIX API (AIX 5.3 or newer).
- if test $use_acl = 0; then
- AC_CHECK_FUNCS([aclx_get])
- if test $ac_cv_func_aclx_get = yes; then
- use_acl=1
- fi
- fi
-
- dnl Test for older AIX API.
- if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then
- AC_CHECK_FUNCS([statacl])
- if test $ac_cv_func_statacl = yes; then
- use_acl=1
- fi
- fi
-
- LIBS=$ac_save_LIBS
- fi
- if test "x$enable_acl$use_acl" = "xyes0"; then
- AC_MSG_ERROR([ACLs enabled but support not detected])
- fi
- fi
- AC_SUBST([LIB_ACL])
- AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],
- [Define to nonzero if you want access control list support.])
- USE_ACL=$use_acl
- AC_SUBST([USE_ACL])
-])
-
-# gl_ACL_GET_FILE(IF-WORKS, IF-NOT)
-# -------------------------------------
-# If `acl_get_file' works (does not have a particular bug),
-# run IF-WORKS, otherwise, IF-NOT.
-# This tests for a Darwin 8.7.0 bug, whereby acl_get_file returns NULL,
-# but sets errno = ENOENT for an existing file or directory.
-AC_DEFUN([gl_ACL_GET_FILE],
-[
- AC_CACHE_CHECK([for working acl_get_file], [gl_cv_func_working_acl_get_file],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <sys/types.h>
- #include <sys/acl.h>
- #include <errno.h>
- ]],
- [[return !! (!acl_get_file (".", ACL_TYPE_ACCESS)
- && errno == ENOENT);]])],
- [gl_cv_func_working_acl_get_file=yes],
- [gl_cv_func_working_acl_get_file=no],
- [gl_cv_func_working_acl_get_file=cross-compiling])])
-
- AS_IF([test $gl_cv_func_working_acl_get_file = yes], [$1], [$2])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/alloca.m4 b/sources/host-tools/sed-4.2.1/m4/alloca.m4
deleted file mode 100644
index 4b978e1..0000000
--- a/sources/host-tools/sed-4.2.1/m4/alloca.m4
+++ /dev/null
@@ -1,46 +0,0 @@
-# alloca.m4 serial 9
-dnl Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_ALLOCA],
-[
- dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
- AC_REQUIRE([AC_PROG_CPP])
- AC_REQUIRE([AC_PROG_EGREP])
-
- AC_REQUIRE([AC_FUNC_ALLOCA])
- if test $ac_cv_func_alloca_works = no; then
- gl_PREREQ_ALLOCA
- fi
-
- # Define an additional variable used in the Makefile substitution.
- if test $ac_cv_working_alloca_h = yes; then
- AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [
- AC_EGREP_CPP([Need own alloca], [
-#if defined __GNUC__ || defined _AIX || defined _MSC_VER
- Need own alloca
-#endif
- ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no])
- ])
- if test $gl_cv_rpl_alloca = yes; then
- dnl OK, alloca can be implemented through a compiler built-in.
- AC_DEFINE([HAVE_ALLOCA], [1],
- [Define to 1 if you have 'alloca' after including <alloca.h>,
- a header that may be supplied by this distribution.])
- ALLOCA_H=alloca.h
- else
- dnl alloca exists as a library function, i.e. it is slow and probably
- dnl a memory leak. Don't define HAVE_ALLOCA in this case.
- ALLOCA_H=
- fi
- else
- ALLOCA_H=alloca.h
- fi
- AC_SUBST([ALLOCA_H])
-])
-
-# Prerequisites of lib/alloca.c.
-# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
-AC_DEFUN([gl_PREREQ_ALLOCA], [:])
diff --git a/sources/host-tools/sed-4.2.1/m4/btowc.m4 b/sources/host-tools/sed-4.2.1/m4/btowc.m4
deleted file mode 100644
index b46f74f..0000000
--- a/sources/host-tools/sed-4.2.1/m4/btowc.m4
+++ /dev/null
@@ -1,68 +0,0 @@
-# btowc.m4 serial 4
-dnl Copyright (C) 2008-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_BTOWC],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_CHECK_FUNCS_ONCE([btowc])
- if test $ac_cv_func_btowc = no; then
- HAVE_BTOWC=0
- else
-
- dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF.
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether btowc(EOF) is correct],
- [gl_cv_func_btowc_eof],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on IRIX.
- irix*) gl_cv_func_btowc_eof="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_btowc_eof="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
- {
- if (btowc (EOF) != WEOF)
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_btowc_eof=yes],
- [gl_cv_func_btowc_eof=no],
- [:])
- fi
- ])
- case "$gl_cv_func_btowc_eof" in
- *yes) ;;
- *) REPLACE_BTOWC=1 ;;
- esac
- fi
- if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([btowc])
- gl_PREREQ_BTOWC
- fi
-])
-
-# Prerequisites of lib/btowc.c.
-AC_DEFUN([gl_PREREQ_BTOWC], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/codeset.m4 b/sources/host-tools/sed-4.2.1/m4/codeset.m4
deleted file mode 100644
index 413217b..0000000
--- a/sources/host-tools/sed-4.2.1/m4/codeset.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-# codeset.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 2000-2002, 2006, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
- AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET); return !cs;],
- [am_cv_langinfo_codeset=yes],
- [am_cv_langinfo_codeset=no])
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/dirname.m4 b/sources/host-tools/sed-4.2.1/m4/dirname.m4
deleted file mode 100644
index e35da96..0000000
--- a/sources/host-tools/sed-4.2.1/m4/dirname.m4
+++ /dev/null
@@ -1,18 +0,0 @@
-#serial 7 -*- autoconf -*-
-dnl Copyright (C) 2002-2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_DIRNAME],
-[
- AC_LIBOBJ([basename])
- AC_LIBOBJ([dirname])
- AC_LIBOBJ([stripslash])
-
- dnl Prerequisites of lib/dirname.h.
- AC_REQUIRE([gl_AC_DOS])
- AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
-
- dnl No prerequisites of lib/basename.c, lib/dirname.c, lib/stripslash.c.
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/dos.m4 b/sources/host-tools/sed-4.2.1/m4/dos.m4
deleted file mode 100644
index dd59571..0000000
--- a/sources/host-tools/sed-4.2.1/m4/dos.m4
+++ /dev/null
@@ -1,71 +0,0 @@
-#serial 10 -*- autoconf -*-
-
-# Define some macros required for proper operation of code in lib/*.c
-# on MSDOS/Windows systems.
-
-# Copyright (C) 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# From Jim Meyering.
-
-AC_DEFUN([gl_AC_DOS],
- [
- AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
- [
- AC_TRY_COMPILE([],
- [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__
-neither MSDOS nor Windows
-#endif],
- [ac_cv_win_or_dos=yes],
- [ac_cv_win_or_dos=no])
- ])
-
- if test x"$ac_cv_win_or_dos" = xyes; then
- ac_fs_accepts_drive_letter_prefix=1
- ac_fs_backslash_is_file_name_separator=1
- AC_CACHE_CHECK([whether drive letter can start relative path],
- [ac_cv_drive_letter_can_be_relative],
- [
- AC_TRY_COMPILE([],
- [#if defined __CYGWIN__
-drive letters are always absolute
-#endif],
- [ac_cv_drive_letter_can_be_relative=yes],
- [ac_cv_drive_letter_can_be_relative=no])
- ])
- if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then
- ac_fs_drive_letter_can_be_relative=1
- else
- ac_fs_drive_letter_can_be_relative=0
- fi
- else
- ac_fs_accepts_drive_letter_prefix=0
- ac_fs_backslash_is_file_name_separator=0
- ac_fs_drive_letter_can_be_relative=0
- fi
-
- AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
- $ac_fs_accepts_drive_letter_prefix,
- [Define on systems for which file names may have a so-called
- `drive letter' prefix, define this to compute the length of that
- prefix, including the colon.])
-
- AH_VERBATIM(ISSLASH,
- [#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#else
-# define ISSLASH(C) ((C) == '/')
-#endif])
-
- AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
- $ac_fs_backslash_is_file_name_separator,
- [Define if the backslash character may also serve as a file name
- component separator.])
-
- AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE],
- $ac_fs_drive_letter_can_be_relative,
- [Define if a drive letter prefix denotes a relative path if it is
- not followed by a file name component separator.])
- ])
diff --git a/sources/host-tools/sed-4.2.1/m4/double-slash-root.m4 b/sources/host-tools/sed-4.2.1/m4/double-slash-root.m4
deleted file mode 100644
index 8c6841b..0000000
--- a/sources/host-tools/sed-4.2.1/m4/double-slash-root.m4
+++ /dev/null
@@ -1,38 +0,0 @@
-# double-slash-root.m4 serial 4 -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root],
- [ if test x"$cross_compiling" = xyes ; then
- # When cross-compiling, there is no way to tell whether // is special
- # short of a list of hosts. However, the only known hosts to date
- # that have a distinct // are Apollo DomainOS (too old to port to),
- # Cygwin, and z/OS. If anyone knows of another system for which // has
- # special semantics and is distinct from /, please report it to
- # <bug-gnulib@gnu.org>.
- case $host in
- *-cygwin | i370-ibm-openedition)
- gl_cv_double_slash_root=yes ;;
- *)
- # Be optimistic and assume that / and // are the same when we
- # don't know.
- gl_cv_double_slash_root='unknown, assuming no' ;;
- esac
- else
- set x `ls -di / // 2>/dev/null`
- if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then
- gl_cv_double_slash_root=no
- else
- gl_cv_double_slash_root=yes
- fi
- fi])
- if test "$gl_cv_double_slash_root" = yes; then
- AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1],
- [Define to 1 if // is a file system root distinct from /.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/errno_h.m4 b/sources/host-tools/sed-4.2.1/m4/errno_h.m4
deleted file mode 100644
index 4ce1ccb..0000000
--- a/sources/host-tools/sed-4.2.1/m4/errno_h.m4
+++ /dev/null
@@ -1,115 +0,0 @@
-# errno_h.m4 serial 6
-dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [
- AC_EGREP_CPP([booboo],[
-#include <errno.h>
-#if !defined ENOMSG
-booboo
-#endif
-#if !defined EIDRM
-booboo
-#endif
-#if !defined ENOLINK
-booboo
-#endif
-#if !defined EPROTO
-booboo
-#endif
-#if !defined EMULTIHOP
-booboo
-#endif
-#if !defined EBADMSG
-booboo
-#endif
-#if !defined EOVERFLOW
-booboo
-#endif
-#if !defined ENOTSUP
-booboo
-#endif
-#if !defined ESTALE
-booboo
-#endif
-#if !defined ECANCELED
-booboo
-#endif
- ],
- [gl_cv_header_errno_h_complete=no],
- [gl_cv_header_errno_h_complete=yes])
- ])
- if test $gl_cv_header_errno_h_complete = yes; then
- ERRNO_H=''
- else
- gl_CHECK_NEXT_HEADERS([errno.h])
- ERRNO_H='errno.h'
- fi
- AC_SUBST([ERRNO_H])
- gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
- gl_REPLACE_ERRNO_VALUE([ENOLINK])
- gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
-])
-
-# Assuming $1 = EOVERFLOW.
-# The EOVERFLOW errno value ought to be defined in <errno.h>, according to
-# POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and
-# some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
-# Check for the value of EOVERFLOW.
-# Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
-AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
-[
- if test -n "$ERRNO_H"; then
- AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
- AC_EGREP_CPP([yes],[
-#include <errno.h>
-#ifdef ]$1[
-yes
-#endif
- ],
- [gl_cv_header_errno_h_]$1[=yes],
- [gl_cv_header_errno_h_]$1[=no])
- if test $gl_cv_header_errno_h_]$1[ = no; then
- AC_EGREP_CPP([yes],[
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef ]$1[
-yes
-#endif
- ], [gl_cv_header_errno_h_]$1[=hidden])
- if test $gl_cv_header_errno_h_]$1[ = hidden; then
- dnl The macro exists but is hidden.
- dnl Define it to the same value.
- AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug. */
-#include <stdio.h>
-#include <stdlib.h>
-])
- fi
- fi
- ])
- case $gl_cv_header_errno_h_]$1[ in
- yes | no)
- ]$1[_HIDDEN=0; ]$1[_VALUE=
- ;;
- *)
- ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1["
- ;;
- esac
- AC_SUBST($1[_HIDDEN])
- AC_SUBST($1[_VALUE])
- fi
-])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
- AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/error.m4 b/sources/host-tools/sed-4.2.1/m4/error.m4
deleted file mode 100644
index 7c7746e..0000000
--- a/sources/host-tools/sed-4.2.1/m4/error.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-#serial 11
-
-# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_ERROR],
-[
- AC_FUNC_ERROR_AT_LINE
- dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
- gl_PREREQ_ERROR
-])
-
-# Prerequisites of lib/error.c.
-AC_DEFUN([gl_PREREQ_ERROR],
-[
- AC_REQUIRE([AC_FUNC_STRERROR_R])
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/exitfail.m4 b/sources/host-tools/sed-4.2.1/m4/exitfail.m4
deleted file mode 100644
index b7a691e..0000000
--- a/sources/host-tools/sed-4.2.1/m4/exitfail.m4
+++ /dev/null
@@ -1,13 +0,0 @@
-# exitfail.m4 serial 6
-dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_EXITFAIL],
-[
- AC_LIBOBJ([exitfail])
-
- dnl No prerequisites of lib/exitfail.c.
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/extensions.m4 b/sources/host-tools/sed-4.2.1/m4/extensions.m4
deleted file mode 100644
index ba6d5e1..0000000
--- a/sources/host-tools/sed-4.2.1/m4/extensions.m4
+++ /dev/null
@@ -1,104 +0,0 @@
-# serial 8 -*- Autoconf -*-
-# Enable extensions on systems that normally disable them.
-
-# Copyright (C) 2003, 2006-2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
-# Autoconf. Perhaps we can remove this once we can assume Autoconf
-# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
-# enough in this area it's likely we'll need to redefine
-# AC_USE_SYSTEM_EXTENSIONS for quite some time.
-
-# AC_USE_SYSTEM_EXTENSIONS
-# ------------------------
-# Enable extensions on systems that normally disable them,
-# typically due to standards-conformance issues.
-# Remember that #undef in AH_VERBATIM gets replaced with #define by
-# AC_DEFINE. The goal here is to define all known feature-enabling
-# macros, then, if reports of conflicts are made, disable macros that
-# cause problems on some platforms (such as __EXTENSIONS__).
-AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
-[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
-AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-
- AC_REQUIRE([AC_CANONICAL_HOST])
-
- AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
- if test "$MINIX" = yes; then
- AC_DEFINE([_POSIX_SOURCE], [1],
- [Define to 1 if you need to in order for `stat' and other
- things to work.])
- AC_DEFINE([_POSIX_1_SOURCE], [2],
- [Define to 2 if the system does not provide POSIX.1 features
- except with this defined.])
- AC_DEFINE([_MINIX], [1],
- [Define to 1 if on MINIX.])
- fi
-
- dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
- dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
- dnl provided.
- case "$host_os" in
- hpux*)
- AC_DEFINE([_XOPEN_SOURCE], [500],
- [Define to 500 only on HP-UX.])
- ;;
- esac
-
- AH_VERBATIM([__EXTENSIONS__],
-[/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-])
- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
- [ac_cv_safe_to_define___extensions__],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[
-# define __EXTENSIONS__ 1
- ]AC_INCLUDES_DEFAULT])],
- [ac_cv_safe_to_define___extensions__=yes],
- [ac_cv_safe_to_define___extensions__=no])])
- test $ac_cv_safe_to_define___extensions__ = yes &&
- AC_DEFINE([__EXTENSIONS__])
- AC_DEFINE([_ALL_SOURCE])
- AC_DEFINE([_GNU_SOURCE])
- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
- AC_DEFINE([_TANDEM_SOURCE])
-])# AC_USE_SYSTEM_EXTENSIONS
-
-# gl_USE_SYSTEM_EXTENSIONS
-# ------------------------
-# Enable extensions on systems that normally disable them,
-# typically due to standards-conformance issues.
-AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS],
-[
- dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS.
- dnl gnulib does not need it. But if it gets required by third-party macros
- dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a
- dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
- dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE,
- dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck.
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/getdelim.m4 b/sources/host-tools/sed-4.2.1/m4/getdelim.m4
deleted file mode 100644
index 7760f82..0000000
--- a/sources/host-tools/sed-4.2.1/m4/getdelim.m4
+++ /dev/null
@@ -1,35 +0,0 @@
-# getdelim.m4 serial 5
-
-dnl Copyright (C) 2005, 2006, 2007 Free Software dnl Foundation, Inc.
-dnl
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_PREREQ([2.59])
-
-AC_DEFUN([gl_FUNC_GETDELIM],
-[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-
- dnl Persuade glibc <stdio.h> to declare getdelim().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_REPLACE_FUNCS([getdelim])
- AC_CHECK_DECLS_ONCE([getdelim])
-
- if test $ac_cv_func_getdelim = no; then
- gl_PREREQ_GETDELIM
- fi
-
- if test $ac_cv_have_decl_getdelim = no; then
- HAVE_DECL_GETDELIM=0
- fi
-])
-
-# Prerequisites of lib/getdelim.c.
-AC_DEFUN([gl_PREREQ_GETDELIM],
-[
- AC_CHECK_FUNCS([flockfile funlockfile])
- AC_CHECK_DECLS([getc_unlocked])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/getline.m4 b/sources/host-tools/sed-4.2.1/m4/getline.m4
deleted file mode 100644
index 9993345..0000000
--- a/sources/host-tools/sed-4.2.1/m4/getline.m4
+++ /dev/null
@@ -1,80 +0,0 @@
-# getline.m4 serial 19
-
-dnl Copyright (C) 1998-2003, 2005-2007, 2009 Free Software Foundation, Inc.
-dnl
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_PREREQ([2.59])
-
-dnl See if there's a working, system-supplied version of the getline function.
-dnl We can't just do AC_REPLACE_FUNCS([getline]) because some systems
-dnl have a function by that name in -linet that doesn't have anything
-dnl to do with the function we need.
-AC_DEFUN([gl_FUNC_GETLINE],
-[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-
- dnl Persuade glibc <stdio.h> to declare getline().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_CHECK_DECLS_ONCE([getline])
-
- gl_getline_needs_run_time_check=no
- AC_CHECK_FUNC([getline],
- dnl Found it in some library. Verify that it works.
- gl_getline_needs_run_time_check=yes,
- am_cv_func_working_getline=no)
- if test $gl_getline_needs_run_time_check = yes; then
- AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline],
- [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
- AC_TRY_RUN([
-# include <stdio.h>
-# include <stdlib.h>
-# include <string.h>
- int main ()
- { /* Based on a test program from Karl Heuer. */
- char *line = NULL;
- size_t siz = 0;
- int len;
- FILE *in = fopen ("./conftest.data", "r");
- if (!in)
- return 1;
- len = getline (&line, &siz, in);
- exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
- }
- ], am_cv_func_working_getline=yes dnl The library version works.
- , am_cv_func_working_getline=no dnl The library version does NOT work.
- , dnl We're cross compiling. Assume it works on glibc2 systems.
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ >= 2)
- Lucky GNU user
- #endif
-#endif
- ],
- [am_cv_func_working_getline=yes],
- [am_cv_func_working_getline=no])]
- )])
- fi
-
- if test $ac_cv_have_decl_getline = no; then
- HAVE_DECL_GETLINE=0
- fi
-
- if test $am_cv_func_working_getline = no; then
- REPLACE_GETLINE=1
- AC_LIBOBJ([getline])
-
- gl_PREREQ_GETLINE
- fi
-])
-
-# Prerequisites of lib/getline.c.
-AC_DEFUN([gl_PREREQ_GETLINE],
-[
- gl_FUNC_GETDELIM
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/getopt.m4 b/sources/host-tools/sed-4.2.1/m4/getopt.m4
deleted file mode 100644
index 9b683c2..0000000
--- a/sources/host-tools/sed-4.2.1/m4/getopt.m4
+++ /dev/null
@@ -1,83 +0,0 @@
-# getopt.m4 serial 14
-dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# The getopt module assume you want GNU getopt, with getopt_long etc,
-# rather than vanilla POSIX getopt. This means your code should
-# always include <getopt.h> for the getopt prototypes.
-
-AC_DEFUN([gl_GETOPT_SUBSTITUTE],
-[
- AC_LIBOBJ([getopt])
- AC_LIBOBJ([getopt1])
- gl_GETOPT_SUBSTITUTE_HEADER
- gl_PREREQ_GETOPT
-])
-
-AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
-[
- GETOPT_H=getopt.h
- AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
- [Define to rpl_ if the getopt replacement functions and variables
- should be used.])
- AC_SUBST([GETOPT_H])
-])
-
-AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
-[
- if test -z "$GETOPT_H"; then
- AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
- fi
-
- if test -z "$GETOPT_H"; then
- AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
- fi
-
- dnl BSD getopt_long uses an incompatible method to reset option processing,
- dnl and (as of 2004-10-15) mishandles optional option-arguments.
- if test -z "$GETOPT_H"; then
- AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
- fi
-
- dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
- dnl option string (as of 2005-05-05).
- if test -z "$GETOPT_H"; then
- AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM([[#include <getopt.h>]],
- [[
- char *myargv[3];
- myargv[0] = "conftest";
- myargv[1] = "-+";
- myargv[2] = 0;
- return getopt (2, myargv, "+a") != '?';
- ]])],
- [gl_cv_func_gnu_getopt=yes],
- [gl_cv_func_gnu_getopt=no],
- [dnl cross compiling - pessimistically guess based on decls
- dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
- dnl option string (as of 2005-05-05).
- AC_CHECK_DECL([getopt_clip],
- [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes],
- [#include <getopt.h>])])])
- if test "$gl_cv_func_gnu_getopt" = "no"; then
- GETOPT_H=getopt.h
- fi
- fi
-])
-
-AC_DEFUN([gl_GETOPT_IFELSE],
-[
- AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
- AS_IF([test -n "$GETOPT_H"], [$1], [$2])
-])
-
-AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])])
-
-# Prerequisites of lib/getopt*.
-AC_DEFUN([gl_PREREQ_GETOPT],
-[
- AC_CHECK_DECLS_ONCE([getenv])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/getpagesize.m4 b/sources/host-tools/sed-4.2.1/m4/getpagesize.m4
deleted file mode 100644
index 0d07a3a..0000000
--- a/sources/host-tools/sed-4.2.1/m4/getpagesize.m4
+++ /dev/null
@@ -1,29 +0,0 @@
-# getpagesize.m4 serial 7
-dnl Copyright (C) 2002, 2004-2005, 2007 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_GETPAGESIZE],
-[
- AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_FUNCS([getpagesize])
- if test $ac_cv_func_getpagesize = no; then
- HAVE_GETPAGESIZE=0
- AC_CHECK_HEADERS([OS.h])
- if test $ac_cv_header_OS_h = yes; then
- HAVE_OS_H=1
- fi
- AC_CHECK_HEADERS([sys/param.h])
- if test $ac_cv_header_sys_param_h = yes; then
- HAVE_SYS_PARAM_H=1
- fi
- fi
- case "$host_os" in
- mingw*)
- REPLACE_GETPAGESIZE=1
- AC_LIBOBJ([getpagesize])
- ;;
- esac
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/gettext.m4 b/sources/host-tools/sed-4.2.1/m4/gettext.m4
deleted file mode 100644
index ffec9de..0000000
--- a/sources/host-tools/sed-4.2.1/m4/gettext.m4
+++ /dev/null
@@ -1,382 +0,0 @@
-# gettext.m4 serial 62 (gettext-0.18)
-dnl Copyright (C) 1995-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl default (if it is not specified or empty) is 'no-libtool'.
-dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl depending on --{enable,disable}-{shared,static} and on the presence of
-dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl implementations (in libc or libintl) without the ngettext() function
-dnl will be ignored. If NEEDSYMBOL is specified and is
-dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries. If empty,
-dnl the value `$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl and used.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl Catalog format: none
-dnl Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
- [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
- define([gt_included_intl],
- ifelse([$1], [external],
- ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
- [yes]))
- define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
- gt_NEEDS_INIT
- AM_GNU_GETTEXT_NEED([$2])
-
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
- ifelse(gt_included_intl, yes, [
- AC_REQUIRE([AM_INTL_SUBDIR])dnl
- ])
-
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- dnl Ideally we would do this search only after the
- dnl if test "$USE_NLS" = "yes"; then
- dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
- gt_INTL_MACOSX
-
- dnl Set USE_NLS.
- AC_REQUIRE([AM_NLS])
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl Add a version number to the cache macros.
- case " $gt_needs " in
- *" need-formatstring-macros "*) gt_api_version=3 ;;
- *" need-ngettext "*) gt_api_version=2 ;;
- *) gt_api_version=1 ;;
- esac
- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH([included-gettext],
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
- else
- gt_revision_test_code=
- fi
- if test $gt_api_version -ge 2; then
- gt_expression_test_code=' + * ngettext ("", "", 0)'
- else
- gt_expression_test_code=
- fi
-
- AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
- [eval "$gt_func_gnugettext_libc=yes"],
- [eval "$gt_func_gnugettext_libc=no"])])
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- ifelse(gt_included_intl, yes, , [
- AM_ICONV_LINK
- ])
- dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
- dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
- dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
- dnl even if libiconv doesn't exist.
- AC_LIB_LINKFLAGS_BODY([intl])
- AC_CACHE_CHECK([for GNU gettext in libintl],
- [$gt_func_gnugettext_libintl],
- [gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
- [eval "$gt_func_gnugettext_libintl=yes"],
- [eval "$gt_func_gnugettext_libintl=no"])
- dnl Now see whether libintl exists and depends on libiconv.
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
- ])
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"])
- fi
-
- dnl If an already present or preinstalled GNU gettext() is found,
- dnl use it. But if this macro is used in GNU gettext, and GNU
- dnl gettext is already preinstalled in libintl, we update this
- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- CATOBJEXT=
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Some extra flags are needed during linking.
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE([ENABLE_NLS], [1],
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- AC_MSG_RESULT([$gt_source])
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE([HAVE_GETTEXT], [1],
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE([HAVE_DCGETTEXT], [1],
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST([BUILD_INCLUDED_LIBINTL])
- AC_SUBST([USE_INCLUDED_LIBINTL])
- AC_SUBST([CATOBJEXT])
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST([DATADIRNAME])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST([INSTOBJEXT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST([GENCAT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLOBJS=
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST([INTLOBJS])
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST([INTLLIBS])
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
- m4_divert_text([DEFAULTS], [gt_needs=])
- m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
- m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
- AC_DEFUN([gl_LOCK_EARLY], [])
diff --git a/sources/host-tools/sed-4.2.1/m4/gettimeofday.m4 b/sources/host-tools/sed-4.2.1/m4/gettimeofday.m4
deleted file mode 100644
index 0fec7d4..0000000
--- a/sources/host-tools/sed-4.2.1/m4/gettimeofday.m4
+++ /dev/null
@@ -1,101 +0,0 @@
-# serial 12
-
-# Copyright (C) 2001-2003, 2005, 2007, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-
-AC_DEFUN([gl_FUNC_GETTIMEOFDAY],
-[
- AC_REQUIRE([AC_C_RESTRICT])
- AC_REQUIRE([gl_HEADER_SYS_TIME_H])
- AC_CHECK_FUNCS_ONCE([gettimeofday])
-
- AC_CACHE_CHECK([for gettimeofday with POSIX signature],
- [gl_cv_func_gettimeofday_posix_signature],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <sys/time.h>
- struct timeval c;
- ]],
- [[
- int (*f) (struct timeval *restrict, void *restrict) = gettimeofday;
- int x = f (&c, 0);
- return !(x | c.tv_sec | c.tv_usec);
- ]])],
- [gl_cv_func_gettimeofday_posix_signature=yes],
- [gl_cv_func_gettimeofday_posix_signature=no])])
-
- gl_FUNC_GETTIMEOFDAY_CLOBBER
-
- if test $gl_cv_func_gettimeofday_posix_signature != yes; then
- REPLACE_GETTIMEOFDAY=1
- SYS_TIME_H=sys/time.h
- if test $gl_cv_func_gettimeofday_clobber != yes; then
- AC_LIBOBJ([gettimeofday])
- gl_PREREQ_GETTIMEOFDAY
- fi
- fi
-])
-
-
-dnl See if gettimeofday clobbers the static buffer that localtime uses
-dnl for its return value. The gettimeofday function from Mac OS X 10.0.4
-dnl (i.e., Darwin 1.3.7) has this problem.
-dnl
-dnl If it does, then arrange to use gettimeofday and localtime only via
-dnl the wrapper functions that work around the problem.
-
-AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
-[
- AC_REQUIRE([gl_HEADER_SYS_TIME_H])
-
- AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
- [gl_cv_func_gettimeofday_clobber],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <string.h>
- #include <sys/time.h>
- #include <time.h>
- #include <stdlib.h>
- ]],
- [[
- time_t t = 0;
- struct tm *lt;
- struct tm saved_lt;
- struct timeval tv;
- lt = localtime (&t);
- saved_lt = *lt;
- gettimeofday (&tv, NULL);
- return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
- ]])],
- [gl_cv_func_gettimeofday_clobber=no],
- [gl_cv_func_gettimeofday_clobber=yes],
- dnl When crosscompiling, assume it is broken.
- [gl_cv_func_gettimeofday_clobber=yes])])
-
- if test $gl_cv_func_gettimeofday_clobber = yes; then
- REPLACE_GETTIMEOFDAY=1
- SYS_TIME_H=sys/time.h
- gl_GETTIMEOFDAY_REPLACE_LOCALTIME
- AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
- [Define if gettimeofday clobbers the localtime buffer.])
- fi
-])
-
-AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
- AC_LIBOBJ([gettimeofday])
- gl_PREREQ_GETTIMEOFDAY
- AC_DEFINE([gmtime], [rpl_gmtime],
- [Define to rpl_gmtime if the replacement function should be used.])
- AC_DEFINE([localtime], [rpl_localtime],
- [Define to rpl_localtime if the replacement function should be used.])
-])
-
-# Prerequisites of lib/gettimeofday.c.
-AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
- AC_CHECK_HEADERS([sys/timeb.h])
- AC_CHECK_FUNCS([_ftime])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/glibc21.m4 b/sources/host-tools/sed-4.2.1/m4/glibc21.m4
deleted file mode 100644
index 93fbf47..0000000
--- a/sources/host-tools/sed-4.2.1/m4/glibc21.m4
+++ /dev/null
@@ -1,30 +0,0 @@
-# glibc21.m4 serial 4
-dnl Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Test for the GNU C Library, version 2.1 or newer.
-# From Bruno Haible.
-
-AC_DEFUN([gl_GLIBC21],
- [
- AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer],
- [ac_cv_gnu_library_2_1],
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
- ],
- [ac_cv_gnu_library_2_1=yes],
- [ac_cv_gnu_library_2_1=no])
- ]
- )
- AC_SUBST([GLIBC21])
- GLIBC21="$ac_cv_gnu_library_2_1"
- ]
-)
diff --git a/sources/host-tools/sed-4.2.1/m4/gnulib-common.m4 b/sources/host-tools/sed-4.2.1/m4/gnulib-common.m4
deleted file mode 100644
index c8fda20..0000000
--- a/sources/host-tools/sed-4.2.1/m4/gnulib-common.m4
+++ /dev/null
@@ -1,124 +0,0 @@
-# gnulib-common.m4 serial 11
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# gl_COMMON
-# is expanded unconditionally through gnulib-tool magic.
-AC_DEFUN([gl_COMMON], [
- dnl Use AC_REQUIRE here, so that the code is expanded once only.
- AC_REQUIRE([gl_00GNULIB])
- AC_REQUIRE([gl_COMMON_BODY])
-])
-AC_DEFUN([gl_COMMON_BODY], [
- AH_VERBATIM([isoc99_inline],
-[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
- the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
- earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
- __APPLE__ && __MACH__ test for MacOS X.
- __APPLE_CC__ tests for the Apple compiler and its version.
- __STDC_VERSION__ tests for the C99 mode. */
-#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
-# define __GNUC_STDC_INLINE__ 1
-#endif])
- AH_VERBATIM([unused_parameter],
-[/* Define as a marker that can be attached to function parameter declarations
- for parameters that are not used. This helps to reduce warnings, such as
- from GCC -Wunused-parameter. */
-#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
-#else
-# define _UNUSED_PARAMETER_
-#endif
-])
-])
-
-# gl_MODULE_INDICATOR([modulename])
-# defines a C macro indicating the presence of the given module.
-AC_DEFUN([gl_MODULE_INDICATOR],
-[
- AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
- [Define to 1 when using the gnulib module ]$1[.])
-])
-
-# m4_foreach_w
-# is a backport of autoconf-2.59c's m4_foreach_w.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifndef([m4_foreach_w],
- [m4_define([m4_foreach_w],
- [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
-# AC_PROG_MKDIR_P
-# is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifdef([AC_PROG_MKDIR_P], [], [
- AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
- [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
- MKDIR_P='$(mkdir_p)'
- AC_SUBST([MKDIR_P])])])
-
-# AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-AC_DEFUN([AC_C_RESTRICT],
-[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
- [ac_cv_c_restrict=no
- # The order here caters to the fact that C++ does not require restrict.
- for ac_kw in __restrict __restrict__ _Restrict restrict; do
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[typedef int * int_ptr;
- int foo (int_ptr $ac_kw ip) {
- return ip[0];
- }]],
- [[int s[1];
- int * $ac_kw t = s;
- t[0] = 0;
- return foo(t)]])],
- [ac_cv_c_restrict=$ac_kw])
- test "$ac_cv_c_restrict" != no && break
- done
- ])
- AH_VERBATIM([restrict],
-[/* Define to the equivalent of the C99 'restrict' keyword, or to
- nothing if this is not supported. Do not define if restrict is
- supported directly. */
-#undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
- though the corresponding Sun C compiler does, which causes
- "#define restrict _Restrict" in the previous line. Perhaps some future
- version of Sun C++ will work with _Restrict; if so, it'll probably
- define __RESTRICT, just as Sun C does. */
-#if defined __SUNPRO_CC && !defined __RESTRICT
-# define _Restrict
-#endif])
- case $ac_cv_c_restrict in
- restrict) ;;
- no) AC_DEFINE([restrict], []) ;;
- *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
- esac
-])
-
-# gl_BIGENDIAN
-# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
-# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some
-# macros invoke AC_C_BIGENDIAN with arguments.
-AC_DEFUN([gl_BIGENDIAN],
-[
- AC_C_BIGENDIAN
-])
-
-# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
-# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
-# output a spurious "(cached)" mark in the midst of other configure output.
-# This macro should be used instead of AC_CACHE_VAL when it is not surrounded
-# by an AC_MSG_CHECKING/AC_MSG_RESULT pair.
-AC_DEFUN([gl_CACHE_VAL_SILENT],
-[
- saved_as_echo_n="$as_echo_n"
- as_echo_n=':'
- AC_CACHE_VAL([$1], [$2])
- as_echo_n="$saved_as_echo_n"
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/gnulib-comp.m4 b/sources/host-tools/sed-4.2.1/m4/gnulib-comp.m4
deleted file mode 100644
index 13c6924..0000000
--- a/sources/host-tools/sed-4.2.1/m4/gnulib-comp.m4
+++ /dev/null
@@ -1,448 +0,0 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
-#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
-#
-# Generated by gnulib-tool.
-#
-# This file represents the compiled summary of the specification in
-# gnulib-cache.m4. It lists the computed macro invocations that need
-# to be invoked from configure.ac.
-# In projects using CVS, this file can be treated like other built files.
-
-
-# This macro should be invoked from ./configure.ac, in the section
-# "Checks for programs", right after AC_PROG_CC, and certainly before
-# any checks for libraries, header files, types and library functions.
-AC_DEFUN([gl_EARLY],
-[
- m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace
- m4_pattern_allow([^gl_ES$])dnl a valid locale name
- m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
- m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
- AC_REQUIRE([AC_PROG_RANLIB])
- AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-])
-
-# This macro should be invoked from ./configure.ac, in the section
-# "Check for header files, types and library functions".
-AC_DEFUN([gl_INIT],
-[
- AM_CONDITIONAL([GL_COND_LIBTOOL], [false])
- gl_cond_libtool=false
- gl_libdeps=
- gl_ltlibdeps=
- m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
- m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
- m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
- m4_pushdef([gl_LIBSOURCES_LIST], [])
- m4_pushdef([gl_LIBSOURCES_DIR], [])
- gl_COMMON
- gl_source_base='lib'
- gl_FUNC_ACL
- gl_FUNC_ALLOCA
- gl_FUNC_BTOWC
- gl_WCHAR_MODULE_INDICATOR([btowc])
- gl_DIRNAME
- gl_DOUBLE_SLASH_ROOT
- gl_HEADER_ERRNO_H
- gl_ERROR
- m4_ifdef([AM_XGETTEXT_OPTION],
- [AM_XGETTEXT_OPTION([--flag=error:3:c-format])
- AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
- gl_EXITFAIL
- gl_FUNC_GETDELIM
- gl_STDIO_MODULE_INDICATOR([getdelim])
- gl_FUNC_GETLINE
- gl_STDIO_MODULE_INDICATOR([getline])
- gl_GETOPT
- gl_FUNC_GETPAGESIZE
- gl_UNISTD_MODULE_INDICATOR([getpagesize])
- dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac.
- AM_GNU_GETTEXT_VERSION([0.17])
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- gl_FUNC_GETTIMEOFDAY
- gl_INLINE
- gl_LOCALCHARSET
- LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
- AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
- gl_FUNC_LSTAT
- gl_SYS_STAT_MODULE_INDICATOR([lstat])
- AC_FUNC_MALLOC
- AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.])
- gl_FUNC_MALLOC_POSIX
- gl_STDLIB_MODULE_INDICATOR([malloc-posix])
- gl_FUNC_MBRLEN
- gl_WCHAR_MODULE_INDICATOR([mbrlen])
- gl_FUNC_MBRTOWC
- gl_WCHAR_MODULE_INDICATOR([mbrtowc])
- gl_FUNC_MBSINIT
- gl_WCHAR_MODULE_INDICATOR([mbsinit])
- gl_FUNC_MEMCHR
- gl_STRING_MODULE_INDICATOR([memchr])
- gl_FUNC_MKSTEMP
- gl_STDLIB_MODULE_INDICATOR([mkstemp])
- gl_MULTIARCH
- AC_FUNC_OBSTACK
- dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]).
- gl_PATHMAX
- gl_QUOTE
- gl_QUOTEARG
- gl_FUNC_REALLOC_POSIX
- gl_STDLIB_MODULE_INDICATOR([realloc-posix])
- gl_REGEX
- gl_FUNC_RENAME
- gl_HEADERS_SELINUX_SELINUX_H
- gl_HEADERS_SELINUX_CONTEXT_H
- AC_REQUIRE([AC_C_INLINE])
- gt_TYPE_SSIZE_T
- AM_STDBOOL_H
- gl_STDINT_H
- gl_STDIO_H
- gl_STDLIB_H
- gl_FUNC_STRERROR
- gl_STRING_MODULE_INDICATOR([strerror])
- gl_HEADER_STRING_H
- gl_FUNC_STRNDUP
- gl_STRING_MODULE_INDICATOR([strndup])
- gl_FUNC_STRNLEN
- gl_STRING_MODULE_INDICATOR([strnlen])
- gl_FUNC_STRVERSCMP
- gl_STRING_MODULE_INDICATOR([strverscmp])
- gl_HEADER_SYS_STAT_H
- AC_PROG_MKDIR_P
- gl_HEADER_SYS_TIME_H
- AC_PROG_MKDIR_P
- gl_FUNC_GEN_TEMPNAME
- gl_UNISTD_H
- gl_FUNC_GLIBC_UNLOCKED_IO
- gl_WCHAR_H
- gl_FUNC_WCRTOMB
- gl_WCHAR_MODULE_INDICATOR([wcrtomb])
- gl_FUNC_WCTOB
- gl_WCHAR_MODULE_INDICATOR([wctob])
- gl_WCTYPE_H
- gl_XALLOC
- gl_XSTRNDUP
- m4_ifval(gl_LIBSOURCES_LIST, [
- m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
- for gl_file in ]gl_LIBSOURCES_LIST[ ; do
- if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then
- echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2
- exit 1
- fi
- done])dnl
- m4_if(m4_sysval, [0], [],
- [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
- ])
- m4_popdef([gl_LIBSOURCES_DIR])
- m4_popdef([gl_LIBSOURCES_LIST])
- m4_popdef([AC_LIBSOURCES])
- m4_popdef([AC_REPLACE_FUNCS])
- m4_popdef([AC_LIBOBJ])
- AC_CONFIG_COMMANDS_PRE([
- gl_libobjs=
- gl_ltlibobjs=
- if test -n "$gl_LIBOBJS"; then
- # Remove the extension.
- sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
- gl_libobjs="$gl_libobjs $i.$ac_objext"
- gl_ltlibobjs="$gl_ltlibobjs $i.lo"
- done
- fi
- AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
- AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
- ])
- gltests_libdeps=
- gltests_ltlibdeps=
- m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ]))
- m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS]))
- m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES]))
- m4_pushdef([gltests_LIBSOURCES_LIST], [])
- m4_pushdef([gltests_LIBSOURCES_DIR], [])
- gl_COMMON
- gl_source_base='tests'
- m4_ifval(gltests_LIBSOURCES_LIST, [
- m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
- for gl_file in ]gltests_LIBSOURCES_LIST[ ; do
- if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then
- echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2
- exit 1
- fi
- done])dnl
- m4_if(m4_sysval, [0], [],
- [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
- ])
- m4_popdef([gltests_LIBSOURCES_DIR])
- m4_popdef([gltests_LIBSOURCES_LIST])
- m4_popdef([AC_LIBSOURCES])
- m4_popdef([AC_REPLACE_FUNCS])
- m4_popdef([AC_LIBOBJ])
- AC_CONFIG_COMMANDS_PRE([
- gltests_libobjs=
- gltests_ltlibobjs=
- if test -n "$gltests_LIBOBJS"; then
- # Remove the extension.
- sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
- gltests_libobjs="$gltests_libobjs $i.$ac_objext"
- gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
- done
- fi
- AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
- AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
- ])
- LIBSED_LIBDEPS="$gl_libdeps"
- AC_SUBST([LIBSED_LIBDEPS])
- LIBSED_LTLIBDEPS="$gl_ltlibdeps"
- AC_SUBST([LIBSED_LTLIBDEPS])
-])
-
-# Like AC_LIBOBJ, except that the module name goes
-# into gl_LIBOBJS instead of into LIBOBJS.
-AC_DEFUN([gl_LIBOBJ], [
- AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl
- gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext"
-])
-
-# Like AC_REPLACE_FUNCS, except that the module name goes
-# into gl_LIBOBJS instead of into LIBOBJS.
-AC_DEFUN([gl_REPLACE_FUNCS], [
- m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
- AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)])
-])
-
-# Like AC_LIBSOURCES, except the directory where the source file is
-# expected is derived from the gnulib-tool parameterization,
-# and alloca is special cased (for the alloca-opt module).
-# We could also entirely rely on EXTRA_lib..._SOURCES.
-AC_DEFUN([gl_LIBSOURCES], [
- m4_foreach([_gl_NAME], [$1], [
- m4_if(_gl_NAME, [alloca.c], [], [
- m4_define([gl_LIBSOURCES_DIR], [lib])
- m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ])
- ])
- ])
-])
-
-# Like AC_LIBOBJ, except that the module name goes
-# into gltests_LIBOBJS instead of into LIBOBJS.
-AC_DEFUN([gltests_LIBOBJ], [
- AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl
- gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext"
-])
-
-# Like AC_REPLACE_FUNCS, except that the module name goes
-# into gltests_LIBOBJS instead of into LIBOBJS.
-AC_DEFUN([gltests_REPLACE_FUNCS], [
- m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
- AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)])
-])
-
-# Like AC_LIBSOURCES, except the directory where the source file is
-# expected is derived from the gnulib-tool parameterization,
-# and alloca is special cased (for the alloca-opt module).
-# We could also entirely rely on EXTRA_lib..._SOURCES.
-AC_DEFUN([gltests_LIBSOURCES], [
- m4_foreach([_gl_NAME], [$1], [
- m4_if(_gl_NAME, [alloca.c], [], [
- m4_define([gltests_LIBSOURCES_DIR], [tests])
- m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ])
- ])
- ])
-])
-
-# This macro records the list of files which have been installed by
-# gnulib-tool and may be removed by future gnulib-tool invocations.
-AC_DEFUN([gl_FILE_LIST], [
- build-aux/config.rpath
- build-aux/link-warning.h
- lib/acl-internal.h
- lib/acl.h
- lib/acl_entries.c
- lib/alloca.c
- lib/alloca.in.h
- lib/basename.c
- lib/btowc.c
- lib/c-ctype.c
- lib/c-ctype.h
- lib/config.charset
- lib/copy-acl.c
- lib/dirname.c
- lib/dirname.h
- lib/errno.in.h
- lib/error.c
- lib/error.h
- lib/exitfail.c
- lib/exitfail.h
- lib/file-has-acl.c
- lib/getdelim.c
- lib/getline.c
- lib/getopt.c
- lib/getopt.in.h
- lib/getopt1.c
- lib/getopt_int.h
- lib/getpagesize.c
- lib/gettext.h
- lib/gettimeofday.c
- lib/intprops.h
- lib/localcharset.c
- lib/localcharset.h
- lib/lstat.c
- lib/malloc.c
- lib/mbrlen.c
- lib/mbrtowc.c
- lib/mbsinit.c
- lib/memchr.c
- lib/memchr.valgrind
- lib/mkstemp.c
- lib/obstack.c
- lib/obstack.h
- lib/pathmax.h
- lib/quote.c
- lib/quote.h
- lib/quotearg.c
- lib/quotearg.h
- lib/realloc.c
- lib/ref-add.sin
- lib/ref-del.sin
- lib/regcomp.c
- lib/regex.c
- lib/regex.h
- lib/regex_internal.c
- lib/regex_internal.h
- lib/regexec.c
- lib/rename.c
- lib/se-context.in.h
- lib/se-selinux.in.h
- lib/set-mode-acl.c
- lib/stat-macros.h
- lib/stdbool.in.h
- lib/stdint.in.h
- lib/stdio-write.c
- lib/stdio.in.h
- lib/stdlib.in.h
- lib/streq.h
- lib/strerror.c
- lib/string.in.h
- lib/stripslash.c
- lib/strndup.c
- lib/strnlen.c
- lib/strverscmp.c
- lib/sys_stat.in.h
- lib/sys_time.in.h
- lib/tempname.c
- lib/tempname.h
- lib/unistd.in.h
- lib/unlocked-io.h
- lib/verify.h
- lib/wchar.in.h
- lib/wcrtomb.c
- lib/wctob.c
- lib/wctype.in.h
- lib/xalloc-die.c
- lib/xalloc.h
- lib/xmalloc.c
- lib/xstrndup.c
- lib/xstrndup.h
- m4/00gnulib.m4
- m4/acl.m4
- m4/alloca.m4
- m4/btowc.m4
- m4/codeset.m4
- m4/dirname.m4
- m4/dos.m4
- m4/double-slash-root.m4
- m4/errno_h.m4
- m4/error.m4
- m4/exitfail.m4
- m4/extensions.m4
- m4/getdelim.m4
- m4/getline.m4
- m4/getopt.m4
- m4/getpagesize.m4
- m4/gettext.m4
- m4/gettimeofday.m4
- m4/glibc2.m4
- m4/glibc21.m4
- m4/gnulib-common.m4
- m4/iconv.m4
- m4/include_next.m4
- m4/inline.m4
- m4/intdiv0.m4
- m4/intl.m4
- m4/intldir.m4
- m4/intlmacosx.m4
- m4/intmax.m4
- m4/inttypes-pri.m4
- m4/inttypes_h.m4
- m4/lcmessage.m4
- m4/lib-ld.m4
- m4/lib-link.m4
- m4/lib-prefix.m4
- m4/localcharset.m4
- m4/locale-fr.m4
- m4/locale-ja.m4
- m4/locale-zh.m4
- m4/lock.m4
- m4/longlong.m4
- m4/lstat.m4
- m4/malloc.m4
- m4/mbrlen.m4
- m4/mbrtowc.m4
- m4/mbsinit.m4
- m4/mbstate_t.m4
- m4/memchr.m4
- m4/mkstemp.m4
- m4/mmap-anon.m4
- m4/multiarch.m4
- m4/nls.m4
- m4/pathmax.m4
- m4/po.m4
- m4/printf-posix.m4
- m4/progtest.m4
- m4/quote.m4
- m4/quotearg.m4
- m4/realloc.m4
- m4/regex.m4
- m4/rename.m4
- m4/selinux-context-h.m4
- m4/selinux-selinux-h.m4
- m4/size_max.m4
- m4/ssize_t.m4
- m4/stdbool.m4
- m4/stdint.m4
- m4/stdint_h.m4
- m4/stdio_h.m4
- m4/stdlib_h.m4
- m4/strerror.m4
- m4/string_h.m4
- m4/strndup.m4
- m4/strnlen.m4
- m4/strverscmp.m4
- m4/sys_stat_h.m4
- m4/sys_time_h.m4
- m4/tempname.m4
- m4/threadlib.m4
- m4/uintmax_t.m4
- m4/unistd_h.m4
- m4/unlocked-io.m4
- m4/visibility.m4
- m4/wchar.m4
- m4/wchar_t.m4
- m4/wcrtomb.m4
- m4/wctob.m4
- m4/wctype.m4
- m4/wint_t.m4
- m4/xalloc.m4
- m4/xsize.m4
- m4/xstrndup.m4
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/iconv.m4 b/sources/host-tools/sed-4.2.1/m4/iconv.m4
deleted file mode 100644
index 3cc6268..0000000
--- a/sources/host-tools/sed-4.2.1/m4/iconv.m4
+++ /dev/null
@@ -1,180 +0,0 @@
-# iconv.m4 serial AM7 (gettext-0.18)
-dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
- AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- [am_cv_func_iconv=yes])
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- [am_cv_lib_iconv=yes]
- [am_cv_func_iconv=yes])
- LIBS="$am_save_LIBS"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
- dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- AC_TRY_RUN([
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
- return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
- [case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac])
- LIBS="$am_save_LIBS"
- ])
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
- AC_DEFINE([HAVE_ICONV], [1],
- [Define if you have the iconv() function and it works.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST([LIBICONV])
- AC_SUBST([LTLIBICONV])
-])
-
-AC_DEFUN([AM_ICONV],
-[
- AM_ICONV_LINK
- if test "$am_cv_func_iconv" = yes; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL([am_cv_proto_iconv], [
- AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([${ac_t:-
- }$am_cv_proto_iconv])
- AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
- [Define as const if the declaration of iconv() needs const.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/include_next.m4 b/sources/host-tools/sed-4.2.1/m4/include_next.m4
deleted file mode 100644
index 5e22ded..0000000
--- a/sources/host-tools/sed-4.2.1/m4/include_next.m4
+++ /dev/null
@@ -1,187 +0,0 @@
-# include_next.m4 serial 14
-dnl Copyright (C) 2006-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert and Derek Price.
-
-dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER.
-dnl
-dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to
-dnl 'include' otherwise.
-dnl
-dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler
-dnl supports it in the special case that it is the first include directive in
-dnl the given file, or to 'include' otherwise.
-dnl
-dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next,
-dnl so as to avoid GCC warnings when the gcc option -pedantic is used.
-dnl '#pragma GCC system_header' has the same effect as if the file was found
-dnl through the include search path specified with '-isystem' options (as
-dnl opposed to the search path specified with '-I' options). Namely, gcc
-dnl does not warn about some things, and on some systems (Solaris and Interix)
-dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side
-dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead
-dnl of plain '__STDC__'.
-
-AC_DEFUN([gl_INCLUDE_NEXT],
-[
- AC_LANG_PREPROC_REQUIRE()
- AC_CACHE_CHECK([whether the preprocessor supports include_next],
- [gl_cv_have_include_next],
- [rm -rf conftestd1a conftestd1b conftestd2
- mkdir conftestd1a conftestd1b conftestd2
- dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on
- dnl AIX 6.1 support include_next when used as first preprocessor directive
- dnl in a file, but not when preceded by another include directive. Check
- dnl for this bug by including <stdio.h>.
- dnl Additionally, with this same compiler, include_next is a no-op when
- dnl used in a header file that was included by specifying its absolute
- dnl file name. Despite these two bugs, include_next is used in the
- dnl compiler's <math.h>. By virtue of the second bug, we need to use
- dnl include_next as well in this case.
- cat <<EOF > conftestd1a/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
- cat <<EOF > conftestd1b/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include <stdio.h>
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
- cat <<EOF > conftestd2/conftest.h
-#ifndef DEFINED_IN_CONFTESTD1
-#error "include_next test doesn't work"
-#endif
-#define DEFINED_IN_CONFTESTD2
-EOF
- gl_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
- [gl_cv_have_include_next=yes],
- [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
- [gl_cv_have_include_next=buggy],
- [gl_cv_have_include_next=no])
- ])
- CPPFLAGS="$gl_save_CPPFLAGS"
- rm -rf conftestd1a conftestd1b conftestd2
- ])
- PRAGMA_SYSTEM_HEADER=
- if test $gl_cv_have_include_next = yes; then
- INCLUDE_NEXT=include_next
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
- if test -n "$GCC"; then
- PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
- fi
- else
- if test $gl_cv_have_include_next = buggy; then
- INCLUDE_NEXT=include
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
- else
- INCLUDE_NEXT=include
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include
- fi
- fi
- AC_SUBST([INCLUDE_NEXT])
- AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE])
- AC_SUBST([PRAGMA_SYSTEM_HEADER])
-])
-
-# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
-# ------------------------------------------
-# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be
-# '<foo.h>'; otherwise define it to be
-# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
-# Also, if #include_next works as first preprocessing directive in a file,
-# define NEXT_AS_FIRST_DIRECTIVE_FOO_H to be '<foo.h>'; otherwise define it to
-# be
-# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
-# That way, a header file with the following line:
-# #@INCLUDE_NEXT@ @NEXT_FOO_H@
-# or
-# #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@
-# behaves (after sed substitution) as if it contained
-# #include_next <foo.h>
-# even if the compiler does not support include_next.
-# The three "///" are to pacify Sun C 5.8, which otherwise would say
-# "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
-# Note: This macro assumes that the header file is not empty after
-# preprocessing, i.e. it does not only define preprocessor macros but also
-# provides some type/enum definitions or function/variable declarations.
-AC_DEFUN([gl_CHECK_NEXT_HEADERS],
-[
- AC_REQUIRE([gl_INCLUDE_NEXT])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_HEADERS_ONCE([$1])
-
- m4_foreach_w([gl_HEADER_NAME], [$1],
- [AS_VAR_PUSHDEF([gl_next_header],
- [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
- if test $gl_cv_have_include_next = yes; then
- AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
- else
- AC_CACHE_CHECK(
- [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
- m4_defn([gl_next_header]),
- [AS_VAR_PUSHDEF([gl_header_exists],
- [ac_cv_header_]m4_defn([gl_HEADER_NAME]))
- if test AS_VAR_GET(gl_header_exists) = yes; then
- AC_LANG_CONFTEST(
- [AC_LANG_SOURCE(
- [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
- )])
- dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
- dnl that contain only a #include of other header files and no
- dnl non-comment tokens of their own. This leads to a failure to
- dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
- dnl and others. The workaround is to force preservation of comments
- dnl through option -C. This ensures all necessary #line directives
- dnl are present. GCC supports option -C as well.
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- dnl eval is necessary to expand gl_absname_cpp.
- dnl Ultrix and Pyramid sh refuse to redirect output of eval,
- dnl so use subshell.
- AS_VAR_SET([gl_next_header],
- ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
- sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{
- s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'])
- else
- AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
- fi
- AS_VAR_POPDEF([gl_header_exists])])
- fi
- AC_SUBST(
- AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])),
- [AS_VAR_GET([gl_next_header])])
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'gl_HEADER_NAME'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=AS_VAR_GET([gl_next_header])
- fi
- AC_SUBST(
- AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])),
- [$gl_next_as_first_directive])
- AS_VAR_POPDEF([gl_next_header])])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/inline.m4 b/sources/host-tools/sed-4.2.1/m4/inline.m4
deleted file mode 100644
index cee5109..0000000
--- a/sources/host-tools/sed-4.2.1/m4/inline.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-# inline.m4 serial 4
-dnl Copyright (C) 2006, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Test for the 'inline' keyword or equivalent.
-dnl Define 'inline' to a supported equivalent, or to nothing if not supported,
-dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an
-dnl equivalent is effectively supported, i.e. if the compiler is likely to
-dnl drop unused 'static inline' functions.
-AC_DEFUN([gl_INLINE],
-[
- AC_REQUIRE([AC_C_INLINE])
- AC_CACHE_CHECK([whether the compiler generally respects inline],
- [gl_cv_c_inline_effective],
- [if test $ac_cv_c_inline = no; then
- gl_cv_c_inline_effective=no
- else
- dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is
- dnl specified.
- dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result
- dnl depends on optimization flags, which can be in CFLAGS.
- dnl (AC_EGREP_CPP looks only at the CPPFLAGS.)
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[]],
- [[#ifdef __NO_INLINE__
- #error "inline is not effective"
- #endif]])],
- [gl_cv_c_inline_effective=yes],
- [gl_cv_c_inline_effective=no])
- fi
- ])
- if test $gl_cv_c_inline_effective = yes; then
- AC_DEFINE([HAVE_INLINE], [1],
- [Define to 1 if the compiler supports one of the keywords
- 'inline', '__inline__', '__inline' and effectively inlines
- functions marked as such.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/intlmacosx.m4 b/sources/host-tools/sed-4.2.1/m4/intlmacosx.m4
deleted file mode 100644
index c24837c..0000000
--- a/sources/host-tools/sed-4.2.1/m4/intlmacosx.m4
+++ /dev/null
@@ -1,51 +0,0 @@
-# intlmacosx.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2004-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Checks for special options needed on MacOS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
- dnl Check for API introduced in MacOS X 10.2.
- AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
- [gt_cv_func_CFPreferencesCopyAppValue],
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
- [CFPreferencesCopyAppValue(NULL, NULL)],
- [gt_cv_func_CFPreferencesCopyAppValue=yes],
- [gt_cv_func_CFPreferencesCopyAppValue=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
- AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
- [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
- fi
- dnl Check for API introduced in MacOS X 10.3.
- AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
- [gt_cv_func_CFLocaleCopyCurrent=yes],
- [gt_cv_func_CFLocaleCopyCurrent=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
- [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
- fi
- INTL_MACOSX_LIBS=
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
- fi
- AC_SUBST([INTL_MACOSX_LIBS])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/lib-ld.m4 b/sources/host-tools/sed-4.2.1/m4/lib-ld.m4
deleted file mode 100644
index e4863f2..0000000
--- a/sources/host-tools/sed-4.2.1/m4/lib-ld.m4
+++ /dev/null
@@ -1,110 +0,0 @@
-# lib-ld.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]* | [A-Za-z]:[\\/]*)]
- [re_direlt='/[^/][^/]*/\.\./']
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT([$LD])
-else
- AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/lib-link.m4 b/sources/host-tools/sed-4.2.1/m4/lib-link.m4
deleted file mode 100644
index 2f8b7ff..0000000
--- a/sources/host-tools/sed-4.2.1/m4/lib-link.m4
+++ /dev/null
@@ -1,764 +0,0 @@
-# lib-link.m4 serial 20 (gettext-0.18)
-dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
- ac_cv_lib[]Name[]_libs="$LIB[]NAME"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- popdef([NAME])
- popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
- dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4],
- [ac_cv_lib[]Name=yes],
- [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- LIB[]NAME[]_PREFIX=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- popdef([NAME])
- popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl acl_libext,
-dnl acl_shlibext,
-dnl acl_hardcode_libdir_flag_spec,
-dnl acl_hardcode_libdir_separator,
-dnl acl_hardcode_direct,
-dnl acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
- dnl Tell automake >= 1.10 to complain if config.rpath is missing.
- m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE([rpath],
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- define([acl_frompackage_]NAME, [$2])
- popdef([NAME])
- pushdef([PACK],[$2])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
- popdef([PACKUP])
- popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
- dnl Autoconf >= 2.61 supports dots in --with options.
- pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_ARG_WITH(P_A_C_K[-prefix],
-[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
- --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- LIB[]NAME[]_PREFIX=
- dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
- dnl computed. So it has to be reset here.
- HAVE_LIB[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
- dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- dnl The same code as in the loop below:
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$acl_hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
- popdef([P_A_C_K])
- popdef([PACKLIBS])
- popdef([PACKUP])
- popdef([PACK])
- popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
- AC_REQUIRE([AC_LIB_RPATH])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- $1=
- if test "$enable_rpath" != no; then
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode directories into the resulting
- dnl binary.
- rpathdirs=
- next=
- for opt in $2; do
- if test -n "$next"; then
- dir="$next"
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next=
- else
- case $opt in
- -L) next=yes ;;
- -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next= ;;
- *) next= ;;
- esac
- fi
- done
- if test "X$rpathdirs" != "X"; then
- if test -n ""$3""; then
- dnl libtool is used for linking. Use -R options.
- for dir in $rpathdirs; do
- $1="${$1}${$1:+ }-R$dir"
- done
- else
- dnl The linker is used for linking directly.
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user
- dnl must pass all path elements in one option.
- alldirs=
- for dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="$flag"
- else
- dnl The -rpath options are cumulative.
- for dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="${$1}${$1:+ }$flag"
- done
- fi
- fi
- fi
- fi
- fi
- AC_SUBST([$1])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/lib-prefix.m4 b/sources/host-tools/sed-4.2.1/m4/lib-prefix.m4
deleted file mode 100644
index 4b7ee33..0000000
--- a/sources/host-tools/sed-4.2.1/m4/lib-prefix.m4
+++ /dev/null
@@ -1,224 +0,0 @@
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
- dnl There is no formal standard regarding lib and lib64.
- dnl On glibc systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
- dnl the compiler's default mode by looking at the compiler's library search
- dnl path. If at least one of its elements ends in /lib64 or points to a
- dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
- dnl Otherwise we use the default, namely "lib".
- dnl On Solaris systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
- dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
- AC_REQUIRE([AC_CANONICAL_HOST])
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
- dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
- dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
- dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
- dnl symlink is missing, so we set acl_libdirstem2 too.
- AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
- [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
- ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
- ])
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
- esac
- fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/localcharset.m4 b/sources/host-tools/sed-4.2.1/m4/localcharset.m4
deleted file mode 100644
index e960104..0000000
--- a/sources/host-tools/sed-4.2.1/m4/localcharset.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# localcharset.m4 serial 6
-dnl Copyright (C) 2002, 2004, 2006, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_LOCALCHARSET],
-[
- dnl Prerequisites of lib/localcharset.c.
- AC_REQUIRE([AM_LANGINFO_CODESET])
- AC_CHECK_DECLS_ONCE([getc_unlocked])
-
- dnl Prerequisites of the lib/Makefile.am snippet.
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([gl_GLIBC21])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/locale-fr.m4 b/sources/host-tools/sed-4.2.1/m4/locale-fr.m4
deleted file mode 100644
index 653a5bc..0000000
--- a/sources/host-tools/sed-4.2.1/m4/locale-fr.m4
+++ /dev/null
@@ -1,185 +0,0 @@
-# locale-fr.m4 serial 11
-dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a french locale with traditional encoding.
-AC_DEFUN([gt_LOCALE_FR],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AM_LANGINFO_CODESET])
- AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
- AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
- return 0;
-}
-changequote([,])dnl
- ])])
- if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- fi
- rm -fr conftest*
- ])
- LOCALE_FR=$gt_cv_locale_fr
- AC_SUBST([LOCALE_FR])
-])
-
-dnl Determine the name of a french locale with UTF-8 encoding.
-AC_DEFUN([gt_LOCALE_FR_UTF8],
-[
- AC_REQUIRE([AM_LANGINFO_CODESET])
- AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [
- AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. */
-#if !(defined __BEOS__ || defined __HAIKU__)
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-# if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-# endif
-# ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-# endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
- return 1;
-#endif
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
- return 0;
-}
-changequote([,])dnl
- ])])
- if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
- else
- # None found.
- gt_cv_locale_fr_utf8=none
- fi
- fi
- fi
- fi
- rm -fr conftest*
- ])
- LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
- AC_SUBST([LOCALE_FR_UTF8])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/locale-ja.m4 b/sources/host-tools/sed-4.2.1/m4/locale-ja.m4
deleted file mode 100644
index 9360576..0000000
--- a/sources/host-tools/sed-4.2.1/m4/locale-ja.m4
+++ /dev/null
@@ -1,107 +0,0 @@
-# locale-ja.m4 serial 7
-dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a japanese locale with EUC-JP encoding.
-AC_DEFUN([gt_LOCALE_JA],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AM_LANGINFO_CODESET])
- AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
- AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- const char *p;
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
- /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
- on Cygwin 1.5.x. */
- if (MB_CUR_MAX == 1)
- return 1;
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- return 0;
-}
-changequote([,])dnl
- ])])
- if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the AIX locale name.
- if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC-JP
- else
- # Test for the HP-UX, OSF/1, NetBSD locale name.
- if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # Test for the IRIX, FreeBSD locale name.
- if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja_JP.EUC
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_ja=ja
- else
- # Special test for NetBSD 1.6.
- if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
- gt_cv_locale_ja=ja_JP.eucJP
- else
- # None found.
- gt_cv_locale_ja=none
- fi
- fi
- fi
- fi
- fi
- fi
- fi
- rm -fr conftest*
- ])
- LOCALE_JA=$gt_cv_locale_ja
- AC_SUBST([LOCALE_JA])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/locale-zh.m4 b/sources/host-tools/sed-4.2.1/m4/locale-zh.m4
deleted file mode 100644
index 36a5f1d..0000000
--- a/sources/host-tools/sed-4.2.1/m4/locale-zh.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# locale-zh.m4 serial 6
-dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Determine the name of a chinese locale with GB18030 encoding.
-AC_DEFUN([gt_LOCALE_ZH_CN],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AM_LANGINFO_CODESET])
- AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
- AC_LANG_CONFTEST([AC_LANG_SOURCE([
-changequote(,)dnl
-#include <locale.h>
-#include <stdlib.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main ()
-{
- const char *p;
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
-#endif
- /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
- for (p = buf; *p != '\0'; p++)
- if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
- return 1;
- /* Check whether a typical GB18030 multibyte sequence is recognized as a
- single wide character. This excludes the GB2312 and GBK encodings. */
- if (mblen ("\203\062\332\066", 5) != 4)
- return 1;
- return 0;
-}
-changequote([,])dnl
- ])])
- if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the locale name without encoding suffix.
- if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_zh_CN=zh_CN.GB18030
- else
- # None found.
- gt_cv_locale_zh_CN=none
- fi
- fi
- else
- # If there was a link error, due to mblen(), the system is so old that
- # it certainly doesn't have a chinese locale.
- gt_cv_locale_zh_CN=none
- fi
- rm -fr conftest*
- ])
- LOCALE_ZH_CN=$gt_cv_locale_zh_CN
- AC_SUBST([LOCALE_ZH_CN])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/longlong.m4 b/sources/host-tools/sed-4.2.1/m4/longlong.m4
deleted file mode 100644
index eedc8d5..0000000
--- a/sources/host-tools/sed-4.2.1/m4/longlong.m4
+++ /dev/null
@@ -1,106 +0,0 @@
-# longlong.m4 serial 14
-dnl Copyright (C) 1999-2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'long long int' exists but is only 32 bits large
-# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
-# defined. In this case you can treat 'long long int' like 'long int'.
-
-AC_DEFUN([AC_TYPE_LONG_LONG_INT],
-[
- AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
- [AC_LINK_IFELSE(
- [_AC_TYPE_LONG_LONG_SNIPPET],
- [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
- dnl If cross compiling, assume the bug isn't important, since
- dnl nobody cross compiles for this platform as far as we know.
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[@%:@include <limits.h>
- @%:@ifndef LLONG_MAX
- @%:@ define HALF \
- (1LL << (sizeof (long long int) * CHAR_BIT - 2))
- @%:@ define LLONG_MAX (HALF - 1 + HALF)
- @%:@endif]],
- [[long long int n = 1;
- int i;
- for (i = 0; ; i++)
- {
- long long int m = n << i;
- if (m >> i != n)
- return 1;
- if (LLONG_MAX / 2 < m)
- break;
- }
- return 0;]])],
- [ac_cv_type_long_long_int=yes],
- [ac_cv_type_long_long_int=no],
- [ac_cv_type_long_long_int=yes])],
- [ac_cv_type_long_long_int=no])])
- if test $ac_cv_type_long_long_int = yes; then
- AC_DEFINE([HAVE_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type `long long int'.])
- fi
-])
-
-# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'unsigned long long int' exists but is only 32 bits
-# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
-# will not be defined. In this case you can treat 'unsigned long long int'
-# like 'unsigned long int'.
-
-AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
-[
- AC_CACHE_CHECK([for unsigned long long int],
- [ac_cv_type_unsigned_long_long_int],
- [AC_LINK_IFELSE(
- [_AC_TYPE_LONG_LONG_SNIPPET],
- [ac_cv_type_unsigned_long_long_int=yes],
- [ac_cv_type_unsigned_long_long_int=no])])
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type `unsigned long long int'.])
- fi
-])
-
-# Expands to a C program that can be used to test for simultaneous support
-# of 'long long' and 'unsigned long long'. We don't want to say that
-# 'long long' is available if 'unsigned long long' is not, or vice versa,
-# because too many programs rely on the symmetry between signed and unsigned
-# integer types (excluding 'bool').
-AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
-[
- AC_LANG_PROGRAM(
- [[/* For now, do not test the preprocessor; as of 2007 there are too many
- implementations with broken preprocessors. Perhaps this can
- be revisited in 2012. In the meantime, code should not expect
- #if to work with literals wider than 32 bits. */
- /* Test literals. */
- long long int ll = 9223372036854775807ll;
- long long int nll = -9223372036854775807LL;
- unsigned long long int ull = 18446744073709551615ULL;
- /* Test constant expressions. */
- typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- ? 1 : -1)];
- typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
- int i = 63;]],
- [[/* Test availability of runtime routines for shift and division. */
- long long int llmax = 9223372036854775807ll;
- unsigned long long int ullmax = 18446744073709551615ull;
- return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll)
- | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
- | (ullmax / ull) | (ullmax % ull));]])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/lstat.m4 b/sources/host-tools/sed-4.2.1/m4/lstat.m4
deleted file mode 100644
index 74c78fe..0000000
--- a/sources/host-tools/sed-4.2.1/m4/lstat.m4
+++ /dev/null
@@ -1,26 +0,0 @@
-# serial 19
-
-# Copyright (C) 1997-2001, 2003-2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-
-AC_DEFUN([gl_FUNC_LSTAT],
-[
- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
- dnl If lstat does not exist, the replacement <sys/stat.h> does
- dnl "#define lstat stat", and lstat.c does not need to be compiled.
- AC_CHECK_FUNCS_ONCE([lstat])
- if test $ac_cv_func_lstat = yes; then
- AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
- dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ([lstat]).
- if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
- REPLACE_LSTAT=1
- fi
- # Prerequisites of lib/lstat.c.
- AC_REQUIRE([AC_C_INLINE])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/malloc.m4 b/sources/host-tools/sed-4.2.1/m4/malloc.m4
deleted file mode 100644
index 8070171..0000000
--- a/sources/host-tools/sed-4.2.1/m4/malloc.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-# malloc.m4 serial 9
-dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# gl_FUNC_MALLOC_POSIX
-# --------------------
-# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
-# fails), and replace malloc if it is not.
-AC_DEFUN([gl_FUNC_MALLOC_POSIX],
-[
- AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
- if test $gl_cv_func_malloc_posix = yes; then
- HAVE_MALLOC_POSIX=1
- AC_DEFINE([HAVE_MALLOC_POSIX], [1],
- [Define if the 'malloc' function is POSIX compliant.])
- else
- AC_LIBOBJ([malloc])
- HAVE_MALLOC_POSIX=0
- fi
- AC_SUBST([HAVE_MALLOC_POSIX])
-])
-
-# Test whether malloc, realloc, calloc are POSIX compliant,
-# Set gl_cv_func_malloc_posix to yes or no accordingly.
-AC_DEFUN([gl_CHECK_MALLOC_POSIX],
-[
- AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
- [gl_cv_func_malloc_posix],
- [
- dnl It is too dangerous to try to allocate a large amount of memory:
- dnl some systems go to their knees when you do that. So assume that
- dnl all Unix implementations of the function are POSIX compliant.
- AC_TRY_COMPILE([],
- [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- choke me
- #endif
- ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no])
- ])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mbrlen.m4 b/sources/host-tools/sed-4.2.1/m4/mbrlen.m4
deleted file mode 100644
index 5623ed5..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mbrlen.m4
+++ /dev/null
@@ -1,197 +0,0 @@
-# mbrlen.m4 serial 2
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_MBRLEN],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- AC_REQUIRE([gl_FUNC_MBRTOWC])
- AC_CHECK_FUNCS_ONCE([mbrlen])
- if test $ac_cv_func_mbrlen = no; then
- HAVE_MBRLEN=0
- else
- dnl Most bugs affecting the system's mbrtowc function also affect the
- dnl mbrlen function. So override mbrlen whenever mbrtowc is overridden.
- dnl We could also run the individual tests below; the results would be
- dnl the same.
- if test $REPLACE_MBRTOWC = 1; then
- REPLACE_MBRLEN=1
- fi
- fi
- if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([mbrlen])
- gl_PREREQ_MBRLEN
- fi
-])
-
-dnl Test whether mbrlen puts the state into non-initial state when parsing an
-dnl incomplete multibyte character.
-dnl Result is gl_cv_func_mbrlen_incomplete_state.
-
-AC_DEFUN([gl_MBRLEN_INCOMPLETE_STATE],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrlen handles incomplete characters],
- [gl_cv_func_mbrlen_incomplete_state],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrlen_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrlen_incomplete_state="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_JA != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrlen (input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_mbrlen_incomplete_state=yes],
- [gl_cv_func_mbrlen_incomplete_state=no],
- [])
- fi
- ])
-])
-
-dnl Test whether mbrlen, when parsing the end of a multibyte character,
-dnl correctly returns the number of bytes that were needed to complete the
-dnl character (not the total number of bytes of the multibyte character).
-dnl Result is gl_cv_func_mbrlen_retval.
-
-AC_DEFUN([gl_MBRLEN_RETVAL],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR_UTF8])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrlen has a correct return value],
- [gl_cv_func_mbrlen_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on HP-UX and Solaris.
- hpux* | solaris*) gl_cv_func_mbrlen_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrlen_retval="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris. */
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- char input[] = "B\303\274\303\237er"; /* "Büßer" */
- mbstate_t state;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrlen (input + 1, 1, &state) == (size_t)(-2))
- {
- input[1] = '\0';
- if (mbrlen (input + 2, 5, &state) != 1)
- return 1;
- }
- }
- /* This fails on HP-UX 11.11. */
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrlen (input + 1, 1, &state) == (size_t)(-2))
- {
- input[1] = '\0';
- if (mbrlen (input + 2, 5, &state) != 2)
- return 1;
- }
- }
- return 0;
-}],
- [gl_cv_func_mbrlen_retval=yes],
- [gl_cv_func_mbrlen_retval=no],
- [])
- fi
- ])
-])
-
-dnl Test whether mbrlen, when parsing a NUL character, correctly returns 0.
-dnl Result is gl_cv_func_mbrlen_nul_retval.
-
-AC_DEFUN([gl_MBRLEN_NUL_RETVAL],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_ZH_CN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrlen returns 0 when parsing a NUL character],
- [gl_cv_func_mbrlen_nul_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on Solaris 9.
- solaris2.9) gl_cv_func_mbrlen_nul_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrlen_nul_retval="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This crashes on Solaris 9 inside __mbrtowc_dense_gb18030. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- mbstate_t state;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrlen ("", 1, &state) != 0)
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_mbrlen_nul_retval=yes],
- [gl_cv_func_mbrlen_nul_retval=no],
- [])
- fi
- ])
-])
-
-# Prerequisites of lib/mbrlen.c.
-AC_DEFUN([gl_PREREQ_MBRLEN], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mbrtowc.m4 b/sources/host-tools/sed-4.2.1/m4/mbrtowc.m4
deleted file mode 100644
index 2fddcc8..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mbrtowc.m4
+++ /dev/null
@@ -1,383 +0,0 @@
-# mbrtowc.m4 serial 16
-dnl Copyright (C) 2001-2002, 2004-2005, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_MBRTOWC],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBRTOWC=1
- fi
- AC_CHECK_FUNCS_ONCE([mbrtowc])
- if test $ac_cv_func_mbrtowc = no; then
- HAVE_MBRTOWC=0
- fi
- if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then
- gl_MBRTOWC_NULL_ARG
- gl_MBRTOWC_RETVAL
- gl_MBRTOWC_NUL_RETVAL
- case "$gl_cv_func_mbrtowc_null_arg" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
- [Define if the mbrtowc function has the NULL string argument bug.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1],
- [Define if the mbrtowc function returns a wrong return value.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_nul_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1],
- [Define if the mbrtowc function does not return 0 for a NUL character.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- fi
- if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([mbrtowc])
- gl_PREREQ_MBRTOWC
- fi
-])
-
-dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that
-dnl redefines the semantics of the given mbstate_t type.
-dnl Result is REPLACE_MBSTATE_T.
-dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to
-dnl avoid inconsistencies.
-
-AC_DEFUN([gl_MBSTATE_T_BROKEN],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- AC_CHECK_FUNCS_ONCE([mbsinit])
- AC_CHECK_FUNCS_ONCE([mbrtowc])
- if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then
- gl_MBRTOWC_INCOMPLETE_STATE
- gl_MBRTOWC_SANITYCHECK
- REPLACE_MBSTATE_T=0
- case "$gl_cv_func_mbrtowc_incomplete_state" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- case "$gl_cv_func_mbrtowc_sanitycheck" in
- *yes) ;;
- *) REPLACE_MBSTATE_T=1 ;;
- esac
- else
- REPLACE_MBSTATE_T=1
- fi
- if test $REPLACE_MBSTATE_T = 1; then
- gl_REPLACE_WCHAR_H
- fi
-])
-
-dnl Test whether mbrtowc puts the state into non-initial state when parsing an
-dnl incomplete multibyte character.
-dnl Result is gl_cv_func_mbrtowc_incomplete_state.
-
-AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrtowc handles incomplete characters],
- [gl_cv_func_mbrtowc_incomplete_state],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_JA != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- if (mbsinit (&state))
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_mbrtowc_incomplete_state=yes],
- [gl_cv_func_mbrtowc_incomplete_state=no],
- [:])
- fi
- ])
-])
-
-dnl Test whether mbrtowc works not worse than mbtowc.
-dnl Result is gl_cv_func_mbrtowc_sanitycheck.
-
-AC_DEFUN([gl_MBRTOWC_SANITYCHECK],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_ZH_CN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrtowc works as well as mbtowc],
- [gl_cv_func_mbrtowc_sanitycheck],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on Solaris 8.
- solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris 8:
- mbrtowc returns 2, and sets wc to 0x00F0.
- mbtowc returns 4 (correct) and sets wc to 0x5EDC. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 3, 6, &state) != 4
- && mbtowc (&wc, input + 3, 6) == 4)
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_mbrtowc_sanitycheck=yes],
- [gl_cv_func_mbrtowc_sanitycheck=no],
- [:])
- fi
- ])
-])
-
-dnl Test whether mbrtowc supports a NULL string argument correctly.
-dnl Result is gl_cv_func_mbrtowc_null_arg.
-
-AC_DEFUN([gl_MBRTOWC_NULL_ARG],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR_UTF8])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument],
- [gl_cv_func_mbrtowc_null_arg],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on OSF/1.
- osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_null_arg="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR_UTF8 != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- mbstate_t state;
- wchar_t wc;
- int ret;
-
- memset (&state, '\0', sizeof (mbstate_t));
- wc = (wchar_t) 0xBADFACE;
- mbrtowc (&wc, NULL, 5, &state);
- /* Check that wc was not modified. */
- if (wc != (wchar_t) 0xBADFACE)
- return 1;
- }
- return 0;
-}], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], [:])
- fi
- ])
-])
-
-dnl Test whether mbrtowc, when parsing the end of a multibyte character,
-dnl correctly returns the number of bytes that were needed to complete the
-dnl character (not the total number of bytes of the multibyte character).
-dnl Result is gl_cv_func_mbrtowc_retval.
-
-AC_DEFUN([gl_MBRTOWC_RETVAL],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR_UTF8])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrtowc has a correct return value],
- [gl_cv_func_mbrtowc_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on HP-UX and Solaris.
- hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_retval="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris. */
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- char input[] = "B\303\274\303\237er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- {
- input[1] = '\0';
- if (mbrtowc (&wc, input + 2, 5, &state) != 1)
- return 1;
- }
- }
- /* This fails on HP-UX 11.11. */
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
- {
- input[1] = '\0';
- if (mbrtowc (&wc, input + 2, 5, &state) != 2)
- return 1;
- }
- }
- return 0;
-}],
- [gl_cv_func_mbrtowc_retval=yes],
- [gl_cv_func_mbrtowc_retval=no],
- [:])
- fi
- ])
-])
-
-dnl Test whether mbrtowc, when parsing a NUL character, correctly returns 0.
-dnl Result is gl_cv_func_mbrtowc_nul_retval.
-
-AC_DEFUN([gl_MBRTOWC_NUL_RETVAL],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_ZH_CN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether mbrtowc returns 0 when parsing a NUL character],
- [gl_cv_func_mbrtowc_nul_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on Solaris 8 and 9.
- solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- /* This fails on Solaris 8 and 9. */
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- mbstate_t state;
- wchar_t wc;
-
- memset (&state, '\0', sizeof (mbstate_t));
- if (mbrtowc (&wc, "", 1, &state) != 0)
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_mbrtowc_nul_retval=yes],
- [gl_cv_func_mbrtowc_nul_retval=no],
- [:])
- fi
- ])
-])
-
-# Prerequisites of lib/mbrtowc.c.
-AC_DEFUN([gl_PREREQ_MBRTOWC], [
- :
-])
-
-
-dnl From Paul Eggert
-
-dnl This override of an autoconf macro can be removed when autoconf 2.60 or
-dnl newer can be assumed everywhere.
-
-m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.60]),[-1],[
-AC_DEFUN([AC_FUNC_MBRTOWC],
-[
- dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60.
- AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
- gl_cv_func_mbrtowc,
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <wchar.h>]],
- [[wchar_t wc;
- char const s[] = "";
- size_t n = 1;
- mbstate_t state;
- return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])],
- gl_cv_func_mbrtowc=yes,
- gl_cv_func_mbrtowc=no)])
- if test $gl_cv_func_mbrtowc = yes; then
- AC_DEFINE([HAVE_MBRTOWC], [1],
- [Define to 1 if mbrtowc and mbstate_t are properly declared.])
- fi
-])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mbsinit.m4 b/sources/host-tools/sed-4.2.1/m4/mbsinit.m4
deleted file mode 100644
index 03b055c..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mbsinit.m4
+++ /dev/null
@@ -1,30 +0,0 @@
-# mbsinit.m4 serial 3
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_MBSINIT],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBSINIT=1
- fi
- AC_CHECK_FUNCS_ONCE([mbsinit])
- if test $ac_cv_func_mbsinit = no; then
- HAVE_MBSINIT=0
- fi
- if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([mbsinit])
- gl_PREREQ_MBSINIT
- fi
-])
-
-# Prerequisites of lib/mbsinit.c.
-AC_DEFUN([gl_PREREQ_MBSINIT], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mbstate_t.m4 b/sources/host-tools/sed-4.2.1/m4/mbstate_t.m4
deleted file mode 100644
index d4ec6f0..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mbstate_t.m4
+++ /dev/null
@@ -1,34 +0,0 @@
-# mbstate_t.m4 serial 12
-dnl Copyright (C) 2000-2002, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# From Paul Eggert.
-
-# BeOS 5 has <wchar.h> but does not define mbstate_t,
-# so you can't declare an object of that type.
-# Check for this incompatibility with Standard C.
-
-# AC_TYPE_MBSTATE_T
-# -----------------
-AC_DEFUN([AC_TYPE_MBSTATE_T],
-[
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11
-
- AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [AC_INCLUDES_DEFAULT[
-# include <wchar.h>]],
- [[mbstate_t x; return sizeof x;]])],
- [ac_cv_type_mbstate_t=yes],
- [ac_cv_type_mbstate_t=no])])
- if test $ac_cv_type_mbstate_t = yes; then
- AC_DEFINE([HAVE_MBSTATE_T], [1],
- [Define to 1 if <wchar.h> declares mbstate_t.])
- else
- AC_DEFINE([mbstate_t], [int],
- [Define to a type if <wchar.h> does not define.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/memchr.m4 b/sources/host-tools/sed-4.2.1/m4/memchr.m4
deleted file mode 100644
index 1194bac..0000000
--- a/sources/host-tools/sed-4.2.1/m4/memchr.m4
+++ /dev/null
@@ -1,86 +0,0 @@
-# memchr.m4 serial 7
-dnl Copyright (C) 2002, 2003, 2004, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
-[
- dnl Check for prerequisites for memory fence checks.
- gl_FUNC_MMAP_ANON
- AC_CHECK_HEADERS_ONCE([sys/mman.h])
- AC_CHECK_FUNCS_ONCE([mprotect])
-
- dnl These days, we assume memchr is present. But just in case...
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([memchr])
- if test $ac_cv_func_memchr = no; then
- gl_PREREQ_MEMCHR
- REPLACE_MEMCHR=1
- fi
-
- if test $ac_cv_func_memchr = yes; then
- # Detect platform-specific bugs in some versions of glibc:
- # memchr should not dereference anything with length 0
- # http://bugzilla.redhat.com/499689
- # memchr should not dereference overestimated length after a match
- # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737
- # http://sourceware.org/bugzilla/show_bug.cgi?id=10162
- # Assume that memchr works on platforms that lack mprotect.
- AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works],
- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#include <string.h>
-#if HAVE_SYS_MMAN_H
-# include <fcntl.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <sys/mman.h>
-# ifndef MAP_FILE
-# define MAP_FILE 0
-# endif
-#endif
-]], [[
- char *fence = NULL;
-#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
-# if HAVE_MAP_ANONYMOUS
- const int flags = MAP_ANONYMOUS | MAP_PRIVATE;
- const int fd = -1;
-# else /* !HAVE_MAP_ANONYMOUS */
- const int flags = MAP_FILE | MAP_PRIVATE;
- int fd = open ("/dev/zero", O_RDONLY, 0666);
- if (fd >= 0)
-# endif
- {
- int pagesize = getpagesize ();
- char *two_pages =
- (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE,
- flags, fd, 0);
- if (two_pages != (char *)(-1)
- && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0)
- fence = two_pages + pagesize;
- }
-#endif
- if (fence)
- {
- if (memchr (fence, 0, 0))
- return 1;
- strcpy (fence - 9, "12345678");
- if (memchr (fence - 9, 0, 79) != fence - 1)
- return 2;
- }
- return 0;
-]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no],
- [dnl Be pessimistic for now.
- gl_cv_func_memchr_works="guessing no"])])
- if test "$gl_cv_func_memchr_works" != yes; then
- gl_PREREQ_MEMCHR
- REPLACE_MEMCHR=1
- AC_LIBOBJ([memchr])
- fi
- fi
-])
-
-# Prerequisites of lib/memchr.c.
-AC_DEFUN([gl_PREREQ_MEMCHR], [
- AC_CHECK_HEADERS([bp-sym.h])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mkstemp.m4 b/sources/host-tools/sed-4.2.1/m4/mkstemp.m4
deleted file mode 100644
index 20d8a1b..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mkstemp.m4
+++ /dev/null
@@ -1,56 +0,0 @@
-#serial 17
-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
-# silly limit that it can create no more than 26 files from a given template.
-# Other systems lack mkstemp altogether.
-# On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create
-# only 32 files per process.
-# On systems like the above, arrange to use the replacement function.
-AC_DEFUN([gl_FUNC_MKSTEMP],
-[
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- AC_REQUIRE([AC_SYS_LARGEFILE])
-
- AC_CACHE_CHECK([for working mkstemp],
- [gl_cv_func_working_mkstemp],
- [
- mkdir conftest.mkstemp
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [AC_INCLUDES_DEFAULT],
- [[int i;
- off_t large = (off_t) 4294967295u;
- if (large < 0)
- large = 2147483647;
- for (i = 0; i < 70; i++)
- {
- char templ[] = "conftest.mkstemp/coXXXXXX";
- int (*mkstemp_function) (char *) = mkstemp;
- int fd = mkstemp_function (templ);
- if (fd < 0 || lseek (fd, large, SEEK_SET) != large)
- return 1;
- close (fd);
- }
- return 0;]])],
- [gl_cv_func_working_mkstemp=yes],
- [gl_cv_func_working_mkstemp=no],
- [gl_cv_func_working_mkstemp=no])
- rm -rf conftest.mkstemp
- ])
-
- if test $gl_cv_func_working_mkstemp != yes; then
- REPLACE_MKSTEMP=1
- AC_LIBOBJ([mkstemp])
- gl_PREREQ_MKSTEMP
- fi
-])
-
-# Prerequisites of lib/mkstemp.c.
-AC_DEFUN([gl_PREREQ_MKSTEMP],
-[
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/mmap-anon.m4 b/sources/host-tools/sed-4.2.1/m4/mmap-anon.m4
deleted file mode 100644
index 14b6270..0000000
--- a/sources/host-tools/sed-4.2.1/m4/mmap-anon.m4
+++ /dev/null
@@ -1,59 +0,0 @@
-# mmap-anon.m4 serial 8
-dnl Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Detect how mmap can be used to create anonymous (not file-backed) memory
-# mappings.
-# - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS
-# and MAP_ANON exist and have the same value.
-# - On HP-UX, only MAP_ANONYMOUS exists.
-# - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
-# - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be
-# used.
-
-AC_DEFUN([gl_FUNC_MMAP_ANON],
-[
- dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
- AC_REQUIRE([AC_PROG_CPP])
- AC_REQUIRE([AC_PROG_EGREP])
-
- dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS.
- AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
- # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
- # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
- # irrelevant for anonymous mappings.
- AC_CHECK_FUNC([mmap], [gl_have_mmap=yes], [gl_have_mmap=no])
-
- # Try to allow MAP_ANONYMOUS.
- gl_have_mmap_anonymous=no
- if test $gl_have_mmap = yes; then
- AC_MSG_CHECKING([for MAP_ANONYMOUS])
- AC_EGREP_CPP([I cant identify this map.], [
-#include <sys/mman.h>
-#ifdef MAP_ANONYMOUS
- I cant identify this map.
-#endif
-],
- [gl_have_mmap_anonymous=yes])
- if test $gl_have_mmap_anonymous != yes; then
- AC_EGREP_CPP([I cant identify this map.], [
-#include <sys/mman.h>
-#ifdef MAP_ANON
- I cant identify this map.
-#endif
-],
- [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON],
- [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.])
- gl_have_mmap_anonymous=yes])
- fi
- AC_MSG_RESULT([$gl_have_mmap_anonymous])
- if test $gl_have_mmap_anonymous = yes; then
- AC_DEFINE([HAVE_MAP_ANONYMOUS], [1],
- [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
- config.h and <sys/mman.h>.])
- fi
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/multiarch.m4 b/sources/host-tools/sed-4.2.1/m4/multiarch.m4
deleted file mode 100644
index ec377ba..0000000
--- a/sources/host-tools/sed-4.2.1/m4/multiarch.m4
+++ /dev/null
@@ -1,65 +0,0 @@
-# multiarch.m4 serial 5
-dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Determine whether the compiler is or may be producing universal binaries.
-#
-# On MacOS X 10.5 and later systems, the user can create libraries and
-# executables that work on multiple system types--known as "fat" or
-# "universal" binaries--by specifying multiple '-arch' options to the
-# compiler but only a single '-arch' option to the preprocessor. Like
-# this:
-#
-# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-# CPP="gcc -E" CXXCPP="g++ -E"
-#
-# Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the
-# beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly.
-
-AC_DEFUN_ONCE([gl_MULTIARCH],
-[
- dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
- gl_cv_c_multiarch=no
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
- ]])],
- [
- dnl Check for potential -arch flags. It is not universal unless
- dnl there are at least two -arch flags with different values.
- arch=
- prev=
- for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
- if test -n "$prev"; then
- case $word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$arch" || test "$arch" = "$word"; then
- arch="$word"
- else
- gl_cv_c_multiarch=yes
- fi
- ;;
- esac
- prev=
- else
- if test "x$word" = "x-arch"; then
- prev=arch
- fi
- fi
- done
- ])
- if test $gl_cv_c_multiarch = yes; then
- AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1],
- [Define if the compiler is building for multiple architectures of Apple platforms at once.])
- APPLE_UNIVERSAL_BUILD=1
- else
- APPLE_UNIVERSAL_BUILD=0
- fi
- AC_SUBST([APPLE_UNIVERSAL_BUILD])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/nls.m4 b/sources/host-tools/sed-4.2.1/m4/nls.m4
deleted file mode 100644
index 0b36434..0000000
--- a/sources/host-tools/sed-4.2.1/m4/nls.m4
+++ /dev/null
@@ -1,31 +0,0 @@
-# nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
-[
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE([nls],
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT([$USE_NLS])
- AC_SUBST([USE_NLS])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/pathmax.m4 b/sources/host-tools/sed-4.2.1/m4/pathmax.m4
deleted file mode 100644
index 4651801..0000000
--- a/sources/host-tools/sed-4.2.1/m4/pathmax.m4
+++ /dev/null
@@ -1,12 +0,0 @@
-# pathmax.m4 serial 8
-dnl Copyright (C) 2002, 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_PATHMAX],
-[
- dnl Prerequisites of lib/pathmax.h.
- AC_CHECK_FUNCS_ONCE([pathconf])
- AC_CHECK_HEADERS_ONCE([sys/param.h])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/po.m4 b/sources/host-tools/sed-4.2.1/m4/po.m4
deleted file mode 100644
index 2284fa5..0000000
--- a/sources/host-tools/sed-4.2.1/m4/po.m4
+++ /dev/null
@@ -1,449 +0,0 @@
-# po.m4 serial 17 (gettext-0.18)
-dnl Copyright (C) 1995-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
- AC_REQUIRE([AM_NLS])dnl
-
- dnl Release version of the gettext macros. This is used to ensure that
- dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
- dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([MSGFMT_015])
-changequote(,)dnl
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([GMSGFMT_015])
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-changequote([,])dnl
- AC_SUBST([XGETTEXT_015])
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
- dnl Installation directories.
- dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
- dnl have to define it here, so that it can be used in po/Makefile.
- test -n "$localedir" || localedir='${datadir}/locale'
- AC_SUBST([localedir])
-
- dnl Support for AM_XGETTEXT_OPTION.
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
- AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
- AC_CONFIG_COMMANDS([po-directories], [[
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- case "$ac_file" in */Makefile.in)
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- # Treat a directory as a PO directory if and only if it has a
- # POTFILES.in file. This allows packages to have multiple PO
- # directories under different names or in different locations.
- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
- POMAKEFILEDEPS="POTFILES.in"
- # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
- # on $ac_dir but don't depend on user-specified configuration
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done]],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake < 1.5.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
- # When this code is run, in config.status, two variables have already been
- # set:
- # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
- # - LINGUAS is the value of the environment variable LINGUAS at configure
- # time.
-
-changequote(,)dnl
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- # Find a way to echo strings without interpreting backslash.
- if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='echo'
- else
- if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='printf %s\n'
- else
- echo_func () {
- cat <<EOT
-$*
-EOT
- }
- gt_echo='echo_func'
- fi
- fi
-
- # A sed script that extracts the value of VARIABLE from a Makefile.
- sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^[ ]*VARIABLE[ ]*=/{
- # Seen the first line of the variable definition.
- s/^[ ]*VARIABLE[ ]*=//
- ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
- POMAKEFILEDEPS=""
-
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
- ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
- fi
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- # Compute PROPERTIESFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
- # Compute CLASSFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
- # Compute QMFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
- # Compute MSGFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
- # Compute RESOURCESDLLFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- PROPERTIESFILES=
- CLASSFILES=
- QMFILES=
- MSGFILES=
- RESOURCESDLLFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
- CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
- QMFILES="$QMFILES $srcdirpre$lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- JAVACATALOGS=
- QTCATALOGS=
- TCLCATALOGS=
- CSHARPCATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
- QTCATALOGS="$QTCATALOGS $lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
- done
- fi
-
- sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
- if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
- @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
- \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
- @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
- \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if test -n "$POMAKEFILEDEPS"; then
- cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
- fi
- mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
- XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
- AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/progtest.m4 b/sources/host-tools/sed-4.2.1/m4/progtest.m4
deleted file mode 100644
index e1d445d..0000000
--- a/sources/host-tools/sed-4.2.1/m4/progtest.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# progtest.m4 serial 6 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2005, 2008, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ([2.50])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$][$1])
-else
- AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/quote.m4 b/sources/host-tools/sed-4.2.1/m4/quote.m4
deleted file mode 100644
index 0f08791..0000000
--- a/sources/host-tools/sed-4.2.1/m4/quote.m4
+++ /dev/null
@@ -1,13 +0,0 @@
-# quote.m4 serial 5
-dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_QUOTE],
-[
- AC_LIBOBJ([quote])
-
- dnl Prerequisites of lib/quote.c.
- dnl (none)
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/quotearg.m4 b/sources/host-tools/sed-4.2.1/m4/quotearg.m4
deleted file mode 100644
index eec9e68..0000000
--- a/sources/host-tools/sed-4.2.1/m4/quotearg.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# quotearg.m4 serial 8
-dnl Copyright (C) 2002, 2004-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_QUOTEARG],
-[
- AC_LIBOBJ([quotearg])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/realloc.m4 b/sources/host-tools/sed-4.2.1/m4/realloc.m4
deleted file mode 100644
index 5925796..0000000
--- a/sources/host-tools/sed-4.2.1/m4/realloc.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# realloc.m4 serial 9
-dnl Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# gl_FUNC_REALLOC_POSIX
-# ---------------------
-# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it
-# fails), and replace realloc if it is not.
-AC_DEFUN([gl_FUNC_REALLOC_POSIX],
-[
- AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
- if test $gl_cv_func_malloc_posix = yes; then
- HAVE_REALLOC_POSIX=1
- AC_DEFINE([HAVE_REALLOC_POSIX], [1],
- [Define if the 'realloc' function is POSIX compliant.])
- else
- AC_LIBOBJ([realloc])
- HAVE_REALLOC_POSIX=0
- fi
- AC_SUBST([HAVE_REALLOC_POSIX])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/regex.m4 b/sources/host-tools/sed-4.2.1/m4/regex.m4
deleted file mode 100644
index aef53d2..0000000
--- a/sources/host-tools/sed-4.2.1/m4/regex.m4
+++ /dev/null
@@ -1,221 +0,0 @@
-# serial 54
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl Initially derived from code in GNU grep.
-dnl Mostly written by Jim Meyering.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([gl_REGEX],
-[
- AC_CHECK_HEADERS_ONCE([locale.h])
-
- AC_ARG_WITH([included-regex],
- [AS_HELP_STRING([--without-included-regex],
- [don't compile regex; this is the default on systems
- with recent-enough versions of the GNU C Library
- (use with caution on other systems).])])
-
- case $with_included_regex in #(
- yes|no) ac_use_included_regex=$with_included_regex
- ;;
- '')
- # If the system regex support is good enough that it passes the
- # following run test, then default to *not* using the included regex.c.
- # If cross compiling, assume the test would fail and use the included
- # regex.c.
- AC_CACHE_CHECK([for working re_compile_pattern],
- [gl_cv_func_re_compile_pattern_working],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [AC_INCLUDES_DEFAULT[
- #if HAVE_LOCALE_H
- #include <locale.h>
- #endif
- #include <limits.h>
- #include <regex.h>
- ]],
- [[static struct re_pattern_buffer regex;
- unsigned char folded_chars[UCHAR_MAX + 1];
- int i;
- const char *s;
- struct re_registers regs;
-
- #if HAVE_LOCALE_H
- /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
- This test needs valgrind to catch the bug on Debian
- GNU/Linux 3.1 x86, but it might catch the bug better
- on other platforms and it shouldn't hurt to try the
- test here. */
- if (setlocale (LC_ALL, "en_US.UTF-8"))
- {
- static char const pat[] = "insert into";
- static char const data[] =
- "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
- re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
- | RE_ICASE);
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern (pat, sizeof pat - 1, ®ex);
- if (s)
- return 1;
- if (re_search (®ex, data, sizeof data - 1,
- 0, sizeof data - 1, ®s)
- != -1)
- return 1;
- if (! setlocale (LC_ALL, "C"))
- return 1;
- }
- #endif
-
- /* This test is from glibc bug 3957, reported by Andrew Mackey. */
- re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE);
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("a[^x]b", 6, ®ex);
- if (s)
- return 1;
-
- /* This should fail, but succeeds for glibc-2.5. */
- if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1)
- return 1;
-
- /* This regular expression is from Spencer ere test number 75
- in grep-2.3. */
- re_set_syntax (RE_SYNTAX_POSIX_EGREP);
- memset (®ex, 0, sizeof regex);
- for (i = 0; i <= UCHAR_MAX; i++)
- folded_chars[i] = i;
- regex.translate = folded_chars;
- s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex);
- /* This should fail with _Invalid character class name_ error. */
- if (!s)
- return 1;
-
- /* This should succeed, but does not for glibc-2.1.3. */
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("{1", 2, ®ex);
-
- if (s)
- return 1;
-
- /* The following example is derived from a problem report
- against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("[an\371]*n", 7, ®ex);
- if (s)
- return 1;
-
- /* This should match, but does not for glibc-2.2.1. */
- if (re_match (®ex, "an", 2, 0, ®s) != 2)
- return 1;
-
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("x", 1, ®ex);
- if (s)
- return 1;
-
- /* glibc-2.2.93 does not work with a negative RANGE argument. */
- if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
- return 1;
-
- /* The version of regex.c in older versions of gnulib
- ignored RE_ICASE. Detect that problem too. */
- re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE);
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("x", 1, ®ex);
- if (s)
- return 1;
-
- if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0)
- return 1;
-
- /* Catch a bug reported by Vin Shelton in
- http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
- */
- re_set_syntax (RE_SYNTAX_POSIX_BASIC
- & ~RE_CONTEXT_INVALID_DUP
- & ~RE_NO_EMPTY_RANGES);
- memset (®ex, 0, sizeof regex);
- s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex);
- if (s)
- return 1;
-
- /* REG_STARTEND was added to glibc on 2004-01-15.
- Reject older versions. */
- if (! REG_STARTEND)
- return 1;
-
- /* Reject hosts whose regoff_t values are too narrow.
- These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t
- and 32-bit int. */
- if (sizeof (regoff_t) < sizeof (ptrdiff_t)
- || sizeof (regoff_t) < sizeof (ssize_t))
- return 1;
-
- return 0;]])],
- [gl_cv_func_re_compile_pattern_working=yes],
- [gl_cv_func_re_compile_pattern_working=no],
- dnl When crosscompiling, assume it is not working.
- [gl_cv_func_re_compile_pattern_working=no])])
- case $gl_cv_func_re_compile_pattern_working in #(
- yes) ac_use_included_regex=no;; #(
- no) ac_use_included_regex=yes;;
- esac
- ;;
- *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex])
- ;;
- esac
-
- if test $ac_use_included_regex = yes; then
- AC_DEFINE([_REGEX_LARGE_OFFSETS], [1],
- [Define if you want regoff_t to be at least as wide POSIX requires.])
- AC_DEFINE([re_syntax_options], [rpl_re_syntax_options],
- [Define to rpl_re_syntax_options if the replacement should be used.])
- AC_DEFINE([re_set_syntax], [rpl_re_set_syntax],
- [Define to rpl_re_set_syntax if the replacement should be used.])
- AC_DEFINE([re_compile_pattern], [rpl_re_compile_pattern],
- [Define to rpl_re_compile_pattern if the replacement should be used.])
- AC_DEFINE([re_compile_fastmap], [rpl_re_compile_fastmap],
- [Define to rpl_re_compile_fastmap if the replacement should be used.])
- AC_DEFINE([re_search], [rpl_re_search],
- [Define to rpl_re_search if the replacement should be used.])
- AC_DEFINE([re_search_2], [rpl_re_search_2],
- [Define to rpl_re_search_2 if the replacement should be used.])
- AC_DEFINE([re_match], [rpl_re_match],
- [Define to rpl_re_match if the replacement should be used.])
- AC_DEFINE([re_match_2], [rpl_re_match_2],
- [Define to rpl_re_match_2 if the replacement should be used.])
- AC_DEFINE([re_set_registers], [rpl_re_set_registers],
- [Define to rpl_re_set_registers if the replacement should be used.])
- AC_DEFINE([re_comp], [rpl_re_comp],
- [Define to rpl_re_comp if the replacement should be used.])
- AC_DEFINE([re_exec], [rpl_re_exec],
- [Define to rpl_re_exec if the replacement should be used.])
- AC_DEFINE([regcomp], [rpl_regcomp],
- [Define to rpl_regcomp if the replacement should be used.])
- AC_DEFINE([regexec], [rpl_regexec],
- [Define to rpl_regexec if the replacement should be used.])
- AC_DEFINE([regerror], [rpl_regerror],
- [Define to rpl_regerror if the replacement should be used.])
- AC_DEFINE([regfree], [rpl_regfree],
- [Define to rpl_regfree if the replacement should be used.])
- AC_LIBOBJ([regex])
- gl_PREREQ_REGEX
- fi
-])
-
-# Prerequisites of lib/regex.c and lib/regex_internal.c.
-AC_DEFUN([gl_PREREQ_REGEX],
-[
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- AC_REQUIRE([AC_C_RESTRICT])
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- AC_CHECK_HEADERS([libintl.h])
- AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll])
- AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/rename.m4 b/sources/host-tools/sed-4.2.1/m4/rename.m4
deleted file mode 100644
index dd70321..0000000
--- a/sources/host-tools/sed-4.2.1/m4/rename.m4
+++ /dev/null
@@ -1,69 +0,0 @@
-# serial 13
-
-# Copyright (C) 2001, 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Volker Borchert.
-dnl Determine whether rename works for source file names with a trailing slash.
-dnl The rename from SunOS 4.1.1_U1 doesn't.
-dnl
-dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
-dnl to compile the wrapper function.
-dnl
-
-AC_DEFUN([gl_FUNC_RENAME],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CACHE_CHECK([whether rename is broken with a trailing slash],
- gl_cv_func_rename_trailing_slash_bug,
- [
- rm -rf conftest.d1 conftest.d2
- mkdir conftest.d1 ||
- AC_MSG_ERROR([cannot create temporary directory])
- AC_TRY_RUN([
-# include <stdio.h>
-# include <stdlib.h>
- int
- main ()
- {
- exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
- }
- ],
- gl_cv_func_rename_trailing_slash_bug=no,
- gl_cv_func_rename_trailing_slash_bug=yes,
- dnl When crosscompiling, assume rename is broken.
- gl_cv_func_rename_trailing_slash_bug=yes)
-
- rm -rf conftest.d1 conftest.d2
- ])
- AC_CACHE_CHECK([whether rename is broken when the destination exists],
- gl_cv_func_rename_dest_exists_bug,
- [
- case "$host_os" in
- mingw*) gl_cv_func_rename_dest_exists_bug=yes ;;
- *) gl_cv_func_rename_dest_exists_bug=no ;;
- esac
- ])
- if test $gl_cv_func_rename_trailing_slash_bug = yes ||
- test $gl_cv_func_rename_dest_exists_bug = yes; then
- AC_LIBOBJ([rename])
- AC_DEFINE([rename], [rpl_rename],
- [Define to rpl_rename if the replacement function should be used.])
- if test $gl_cv_func_rename_trailing_slash_bug = yes; then
- AC_DEFINE([RENAME_TRAILING_SLASH_BUG], [1],
- [Define if rename does not work for source file names with a trailing
- slash, like the one from SunOS 4.1.1_U1.])
- fi
- if test $gl_cv_func_rename_dest_exists_bug = yes; then
- AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1],
- [Define if rename does not work when the destination file exists,
- as on Windows.])
- fi
- gl_PREREQ_RENAME
- fi
-])
-
-# Prerequisites of lib/rename.c.
-AC_DEFUN([gl_PREREQ_RENAME], [:])
diff --git a/sources/host-tools/sed-4.2.1/m4/selinux-context-h.m4 b/sources/host-tools/sed-4.2.1/m4/selinux-context-h.m4
deleted file mode 100644
index 6b0bed1..0000000
--- a/sources/host-tools/sed-4.2.1/m4/selinux-context-h.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# serial 1 -*- Autoconf -*-
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# From Jim Meyering
-# Provide <selinux/context.h>, if necessary.
-
-AC_DEFUN([gl_HEADERS_SELINUX_CONTEXT_H],
-[
- AC_CHECK_HEADERS([selinux/context.h],
- [SELINUX_CONTEXT_H=],
- [SELINUX_CONTEXT_H=selinux/context.h])
- AC_SUBST([SELINUX_CONTEXT_H])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/selinux-selinux-h.m4 b/sources/host-tools/sed-4.2.1/m4/selinux-selinux-h.m4
deleted file mode 100644
index 20dc77c..0000000
--- a/sources/host-tools/sed-4.2.1/m4/selinux-selinux-h.m4
+++ /dev/null
@@ -1,45 +0,0 @@
-# serial 3 -*- Autoconf -*-
-# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# From Jim Meyering
-# Provide <selinux/selinux.h>, if necessary.
-
-AC_DEFUN([gl_HEADERS_SELINUX_SELINUX_H],
-[
- AC_REQUIRE([gl_LIBSELINUX])
- AC_CHECK_HEADERS([selinux/selinux.h],
- [SELINUX_SELINUX_H=],
- [SELINUX_SELINUX_H=selinux/selinux.h])
- AC_SUBST([SELINUX_SELINUX_H])
-
- case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in
- no:*) # already warned
- ;;
- *:no)
- AC_MSG_WARN([libselinux was found but selinux/selinux.h is missing.])
- AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
- esac
-])
-
-AC_DEFUN([gl_LIBSELINUX],
-[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_CANONICAL_BUILD])
- LIB_SELINUX=
- gl_save_LIBS=$LIBS
- AC_SEARCH_LIBS([setfilecon], [selinux],
- [test "$ac_cv_search_setfilecon" = "none required" ||
- LIB_SELINUX=$ac_cv_search_setfilecon])
- AC_SUBST([LIB_SELINUX])
- LIBS=$gl_save_LIBS
-
- # Warn if SELinux is found but libselinux is absent;
- if test "$ac_cv_search_setfilecon" = no &&
- test "$host" = "$build" && test -d /selinux; then
- AC_MSG_WARN([This system supports SELinux but libselinux is missing.])
- AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/ssize_t.m4 b/sources/host-tools/sed-4.2.1/m4/ssize_t.m4
deleted file mode 100644
index 4eaef93..0000000
--- a/sources/host-tools/sed-4.2.1/m4/ssize_t.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-# ssize_t.m4 serial 4 (gettext-0.15)
-dnl Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-dnl Test whether ssize_t is defined.
-
-AC_DEFUN([gt_TYPE_SSIZE_T],
-[
- AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
- [AC_TRY_COMPILE([#include <sys/types.h>],
- [int x = sizeof (ssize_t *) + sizeof (ssize_t);
- return !x;],
- [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
- if test $gt_cv_ssize_t = no; then
- AC_DEFINE([ssize_t], [int],
- [Define as a signed type of the same size as size_t.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/stdbool.m4 b/sources/host-tools/sed-4.2.1/m4/stdbool.m4
deleted file mode 100644
index 57c804a..0000000
--- a/sources/host-tools/sed-4.2.1/m4/stdbool.m4
+++ /dev/null
@@ -1,115 +0,0 @@
-# Check for stdbool.h that conforms to C99.
-
-dnl Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Prepare for substituting <stdbool.h> if it is not supported.
-
-AC_DEFUN([AM_STDBOOL_H],
-[
- AC_REQUIRE([AC_HEADER_STDBOOL])
-
- # Define two additional variables used in the Makefile substitution.
-
- if test "$ac_cv_header_stdbool_h" = yes; then
- STDBOOL_H=''
- else
- STDBOOL_H='stdbool.h'
- fi
- AC_SUBST([STDBOOL_H])
-
- if test "$ac_cv_type__Bool" = yes; then
- HAVE__BOOL=1
- else
- HAVE__BOOL=0
- fi
- AC_SUBST([HAVE__BOOL])
-])
-
-# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
-AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
-
-# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf
-# have this macro built-in.
-
-AC_DEFUN([AC_HEADER_STDBOOL],
- [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
- [ac_cv_header_stdbool_h],
- [AC_TRY_COMPILE(
- [
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- #if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
- #endif
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
- ],
- [
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
- ],
- [ac_cv_header_stdbool_h=yes],
- [ac_cv_header_stdbool_h=no])])
- AC_CHECK_TYPES([_Bool])
- if test $ac_cv_header_stdbool_h = yes; then
- AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.])
- fi])
diff --git a/sources/host-tools/sed-4.2.1/m4/stdint.m4 b/sources/host-tools/sed-4.2.1/m4/stdint.m4
deleted file mode 100644
index a2e8bdd..0000000
--- a/sources/host-tools/sed-4.2.1/m4/stdint.m4
+++ /dev/null
@@ -1,472 +0,0 @@
-# stdint.m4 serial 34
-dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert and Bruno Haible.
-dnl Test whether <stdint.h> is supported or must be substituted.
-
-AC_DEFUN([gl_STDINT_H],
-[
- AC_PREREQ([2.59])dnl
-
- dnl Check for long long int and unsigned long long int.
- AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
- if test $ac_cv_type_long_long_int = yes; then
- HAVE_LONG_LONG_INT=1
- else
- HAVE_LONG_LONG_INT=0
- fi
- AC_SUBST([HAVE_LONG_LONG_INT])
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- HAVE_UNSIGNED_LONG_LONG_INT=1
- else
- HAVE_UNSIGNED_LONG_LONG_INT=0
- fi
- AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
-
- dnl Check for <inttypes.h>.
- dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
- if test $ac_cv_header_inttypes_h = yes; then
- HAVE_INTTYPES_H=1
- else
- HAVE_INTTYPES_H=0
- fi
- AC_SUBST([HAVE_INTTYPES_H])
-
- dnl Check for <sys/types.h>.
- dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
- if test $ac_cv_header_sys_types_h = yes; then
- HAVE_SYS_TYPES_H=1
- else
- HAVE_SYS_TYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_TYPES_H])
-
- gl_CHECK_NEXT_HEADERS([stdint.h])
- if test $ac_cv_header_stdint_h = yes; then
- HAVE_STDINT_H=1
- else
- HAVE_STDINT_H=0
- fi
- AC_SUBST([HAVE_STDINT_H])
-
- dnl Now see whether we need a substitute <stdint.h>.
- if test $ac_cv_header_stdint_h = yes; then
- AC_CACHE_CHECK([whether stdint.h conforms to C99],
- [gl_cv_header_working_stdint_h],
- [gl_cv_header_working_stdint_h=no
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
-#if !(defined WCHAR_MIN && defined WCHAR_MAX)
-#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
-#endif
-]
-gl_STDINT_INCLUDES
-[
-#ifdef INT8_MAX
-int8_t a1 = INT8_MAX;
-int8_t a1min = INT8_MIN;
-#endif
-#ifdef INT16_MAX
-int16_t a2 = INT16_MAX;
-int16_t a2min = INT16_MIN;
-#endif
-#ifdef INT32_MAX
-int32_t a3 = INT32_MAX;
-int32_t a3min = INT32_MIN;
-#endif
-#ifdef INT64_MAX
-int64_t a4 = INT64_MAX;
-int64_t a4min = INT64_MIN;
-#endif
-#ifdef UINT8_MAX
-uint8_t b1 = UINT8_MAX;
-#else
-typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
-#endif
-#ifdef UINT16_MAX
-uint16_t b2 = UINT16_MAX;
-#endif
-#ifdef UINT32_MAX
-uint32_t b3 = UINT32_MAX;
-#endif
-#ifdef UINT64_MAX
-uint64_t b4 = UINT64_MAX;
-#endif
-int_least8_t c1 = INT8_C (0x7f);
-int_least8_t c1max = INT_LEAST8_MAX;
-int_least8_t c1min = INT_LEAST8_MIN;
-int_least16_t c2 = INT16_C (0x7fff);
-int_least16_t c2max = INT_LEAST16_MAX;
-int_least16_t c2min = INT_LEAST16_MIN;
-int_least32_t c3 = INT32_C (0x7fffffff);
-int_least32_t c3max = INT_LEAST32_MAX;
-int_least32_t c3min = INT_LEAST32_MIN;
-int_least64_t c4 = INT64_C (0x7fffffffffffffff);
-int_least64_t c4max = INT_LEAST64_MAX;
-int_least64_t c4min = INT_LEAST64_MIN;
-uint_least8_t d1 = UINT8_C (0xff);
-uint_least8_t d1max = UINT_LEAST8_MAX;
-uint_least16_t d2 = UINT16_C (0xffff);
-uint_least16_t d2max = UINT_LEAST16_MAX;
-uint_least32_t d3 = UINT32_C (0xffffffff);
-uint_least32_t d3max = UINT_LEAST32_MAX;
-uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
-uint_least64_t d4max = UINT_LEAST64_MAX;
-int_fast8_t e1 = INT_FAST8_MAX;
-int_fast8_t e1min = INT_FAST8_MIN;
-int_fast16_t e2 = INT_FAST16_MAX;
-int_fast16_t e2min = INT_FAST16_MIN;
-int_fast32_t e3 = INT_FAST32_MAX;
-int_fast32_t e3min = INT_FAST32_MIN;
-int_fast64_t e4 = INT_FAST64_MAX;
-int_fast64_t e4min = INT_FAST64_MIN;
-uint_fast8_t f1 = UINT_FAST8_MAX;
-uint_fast16_t f2 = UINT_FAST16_MAX;
-uint_fast32_t f3 = UINT_FAST32_MAX;
-uint_fast64_t f4 = UINT_FAST64_MAX;
-#ifdef INTPTR_MAX
-intptr_t g = INTPTR_MAX;
-intptr_t gmin = INTPTR_MIN;
-#endif
-#ifdef UINTPTR_MAX
-uintptr_t h = UINTPTR_MAX;
-#endif
-intmax_t i = INTMAX_MAX;
-uintmax_t j = UINTMAX_MAX;
-
-#include <limits.h> /* for CHAR_BIT */
-#define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-struct s {
- int check_PTRDIFF:
- PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
- && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
- ? 1 : -1;
- /* Detect bug in FreeBSD 6.0 / ia64. */
- int check_SIG_ATOMIC:
- SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
- && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
- ? 1 : -1;
- int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
- int check_WCHAR:
- WCHAR_MIN == TYPE_MINIMUM (wchar_t)
- && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
- ? 1 : -1;
- /* Detect bug in mingw. */
- int check_WINT:
- WINT_MIN == TYPE_MINIMUM (wint_t)
- && WINT_MAX == TYPE_MAXIMUM (wint_t)
- ? 1 : -1;
-
- /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
- int check_UINT8_C:
- (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
- int check_UINT16_C:
- (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
-
- /* Detect bugs in OpenBSD 3.9 stdint.h. */
-#ifdef UINT8_MAX
- int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
-#endif
-#ifdef UINT16_MAX
- int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
-#endif
-#ifdef UINT32_MAX
- int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
-#endif
-#ifdef UINT64_MAX
- int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
-#endif
- int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
- int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
- int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
- int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
- int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
- int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
- int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
- int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
- int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
- int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
- int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
-};
- ]])],
- [dnl Determine whether the various *_MIN, *_MAX macros are usable
- dnl in preprocessor expression. We could do it by compiling a test
- dnl program for each of these macros. It is faster to run a program
- dnl that inspects the macro expansion.
- dnl This detects a bug on HP-UX 11.23/ia64.
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-]
-gl_STDINT_INCLUDES
-[
-#include <stdio.h>
-#include <string.h>
-#define MVAL(macro) MVAL1(macro)
-#define MVAL1(expression) #expression
-static const char *macro_values[] =
- {
-#ifdef INT8_MAX
- MVAL (INT8_MAX),
-#endif
-#ifdef INT16_MAX
- MVAL (INT16_MAX),
-#endif
-#ifdef INT32_MAX
- MVAL (INT32_MAX),
-#endif
-#ifdef INT64_MAX
- MVAL (INT64_MAX),
-#endif
-#ifdef UINT8_MAX
- MVAL (UINT8_MAX),
-#endif
-#ifdef UINT16_MAX
- MVAL (UINT16_MAX),
-#endif
-#ifdef UINT32_MAX
- MVAL (UINT32_MAX),
-#endif
-#ifdef UINT64_MAX
- MVAL (UINT64_MAX),
-#endif
- NULL
- };
-]], [[
- const char **mv;
- for (mv = macro_values; *mv != NULL; mv++)
- {
- const char *value = *mv;
- /* Test whether it looks like a cast expression. */
- if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
- || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
- || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
- || strncmp (value, "((int)"/*)*/, 6) == 0
- || strncmp (value, "((signed short)"/*)*/, 15) == 0
- || strncmp (value, "((signed char)"/*)*/, 14) == 0)
- return 1;
- }
- return 0;
-]])],
- [gl_cv_header_working_stdint_h=yes],
- [],
- [dnl When cross-compiling, assume it works.
- gl_cv_header_working_stdint_h=yes
- ])
- ])
- ])
- fi
- if test "$gl_cv_header_working_stdint_h" = yes; then
- STDINT_H=
- else
- dnl Check for <sys/inttypes.h>, and for
- dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
- AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
- if test $ac_cv_header_sys_inttypes_h = yes; then
- HAVE_SYS_INTTYPES_H=1
- else
- HAVE_SYS_INTTYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_INTTYPES_H])
- if test $ac_cv_header_sys_bitypes_h = yes; then
- HAVE_SYS_BITYPES_H=1
- else
- HAVE_SYS_BITYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_BITYPES_H])
-
- dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
- dnl character support).
- AC_CHECK_HEADERS_ONCE([wchar.h])
-
- gl_STDINT_TYPE_PROPERTIES
- STDINT_H=stdint.h
- fi
- AC_SUBST([STDINT_H])
-])
-
-dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
-dnl Determine the size of each of the given types in bits.
-AC_DEFUN([gl_STDINT_BITSIZEOF],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
- [Define to the number of bits in type ']gltype['.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
- [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT],
- [$2
-#include <limits.h>], [result=unknown])
- eval gl_cv_bitsizeof_${gltype}=\$result
- ])
- eval result=\$gl_cv_bitsizeof_${gltype}
- if test $result = unknown; then
- dnl Use a nonempty default, because some compilers, such as IRIX 5 cc,
- dnl do a syntax check even on unused #if conditions and give an error
- dnl on valid C code like this:
- dnl #if 0
- dnl # if > 32
- dnl # endif
- dnl #endif
- result=0
- fi
- GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
- eval BITSIZEOF_${GLTYPE}=\$result
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
-])
-
-dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
-dnl Determine the signedness of each of the given types.
-dnl Define HAVE_SIGNED_TYPE if type is signed.
-AC_DEFUN([gl_CHECK_TYPES_SIGNED],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
- [Define to 1 if ']gltype[' is a signed integer type.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([$2[
- int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])],
- result=yes, result=no)
- eval gl_cv_type_${gltype}_signed=\$result
- ])
- eval result=\$gl_cv_type_${gltype}_signed
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- if test "$result" = yes; then
- AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1])
- eval HAVE_SIGNED_${GLTYPE}=1
- else
- eval HAVE_SIGNED_${GLTYPE}=0
- fi
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
-])
-
-dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
-dnl Determine the suffix to use for integer constants of the given types.
-dnl Define t_SUFFIX for each such type.
-AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
- [Define to l, ll, u, ul, ull, etc., as suitable for
- constants of type ']gltype['.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([for $gltype integer literal suffix],
- [gl_cv_type_${gltype}_suffix],
- [eval gl_cv_type_${gltype}_suffix=no
- eval result=\$gl_cv_type_${gltype}_signed
- if test "$result" = yes; then
- glsufu=
- else
- glsufu=u
- fi
- for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
- case $glsuf in
- '') gltype1='int';;
- l) gltype1='long int';;
- ll) gltype1='long long int';;
- i64) gltype1='__int64';;
- u) gltype1='unsigned int';;
- ul) gltype1='unsigned long int';;
- ull) gltype1='unsigned long long int';;
- ui64)gltype1='unsigned __int64';;
- esac
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([$2[
- extern $gltype foo;
- extern $gltype1 foo;]])],
- [eval gl_cv_type_${gltype}_suffix=\$glsuf])
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" != no && break
- done])
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" = no && result=
- eval ${GLTYPE}_SUFFIX=\$result
- AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
-])
-
-dnl gl_STDINT_INCLUDES
-AC_DEFUN([gl_STDINT_INCLUDES],
-[[
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-]])
-
-dnl gl_STDINT_TYPE_PROPERTIES
-dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t
-dnl of interest to stdint.in.h.
-AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
-[
- AC_REQUIRE([gl_MULTIARCH])
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- gl_STDINT_BITSIZEOF([ptrdiff_t size_t],
- [gl_STDINT_INCLUDES])
- fi
- gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
- gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
- gl_cv_type_ptrdiff_t_signed=yes
- gl_cv_type_size_t_signed=no
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t],
- [gl_STDINT_INCLUDES])
- fi
- gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
-])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
- AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
-
-# Hey Emacs!
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
diff --git a/sources/host-tools/sed-4.2.1/m4/stdio_h.m4 b/sources/host-tools/sed-4.2.1/m4/stdio_h.m4
deleted file mode 100644
index fcbe68f..0000000
--- a/sources/host-tools/sed-4.2.1/m4/stdio_h.m4
+++ /dev/null
@@ -1,136 +0,0 @@
-# stdio_h.m4 serial 16
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_STDIO_H],
-[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- gl_CHECK_NEXT_HEADERS([stdio.h])
- dnl No need to create extra modules for these functions. Everyone who uses
- dnl <stdio.h> likely needs them.
- GNULIB_FPRINTF=1
- GNULIB_PRINTF=1
- GNULIB_VFPRINTF=1
- GNULIB_VPRINTF=1
- GNULIB_FPUTC=1
- GNULIB_PUTC=1
- GNULIB_PUTCHAR=1
- GNULIB_FPUTS=1
- GNULIB_PUTS=1
- GNULIB_FWRITE=1
- dnl This ifdef is just an optimization, to avoid performing a configure
- dnl check whose result is not used. It does not make the test of
- dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant.
- m4_ifdef([gl_SIGNAL_SIGPIPE], [
- gl_SIGNAL_SIGPIPE
- if test $gl_cv_header_signal_h_SIGPIPE != yes; then
- REPLACE_STDIO_WRITE_FUNCS=1
- AC_LIBOBJ([stdio-write])
- fi
- ])
-])
-
-AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_STDIO_H_DEFAULTS],
-[
- GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF])
- GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
- GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF])
- GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX])
- GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
- GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
- GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF])
- GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
- GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF])
- GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX])
- GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF])
- GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
- GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF])
- GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF])
- GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
- GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
- GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
- GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN])
- GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN])
- GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
- GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
- GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
- GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
- GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
- GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE])
- GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE])
- GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC])
- GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC])
- GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR])
- GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS])
- GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS])
- GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE])
- GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
- GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
- GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR])
- GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
- dnl Assume proper GNU behavior unless another module says otherwise.
- REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
- REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
- REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
- REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF])
- REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF])
- REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
- HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
- REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
- HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
- REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
- REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])
- HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
- REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF])
- HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
- REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF])
- HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
- REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
- HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
- REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF])
- REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN])
- REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN])
- HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
- REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO])
- REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK])
- HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
- REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO])
- REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL])
- REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
- REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE])
- HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE])
- REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE])
- HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
- HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
- REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE])
- REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR])
-])
-
-dnl Code shared by fseeko and ftello. Determine if large files are supported,
-dnl but stdin does not start as a large file by default.
-AC_DEFUN([gl_STDIN_LARGE_OFFSET],
- [
- AC_CACHE_CHECK([whether stdin defaults to large file offsets],
- [gl_cv_var_stdin_large_offset],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
-[[#if defined __SL64 && defined __SCLE /* cygwin */
- /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making
- fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and
- it is easier to do a version check than building a runtime test. */
-# include <cygwin/version.h>
-# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25)
- choke me
-# endif
-#endif]])],
- [gl_cv_var_stdin_large_offset=yes],
- [gl_cv_var_stdin_large_offset=no])])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/stdlib_h.m4 b/sources/host-tools/sed-4.2.1/m4/stdlib_h.m4
deleted file mode 100644
index b295f16..0000000
--- a/sources/host-tools/sed-4.2.1/m4/stdlib_h.m4
+++ /dev/null
@@ -1,73 +0,0 @@
-# stdlib_h.m4 serial 15
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_STDLIB_H],
-[
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- gl_CHECK_NEXT_HEADERS([stdlib.h])
- AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT])
- if test $ac_cv_header_random_h = yes; then
- HAVE_RANDOM_H=1
- else
- HAVE_RANDOM_H=0
- fi
- AC_SUBST([HAVE_RANDOM_H])
- AC_CHECK_TYPES([struct random_data],
- [], [HAVE_STRUCT_RANDOM_DATA=0],
- [[#include <stdlib.h>
- #if HAVE_RANDOM_H
- # include <random.h>
- #endif
- ]])
-])
-
-AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_STDLIB_H_DEFAULTS],
-[
- GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
- GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
- GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
- GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL])
- GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG])
- GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
- GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
- GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
- GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
- GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
- GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH])
- GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV])
- GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
- GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
- GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
- GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
- HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX])
- HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
- HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX])
- HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
- HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX])
- HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
- HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
- HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
- HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
- HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
- HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
- HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
- HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
- HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV])
- HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
- REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
- REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
- REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
- VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/strerror.m4 b/sources/host-tools/sed-4.2.1/m4/strerror.m4
deleted file mode 100644
index 8c16ca9..0000000
--- a/sources/host-tools/sed-4.2.1/m4/strerror.m4
+++ /dev/null
@@ -1,68 +0,0 @@
-# strerror.m4 serial 9
-dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRERROR],
-[
- AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE])
- if test $REPLACE_STRERROR = 1; then
- AC_LIBOBJ([strerror])
- AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR],
- [Define this to 1 if strerror is broken.])
- fi
-])
-
-# Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ).
-AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
-[
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REQUIRE([gl_HEADER_ERRNO_H])
- if test -z "$ERRNO_H"; then
- AC_CACHE_CHECK([for working strerror function],
- [gl_cv_func_working_strerror],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <string.h>
- ]],
- [[return !*strerror (-2);]])],
- [gl_cv_func_working_strerror=yes],
- [gl_cv_func_working_strerror=no],
- [dnl Assume crossbuild works if it compiles.
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <string.h>
- ]],
- [[return !*strerror (-2);]])],
- [gl_cv_func_working_strerror=yes],
- [gl_cv_func_working_strerror=no])
- ])
- ])
- if test $gl_cv_func_working_strerror = no; then
- dnl The system's strerror() fails to return a string for out-of-range
- dnl integers. Replace it.
- REPLACE_STRERROR=1
- fi
- else
- dnl The system's strerror() cannot know about the new errno values we add
- dnl to <errno.h>. Replace it.
- REPLACE_STRERROR=1
- fi
- if test $REPLACE_STRERROR = 1; then
- gl_PREREQ_STRERROR
- fi
-])
-
-# Prerequisites of lib/strerror.c.
-AC_DEFUN([gl_PREREQ_STRERROR], [
- AC_CHECK_DECLS([strerror])
- AC_CHECK_HEADERS_ONCE([sys/socket.h])
- if test $ac_cv_header_sys_socket_h != yes; then
- dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
- dnl the check for those headers unconditional; yet cygwin reports
- dnl that the headers are present but cannot be compiled (since on
- dnl cygwin, all socket information should come from sys/socket.h).
- AC_CHECK_HEADERS([winsock2.h])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/string_h.m4 b/sources/host-tools/sed-4.2.1/m4/string_h.m4
deleted file mode 100644
index 11f09c8..0000000
--- a/sources/host-tools/sed-4.2.1/m4/string_h.m4
+++ /dev/null
@@ -1,94 +0,0 @@
-# Configure a GNU-like replacement for <string.h>.
-
-# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# Written by Paul Eggert.
-
-AC_DEFUN([gl_HEADER_STRING_H],
-[
- dnl Use AC_REQUIRE here, so that the default behavior below is expanded
- dnl once only, before all statements that occur in other macros.
- AC_REQUIRE([gl_HEADER_STRING_H_BODY])
-])
-
-AC_DEFUN([gl_HEADER_STRING_H_BODY],
-[
- AC_REQUIRE([AC_C_RESTRICT])
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- gl_CHECK_NEXT_HEADERS([string.h])
-])
-
-AC_DEFUN([gl_STRING_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
-[
- GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
- GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
- GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
- GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
- GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR])
- GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY])
- GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
- GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
- GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
- GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
- GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
- GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
- GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP])
- GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR])
- GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR])
- GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R])
- GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN])
- GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN])
- GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR])
- GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR])
- GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR])
- GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP])
- GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
- GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
- GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR])
- GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN])
- GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK])
- GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN])
- GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
- GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
- GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
- GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
- GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
- HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
- HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
- HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
- HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
- HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
- HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
- HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
- HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP])
- HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
- HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
- HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
- HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
- HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
- HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
- HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR])
- HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
- HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
- REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
- REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
- REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
- REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
- REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
- REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
- REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/strndup.m4 b/sources/host-tools/sed-4.2.1/m4/strndup.m4
deleted file mode 100644
index 4fa7d5a..0000000
--- a/sources/host-tools/sed-4.2.1/m4/strndup.m4
+++ /dev/null
@@ -1,53 +0,0 @@
-# strndup.m4 serial 16
-dnl Copyright (C) 2002-2003, 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRNDUP],
-[
- dnl Persuade glibc <string.h> to declare strndup().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_CHECK_DECLS_ONCE([strndup])
- if test $ac_cv_have_decl_strndup = no; then
- HAVE_DECL_STRNDUP=0
- fi
-
- # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
- AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup],
- [AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[#include <string.h>
- #include <stdlib.h>]], [[
-#ifndef HAVE_DECL_STRNDUP
- extern char *strndup (const char *, size_t);
-#endif
- char *s;
- s = strndup ("some longer string", 15);
- free (s);
- s = strndup ("shorter string", 13);
- return s[13] != '\0';]])],
- [gl_cv_func_strndup=yes],
- [gl_cv_func_strndup=no],
- [AC_CHECK_FUNC([strndup],
- [AC_EGREP_CPP([too risky], [
-#ifdef _AIX
- too risky
-#endif
- ],
- [gl_cv_func_strndup=no],
- [gl_cv_func_strndup=yes])],
- [gl_cv_func_strndup=no])])])
- if test $gl_cv_func_strndup = yes; then
- AC_DEFINE([HAVE_STRNDUP], [1],
- [Define if you have the strndup() function and it works.])
- else
- HAVE_STRNDUP=0
- AC_LIBOBJ([strndup])
- gl_PREREQ_STRNDUP
- fi
-])
-
-# Prerequisites of lib/strndup.c.
-AC_DEFUN([gl_PREREQ_STRNDUP], [:])
diff --git a/sources/host-tools/sed-4.2.1/m4/strnlen.m4 b/sources/host-tools/sed-4.2.1/m4/strnlen.m4
deleted file mode 100644
index 1c97859..0000000
--- a/sources/host-tools/sed-4.2.1/m4/strnlen.m4
+++ /dev/null
@@ -1,31 +0,0 @@
-# strnlen.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2007, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRNLEN],
-[
- dnl Persuade glibc <string.h> to declare strnlen().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_CHECK_DECLS_ONCE([strnlen])
- if test $ac_cv_have_decl_strnlen = no; then
- HAVE_DECL_STRNLEN=0
- fi
-
- AC_FUNC_STRNLEN
- if test $ac_cv_func_strnlen_working = no; then
- # This is necessary because automake-1.6.1 doesn't understand
- # that the above use of AC_FUNC_STRNLEN means we may have to use
- # lib/strnlen.c.
- #AC_LIBOBJ([strnlen])
- AC_DEFINE([strnlen], [rpl_strnlen],
- [Define to rpl_strnlen if the replacement function should be used.])
- gl_PREREQ_STRNLEN
- fi
-])
-
-# Prerequisites of lib/strnlen.c.
-AC_DEFUN([gl_PREREQ_STRNLEN], [:])
diff --git a/sources/host-tools/sed-4.2.1/m4/strverscmp.m4 b/sources/host-tools/sed-4.2.1/m4/strverscmp.m4
deleted file mode 100644
index becce2b..0000000
--- a/sources/host-tools/sed-4.2.1/m4/strverscmp.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# strverscmp.m4 serial 7
-dnl Copyright (C) 2002, 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRVERSCMP],
-[
- dnl Persuade glibc <string.h> to declare strverscmp().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([strverscmp])
- if test $ac_cv_func_strverscmp = no; then
- gl_PREREQ_STRVERSCMP
- HAVE_STRVERSCMP=0
- fi
-])
-
-# Prerequisites of lib/strverscmp.c.
-AC_DEFUN([gl_PREREQ_STRVERSCMP], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/sys_stat_h.m4 b/sources/host-tools/sed-4.2.1/m4/sys_stat_h.m4
deleted file mode 100644
index 20c82ed..0000000
--- a/sources/host-tools/sed-4.2.1/m4/sys_stat_h.m4
+++ /dev/null
@@ -1,59 +0,0 @@
-# sys_stat_h.m4 serial 10 -*- Autoconf -*-
-dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Eric Blake.
-dnl Test whether <sys/stat.h> contains lstat and mkdir or must be substituted.
-
-AC_DEFUN([gl_HEADER_SYS_STAT_H],
-[
- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
-
- dnl Check for lstat. Systems that lack it (mingw) also lack symlinks, so
- dnl stat is a good replacement.
- AC_CHECK_FUNCS_ONCE([lstat])
- if test $ac_cv_func_lstat = yes; then
- HAVE_LSTAT=1
- else
- HAVE_LSTAT=0
- fi
- AC_SUBST([HAVE_LSTAT])
-
- dnl For the mkdir substitute.
- AC_REQUIRE([AC_C_INLINE])
-
- dnl Check for broken stat macros.
- AC_REQUIRE([AC_HEADER_STAT])
-
- gl_CHECK_NEXT_HEADERS([sys/stat.h])
- SYS_STAT_H='sys/stat.h'
- AC_SUBST([SYS_STAT_H])
-
- dnl Define types that are supposed to be defined in <sys/types.h> or
- dnl <sys/stat.h>.
- AC_CHECK_TYPE([nlink_t], [],
- [AC_DEFINE([nlink_t], [int],
- [Define to the type of st_nlink in struct stat, or a supertype.])],
- [#include <sys/types.h>
- #include <sys/stat.h>])
-
-]) # gl_HEADER_SYS_STAT_H
-
-AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
-[
- GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD])
- GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD])
- REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
- REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/sys_time_h.m4 b/sources/host-tools/sed-4.2.1/m4/sys_time_h.m4
deleted file mode 100644
index 13ac576..0000000
--- a/sources/host-tools/sed-4.2.1/m4/sys_time_h.m4
+++ /dev/null
@@ -1,57 +0,0 @@
-# Configure a replacement for <sys/time.h>.
-
-# Copyright (C) 2007 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Written by Paul Eggert and Martin Lambers.
-
-AC_DEFUN([gl_HEADER_SYS_TIME_H],
-[
- dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement
- dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1
- dnl statements that occur in other macros.
- AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY])
-])
-
-AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY],
-[
- AC_REQUIRE([AC_C_RESTRICT])
- gl_CHECK_NEXT_HEADERS([sys/time.h])
-
- if test $ac_cv_header_sys_time_h = yes; then
- HAVE_SYS_TIME_H=1
- else
- HAVE_SYS_TIME_H=0
- fi
- AC_SUBST([HAVE_SYS_TIME_H])
-
- AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#if HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
- #include <time.h>
- ]],
- [[static struct timeval x; x.tv_sec = x.tv_usec;]])],
- [gl_cv_sys_struct_timeval=yes],
- [gl_cv_sys_struct_timeval=no])])
- if test $gl_cv_sys_struct_timeval = yes; then
- HAVE_STRUCT_TIMEVAL=1
- else
- HAVE_STRUCT_TIMEVAL=0
- fi
- AC_SUBST([HAVE_STRUCT_TIMEVAL])
-
- dnl Assume POSIX behavior unless another module says otherwise.
- REPLACE_GETTIMEOFDAY=0
- AC_SUBST([REPLACE_GETTIMEOFDAY])
- if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then
- SYS_TIME_H=sys/time.h
- else
- SYS_TIME_H=
- fi
- AC_SUBST([SYS_TIME_H])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/tempname.m4 b/sources/host-tools/sed-4.2.1/m4/tempname.m4
deleted file mode 100644
index 4c44d37..0000000
--- a/sources/host-tools/sed-4.2.1/m4/tempname.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-#serial 3
-
-# Copyright (C) 2006-2007 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# glibc provides __gen_tempname as a wrapper for mk[ds]temp. Expose
-# it as a public API, and provide it on systems that are lacking.
-AC_DEFUN([gl_FUNC_GEN_TEMPNAME],
-[
- AC_REQUIRE([AC_SYS_LARGEFILE])
-
- AC_LIBOBJ([tempname])
- gl_PREREQ_TEMPNAME
-])
-
-# Prerequisites of lib/tempname.c.
-AC_DEFUN([gl_PREREQ_TEMPNAME],
-[
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/threadlib.m4 b/sources/host-tools/sed-4.2.1/m4/threadlib.m4
deleted file mode 100644
index 3dd38aa..0000000
--- a/sources/host-tools/sed-4.2.1/m4/threadlib.m4
+++ /dev/null
@@ -1,313 +0,0 @@
-# threadlib.m4 serial 3 (gettext-0.18)
-dnl Copyright (C) 2005-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl gl_THREADLIB
-dnl ------------
-dnl Tests for a multithreading library to be used.
-dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
-dnl USE_PTH_THREADS, USE_WIN32_THREADS
-dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
-dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
-dnl libtool).
-dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
-dnl programs that really need multithread functionality. The difference
-dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
-dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
-dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
-dnl multithread-safe programs.
-
-AC_DEFUN([gl_THREADLIB_EARLY],
-[
- AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
-])
-
-dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once.
-
-AC_DEFUN([gl_THREADLIB_EARLY_BODY],
-[
- dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
- dnl influences the result of the autoconf tests that test for *_unlocked
- dnl declarations, on AIX 5 at least. Therefore it must come early.
- AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
- AC_BEFORE([$0], [gl_ARGP])dnl
-
- AC_REQUIRE([AC_CANONICAL_HOST])
- dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
- dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
- dnl AC_GNU_SOURCE.
- m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
- [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
- [AC_REQUIRE([AC_GNU_SOURCE])])
- dnl Check for multithreading.
- m4_divert_text([DEFAULTS], [gl_use_threads_default=])
- AC_ARG_ENABLE([threads],
-AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
-AC_HELP_STRING([--disable-threads], [build without multithread safety]),
- [gl_use_threads=$enableval],
- [if test -n "$gl_use_threads_default"; then
- gl_use_threads="$gl_use_threads_default"
- else
- case "$host_os" in
- dnl Disable multithreading by default on OSF/1, because it interferes
- dnl with fork()/exec(): When msgexec is linked with -lpthread, its
- dnl child process gets an endless segmentation fault inside execvp().
- osf*) gl_use_threads=no ;;
- *) gl_use_threads=yes ;;
- esac
- fi
- ])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # For using <pthread.h>:
- case "$host_os" in
- osf*)
- # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
- # groks <pthread.h>. cc also understands the flag -pthread, but
- # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
- # 2. putting a flag into CPPFLAGS that has an effect on the linker
- # causes the AC_TRY_LINK test below to succeed unexpectedly,
- # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
- CPPFLAGS="$CPPFLAGS -D_REENTRANT"
- ;;
- esac
- # Some systems optimize for single-threaded programs by default, and
- # need special flags to disable these optimizations. For example, the
- # definition of 'errno' in <errno.h>.
- case "$host_os" in
- aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
- solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
- esac
- fi
-])
-
-dnl The guts of gl_THREADLIB. Needs to be expanded only once.
-
-AC_DEFUN([gl_THREADLIB_BODY],
-[
- AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
- gl_threads_api=none
- LIBTHREAD=
- LTLIBTHREAD=
- LIBMULTITHREAD=
- LTLIBMULTITHREAD=
- if test "$gl_use_threads" != no; then
- dnl Check whether the compiler and linker support weak declarations.
- AC_MSG_CHECKING([whether imported symbols can be declared weak])
- gl_have_weak=no
- AC_TRY_LINK([extern void xyzzy ();
-#pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes])
- AC_MSG_RESULT([$gl_have_weak])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
- # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
- AC_CHECK_HEADER([pthread.h],
- [gl_have_pthread_h=yes], [gl_have_pthread_h=no])
- if test "$gl_have_pthread_h" = yes; then
- # Other possible tests:
- # -lpthreads (FSU threads, PCthreads)
- # -lgthreads
- gl_have_pthread=
- # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
- # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
- # the second one only in libpthread, and lock.c needs it.
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_mutex_lock((pthread_mutex_t*)0);
- pthread_mutexattr_init((pthread_mutexattr_t*)0);],
- [gl_have_pthread=yes])
- # Test for libpthread by looking for pthread_kill. (Not pthread_self,
- # since it is defined as a macro on OSF/1.)
- if test -n "$gl_have_pthread"; then
- # The program links fine without libpthread. But it may actually
- # need to link with libpthread in order to create multiple threads.
- AC_CHECK_LIB([pthread], [pthread_kill],
- [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
- # On Solaris and HP-UX, most pthread functions exist also in libc.
- # Therefore pthread_in_use() needs to actually try to create a
- # thread: pthread_create from libc will fail, whereas
- # pthread_create will actually create a thread.
- case "$host_os" in
- solaris* | hpux*)
- AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
- [Define if the pthread_in_use() detection is hard.])
- esac
- ])
- else
- # Some library is needed. Try libpthread and libc_r.
- AC_CHECK_LIB([pthread], [pthread_kill],
- [gl_have_pthread=yes
- LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
- LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
- if test -z "$gl_have_pthread"; then
- # For FreeBSD 4.
- AC_CHECK_LIB([c_r], [pthread_kill],
- [gl_have_pthread=yes
- LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
- LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
- fi
- fi
- if test -n "$gl_have_pthread"; then
- gl_threads_api=posix
- AC_DEFINE([USE_POSIX_THREADS], [1],
- [Define if the POSIX multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
- [Define if references to the POSIX multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- fi
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
- gl_have_solaristhread=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lthread"
- AC_TRY_LINK([#include <thread.h>
-#include <synch.h>],
- [thr_self();],
- [gl_have_solaristhread=yes])
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_solaristhread"; then
- gl_threads_api=solaris
- LIBTHREAD=-lthread
- LTLIBTHREAD=-lthread
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_SOLARIS_THREADS], [1],
- [Define if the old Solaris multithreading library can be used.])
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
- [Define if references to the old Solaris multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- fi
- fi
- if test "$gl_use_threads" = pth; then
- gl_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_LINKFLAGS([pth])
- gl_have_pth=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lpth"
- AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes])
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_pth"; then
- gl_threads_api=pth
- LIBTHREAD="$LIBPTH"
- LTLIBTHREAD="$LTLIBPTH"
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_PTH_THREADS], [1],
- [Define if the GNU Pth multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
- [Define if references to the GNU Pth multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- else
- CPPFLAGS="$gl_save_CPPFLAGS"
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
- if { case "$host_os" in
- mingw*) true;;
- *) false;;
- esac
- }; then
- gl_threads_api=win32
- AC_DEFINE([USE_WIN32_THREADS], [1],
- [Define if the Win32 multithreading API can be used.])
- fi
- fi
- fi
- fi
- AC_MSG_CHECKING([for multithread API to use])
- AC_MSG_RESULT([$gl_threads_api])
- AC_SUBST([LIBTHREAD])
- AC_SUBST([LTLIBTHREAD])
- AC_SUBST([LIBMULTITHREAD])
- AC_SUBST([LTLIBMULTITHREAD])
-])
-
-AC_DEFUN([gl_THREADLIB],
-[
- AC_REQUIRE([gl_THREADLIB_EARLY])
- AC_REQUIRE([gl_THREADLIB_BODY])
-])
-
-
-dnl gl_DISABLE_THREADS
-dnl ------------------
-dnl Sets the gl_THREADLIB default so that threads are not used by default.
-dnl The user can still override it at installation time, by using the
-dnl configure option '--enable-threads'.
-
-AC_DEFUN([gl_DISABLE_THREADS], [
- m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
-])
-
-
-dnl Survey of platforms:
-dnl
-dnl Platform Available Compiler Supports test-lock
-dnl flavours option weak result
-dnl --------------- --------- --------- -------- ---------
-dnl Linux 2.4/glibc posix -lpthread Y OK
-dnl
-dnl GNU Hurd/glibc posix
-dnl
-dnl FreeBSD 5.3 posix -lc_r Y
-dnl posix -lkse ? Y
-dnl posix -lpthread ? Y
-dnl posix -lthr Y
-dnl
-dnl FreeBSD 5.2 posix -lc_r Y
-dnl posix -lkse Y
-dnl posix -lthr Y
-dnl
-dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
-dnl
-dnl NetBSD 1.6 --
-dnl
-dnl OpenBSD 3.4 posix -lpthread Y OK
-dnl
-dnl MacOS X 10.[123] posix -lpthread Y OK
-dnl
-dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
-dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
-dnl
-dnl HP-UX 11 posix -lpthread N (cc) OK
-dnl Y (gcc)
-dnl
-dnl IRIX 6.5 posix -lpthread Y 0.5
-dnl
-dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
-dnl
-dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
-dnl -lpthread (gcc) Y
-dnl
-dnl Cygwin posix -lpthread Y OK
-dnl
-dnl Any of the above pth -lpth 0.0
-dnl
-dnl Mingw win32 N OK
-dnl
-dnl BeOS 5 --
-dnl
-dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
-dnl turned off:
-dnl OK if all three tests terminate OK,
-dnl 0.5 if the first test terminates OK but the second one loops endlessly,
-dnl 0.0 if the first test already loops endlessly.
diff --git a/sources/host-tools/sed-4.2.1/m4/unistd_h.m4 b/sources/host-tools/sed-4.2.1/m4/unistd_h.m4
deleted file mode 100644
index ff9a4ea..0000000
--- a/sources/host-tools/sed-4.2.1/m4/unistd_h.m4
+++ /dev/null
@@ -1,83 +0,0 @@
-# unistd_h.m4 serial 17
-dnl Copyright (C) 2006-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Simon Josefsson, Bruno Haible.
-
-AC_DEFUN([gl_UNISTD_H],
-[
- dnl Use AC_REQUIRE here, so that the default behavior below is expanded
- dnl once only, before all statements that occur in other macros.
- AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-
- gl_CHECK_NEXT_HEADERS([unistd.h])
-
- AC_CHECK_HEADERS_ONCE([unistd.h])
- if test $ac_cv_header_unistd_h = yes; then
- HAVE_UNISTD_H=1
- else
- HAVE_UNISTD_H=0
- fi
- AC_SUBST([HAVE_UNISTD_H])
-])
-
-AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_UNISTD_H_DEFAULTS],
-[
- GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
- GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
- GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
- GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
- GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
- GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
- GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
- GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
- GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
- GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
- GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
- GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
- GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
- GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
- GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
- GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
- GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
- GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
- GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
- GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
- GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
- GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
- HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
- HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
- HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
- HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME])
- HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
- HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
- HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
- HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL])
- HAVE_LINK=1; AC_SUBST([HAVE_LINK])
- HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
- HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
- HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
- HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
- HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
- HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
- REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
- REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
- REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
- REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
- REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
- REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
- REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
- REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
- UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/unlocked-io.m4 b/sources/host-tools/sed-4.2.1/m4/unlocked-io.m4
deleted file mode 100644
index cd5079b..0000000
--- a/sources/host-tools/sed-4.2.1/m4/unlocked-io.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-# unlocked-io.m4 serial 15
-
-# Copyright (C) 1998-2006, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-dnl
-dnl See if the glibc *_unlocked I/O macros or functions are available.
-dnl Use only those *_unlocked macros or functions that are declared
-dnl (because some of them were declared in Solaris 2.5.1 but were removed
-dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
-dnl on Solaris 2.6).
-
-AC_DEFUN([gl_FUNC_GLIBC_UNLOCKED_IO],
-[
- AC_DEFINE([USE_UNLOCKED_IO], [1],
- [Define to 1 if you want getc etc. to use unlocked I/O if available.
- Unlocked I/O can improve performance in unithreaded apps,
- but it is not safe for multithreaded apps.])
-
- dnl Persuade glibc and Solaris <stdio.h> to declare
- dnl fgets_unlocked(), fputs_unlocked() etc.
- AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
- AC_CHECK_DECLS_ONCE([clearerr_unlocked])
- AC_CHECK_DECLS_ONCE([feof_unlocked])
- AC_CHECK_DECLS_ONCE([ferror_unlocked])
- AC_CHECK_DECLS_ONCE([fflush_unlocked])
- AC_CHECK_DECLS_ONCE([fgets_unlocked])
- AC_CHECK_DECLS_ONCE([fputc_unlocked])
- AC_CHECK_DECLS_ONCE([fputs_unlocked])
- AC_CHECK_DECLS_ONCE([fread_unlocked])
- AC_CHECK_DECLS_ONCE([fwrite_unlocked])
- AC_CHECK_DECLS_ONCE([getc_unlocked])
- AC_CHECK_DECLS_ONCE([getchar_unlocked])
- AC_CHECK_DECLS_ONCE([putc_unlocked])
- AC_CHECK_DECLS_ONCE([putchar_unlocked])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/wchar.m4 b/sources/host-tools/sed-4.2.1/m4/wchar.m4
deleted file mode 100644
index 2e52a82..0000000
--- a/sources/host-tools/sed-4.2.1/m4/wchar.m4
+++ /dev/null
@@ -1,100 +0,0 @@
-dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Eric Blake.
-
-# wchar.m4 serial 23
-
-AC_DEFUN([gl_WCHAR_H],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- AC_CACHE_CHECK([whether <wchar.h> is standalone],
- [gl_cv_header_wchar_h_standalone],
- [AC_COMPILE_IFELSE([[#include <wchar.h>
-wchar_t w;]],
- [gl_cv_header_wchar_h_standalone=yes],
- [gl_cv_header_wchar_h_standalone=no])])
-
- AC_REQUIRE([gt_TYPE_WINT_T])
- if test $gt_cv_c_wint_t = yes; then
- HAVE_WINT_T=1
- else
- HAVE_WINT_T=0
- fi
- AC_SUBST([HAVE_WINT_T])
-
- if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then
- WCHAR_H=wchar.h
- fi
-
- dnl Prepare for creating substitute <wchar.h>.
- dnl Do it always: WCHAR_H may be empty here but can be set later.
- dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
- dnl character support).
- AC_CHECK_HEADERS_ONCE([wchar.h])
- if test $ac_cv_header_wchar_h = yes; then
- HAVE_WCHAR_H=1
- else
- HAVE_WCHAR_H=0
- fi
- AC_SUBST([HAVE_WCHAR_H])
- gl_CHECK_NEXT_HEADERS([wchar.h])
-])
-
-dnl Unconditionally enables the replacement of <wchar.h>.
-AC_DEFUN([gl_REPLACE_WCHAR_H],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- WCHAR_H=wchar.h
-])
-
-AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_WCHAR_H_DEFAULTS],
-[
- GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC])
- GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB])
- GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT])
- GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC])
- GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN])
- GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS])
- GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS])
- GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB])
- GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS])
- GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS])
- GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC])
- HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT])
- HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC])
- HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN])
- HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS])
- HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS])
- HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB])
- HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS])
- HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS])
- HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB])
- HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
- REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T])
- REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC])
- REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB])
- REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT])
- REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC])
- REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN])
- REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS])
- REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
- REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB])
- REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS])
- REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
- REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH])
- WCHAR_H=''; AC_SUBST([WCHAR_H])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/wcrtomb.m4 b/sources/host-tools/sed-4.2.1/m4/wcrtomb.m4
deleted file mode 100644
index cb7d926..0000000
--- a/sources/host-tools/sed-4.2.1/m4/wcrtomb.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# wcrtomb.m4 serial 4
-dnl Copyright (C) 2008-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_WCRTOMB],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_REQUIRE([AC_TYPE_MBSTATE_T])
- gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_WCRTOMB=1
- fi
- AC_CHECK_FUNCS_ONCE([wcrtomb])
- if test $ac_cv_func_wcrtomb = no; then
- HAVE_WCRTOMB=0
- fi
- if test $HAVE_WCRTOMB != 0 && test $REPLACE_WCRTOMB != 1; then
- dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes
- dnl returns 0 instead of 1.
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR])
- AC_REQUIRE([gt_LOCALE_FR_UTF8])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([gt_LOCALE_ZH_CN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether wcrtomb return value is correct],
- [gl_cv_func_wcrtomb_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on AIX 4, OSF/1 and Solaris.
- aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
- {
- if (wcrtomb (NULL, 0, NULL) != 1)
- return 1;
- }
- if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
- {
- if (wcrtomb (NULL, 0, NULL) != 1)
- return 1;
- }
- if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
- {
- if (wcrtomb (NULL, 0, NULL) != 1)
- return 1;
- }
- if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
- {
- if (wcrtomb (NULL, 0, NULL) != 1)
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_wcrtomb_retval=yes],
- [gl_cv_func_wcrtomb_retval=no],
- [:])
- fi
- ])
- case "$gl_cv_func_wcrtomb_retval" in
- *yes) ;;
- *) REPLACE_WCRTOMB=1 ;;
- esac
- fi
- if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([wcrtomb])
- gl_PREREQ_WCRTOMB
- fi
-])
-
-# Prerequisites of lib/wcrtomb.c.
-AC_DEFUN([gl_PREREQ_WCRTOMB], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/wctob.m4 b/sources/host-tools/sed-4.2.1/m4/wctob.m4
deleted file mode 100644
index 39270c9..0000000
--- a/sources/host-tools/sed-4.2.1/m4/wctob.m4
+++ /dev/null
@@ -1,91 +0,0 @@
-# wctob.m4 serial 4
-dnl Copyright (C) 2008-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_WCTOB],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
-
- AC_CHECK_FUNCS_ONCE([wctob])
- if test $ac_cv_func_wctob = no; then
- HAVE_DECL_WCTOB=0
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([wctob])
- gl_PREREQ_WCTOB
- else
-
- dnl Solaris 9 has the wctob() function but it does not work.
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether wctob works],
- [gl_cv_func_wctob_works],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on Solaris <= 9.
- solaris2.[1-9] | solaris2.[1-9].*)
- gl_cv_func_wctob_works="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_wctob_works="guessing yes" ;;
- esac
-changequote([,])dnl
- if test $LOCALE_FR != none; then
- AC_TRY_RUN([
-#include <locale.h>
-#include <string.h>
-#include <wchar.h>
-int main ()
-{
- if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
- {
- wchar_t wc;
-
- if (mbtowc (&wc, "\374", 1) == 1)
- if (wctob (wc) != (unsigned char) '\374')
- return 1;
- }
- return 0;
-}],
- [gl_cv_func_wctob_works=yes],
- [gl_cv_func_wctob_works=no],
- [:])
- fi
- ])
- case "$gl_cv_func_wctob_works" in
- *yes) ;;
- *) REPLACE_WCTOB=1 ;;
- esac
- if test $REPLACE_WCTOB = 1; then
- gl_REPLACE_WCHAR_H
- AC_LIBOBJ([wctob])
- gl_PREREQ_WCTOB
- else
-
- dnl IRIX 6.5 has the wctob() function but does not declare it.
- AC_CHECK_DECLS([wctob], [], [], [
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
- before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-])
- if test $ac_cv_have_decl_wctob != yes; then
- HAVE_DECL_WCTOB=0
- gl_REPLACE_WCHAR_H
- fi
- fi
- fi
-])
-
-# Prerequisites of lib/wctob.c.
-AC_DEFUN([gl_PREREQ_WCTOB], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/wctype.m4 b/sources/host-tools/sed-4.2.1/m4/wctype.m4
deleted file mode 100644
index 6a1b6f0..0000000
--- a/sources/host-tools/sed-4.2.1/m4/wctype.m4
+++ /dev/null
@@ -1,74 +0,0 @@
-# wctype.m4 serial 2
-
-dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
-
-dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Paul Eggert.
-
-AC_DEFUN([gl_WCTYPE_H],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_CHECK_FUNCS_ONCE([iswcntrl])
- if test $ac_cv_func_iswcntrl = yes; then
- HAVE_ISWCNTRL=1
- else
- HAVE_ISWCNTRL=0
- fi
- AC_SUBST([HAVE_ISWCNTRL])
- AC_CHECK_HEADERS_ONCE([wctype.h])
- AC_REQUIRE([AC_C_INLINE])
-
- AC_REQUIRE([gt_TYPE_WINT_T])
- if test $gt_cv_c_wint_t = yes; then
- HAVE_WINT_T=1
- else
- HAVE_WINT_T=0
- fi
- AC_SUBST([HAVE_WINT_T])
-
- WCTYPE_H=wctype.h
- if test $ac_cv_header_wctype_h = yes; then
- if test $ac_cv_func_iswcntrl = yes; then
- dnl Linux libc5 has an iswprint function that returns 0 for all arguments.
- dnl The other functions are likely broken in the same way.
- AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works],
- [
- AC_TRY_RUN([#include <stddef.h>
- #include <stdio.h>
- #include <time.h>
- #include <wchar.h>
- #include <wctype.h>
- int main () { return iswprint ('x') == 0; }],
- [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no],
- [AC_TRY_COMPILE([#include <stdlib.h>
- #if __GNU_LIBRARY__ == 1
- Linux libc5 i18n is broken.
- #endif], [],
- [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no])
- ])
- ])
- if test $gl_cv_func_iswcntrl_works = yes; then
- WCTYPE_H=
- fi
- fi
- dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty,
- dnl for the benefit of builds from non-distclean directories.
- gl_CHECK_NEXT_HEADERS([wctype.h])
- HAVE_WCTYPE_H=1
- else
- HAVE_WCTYPE_H=0
- fi
- AC_SUBST([HAVE_WCTYPE_H])
- AC_SUBST([WCTYPE_H])
-
- if test "$gl_cv_func_iswcntrl_works" = no; then
- REPLACE_ISWCNTRL=1
- else
- REPLACE_ISWCNTRL=0
- fi
- AC_SUBST([REPLACE_ISWCNTRL])
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/wint_t.m4 b/sources/host-tools/sed-4.2.1/m4/wint_t.m4
deleted file mode 100644
index 47a4363..0000000
--- a/sources/host-tools/sed-4.2.1/m4/wint_t.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-# wint_t.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 2003, 2007-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-dnl Test whether <wchar.h> has the 'wint_t' type.
-dnl Prerequisite: AC_PROG_CC
-
-AC_DEFUN([gt_TYPE_WINT_T],
-[
- AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
- [AC_TRY_COMPILE([
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
- before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])])
- if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
- fi
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/xalloc.m4 b/sources/host-tools/sed-4.2.1/m4/xalloc.m4
deleted file mode 100644
index 837a948..0000000
--- a/sources/host-tools/sed-4.2.1/m4/xalloc.m4
+++ /dev/null
@@ -1,24 +0,0 @@
-# xalloc.m4 serial 16
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_XALLOC],
-[
- AC_LIBOBJ([xmalloc])
-
- gl_PREREQ_XALLOC
- gl_PREREQ_XMALLOC
-])
-
-# Prerequisites of lib/xalloc.h.
-AC_DEFUN([gl_PREREQ_XALLOC], [
- AC_REQUIRE([gl_INLINE])
- :
-])
-
-# Prerequisites of lib/xmalloc.c.
-AC_DEFUN([gl_PREREQ_XMALLOC], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/m4/xstrndup.m4 b/sources/host-tools/sed-4.2.1/m4/xstrndup.m4
deleted file mode 100644
index 8a30ab1..0000000
--- a/sources/host-tools/sed-4.2.1/m4/xstrndup.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-# xstrndup.m4 serial 2
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_XSTRNDUP],
-[
- gl_PREREQ_XSTRNDUP
-])
-
-# Prerequisites of lib/xstrndup.c.
-AC_DEFUN([gl_PREREQ_XSTRNDUP], [
- :
-])
diff --git a/sources/host-tools/sed-4.2.1/po/ChangeLog b/sources/host-tools/sed-4.2.1/po/ChangeLog
deleted file mode 100644
index 0042d6f..0000000
--- a/sources/host-tools/sed-4.2.1/po/ChangeLog
+++ /dev/null
@@ -1,53 +0,0 @@
-2004-11-11 Paolo Bonzini <bonzini@gnu.org>
-
- * Makevars: New.
-
-2004-11-02 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
-
-2002-10-26 Paolo Bonzini <bonzini@gnu.org>
-
- * po/*.po: updated from Translation Project
-
-2001-10-19 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
- * cat-id-tbl.c: Remove file.
- * stamp-cat-id: Remove file.
-
-2001-03-02 Paolo Bonzini <bonzini@gnu.org>
-
- * po/it.po: updated
- * po/sed.pot: likewise.
-
-2000-12-10 Paolo Bonzini <bonzini@gnu.org>
-
- * po/it.po: Italian translation reviewed for new POT file.
- * po/sed.pot: updated
-
-Mon Mar 15 16:25:53 PST 1999 Ken Pizzini <ken@gnu.org>
-
- * po/it.po: new translation file.
-
-Sun Feb 7 21:22:17 PST 1999 Ken Pizzini <ken@gnu.org>
-
- * po/de.po: new translation file.
-
-Sat Dec 12 11:18:55 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * po/ru.po: new translation file.
-
-Sun Dec 6 00:51:23 PST 1998 Ken Pizzini <ken@gnu.org>
-
- * po/fr.po: new translation file.
-
-Sun Aug 16 02:59:20 PDT 1998 Ken Pizzini <ken@gnu.org>
-
- * sed/compile.c: added N_() markers and corresponding gettext()
- (er, _()) calls.
- * po/sed.pot: updated to reflect changed and newly marked text.
-
-1998-07-24 Erick Branderhorst <Erick.Branderhorst@asml.nl>
-
- * po/nl.po: Dutch translation.
diff --git a/sources/host-tools/sed-4.2.1/po/LINGUAS b/sources/host-tools/sed-4.2.1/po/LINGUAS
deleted file mode 100644
index 460b001..0000000
--- a/sources/host-tools/sed-4.2.1/po/LINGUAS
+++ /dev/null
@@ -1,36 +0,0 @@
-af
-ca
-cs
-da
-de
-el
-eo
-es
-et
-eu
-fi
-fr
-ga
-gl
-he
-hr
-hu
-id
-it
-ja
-ko
-nl
-pl
-pt
-pt_BR
-ro
-ru
-sk
-sl
-sr
-sv
-tr
-uk
-vi
-zh_CN
-zh_TW
diff --git a/sources/host-tools/sed-4.2.1/po/Makefile.in.in b/sources/host-tools/sed-4.2.1/po/Makefile.in.in
deleted file mode 100644
index e7d1ab2..0000000
--- a/sources/host-tools/sed-4.2.1/po/Makefile.in.in
+++ /dev/null
@@ -1,395 +0,0 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-#
-# Origin: gettext-0.15
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = @localedir@
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-mkinstalldirs = $(SHELL) @install_sh@ -d
-mkdir_p = @mkdir_p@
-
-GMSGFMT_ = @GMSGFMT@
-GMSGFMT_no = @GMSGFMT@
-GMSGFMT_yes = @GMSGFMT_015@
-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-MSGFMT_ = @MSGFMT@
-MSGFMT_no = @MSGFMT@
-MSGFMT_yes = @MSGFMT_015@
-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
-XGETTEXT_ = @XGETTEXT@
-XGETTEXT_no = @XGETTEXT@
-XGETTEXT_yes = @XGETTEXT_015@
-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
-
-.po.mo:
- @echo "$(MSGFMT) -c -o $@ $<"; \
- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
- @lang=`echo $* | sed -e 's,.*/,,'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
- test ! -f $(srcdir)/$(DOMAIN).pot || \
- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
- @test ! -f $(srcdir)/$(DOMAIN).pot || { \
- echo "touch stamp-po" && \
- echo timestamp > stamp-poT && \
- mv stamp-poT stamp-po; \
- }
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
- msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
- else \
- msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
- fi; \
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address="$$msgid_bugs_address"
- test ! -f $(DOMAIN).po || { \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
- else \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- else \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
- $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
- if test -f "$(srcdir)/$${lang}.po"; then \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
- else \
- $(MAKE) $${lang}.po-create; \
- fi
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- for file in $(DISTFILES.common) Makevars.template; do \
- $(INSTALL_DATA) $(srcdir)/$$file \
- $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- for file in Makevars; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- $(mkdir_p) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
- fi; \
- done; \
- done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- else \
- : ; \
- fi
-installdirs-data-no:
-installdirs-data-yes:
- $(mkdir_p) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- fi; \
- done; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- for file in $(DISTFILES.common) Makevars.template; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-uninstall-data-no:
-uninstall-data-yes:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- done; \
- done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
- rm -f remove-potcdate.sed
- rm -f stamp-poT
- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- $(MAKE) update-po
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
- dists="$(DISTFILES)"; \
- if test "$(PACKAGE)" = "gettext-tools"; then \
- dists="$$dists Makevars.template"; \
- fi; \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- dists="$$dists $(DOMAIN).pot stamp-po"; \
- fi; \
- if test -f $(srcdir)/ChangeLog; then \
- dists="$$dists ChangeLog"; \
- fi; \
- for i in 0 1 2 3 4 5 6 7 8 9; do \
- if test -f $(srcdir)/ChangeLog.$$i; then \
- dists="$$dists ChangeLog.$$i"; \
- fi; \
- done; \
- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
- for file in $$dists; do \
- if test -f $$file; then \
- cp -p $$file $(distdir) || exit 1; \
- else \
- cp -p $(srcdir)/$$file $(distdir) || exit 1; \
- fi; \
- done
-
-update-po: Makefile
- $(MAKE) $(DOMAIN).pot-update
- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
- $(MAKE) update-gmo
-
-# General rule for creating PO files.
-
-.nop.po-create:
- @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
- echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
- exit 1
-
-# General rule for updating PO files.
-
-.nop.po-update:
- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
- cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "msgmerge for $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
- cd $(top_builddir) \
- && $(SHELL) ./config.status $(subdir)/$@.in po-directories
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/po/Makevars b/sources/host-tools/sed-4.2.1/po/Makevars
deleted file mode 100644
index c026e13..0000000
--- a/sources/host-tools/sed-4.2.1/po/Makevars
+++ /dev/null
@@ -1,54 +0,0 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \
- \
- --flag=_:1:pass-c-format\
- --flag=N_:1:pass-c-format\
- --flag=error:3:c-format --flag=error_at_line:5:c-format\
-\
- --from-code=UTF-8\
- --flag=asprintf:2:c-format --flag=vasprintf:2:c-format\
- --flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\
- --flag=wrapf:1:c-format\
- --flag=error:3:c-format --flag=error_at_line:5:c-format\
- $${end_of_xgettext_options+}
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS = bug-gnu-utils@gnu.org
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
diff --git a/sources/host-tools/sed-4.2.1/po/POTFILES.in b/sources/host-tools/sed-4.2.1/po/POTFILES.in
deleted file mode 100644
index a725149..0000000
--- a/sources/host-tools/sed-4.2.1/po/POTFILES.in
+++ /dev/null
@@ -1,8 +0,0 @@
-sed/compile.c
-sed/execute.c
-sed/regexp.c
-sed/sed.c
-sed/utils.c
-lib/regcomp.c
-lib/regexec.c
-lib/regex_internal.c
diff --git a/sources/host-tools/sed-4.2.1/po/Rules-quot b/sources/host-tools/sed-4.2.1/po/Rules-quot
deleted file mode 100644
index 9c2a995..0000000
--- a/sources/host-tools/sed-4.2.1/po/Rules-quot
+++ /dev/null
@@ -1,47 +0,0 @@
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-create:
- $(MAKE) en@quot.po-update
-en@boldquot.po-create:
- $(MAKE) en@boldquot.po-update
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
- @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- ll=`echo $$lang | sed -e 's/@.*//'`; \
- LC_ALL=C; export LC_ALL; \
- cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "creation of $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-en@quot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
- rm -f *.insert-header
diff --git a/sources/host-tools/sed-4.2.1/po/af.gmo b/sources/host-tools/sed-4.2.1/po/af.gmo
deleted file mode 100644
index 9d96934..0000000
--- a/sources/host-tools/sed-4.2.1/po/af.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/af.po b/sources/host-tools/sed-4.2.1/po/af.po
deleted file mode 100644
index cae6f82..0000000
--- a/sources/host-tools/sed-4.2.1/po/af.po
+++ /dev/null
@@ -1,576 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Ysbeer <ysbeer@af.org.za>, 2004
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.0.9\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2004-01-11 21:06+0000\n"
-"Last-Translator: Ysbeer <ysbeer@af.org.za>\n"
-"Language-Team: Afrikaans <i18n@af.org.za>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "Meervoudige `!'s"
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "Onverwagte `,'"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Kan nie +N or ~N as die eerste adres gebruik nie"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "Ongepaarde `{'"
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "Onverwagte `}'"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "Ekstra karakters na instruksie"
-
-#: sed/compile.c:167
-#, fuzzy
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "Het \\ na `a', `c' or `i' verwag"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' soek nie 'n adres nie"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": soek nie 'n adres nie"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "Kommentare aanvaar nie adresse nie"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "Vermiste instruksie"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "Instruksie gebruik slegs een adres"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "Ongetermineerde adresregex"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "Ongetermineerde `s' instruksie"
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "Ongetermineerde `y' instruksie"
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "Onbekende opsie vir `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "meervoudige `p' opsies vir `s' instruksie"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "meervoudige `g' opsies vir `s' instruksie"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "meervoudige nommeropsies vir `s' instruksie"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "nommeropsie vir `s' instruksie mag nie nul wees nie"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "stringe vir y-instruksie het verskillende lengtes"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "het nuwer sed-weergawe verwag"
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "Instruksie gebruik slegs een adres"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "Onbekende instruksie:"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: lêer %s lyn %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e uitdrukking #%lu, karakter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Kan nie etiket vir sprong na `%s' kry nie"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: Kan nie %s lees nie: %s\n"
-
-#: sed/execute.c:740
-#, fuzzy, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "kon nie %d item na %s skryf nie: %s"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Kon nie tydelike lêer %s oopmaak nie: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "fout in subproses"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opsie `e' word nie ondersteun nie"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "`e' instruksie word nie ondersteun nie"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-#, fuzzy
-msgid "no previous regular expression"
-msgstr "Geen vorige regex nie"
-
-#: sed/regexp.c:42
-#, fuzzy
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Kan nie veranderaars vir leë regex spesifiseer nie"
-
-#: sed/regexp.c:131
-#, fuzzy, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Ongeldige regterhandsverwysing \\%d vir `s' instruksie"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Rapporteer foute per e-pos aan: %s .\n"
-"Sluit asb. die woord ``%s'' êrens in die onderwerplyn in.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" gebruik Perl 5 se regexsintaks in die skrip.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, fuzzy, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" gebruik Perl 5 se regexsintaks in die skrip.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed weergawe %s\n"
-
-#: sed/sed.c:316
-#, fuzzy, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"gebaseer op GNU sed weergawe 3.02.80\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed weergawe %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Hierdie is vrye sagteware; raadpleeg die bronkode vir kopiëringsinligting. "
-"Daar is GEEN\n"
-"waarborg nie; nie eens vir BRUIKBAARHEID of GESKIKHEID VIR 'n SPESIFIEK "
-"DOEL,\n"
-"binne regsperke nie.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s: Kan nie %s lees nie: %s\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "Kon nie die lêer %s oopmaak nie: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "kon nie %d item na %s skryf nie: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "kon nie %d item na %s skryf nie: %s"
-msgstr[1] "kon nie %d items na %s skryf nie: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "leesfout op %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "Kon nie die lêer %s oopmaak nie: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s: Kan nie %s lees nie: %s\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s: Kan nie %s lees nie: %s\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sukses"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Geen paring"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Ongeldige regex"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ongeldige kollasiekarakter"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ongeldige karakterklasnaam"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Sleep terugstreep"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Ongeldige terugverwysing"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Ongepaarde [ of [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Ongepaarde ( or \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Ongepaarde \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ongeldige inhoud binne \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Ongeldige bereikseinde"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Geheue uitgeput"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Ongeldige vorige regex"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Premature einde vir regex"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regex te groot"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Ongepaarde ) of \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Geen vorige regex nie"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Het savchar() met onverwagte agterstoot (%x) geroep"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNE FOUT: slegte adrestipe"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNE FOUT: Swak instruksie %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Gebruik: %s [OPTION]... {skrip-indien-absoluut-geen-ander-skrip} "
-#~ "[inset_dokument]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " onderdruk outomatiese druk van patroonruimte\n"
-#~ " -e script, --expression=script\n"
-#~ " voeg skrip by die instruksie wat uitgevoer moet word\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " voer die inhoud van die skriplêer by die instruksies wat "
-#~ "uitgevoer moet word\n"
-#~ " -i[agtervoegsel], --in-place[=agtervoegsel]\n"
-#~ " redigeer dokumente inplek (maak rugsteunkopieë as "
-#~ "agtervoegsel voorsien word)\n"
-#~ " -l N, --line-length=N\n"
-#~ " spesifiseer die gewensde lynvoulengte vir die `l' "
-#~ "instruksie\n"
-#~ " -r, --regexp-extended\n"
-#~ " gebruik uitgebreide regex in die skrip\n"
-#~ "%s -s, --separate\n"
-#~ " beskou dokumente as alleenstaande instede van 'n "
-#~ "kontinuum\n"
-#~ " -u, --unbuffered\n"
-#~ " laai minimale hoeveelheid data uit die insetdokumente en "
-#~ "spoel\n"
-#~ " die uitsetbuffers meer gereeld\n"
-#~ " --help vertoon hierdie hulpboodskap en stop\n"
-#~ " -V, --version vertoon weergaweinligting en stop\n"
-#~ "\n"
-#~ "Indien geen -e, --expression, -f, of --file opsie voorsien word nie, dan "
-#~ "sal die eerste\n"
-#~ "nieopsieparameter as sedskrip aanvaar word ter interpretasie. Alle\n"
-#~ "oorblewende parameters is name van insetdokumente; indien geen "
-#~ "insetdokumente\n"
-#~ "voorsien word nie, word standaardinset gelees.\n"
-#~ "\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/boldquot.sed b/sources/host-tools/sed-4.2.1/po/boldquot.sed
deleted file mode 100644
index 4b937aa..0000000
--- a/sources/host-tools/sed-4.2.1/po/boldquot.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“[1m/g
-s/”/[0m”/g
-s/‘/‘[1m/g
-s/’/[0m’/g
diff --git a/sources/host-tools/sed-4.2.1/po/ca.gmo b/sources/host-tools/sed-4.2.1/po/ca.gmo
deleted file mode 100644
index 62a7e98..0000000
--- a/sources/host-tools/sed-4.2.1/po/ca.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ca.po b/sources/host-tools/sed-4.2.1/po/ca.po
deleted file mode 100644
index a4cb426..0000000
--- a/sources/host-tools/sed-4.2.1/po/ca.po
+++ /dev/null
@@ -1,607 +0,0 @@
-# Catalan translation of sed.
-# Copyright © 2002, 2003, 2004, 2005, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Jordi Mallach <jordi@gnu.org>, 2002, 2003, 2004, 2005, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-18 09:24+0100\n"
-"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
-"Language-Team: Catalan <ca@dodds.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "múltiples «!»"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "«,» inesperada"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "no es pot utilitzar +N o ~N com a primera adreça"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "«{» no emparellat"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "«}» inesperat"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "hi ha caràcters extra després de l'ordre"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "s'espera \\ després de «a», «c» i «i»"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "«}» no accepta cap adreça"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": no accepta cap adreça"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "els comentaris no accepten cap adreça"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "cal una ordre"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "l'ordre utilitza només una adreça"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "l'expressió regular d'adreça no està terminada"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "ordre «s» no terminada"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "ordre «y» no terminada"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opció desconeguda per a «s»"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "múltiples opcions «p» per a l'ordre «s»"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "múltiples opcions «g» per a l'ordre «s»"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "múltiples opcions numèriques per a l'ordre «s»"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "l'opció numèrica per a l'ordre «s» no pot ser zero"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "les cadenes per a l'ordre «y» són de longituds diferents"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "el caràcter delimitador no és un caràcter d'un byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "s'esperava una versió més nova de sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "ús de l'adreça de línia 0 invàlid"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "ordre desconeguda: «%c»"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fitxer %s línia %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expressió #%lu, caràcter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "no es troba l'etiqueta per al salt a «%s»"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: no es pot llegir %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "no s'ha pogut editar %s: és un terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "no s'ha pogut editar %s: no és un fitxer regular"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "no s'ha pogut obrir el fitxer temporal %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "s'ha produït un error en el subprocés"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "l'opció «e» no està suportada"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "l'ordre «e» no està suportada"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "no hi ha fitxers d'entrada"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "no hi ha una expressió regular prèvia"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "no es poden especificar modificadors en expregs buides"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referència \\%d no vàlida en el costat dret de l'ordre «s»"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Envieu informes d'error a: %s.\n"
-"Assegureu-vos d'incloure la paraula «%s» en alguna part del camp «Assumpte:».\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" usa la sintaxi d'expressions regulars de Perl 5 en aquesta\n"
-" sequència.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Forma d'ús: %s [OPCIÓ]... {script-només-si-no-hi-ha-altres-scripts}\n"
-" [fitxer-entrada]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" suprimeix la impressió automàtica de l'espai de patrons\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" afegeix el script a les ordres a executar\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f fitxer-script, --file=fitxer-script\n"
-" afegeix els continguts de fitxer-script a les ordres a "
-"executar\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" segueix enllaços simbòlics quan s'editen els mateixos "
-"fitxers\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIX], --in-place[=SUFIX]\n"
-" edita els mateixos fitxers (fa còpia de seguretat si es\n"
-" proveeix una extensió)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" obre els fitxers en mode binari (no es processen els CR+LF\n"
-" de manera especial)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" especifica la longitud desitjada per a l'ajust de final de\n"
-" línia per a l'ordre «l»\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" inhabilita totes les extensions GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" usa expressions regulars exteses en el script.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considera els fitxers com independents, en compte d'un\n"
-" llarg flux continu.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" carrega una quantitat mínima de dades dels fitxers "
-"d'entrada\n"
-" i buida els búfers d'eixida més sovint\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help mostra aquest missatge d'ajuda i surt\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version mostra la informació de la versió i surt\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Si no es donen cap de les opcions -e, --expression, -f o --file, el primer\n"
-"argument no-opció es pren com el script sed a interpretar. Tots els "
-"arguments\n"
-"restants són noms de fitxers d'entrada; si no s'especifiquen fitxers "
-"d'entrada,\n"
-"es llegeix l'entrada estàndard.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versió %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"basat en GNU sed versió %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versió %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Aquest és programari lliure; vegeu el codi font per les condicions\n"
-"de còpia. No hi ha CAP garantia; ni tan sols de COMERCIABILITAT o\n"
-"ADEQUACIÓ A UN PROPÒSIT PARTICULAR, fins on ho permeta la llei.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "no es pot eliminar %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "no s'ha pogut obrir el fitxer %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "no s'ha pogut adjuntar a %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "no s'ha pogut escriure %d element a %s: %s"
-msgstr[1] "no s'han pogut escriure %d elements a %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "error de lectura en %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "no s'ha pogut seguir l'enllaç simbòlic %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "no es pot fer «stat» de %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "no es pot reanomenar %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Èxit"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Sense parella"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expressió regular no vàlida"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "El caràcter de comparació no és vàlid"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nom de classe de caràcter no vàlid"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Barra invertida al final"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "La referència cap enrere no és vàlida"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ o [^ no emparellat"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "«(» o \\( no emparellat"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ no emparellat"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "El contingut de \\{\\} no és vàlid"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "El rang final no és vàlid"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memòria exhaurida"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "L'expressió regular precedent no vàlida"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fi prematur de l'expressió regular"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "L'expressió regular és massa gran"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") o \\) no emparellat"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "No hi ha una expressió regular prèvia"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "S'ha cridat a savchar() amb una espenta inesperada (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "ERROR INTERN: tipus d'adreça errònia"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "ERROR INTERN: Ordre errònia %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Ús: %s [OPCIÓ]... {script-només-si-no-hi-ha-altres-scripts} [fitxer-"
-#~ "entrada]...\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suprimeix la impressió automàtica de l'espai de patrons\n"
-#~ " -e script, --expression=script\n"
-#~ " afegeix el script a les ordres a executar\n"
-#~ " -f fitxer-script, --file=fitxer-script\n"
-#~ " afegeix els continguts de fitxer-script a les ordres a "
-#~ "executar\n"
-#~ " -i[sufix], --in-place[=sufix]\n"
-#~ " edita els mateixos fitxers (fa còpia de seguretat si es\n"
-#~ " proveeix una extensió)\n"
-#~ " -l N, --line-length=N\n"
-#~ " especifica la longitud desitjada per a l'ajust de final "
-#~ "de\n"
-#~ " línia per a l'ordre «l»\n"
-#~ " -r, --regexp-extended\n"
-#~ " usa expressions regulars exteses en el script.\n"
-#~ "%s -s, --separate\n"
-#~ " considera els fitxers com independents, en compte d'un "
-#~ "llarg\n"
-#~ " flux continu.\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help mostra aquest missatge d'ajuda i surt\n"
-#~ " -V, --version mostra la informació de la versió i surt\n"
-#~ "\n"
-#~ "Si no es donen cap de les opcions -e, --expression, -f o --file, el "
-#~ "primer\n"
-#~ "argument no-opció es pren com el script sed a interpretar. Tots els "
-#~ "arguments\n"
-#~ "restants són noms de fitxers d'entrada; si no s'especifiquen fitxers "
-#~ "d'entrada,\n"
-#~ "es llegeix l'entrada estàndard.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Final-de-fitxer inesperat"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "expressió regular incorrecta: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "error al llegir l'entrada: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "no s'ha pogut escriure un element a %s: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/cs.gmo b/sources/host-tools/sed-4.2.1/po/cs.gmo
deleted file mode 100644
index 8e86186..0000000
--- a/sources/host-tools/sed-4.2.1/po/cs.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/cs.po b/sources/host-tools/sed-4.2.1/po/cs.po
deleted file mode 100644
index e824528..0000000
--- a/sources/host-tools/sed-4.2.1/po/cs.po
+++ /dev/null
@@ -1,588 +0,0 @@
-# Czech translations for GNU sed package.
-# Copyright (C) 1998 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Jaroslav Fojtik <fojtik@cmp.felk.cvut.cz>, 1998.
-# Petr Pisar <petr.pisar@atlas.cz>, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-05-27 20:33+0200\n"
-"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
-"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "vícenásobný „!“"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "neočekávaná „,“"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "+N nebo ~N nelze použít jako první adresu"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "neodpovídající „{“"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "neočekávaná „}“"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "nadbytečné znaky po příkazu"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "po „a“, „c“ nebo „i“ je očekávané „\\“"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "„}“ nevyžaduje jakoukoliv adresu"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": nechce jakoukoliv adresu"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "komentáře nepřipouštějí žádnou adresu"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "chybějící příkaz"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "příkaz používá pouze jedinou adresu"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "neukončená adresa regulárního výrazu"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "neukončený příkaz „s“"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "neukončený příkaz „y“"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "neznámý přepínač pro „s“"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "vícenásobné použití přepínače „p“ s příkazem „s“"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "vícenásobné použití přepínače „g“ s příkazem „s“"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "příkaz „s“ může mít maximálně jednu číselný přepínač"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "číselný přepínač příkazu „s“ nemůže být nula"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "řetězce pro příkaz „y“ mají rozdílnou délku"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "oddělovací znak není jednobajtovým znakem"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "očekávána nová verze sedu"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "chybné použití adresy řádku 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "neznámý příkaz: „%c“"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: soubor %s, řádek %'lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e výraz č. %'lu, znak %'lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "návěští pro skok na „%s“ nelze najít"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s nelze číst: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "%s nelze upravovat: je to terminál"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "%s nelze upravovat: není obyčejným souborem"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "dočasný soubor %s nelze otevřít: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "chyba v podprocesu"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "přepínač „e“ není podporován"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "příkaz „e“ není podporován"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "žádné vstupní soubory"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "žádný předcházející regulární výraz"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "prázdný regulární výraz nemůže mít modifikátory"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "chybný odkaz \\%d na pravé straně příkazu „s“"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Chyby v programu oznamujte na adrese <%s> (anglicky) a\n"
-"kamkoliv do položky „Předmět:“ vložte „%s“. Připomínky k překladu\n"
-"zasílejte na adresu <translation-team-cs@lists.sourceforge.net> (česky).\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" použije syntaxi regulárních výrazů podle Perlu verze 5\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Použití: %s [PŘEPÍNAČ]… {SKRIPT_JEN_KDYŽ_JE_JEDINÝ} [VSTUPNÍ_SOUBOR]…\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" potlačí automatické vypisování prostoru vzorů\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=SKRIPT\n"
-" přidá skript mezi příkazy k provedení\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=SKRIPTOVÝ_SOUBOR\n"
-" přidá obsah SKRIPTOVÉHO_SOUBORU mezi příkazy k provedení\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" následuje symbolické odkazy, když zapisuje do vstupního\n"
-" souboru\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[PŘÍPONA], --in-place[=PŘÍPONA]\n"
-" upravuje přímo vstupní soubory (vytváří zálohy, pokud je\n"
-" poskytnuta PŘÍPONA)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" otevře soubory v binárním režimu (znaky CR+LF nejsou\n"
-" zpracovávány zvláštně)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" určuje délku zarovnání řádku u příkazu „l“\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" vypne všechna GNU rozšíření\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" použije rozšířené regulární výrazy\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" považuje soubory za samostatné a ne za jeden dlouhý\n"
-" souvislý proud\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" čte co nejméně dat ze vstupních souborů a výstupní\n"
-" buffery vyprazdňuje častěji\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help zobrazí tuto nápovědu a skončí\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version vypíše informace o verzi a skončí\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Ne-li zadán žádný z přepínačů -e, --expression, -f nebo --file, pak první\n"
-"argument, který není přepínačem, je považován za sedový skript a bude\n"
-"vykonán. Všechny zbývající argumenty jsou jména vstupních souborů. Nejsou-"
-"li\n"
-"zadány žádné vstupní soubory, bude čten standardní vstup.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed verze %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"založeno na GNU sedu verze %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed verze %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Toto je volné programové vybavení; podmínky pro kopírování a rozšiřování\n"
-"naleznete ve zdrojových textech. Toto programové vybavení je zcela BEZ "
-"ZÁRUKY,\n"
-"a to i bez záruky PRODEJNOSTI nebo VHODNOSTI PRO NĚJAKÝ KONKRÉTNÍ ÚČEL,\n"
-"jak jen zákon dovoluje.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s nelze odstranit: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "soubor %s nelze otevřít: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "do %s nelze připisovat: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "do %2$s nelze zapsat %1$d položku: %3$s"
-msgstr[1] "do %2$s nelze zapsat %1$d položky: %3$s"
-msgstr[2] "do %2$s nelze zapsat %1$d položek: %3$s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "chyba při čtení z %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "symbolický odkaz %s nelze následovat: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "o %s nelze získat údaje: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s nelze přejmenovat: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Úspěch"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Žádná shoda"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Chybný regulární výraz"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Chybný srovnávací znak"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Chybný název třídu znaků"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Zpětné lomítko na konci"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Chybný zpětný odkaz"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Neodpovídající [ nebo [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Neodpovídající ( nebo \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Neodpovídající \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Chybný obsah \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Chybný konec rozsahu"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Paměť vyčerpána"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Chybný předešlý regulární výraz"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Předčasný konec regulárního výrazu"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regulární výraz je příliš velký"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Neodpovídající ) nebo \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Žádný předcházející regulární výraz"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "špatný regulární výraz: %s\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Neočekávaný konec souboru (EOF)"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Voláno savchar() s nečekaným pushback (%x)"
-
-#~ msgid "input read error: %s"
-#~ msgstr "chyba při čtení: %s"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNÍ CHYBA: špatný typ adresy"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNÍ CHYBA: špatný příkaz %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Použití: %s [PŘEPÍNAČ]... {skript-pouze-není-li-jiný-skript} [vst.-"
-#~ "soubor]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " potlačí automatické vypisování vzorového úložiště "
-#~ "(pattern\n"
-#~ " space)\n"
-#~ " -e script, --expression=SKRIPT\n"
-#~ " přidá seznam příkazů z řetězce SKRIPT k seznamu "
-#~ "příkazů,\n"
-#~ " které mají být vykonány\n"
-#~ " -f script-file, --file=SKRIPT-SOUBOR\n"
-#~ " přidá obsah SKRIPT-SOUBORu k seznamu příkazů, které "
-#~ "mají\n"
-#~ " být vykonány\n"
-#~ " -l N, --line-length=N\n"
-#~ " zadání pozice, na které má být řádek zalamován, pro "
-#~ "příkaz `l'\n"
-#~ " -u, --unbuffered\n"
-#~ " nebufferovaný výstup\n"
-#~ " --help vypíše tuto nápovědu a skončí\n"
-#~ " -V, --version vypíše označení verze a skončí\n"
-#~ "\n"
-#~ " Nebude-li žádný z přepínačů -e, --expression, -f, nebo --file zadán, "
-#~ "pak\n"
-#~ "první argument, který není přepínačem, bude považován za sed skript, "
-#~ "který má\n"
-#~ "být interpretován. Všechny zbylé argumenty představují jména vstupních "
-#~ "souborů.\n"
-#~ "Nebudou-li vstupní soubory zadány, bude čten standardní vstup.\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/da.gmo b/sources/host-tools/sed-4.2.1/po/da.gmo
deleted file mode 100644
index 2d52573..0000000
--- a/sources/host-tools/sed-4.2.1/po/da.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/da.po b/sources/host-tools/sed-4.2.1/po/da.po
deleted file mode 100644
index 7e5217d..0000000
--- a/sources/host-tools/sed-4.2.1/po/da.po
+++ /dev/null
@@ -1,571 +0,0 @@
-# Danish messages for sed
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Byrial Ole Jensen <byrial@image.dk>, 2001-2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.0.8\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2003-10-25 08:00+0200\n"
-"Last-Translator: Byrial Ole Jensen <byrial@image.dk>\n"
-"Language-Team: Danish <dansk@klid.dk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "Flere '!'"
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "Uventet ','"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Kan ikke bruge +N eller ~N som første adresse"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "Uparret '{'"
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "Uventet '}'"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "Ekstra tegn efter kommando"
-
-#: sed/compile.c:167
-#, fuzzy
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "Forventede \\ efter 'a', 'c' eller 'i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "'}' vil ikke have adresser"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": vil ikke have adresser"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "Kommentarer vil ikke have adresser"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "Der mangler en kommando"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "Kommandoen bruger kun én adresse"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "Uafsluttet regulært udtryk for adresse"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "Uafsluttet 's'-kommando"
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "Uafsluttet 'y'-kommando"
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "Ukendt tilvalg til 's'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "Flere 'p'-flag til 's'-kommando"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "Flere 'g'-flag til 's'-kommando"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "Flere tal-flag til 's'-kommando"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "s-kommandoens tal-flag må ikke være nul"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "y-kommandoens strenge har forskellige længder"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "forventede en nyere version af sed"
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "Forkert brug af adresse-ændrer"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "Ukendt kommando:"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fil %s, linje %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e udtryk nr. %lu, tegn %lu: %s\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Kan ikke finde etiket for hop til '%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: kan ikke læse %s: %s\n"
-
-#: sed/execute.c:740
-#, fuzzy, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "kunne ikke skrive %d element til %s: %s"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "kunne ikke åbne midlertidig fil %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "fejl i underproces"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "tilvalg 'e' er ikke understøttet"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "'e'-kommando er ikke understøttet"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-#, fuzzy
-msgid "no previous regular expression"
-msgstr "Intet forudgående regulært udtryk"
-
-#: sed/regexp.c:42
-#, fuzzy
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Der kan ikke angives ændrere til tomt regulært udtryk"
-
-#: sed/regexp.c:131
-#, fuzzy, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Ugyldig reference \\%d på 's'-kommandos højreside"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Send fejlrapporter på engelsk pr. e-post til %s.\n"
-"Sørg venligst for at skrive ordet \"%s\" et sted i \"Subject:\"-feltet.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" brug Perl 5's syntaks for regulære udtryk i skriptet\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, fuzzy, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" brug Perl 5's syntaks for regulære udtryk i skriptet\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed version %s\n"
-
-#: sed/sed.c:316
-#, fuzzy, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"baseret på GNU sed version 3.02.80\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed version %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Dette er frit programmel; se kildeteksten for kopieringsbetingelser.\n"
-"Der er INGEN garanti; end ikke for SALGBARHED eller EGNETHED TIL NOGET\n"
-"BESTEMT FORMÅL, i det omfang som loven tillader.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s: kan ikke læse %s: %s\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "kunne ikke åbne filen %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "kunne ikke skrive %d element til %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "kunne ikke skrive %d element til %s: %s"
-msgstr[1] "kunne ikke skrive %d elementer til %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "læsefejl på %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "kunne ikke åbne filen %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s: kan ikke læse %s: %s\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s: kan ikke læse %s: %s\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Godt resultat"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Intet resultat"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Ugyldigt regulært udtryk"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ugyldigt sorteringstegn"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ugyldigt navn på tegnklasse"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Afsluttende omvendt skråstreg"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Ugyldig reference bagud"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Uparret [ eller [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Uparret ( eller \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Uparret \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ugyldigt indhold af \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Ugyldig slutning på område"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Hukommelsen opbrugt"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Ugyldigt forudgående regulært udtryk"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Ufuldstændigt regulært udtryk"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regulært udtryk for stort"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Uparret ) eller \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Intet forudgående regulært udtryk"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "savchar() kaldt med uventet tilbageskub (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERN FEJL: forkert adressetype"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERN FEJL: Forkert værdi af cmd %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Brug: %s [TILVALG]... {skript-hvis-ingen-andre-skripter} [indfil]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " undgå automatisk udskrivning af arbejdsrummet\n"
-#~ " -e skript, --expression=skript\n"
-#~ " udfør kommandoerne i skript\n"
-#~ " -f skriptfil, --file=skriptfil\n"
-#~ " udfør kommandoerne i filen skriptfil\n"
-#~ " -i[endelse], --in-place[=endelse]\n"
-#~ " redigér i filer (laver sikkerhedskopi hvis endelse er "
-#~ "givet)\n"
-#~ " -l N, --line-length=N\n"
-#~ " angiv ønsket linjedelingslængde for 'l'-kommandoen\n"
-#~ " -r, --regexp-extended\n"
-#~ " brug udvidede regulære udtryk i skriptet\n"
-#~ "%s -s, --separate\n"
-#~ " betragt filer som adskilte snarede end som én "
-#~ "sammenhængende\n"
-#~ " lang strøm\n"
-#~ " -u, --unbuffered\n"
-#~ " indlæs minimale datamængder fra inddatafiler og tøm\n"
-#~ " oftere uddatabuffere\n"
-#~ " --help vis denne hjælp og afslut\n"
-#~ " -V, --version udskriv versionsinformation og afslut\n"
-#~ "\n"
-#~ "Hvis der ikke er givet nogen '-e', '--expression', '-f' eller '--file'\n"
-#~ "tilvalg, så opfattes det første ikke-tilvalgs-argument som et sed-"
-#~ "skript.\n"
-#~ "Alle resterende argumenter er navne på inddatafiler; hvis ingen inddata-\n"
-#~ "filer specificeres, læses fra standard-ind.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Uventet Slut-på-Fil"
diff --git a/sources/host-tools/sed-4.2.1/po/de.gmo b/sources/host-tools/sed-4.2.1/po/de.gmo
deleted file mode 100644
index f564af7..0000000
--- a/sources/host-tools/sed-4.2.1/po/de.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/de.po b/sources/host-tools/sed-4.2.1/po/de.po
deleted file mode 100644
index d3721a4..0000000
--- a/sources/host-tools/sed-4.2.1/po/de.po
+++ /dev/null
@@ -1,532 +0,0 @@
-# sed german translation
-# Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Walter Koch <koch@u32.de>, 2001, 2002, 2003, 2004, 2005
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-07-04 19:40:41+0200\n"
-"Last-Translator: Walter Koch <koch@u32.de>\n"
-"Language-Team: German <de@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "Mehrfache `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "Unerwartetes `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "+N oder ~N können nicht als erste Adresse benutzt werden"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "Nicht paarweises `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "Unerwartetes `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "Zusätzliche Zeichen nach dem Befehl"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "Nach `a', `c' oder `i' wird \\ erwartet"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' erwartet keine Adressen"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "`:' erwartet keine Adressen"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "Kommentare erlauben keine Adressen"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "Fehlender Befehl"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "Befehl verwendet nur eine Adresse"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "Nicht beendeter regulärer Adressausdruck"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "Nicht beendeter `s'-Befehl"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "Nicht beendeter `y'-Befehl"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "Unbekannte Option für `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "Mehrere 'p'-Optionen am `s'-Befehl"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "Mehrere 'g'-Optionen am `s'-Befehl"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "Mehrere numerische Optionen am `s'-Befehl"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "Numerische Option am `s'-Befehl kann nicht Null sein"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "Unterschiedliche Länge der Zeichenketten des `y'-Befehls"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "Trennzeichen ist kein Einzelbyte-Zeichen"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "Neuere Version von sed erwartet"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "Ungültige Verwendung der Zeilenadresse 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "Unbekannter Befehl: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: Datei %s Zeile %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e Ausdruck #%lu, Zeichen %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Kann die Zielmarke für den Sprung nach `%s' nicht finden"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: kann %s nicht lesen: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "Kann %s nicht bearbeiten: Dies ist ein Terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "Kann %s nicht bearbeiten: Dies ist keine normale Datei"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Kann temporäre Datei %s nicht öffnen: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "Fehler im Unterprozess"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "Option `e' wird nicht unterstützt"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "`e'-Kommando wird nicht unterstützt"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "Kein vorheriger regulärer Ausdruck"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Für leere reguläre Ausdrücke können keine `modifier' angegeben werden"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Ungültiger Verweis \\%d im rechten Teil (`RHS') des `s'-Befehls"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Fehlerberichte bitte per E-Mail (auf englisch) an: %s .\n"
-"Verwenden Sie dabei den Begriff `%s' irgendwo in der `Betreff:'-Zeile.\n"
-"Sinn- oder Schreibfehler in den deutschen Texten bitte an <de@li.org>.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" Verwende die Perl-5-Syntax für reg. Ausdrücke im Skript.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Aufruf: %s [OPTION]... {Skript-falls-kein-anderes-Skript} [Eingabe-"
-"Datei]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" verhindert die automatische Ausgabe des Arbeitspuffers\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e skript, --expression=skript\n"
-" hängt `skript' an die auszuführenden Befehle an\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f skript-Datei, --file=skript-Datei\n"
-" hängt den Inhalt von `Skript-Datei' an die\n"
-" auszuführenden Befehle an\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[Suffix], --in-place[=Suffix]\n"
-" ändert die Eingabedatei (Backup wird erzeugt, falls Suffix\n"
-" angegeben wurde)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" gibt die gewünschte Zeilenumbruchlänge für den `l'-Befehl "
-"an\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" schaltet alle GNU-Funktions-Erweiterungen ab.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" verwendet die erweiterten reg. Ausdrücke für das Skript.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" die Dateien werden getrennt und nicht als einzige\n"
-" zusammenhängende Quelle betrachtet.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" lade nur kleinste Datenmengen aus den Eingabedateien\n"
-" und schreibe die Ausgabepuffer häufiger zurück.\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help nur diese Hilfe anzeigen und dann beenden\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version nur die Versionsinfo ausgeben und dann beenden\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Falls kein -e, --expression, -f, oder --file Option angegeben ist, wird das\n"
-"erste Argument, das keine Option ist als sed-Skript verwendet.\n"
-"Alle restlichen Argumente werden als Eingabedateinamen behandelt.\n"
-"Falls keine Eingabedateien angegeben sind, wird von der Standardeingabe "
-"gelesen.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "Super-sed version %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"basiert auf GNU sed-Version %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed-Version %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"(Der folgende Text ist eine nicht überprüfte Übersetzung, die zur\n"
-" Information dient; in rechtlichen Fragen ist immer das englische\n"
-" Original ausschlaggebend)\n"
-"\n"
-"Dieses Programm ist freie Software; In den Quelldateien können Sie die\n"
-"Bedingungen für die Weitergabe nachlesen.\n"
-"Es gibt KEINE GARANTIE; nicht einmal die implizite Garantie der\n"
-"MARKTFÄHIGKEIT oder der ERFÜLLUNG EINES BESTIMMTEN ZWECKES.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s kann nicht entfernt werden: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "Datei %s kann nicht geöffnet werden: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "Kann %d Element nicht auf %s schreiben: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "Kann %d Element nicht auf %s schreiben: %s"
-msgstr[1] "Kann %d Elemente nicht auf %s schreiben: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "Lesefehler in %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "Datei %s kann nicht geöffnet werden: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s kann nicht umbenannt werden: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s kann nicht umbenannt werden: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Erfolgreich"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Keine Übereinstimmung"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Ungültiger regulärer Ausdruck"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ungültiges Vergleichszeichen"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ungültiger Zeichenklassenname"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Abschließender Backslash"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Ungültiger Rückverweis"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Nicht paarweises [ bzw. [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Nicht paarweises ( bzw. \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Nicht paarweises \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ungültiger Inhalt in \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Ungültiges Bereichende"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Speicher erschöpft"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Vorheriger regulärer Ausdruck ist ungültig"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Regulärer Ausdruck endet zu früh"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regulärer Ausdruck ist zu groß"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Nicht paarweises ) bzw. \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Kein vorheriger regulärer Ausdruck"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Aufruf von savchar() mit unerwartetem \"pushback\" (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNER FEHLER: Falsche Adressenart"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNER FEHLER: Falscher Befehl %c"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Unerwartetes Dateiende"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "Falscher regulärer Ausdruck: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "Eingabe-Lesefehler: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "Kann ein Feld nicht auf %s schreiben: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/el.gmo b/sources/host-tools/sed-4.2.1/po/el.gmo
deleted file mode 100644
index a17dbe9..0000000
--- a/sources/host-tools/sed-4.2.1/po/el.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/el.po b/sources/host-tools/sed-4.2.1/po/el.po
deleted file mode 100644
index a3ad0c7..0000000
--- a/sources/host-tools/sed-4.2.1/po/el.po
+++ /dev/null
@@ -1,714 +0,0 @@
-# Greek messages for GNU sed.
-# Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Simos Xenitellis <simos@hellug.gr>, 1998, 1999, 2000, 2001, 2002, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-11-28 00:00+0000\n"
-"Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n"
-"Language-Team: Greek <team@lists.gnome.gr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "πολλαπλά `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "αναπάντεχο `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "δεν επιτρέπεται η χρήση των +N ή ~N ως πρώτη διεύθυνση"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "αταίριαστο `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "αναπάντεχο `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "επιπλέον χαρακτήρες μετά την εντολή"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "απαιτείται \\ μετά τις εντολές `a', `c' ή `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "το `}' δεν χρειάζεται διευθύνσεις"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": δεν χρειάζονται διευθύνσεις"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "τα σχόλια δεν δέχονται διευθύνσεις"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "λείπει η εντολή"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "η εντολή χρησιμοποιεί μόνο μια διεύθυνση"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "μη τερματισμένη κανονικής έκφραση διεύθυνσης"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "μη τερματισμένη εντολή `s'"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "μη τερματισμένη εντολή `y'"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "άγνωστη επιλογή για το `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "πολλαπλές επιλογές `p' στην εντολή `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "πολλαπλές επιλογές `g' στην εντολή `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "πολλαπλός αριθμητικές επιλογές στην εντολή `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "η αριθμητική επιλογή στην εντολή `s' δεν μπορεί να είναι μηδέν"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "τα αλφαριθμητικά για την εντολή `y' είναι διαφορετικού μεγέθους"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "ο χαρακτήρας διαχωριστής έχει μέγεθος μεγαλύτερο από ένα byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "αναμενόταν νεώτερη έκδοση του sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "ακατάλληλη χρήση διεύθυνσης γραμμής 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "άγνωστη εντολή: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: αρχείο %s γραμμή %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e έκφραση #%lu, χαρακτήρας %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "αδυναμία εύρεσης ετικέττας για μετάβαση στο `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: αδυναμία ανάγνωσης του %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "αδυναμία επεξεργασίας του %s: είναι τερματικό"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "αδυναμία επεξεργασίας του %s: δεν είναι κανονικό αρχείο"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "αδυναμία ανοίγματος του αρχείου %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "σφάλμα στη υποδιαδικασία"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "η επιλογή `e' δεν υποστηρίζεται"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "η εντολή `e' δεν υποστηρίζεται"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "δεν υπάρχουν αρχεία εισόδου"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "δεν βρέθηκε προηγούμενη κανονική έκφραση"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "δεν επιτρέπεται ο ορισμός διαμορφωτών σε κενή κανονική έκφραση"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "μη έγκυρη αναφορά \\%d στο δεξί τμήμα της εντολής `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Αναφορές σφαλμάτων μέσω ηλεκτρονικού ταχυδρομείου στο: %s .\n"
-"Προσέξτε να συμπεριλάβετε τη λέξη ``%s'' κάπου στο πεδίο ``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" χρήση κανονικών εκφράσεων με σύνταξη Perl 5 στο σενάριο.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Χρήση: %s [ΕΠΙΛΟΓΗ]... {σενάριο-αν-δεν-υπάρχει-άλλο-σενάριο} [αρχείο-"
-"εισόδου]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" δεν γίνεται αυτόματη εκτύπωση του χώρου υποδείγματος\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e σενάριο --expression=σενάριο\n"
-" προσθήκη του σεναρίου στις εντολές προς εκτέλεση\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f αρχείο-σεναρίου --file=αρχείο-σεναρίου\n"
-" προσθήκη του αρχείου-σεναρίου στις εντολές προς εκτέλεση\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" ακολούθηση συμβολικών συνδέσμων στην επιτόπια επεξεργασία\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[ΕΠΙΘΗΜΑ], --in-place[=ΕΠΙΘΗΜΑ]\n"
-" επιτόπια επεξεργασία (δημιουργίας αντιγράφου αν παρέχεται "
-"ΕΠΙΘΗΜΑ)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" άνοιγμα αρχείων ως δυαδικά (οι χαρακτήρες CR και LF δεν "
-"έχουν ειδική σημασία)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" καθορισμός επιθυμητού μήκους γραμμής για αναδίπλωση γραμμών "
-"στην εντολή `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" απενεργοποίηση όλων των επεκτάσεων GNU στο πρωτότυπο sed.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" χρήση επεκτεταμένων κανονικών εκφράσεων στο σενάριο.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" τα αρχεία εισόδου να λογίζονται ξεχωριστά, αντί ως ένας\n"
-" συνεχής μακρύς χείμαρρος.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" φόρτωση ελαχίστων ποσοτήτων δεδομένων από τα αρχεία "
-"εισόδου\n"
-" και άδειασμα των ενταμιευτών εξόδου συχνότερα\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help εμφάνιση αυτού του κειμένου βοηθείας και έξοδος\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-" --version εμφάνιση πληροφοριών έκδοσης προγράμματος και έξοδος\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Αν δεν υπάρχουν επιλογές -e, --expression, -f ή --file, τότε το πρώτο\n"
-"όρισμα που δεν είναι επιλογή αποτελεί το όνομα του προγρ. εντολών.\n"
-"Όλα τα υπόλοιπα ορίσματα είναι ονόματα αρχείων εισόδου· αν δεν έχουν\n"
-"καθοριστεί αρχεία εισόδου, τότε γίνεται ανάγνωση της κανονικής εισόδου.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed έκδοση %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"βασισμένο στο GNU sed έκδοση %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed έκδοση %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Αυτό το πρόγραμμα είναι ελεύθερο λογισμικό· δείτε τον πηγαίο κώδικα για "
-"τους\n"
-"κανονισμούς αντιγραφής. Δεν υπάρχει KAMMIA ΕΓΓΥΗΣΗ· ούτε ακόμα για\n"
-"ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ, μέχρι το σημείο\n"
-"που επιτρέπει ο νόμος.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "αδυναμία διαγραφής του %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "αδυναμία ανοίγματος του %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "αδυναμία προσάρτησης στο %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "αδυναμία εγγραφής %d στοιχείου στο %s: %s"
-msgstr[1] "αδυναμία εγγραφής %d στοιχείων στο %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "σφάλμα ανάγνωσης στο %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "αδυναμία ακολούθησης του συμβολικού συνδέσμου %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "αδυναμία ανάγνωσης εγγραφής για το %s στον κατάλογο αρχείων: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "αδυναμία μετονομασίας του %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Επιτυχία"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Κανένα ταίριασμα"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Μη έγκυρη κανονική έκφραση"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Μη έγκυρος χαρακτήρας ταξινόμησης"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Μη έγκυρο όνομα κλάσης χαρακτήρων"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Τελευταίος χαρακτήρας η πισωκάθετος"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Μη έγκυρη οπισθαναφορά"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Αταίριαστο [ ή [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Αταίριαστο ( ή \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Αταίριαστο \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Μη έγκυρο περιεχόμενο εντός \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Μη έγκυρο τέλος εύρους"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Εξάντληση διαθέσιμης μνήμης"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Μη έγκυρη προηγούμενη κανονική έκφραση"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Πρόωρος τερματισμός κανονικής έκφρασης"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Πολύ μεγάλη κανονική έκφραση"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Αταίριαστο ) ή \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Δεν βρέθηκε προηγούμενη κανονική έκφραση"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "ακατάλληλη κανονική έκφραση: %s\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Αναπάντεχο Τέλος-αρχείου"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Κλήση της savchar() με μη αναμενόμενο pushback (%x)"
-
-#~ msgid "input read error: %s"
-#~ msgstr "σφάλμα ανάγνωσης εισόδου: %s"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "ΕΣΩΤΕΡΙΚΟ ΣΦΑΛΜΑ: κακή μορφή διεύθυνσης"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "ΕΣΩΤΕΡΙΚΟ ΣΦΑΛΜΑ: Κακή εντολή %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... {μόνο-αρχείο-εντολών-αν-όχι-άλλο-αρχείο-εντολών} "
-#~ "[αρχείο-εισόδου]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " ακύρωση αυτόματης εκτύπωσης του χώρου υποδείγματος\n"
-#~ " -e εντολή/ές, --expression=εντολή/ές\n"
-#~ " προσθήκη τις/των εντολής/ών στις εντολές που θα "
-#~ "εκτελεστούν\n"
-#~ " -f αρχείο-εντολών, --file=αρχείο-εντολών\n"
-#~ " προσθήκη των περιεχόμενων του αρχείου εντολών στις "
-#~ "εντολές που θα εκτελεστούν\n"
-#~ " -l N, --line-length=N\n"
-#~ " καθορισμός του επιθυμητού μήκους αναδίπλωσης γραμμής\n"
-#~ " για την εντολή `l'\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n"
-#~ " -V, --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n"
-#~ "\n"
-#~ "Αν κανένα από τα -e, --expression, -f ή --file δεν δίνεται, τότε το "
-#~ "πρώτο\n"
-#~ "όρισμα που δεν είναι παράμετρος χρησιμοποιείται σαν το αρχείο εντολών sed "
-#~ "για\n"
-#~ "μετάφραση. Όλες οι υπόλοιπες παράμετροι είναι ονόματα αρχείων εισόδου· "
-#~ "αν\n"
-#~ "δεν ορίζονται αρχεία εισόδου, τότε χρησιμοποιείται η κανονική είσοδος.\n"
-
-#~ msgid "Usage: pcregrep [-bepchilnsvx] pattern [file] ...\n"
-#~ msgstr "Χρήση: pcregrep [-bepchilnsvx] υπόδειγμα [αρχείο] ...\n"
-
-#~ msgid "pcregrep: unknown option %c\n"
-#~ msgstr "pcregrep: άγνωστη επιλογή %c\n"
-
-#~ msgid "pcregrep: error in regex at offset %d: %s\n"
-#~ msgstr "pcregrep: σφάλμα στην κανονική έκφραση στη θέση %d: %s\n"
-
-#~ msgid "pcregrep: error while studing regex: %s\n"
-#~ msgstr "pcregrep: σφάλμα κατά τον έλεγχο της κανονικής έκφρασης: %s\n"
-
-#~ msgid "pcregrep: failed to open %s: %s\n"
-#~ msgstr "pcregrep: αδυναμία ανοίγματος %s: %s\n"
-
-#~ msgid "\\ at end of pattern"
-#~ msgstr "\\ στο τέλος του υποδείγματος"
-
-#~ msgid "\\c at end of pattern"
-#~ msgstr "\\c στο τέλος του υποδείγματος"
-
-#~ msgid "unrecognized character follows \\"
-#~ msgstr "μη αναγνωρίσιμος χαρακτήρας ακολουθεί το \\"
-
-#~ msgid "numbers out of order in {} quantifier"
-#~ msgstr "αριθμοί εκτός σειράς στην έκφραση {}"
-
-#~ msgid "number too big in {} quantifier"
-#~ msgstr "πολύ μεγάλος αριθμός στην έκφραση {}"
-
-#~ msgid "missing terminating ] for character class"
-#~ msgstr "αταίριαστο ["
-
-#~ msgid "range out of order in character class"
-#~ msgstr "πεδίο εκτός σειράς σε κλάση χαρακτήρων"
-
-#~ msgid "nothing to repeat"
-#~ msgstr "δεν υπάρχει τίποτα για να επαναληφθεί"
-
-#~ msgid "operand of unlimited repeat could match the empty string"
-#~ msgstr ""
-#~ "το όρισμα της χωρίς όρια επανάληψης μπορεί να ταιριάξει με το κενό "
-#~ "αλφαριθμητικό"
-
-#~ msgid "internal error: unexpected repeat"
-#~ msgstr "εσωτερικό σφάλμα: απροσδόκητη επανάληψη"
-
-#~ msgid "unrecognized character after (?"
-#~ msgstr "μη αναγνωρίσιμος χαρακτήρας μετά το (?"
-
-#, fuzzy
-#~ msgid "unused error"
-#~ msgstr "αχρησιμοποίητο σφάλμα"
-
-#~ msgid "unmatched braces"
-#~ msgstr "αταίριαστο { ή }"
-
-#~ msgid "back reference to non-existent subpattern"
-#~ msgstr "οπισθαναφορά σε ανύπαρκτο υπο-υπόδειγμα"
-
-#~ msgid "unknown option bit(s) set"
-#~ msgstr "ενεργοποιημένο/α άγνωστο/α bit(s) επιλογής"
-
-#~ msgid "missing ) after comment"
-#~ msgstr "λείπει ) μετά από σχόλιο"
-
-#~ msgid "parentheses nested too deeply"
-#~ msgstr "πάρα πολλά επίπεδα παρενθέσεων"
-
-#~ msgid "failed to get memory"
-#~ msgstr "η μνήμη εξαντλήθηκε"
-
-#~ msgid "unmatched parentheses"
-#~ msgstr "αταίριαστο ( ή )"
-
-#~ msgid "internal error: code overflow"
-#~ msgstr "εσωτερικό σφάλμα: υπερχείλιση κώδικα"
-
-#~ msgid "unrecognized character after (?<"
-#~ msgstr "μη αναγνωρίσιμος χαρακτήρας μετά από (?<"
-
-#~ msgid "lookbehind assertion is not fixed length"
-#~ msgstr "οπισθοβλέπων ισχυρισμός μη σταθερού μήκους"
-
-#~ msgid "malformed number after (?("
-#~ msgstr "λάθος μορφή αριθμού μετά από (?("
-
-#~ msgid "conditional group contains more than two branches"
-#~ msgstr "η δέσμη υπόθεσης περιέχει περισσότερους από δύο κλάδους"
-
-#~ msgid "assertion expected after (?("
-#~ msgstr "αναμενόταν ισχυρισμός μετά από (?("
-
-#~ msgid "(?p must be followed by )"
-#~ msgstr "το (?p πρέπει να ακολουθείται από )"
-
-#~ msgid "unknown POSIX class name"
-#~ msgstr "μη έγκυρο όνομα κλάσης χαρακτήρων POSIX"
-
-#~ msgid "POSIX collating elements are not supported"
-#~ msgstr "δεν υποστηρίζονται στοιχεία αντιπαραβολής POSIX"
-
-#~ msgid "bad condition (?(0)"
-#~ msgstr "λανθασμένη υπόθεση (?(0"
-
-#~ msgid "internal error"
-#~ msgstr "εσωτερικό σφάλμα"
-
-#~ msgid "pattern error"
-#~ msgstr "μη έγκυρο υπόδειγμα"
-
-#~ msgid "bad collating element"
-#~ msgstr "μη έγκυρο στοιχείο αντιπαραβολής"
-
-#~ msgid "bad escape sequence"
-#~ msgstr "λανθασμένη ακολουθία διαφυγής"
-
-#~ msgid "empty expression"
-#~ msgstr "κενή έκφραση"
-
-#~ msgid "bad argument"
-#~ msgstr "λανθασμένο όρισμα"
-
-#~ msgid "match failed"
-#~ msgstr "κανένα ταίριασμα"
-
-#~ msgid "unknown error code"
-#~ msgstr "άγνωστος κώδικας σφάλματος"
-
-#~ msgid "%s at offset %-6d"
-#~ msgstr "%s στη θέση %-6d"
diff --git a/sources/host-tools/sed-4.2.1/po/en@boldquot.header b/sources/host-tools/sed-4.2.1/po/en@boldquot.header
deleted file mode 100644
index fedb6a0..0000000
--- a/sources/host-tools/sed-4.2.1/po/en@boldquot.header
+++ /dev/null
@@ -1,25 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
diff --git a/sources/host-tools/sed-4.2.1/po/en@quot.header b/sources/host-tools/sed-4.2.1/po/en@quot.header
deleted file mode 100644
index a9647fc..0000000
--- a/sources/host-tools/sed-4.2.1/po/en@quot.header
+++ /dev/null
@@ -1,22 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
diff --git a/sources/host-tools/sed-4.2.1/po/eo.gmo b/sources/host-tools/sed-4.2.1/po/eo.gmo
deleted file mode 100644
index 2ae18b6..0000000
--- a/sources/host-tools/sed-4.2.1/po/eo.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/eo.po b/sources/host-tools/sed-4.2.1/po/eo.po
deleted file mode 100644
index c43e4a9..0000000
--- a/sources/host-tools/sed-4.2.1/po/eo.po
+++ /dev/null
@@ -1,599 +0,0 @@
-# Esperantaj mesaĝoj por GNU sed.
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Edmund GRIMLEY EVANS <edmundo@rano.org>, 2001-2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-17 22:41+0000\n"
-"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
-"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "pluraj '!'oj"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "neatendita ','"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "nevalida uzo de +N aŭ ~N kiel unua adreso"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "neparigita '{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "neatendita '}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "kromaj signoj post komando"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "atendita \\ post 'a', 'c' aŭ 'i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "'}' ne deziras adresojn"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ne deziras adresojn"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "komentoj ne akceptas adresojn"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "mankas komando"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "komando uzas nur unu adreson"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "nefinita adresa regesp"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "nefinita komando 's'"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "nefinita komando 'y'"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "nekonata opcio por 's'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "pluraj 'p'-opcioj por komando 's'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "pluraj 'g'-opcioj por komando 's'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "pluraj nombro-opcioj por komando 's'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "nombro-opcio por komando 's' ne povas esti nul"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "ĉenoj por komando 'y' havas malsamajn longojn"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "apartiga signo ne estas unubitoka signo"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "atendis pli novan version de sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "nevalida uzo de liniadreso 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "nekonata komando: '%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: dosiero %s linio %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e esprimo #%lu, signo %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "ne povas trovi etikedon por salto al '%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ne povas legi %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "ne povis redakti %s: estas terminalo"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "ne povis redakti %s: ne estas normala dosiero"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "ne povis malfermi dumtempan dosieron %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "eraro en subprocezo"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opcio 'e' ne realigita"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "komando 'e' ne realigita"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "mankas enig-dosieroj"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "mankas antaŭa regula esprimo"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "ne eblas specifi modifilojn ĉe malplena regula esprimo"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "nevalida referenco \\%d ĉe dekstra flanko de komando 's'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Retpoŝtu cimo-raportojn al: %s .\n"
-"Nepre menciu la vorton '%s' ie en la temlinio.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" uzi sintakso de Perl 5 por regulaj esprimoj en programo.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Uzado: %s [OPCIO]... {programo-nur-se-neniu-alia-programo} [enig-"
-"dosiero]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" subpremi aŭtomatan presadon de ŝablono-spaco\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e programo, --expression=programo\n"
-" aldoni la programon al la plenumotaj komandoj\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f programdosiero, --file=programdosiero\n"
-" aldoni la enhavon de programdosiero al la plenumotaj "
-"komandoj\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" sekvi simbolajn ligojn, traktante dosierojn surloke\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[sufikso], --in-place[=sufikso]\n"
-" redakti dosierojn surloke (fari savkopion, se sufikso)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" malfermi dosierojn en binara reĝimo (linifinoj ne traktiĝas "
-"speciale)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" specifi la deziratan linilongon por la komando 'l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" malŝalti ĉiujn GNU-ajn aldonaĵojn.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" uzi etenditajn regulajn esprimojn en la programo.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" konsideri dosierojn kiel apartajn anstataŭ kiel unu "
-"kontinuan\n"
-" longan fluon.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" legi minimumajn kvantojn de datenoj el la enig-dosieroj "
-"kaj\n"
-" malplenigi la eligobufrojn pli ofte\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help montri ĉi tiun helpon kaj eliri\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version montri version kaj eliri\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Se neniu opcio -e, --expression, -f aŭ --file estas donita, tiam la unua\n"
-"ne-opcia argumento estas prenata kiel la sed-programeto interpretota. Ĉiuj\n"
-"restantaj argumentoj estas nomoj de enig-dosieroj; se neniu enigdosiero\n"
-"estas specifita, tiam la normala enigo estas legata.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versio %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"bazita sur \"GNU sed\" versio %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versio %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ĉi tio estas libera programo; vidu la fonton por kopi-kondiĉoj. Estas\n"
-"NENIA GARANTIO; eĉ ne por KOMERCA KVALITO aŭ ADEKVATECO POR DIFINITA CELO,\n"
-"laŭ la grado permesita de juro.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "ne povas forigi %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "ne povis malfermi dosieron %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "ne povis alligiĝi al %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "ne povis skribi %d eron al %s: %s"
-msgstr[1] "ne povis skribi %d erojn al %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "legeraro ĉe %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "ne povis sekvi simbolan ligon %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "ne povas stat-i %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "ne povas renomi %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sukceso"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Maltrafo"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Nevalida regula esprimo"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Nevalida kunfanda signo"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nevalida nomo de signoklaso"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Malsuprenstreko ĉe fino"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Nevalida retroreferenco"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Neparigita [ aŭ [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Neparigita ( aŭ \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Neparigita \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Nevalida enhavo de \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Nevalida fino de gamo"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Mankas memoro"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Nevalida antaŭa regula esprimo"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Neatendita fino de regula esprimo"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regula esprimo tro granda"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Neparigita ) aŭ \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Mankas antaŭa regula esprimo"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Vokis savchar() kun neatendita pushback (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNA ERARO: malbona adresspeco"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNA ERARO: Malbona komando %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Uzado: %s [OPCIO]... {programo-nur-se-ne-alia-programo} [enig-"
-#~ "dosiero]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " subpremi aŭtomatan presadon de ŝablono-spaco\n"
-#~ " -e programo, --expression=programo\n"
-#~ " aldoni la programon al la plenumotaj komandoj\n"
-#~ " -f programdosiero, --file=programdosiero\n"
-#~ " aldoni la enhavon de programdosiero al la plenumotaj "
-#~ "komandoj\n"
-#~ " -i[sufikso], --in-place[=sufikso]\n"
-#~ " redakti dosierojn surloke (fari savkopion, se sufikso)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specifi la deziratan linilongon por la komando 'l'\n"
-#~ " -r, --regexp-extended\n"
-#~ " uzi etenditajn regulajn esprimojn en la programo.\n"
-#~ "%s -s, --separate\n"
-#~ " konsideri dosierojn kiel apartajn anstataŭ kiel unu "
-#~ "kontinuan\n"
-#~ " longan fluon.\n"
-#~ " -u, --unbuffered\n"
-#~ " legi minimumajn kvantojn de datenoj el la enig-dosieroj "
-#~ "kaj\n"
-#~ " malplenigi la eligobufrojn pli ofte\n"
-#~ " --help montri ĉi tiun helpon kaj eliri\n"
-#~ " -V, --version montri version kaj eliri\n"
-#~ "\n"
-#~ "Se neniu opcio -e, --expression, -f aŭ --file estas donita, tiam la unua\n"
-#~ "ne-opcia argumento estas prenata kiel la sed-programeto interpretota. "
-#~ "Ĉiuj\n"
-#~ "restantaj argumentoj estas nomoj de enig-dosieroj; se neniu enigdosiero\n"
-#~ "estas specifita, tiam la normala enigo estas legata.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Neatendita fino de dosiero"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "malbona regesp: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "legeraro ĉe enigo: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "ne povis skribi eron al %s: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/es.gmo b/sources/host-tools/sed-4.2.1/po/es.gmo
deleted file mode 100644
index 035749c..0000000
--- a/sources/host-tools/sed-4.2.1/po/es.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/es.po b/sources/host-tools/sed-4.2.1/po/es.po
deleted file mode 100644
index 6051fb8..0000000
--- a/sources/host-tools/sed-4.2.1/po/es.po
+++ /dev/null
@@ -1,616 +0,0 @@
-# Mensajes en español para GNU sed.
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-18 21:10-0600\n"
-"Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
-"Language-Team: Spanish <es@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "`!'s múltiples"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' inesperada"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "uso inválido de +N o ~N como primera dirección"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' sin pareja"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' inesperado"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "caracteres extra después de la orden"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "se esperaba \\ después de `a', `c' ó `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' no acepta ninguna dirección"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": no acepta ninguna dirección"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "los comentarios no aceptan ninguna dirección"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "orden faltante"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "la orden solamente usa una dirección"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "dirección de expresión regular sin terminar"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "orden `s' sin terminar"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "orden `y' sin terminar"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opción desconocida para `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "múltiples opciones `p' para la orden `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "múltiples opciones `g' para la orden `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "múltiples opciones numéricas para la orden `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "una opción numérica para la orden `s' no puede ser cero"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "las cadenas para la orden `y' son de longitudes diferentes"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "el carácter delimitador no es un carácter de un solo byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "se esperaba una versión más reciente de sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "uso inválido de la dirección de línea 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "orden desconocida: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fichero %s línea %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expresión #%lu, carácter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "no se puede encontrar la etiqueta para saltar a `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: no se puede leer %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "no se puede editar %s: es una terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "no se puede editar %s: no es un fichero regular"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "no se puede abrir el fichero temporal %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "error en el subproceso"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "no hay soporte para la opción `e'"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "no hay soporte para la orden `e'"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "no hay ficheros de entrada"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "no hay una expresión regular previa"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "no se pueden especificar modificadores en expresiones regulares vacías"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referencia \\%d inválida en el lado derecho de la orden `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Envíe reportes de bichos por e-mail a: %s .\n"
-"Asegúrese de incluir la palabra ``%s'' en algún lugar en el campo "
-"``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" utiliza la sintaxis de expresiones regulares de Perl 5\n"
-" en el guión.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Uso: %s [OPCIÓN]... {guión-sólo-si-no-hay-otro-guión} [fichero-entrada]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" suprime la muestra automática del espacio de patrones\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e guión, --expression=guión\n"
-" agrega el guión a la lista de órdenes para ejecutar\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f fichero-guión, --file=fichero-guión\n"
-" agrega el contenido del fichero guión a la lista de "
-"órdenes\n"
-" para ejecutar\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" sigue los enlaces simbólicos al procesar en el lugar\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIJO], --in-place[=SUFIJO]\n"
-" edita ficheros en el lugar (crea un respaldo si se da\n"
-" una extensión)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" abre ficheros en modo binario (los RC+FLs no se procesan\n"
-" especialmente)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" especifica la longitud de corte de línea deseado para\n"
-" la orden `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" desactiva todas las extensiones de GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" utiliza expresiones regulares extendidas en el guión.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considera los ficheros como separados en lugar de un solo\n"
-" flujo, largo y continuo.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" carga cantidades mínimas de datos de los ficheros de "
-"entrada\n"
-" y vacía los almacenamientos temporales de salida con más\n"
-" frecuencia\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help muestra esta ayuda y termina\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version muestra la información de la versión y termina\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Si no se proporciona una opción -e, --expression, -f, ó --file option,\n"
-"entonces se toma el primer argumento que no sea opción como el guión sed\n"
-"a interpretar. Todos los argumentos restantes son nombres de ficheros\n"
-"de entrada; si no se especifican ficheros de entrada, entonces se lee\n"
-"la entrada estándard.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versión %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"basado en GNU sed versión %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versión %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Esto es software libre; vea el código fuente para las condiciones de copia.\n"
-"No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n"
-"FIN DETERMINADO, en la extensión permitida por ley.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "no se puede eliminar %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "no se puede abrir el fichero %s: %s"
-
-# FIXME: verificar con el código fuente para saber si es 'conectar' o
-# 'adjuntar'. cfuga
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "no se puede conectar a %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "no se puede escribir %d elemento a %s: %s"
-msgstr[1] "no se pueden escribir %d elementos a %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "error al leer de %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "no se puede seguir el enlace simbólico %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "no se puede obtener la información de stat de %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "no se puede renombrar %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Éxito"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "No hay coincidencia"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expresion regular inválida"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Carácter de ordenamiento inválido"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Carácter de nombre de clase inválido"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Diagonal invertida al final"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Referencia hacia atrás inválida"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ ó [^ sin pareja"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( ó \\( sin pareja"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ sin pareja"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Contenido inválido de \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Final de rango inválido"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memoria agotada"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Expresión regular precedente inválida"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Final prematuro de la expresión regular"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expresión regular demasiado grande"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") ó \\) sin pareja"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "No hay una expresión regular previa"
-
-# FUZZY: pushback -> empuje? cfuga
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "savchar() llamado con empuje inesperado (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "ERROR INTERNO: tipo de dirección erróneo"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "ERROR INTERNO: cmd %c erróneo"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Modo de empleo: %s [OPCIÓN]... {guión-sólo-si-no-hay-otro-guión} [fichero-"
-#~ "entrada]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " elimina la impresión automática del espacio de patrones\n"
-#~ " -e script, --expression=guión\n"
-#~ " agrega el guión a las órdenes a ser ejecutadas\n"
-#~ " -f script-file, --file=fichero-guión\n"
-#~ " agrega el contenido del fichero-guión a las órdenes a "
-#~ "ser\n"
-#~ " ejecutadas\n"
-#~ " -i[sufijo, --in-place[=sufijo]\n"
-#~ " edita los archivos en su lugar (crea respaldos si se\n"
-#~ " proporciona una extensión)\n"
-#~ " -l N, --line-length=N\n"
-#~ " especifica la longitud deseada para el corte de la línea "
-#~ "para\n"
-#~ " la orden `l'\n"
-#~ " -r, --regexp-extended\n"
-#~ " usa expresiones regulares extendidas en el guión.\n"
-#~ "%s -s, --separate\n"
-#~ " considera los ficheros por separado en lugar de un solo "
-#~ "flujo\n"
-#~ " largo y continuo.\n"
-#~ " -u, --unbuffered\n"
-#~ " carga cantidades mínimas de datos de los ficheros de "
-#~ "entrada\n"
-#~ " y vacía con más frecuencia los almacenamientos "
-#~ "temporales de\n"
-#~ " salida\n"
-#~ " --help muestra esta ayuda y sale\n"
-#~ " -V, --version muestra la información de la versión y sale\n"
-#~ "\n"
-#~ "Si no se dan las opciones -e, --expression, -f o --file, entonces se "
-#~ "toma\n"
-#~ "el primer argumento que no sea opción como el guión sed a interpretar. "
-#~ "Todos\n"
-#~ "los argumentos restantes son nombres de ficheros de entrada; si no se\n"
-#~ "especifican nombres de fichero de entrada, entonces se lee la entrada "
-#~ "estándard.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Fin de fichero inesperado"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "expresión regular errónea: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "error al leer la entrada: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "no se puede escribir un elemento elemento a %s: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/et.gmo b/sources/host-tools/sed-4.2.1/po/et.gmo
deleted file mode 100644
index 15de1ae..0000000
--- a/sources/host-tools/sed-4.2.1/po/et.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/et.po b/sources/host-tools/sed-4.2.1/po/et.po
deleted file mode 100644
index c18c7a5..0000000
--- a/sources/host-tools/sed-4.2.1/po/et.po
+++ /dev/null
@@ -1,500 +0,0 @@
-# Estonian translations for GNU sed.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Toomas Soome <Toomas.Soome@microlink.ee>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-05-13 13:36+0300\n"
-"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
-"Language-Team: Estonian <et@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-15\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "korduv `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "ootamatu `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "+N või ~N ei või kasutada esimese aadressina"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "liigne `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "ootamatu `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "lisasümbolid peale käsku"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "peale `a', `c' või `i' peab olema \\"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' ei vaja aadresse"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ei vaja aadresse"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "kommentaarid ei vaja aadresse"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "käsk puudub"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "käsk kasutab vaid üht aadressi"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "lõpetamata aadressi avaldis"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "lõpetamata `s' käsk"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "lõpetamata `y' käsk"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "tundmatu võti `s' käsule"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "korduv `p' võti `s' käsus"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "korduv `g' võti `s' käsus"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "korduvad numbrivõtmed `s' käsus"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "numbrivõti `s' käsus ei või olla null"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "sõned käsus `y' on erineva pikkusega"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "eraldav sübol ei ole ühe-baidiline sümbol"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "oodati sedi uuemat versiooni"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "vigane rea aadressi 0 kasutamine"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "tundmatu käsk: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fail %s rida %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e avaldis #%lu, sümbol %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "ei leia märgendit, et hüpata kohale `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ei saa lugeda %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "%s ei saa toimetada: see on terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "%s ei saa toimetada: see ei ole tavaline fail"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "ajutist faili %s ei saa avada: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "viga alamprotsessis"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "võtit `e' ei toetata"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "käsku `e' ei toetata"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "eelmist regulaaravaldist pole"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "muudatusi tühjale regulaaravaldisele ei saa määrata"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "vigane viide \\%d käsu `s' paremas pooles"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Postitage teated vigadest: %s .\n"
-"Lisage kindlasti sõna ``%s'' ``Subject:'' reale.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" kasuta skriptis Perl 5 regulaaravaldiste süntaksit.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Kasutamine: %s [võti]... {ainult-skript-kui-teisi-skripte-pole} [sisend-"
-"fail]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" keela mustriruumi automaatne väljastamine\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e skript, --expression=skript\n"
-" lisa täidetavate käskluste skript\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f skripti-fail, --file=skripti-fail\n"
-" lisa skripti-faili sisu täidetavate käskluste hulka\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIKS], --in-place[=SUFIKS]\n"
-" toimeta faile (kui kasutati sifiksit, loob ka varukoopia)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" määra `l' käsule soovitatav rea pikkus\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" blokeeri kõik GNU laiendused.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" kasuta skriptis laiendatud regulaaravaldiste süntaksit.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" käsitle faile ükshaaval, mitte ühe jätkuva voona.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" loe sisendfailist minimaalne kogus andmeid ja tühjenda\n"
-" väljundpuhvreid sagedamini\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help väljast see abiinfo ja lõpeta töö\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version väljasta versiooniinfo ja lõpeta töö\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Kui võtmeid -e, --expression, -f või --file ei kasutata, loetakse\n"
-"esimene argument, mis pole võti, sed skriptiks. Kõik järgnevad argumendid "
-"on\n"
-"sisendfailide nimed; kui sisendfaile ei antud, loetakse standardsisendit.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versioon %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"põhineb GNU sed versioonil %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versioon %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
-"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks, vastavalt seadustega\n"
-"lubatud piiridele.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s ei saa eemaldada: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "faili %s ei saa avada: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "%d elemendi faili %s kirjutamine ebaõnnestus: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "%d elemendi faili %s kirjutamine ebaõnnestus: %s"
-msgstr[1] "%d elemendi faili %s kirjutamine ebaõnnestus: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "lugemisviga %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "faili %s ei saa avada: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s ei saa ümber nimetada: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s ei saa ümber nimetada: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Edukas"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Ei leia"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Vigane regulaaravaldis"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Vigane sortimise sümbol"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Vigane sümbolite klassi nimi"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Lõpetav langkriips"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Vigane tagasi viide"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Puudub [ või [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Puudub ( või \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Puudub \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Vigane \\{\\} sisu"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Vigane vahemiku lõpp"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Mälu on otsas"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Vigane eelnev regulaaravaldis"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Ootamatu regulaaravaldise lõpp"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regulaaravaldis on liiga suur"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Puudub ) või \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Eelmist regulaaravaldist pole"
diff --git a/sources/host-tools/sed-4.2.1/po/eu.gmo b/sources/host-tools/sed-4.2.1/po/eu.gmo
deleted file mode 100644
index 4fed7e4..0000000
--- a/sources/host-tools/sed-4.2.1/po/eu.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/eu.po b/sources/host-tools/sed-4.2.1/po/eu.po
deleted file mode 100644
index c0790b0..0000000
--- a/sources/host-tools/sed-4.2.1/po/eu.po
+++ /dev/null
@@ -1,469 +0,0 @@
-# Basque translation of sed.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Mikel Olasagasti <hey_neken@mundurat.net>, 2004.
-# , fuzzy
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.1\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2004-07-07 22:11+0200\n"
-"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
-"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr ""
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "ustekabeko `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr ""
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr ""
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "ustekabeko `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr ""
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr ""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr ""
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ""
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr ""
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr ""
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr ""
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr ""
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr ""
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr ""
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "`s' aukera ezezaguna"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr ""
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr ""
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr ""
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr ""
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr ""
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr ""
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "komando ezezaguna: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: %s fitxategia %lu lerroa: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expresioa #%lu, %lu karakterea: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr ""
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ezin irakurri %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "ezin izan da %s editatu: terminal bat da"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "ezin izan da %s editatu: ez da fitxategi erregular bat"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr ""
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "errorea subprozezuan"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr ""
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr ""
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr ""
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr ""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Bidali bug txostenak honi: %s.\n"
-"Ziurtatu ``%s'' hitza ``Gaia:'' eremuan edonon agertzeaz.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed %s bertsioa\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"GNU sed %s bertsioan oinarritua\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed %s bertsioa\n"
-
-#: sed/sed.c:320
-#, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "ezin da %s kendu: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "ezin izan da %s fitxategia ireki: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "ezin izan da %d gaia %s-ri idatzi: %s"
-
-#: sed/utils.c:245
-#, fuzzy, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "ezin izan da %d gaia %s-ri idatzi: %s"
-msgstr[1] "ezin izan da %d gaia %s-ri idatzi: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "irakurketa errorea %s-n: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "ezin izan da %s fitxategia ireki: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "ezin da %s berrizendatu: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "ezin da %s berrizendatu: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Arrakasta"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Parekotasunik ez"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr ""
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr ""
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr ""
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr ""
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr ""
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr ""
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr ""
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr ""
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr ""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr ""
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memoria agortuta"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr ""
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr ""
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr ""
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ""
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr ""
diff --git a/sources/host-tools/sed-4.2.1/po/fi.gmo b/sources/host-tools/sed-4.2.1/po/fi.gmo
deleted file mode 100644
index 0f55aab..0000000
--- a/sources/host-tools/sed-4.2.1/po/fi.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/fi.po b/sources/host-tools/sed-4.2.1/po/fi.po
deleted file mode 100644
index 8d06a6f..0000000
--- a/sources/host-tools/sed-4.2.1/po/fi.po
+++ /dev/null
@@ -1,515 +0,0 @@
-# translation of sed.pot to Finnish
-# Finnish translations for GNU sed.
-# Copyright © 2002, 2007, 2008 Free Software Foundation, Inc.
-#
-# Sami J. Laine <sami.laine@iki.fi>, 2002.
-# Jorma Karvonen <karvjorm@users.sf.net>, 2007, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-18 07:16+0200\n"
-"Last-Translator: Jorma Karvonen <karvjorm@users.sf.net>\n"
-"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: KBabel 1.11.2\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "Useita ”!”-merkkejä"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "Odottamaton ”,”"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Ensimmäisenä osoitteena ei voi olla ”+N” eikä ”~N”"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "Pariton ”{”"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "Pariton ”}”"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "Ylimääräisiä merkkejä komennon jälkeen"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "\\ odotettiin merkkien ”a”, ”c” tai ”i” jälkeen"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "”}” ei tarvitse osoitteita"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ei tarvitse osoitteita"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "kommentit eivät hyväksy osoitteita"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "Puuttuva komento"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "Komento käyttää vain yhtä osoitetta"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "Päättymätön osoite vakiolauseessa"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "Päättymätön ”s”-komento"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "Päättymätön ”y”-komento"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "Tuntematon valitsin ”s”:lle"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "useita ”p”-valitsimia ”s”-komennolle"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "useita ”g”-valitsimia ”s”-komennolle"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "useita valitsimia ”s”-komennolle"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "numeerinen valitsin ”s”-komennolle ei voi olla nolla"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "merkkijonot ”y”-komennolle ovat pituudeltaan vaihtelevia"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "erotinmerkki ei ole yksitavuinen merkki"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "odotettiin uudempaa sed-versiota"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "riviosoitteen nolla virheellinen käyttö"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "Tuntematon komento: ”%c”"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: tiedosto %s rivi %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e lauseke #%lu, merkki %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Nimikettä hypylle kohteeseen ”%s” ei löydy"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ei voida lukea syötettä %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "ei voitu muokata %s: se on pääte"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "ei voitu muokata %s: se ei ole tavallinen tiedosto"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Väliaikaistiedostoa %s ei voitu avata: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "virhe lapsiprosessissa"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "valitsin ”e” ei ole tuettu"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "komento ”e” ei ole tuettu"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "ei syötetiedostoja"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "Ei aikaisempaa säännöllistä lauseketta"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Muuttajia ei voida määritellä tyhjään säännölliseen lausekkeeseen"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Virheellinen viittaus \\%d komennon ”s” oikealla puolella"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Lähetä virheraportit osoitteeseen %s .\n"
-"Sisällytä sana ”%s” viestin aihekenttään (”Subject”-kenttään).\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" käytä Perl 5:n mukaista säännöllisten lauseiden\n"
-" syntaksia skriptissä.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Käyttö: %s [VALITSIN]... {skripti-vain-jos-ei-ole-muita-skriptejä} "
-"[syötetiedosto]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" vaienna automaattinen mallitilan tulostus\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=skripti\n"
-" lisää skripti suoritettaviin komentoihin\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=skriptitiedosto\n"
-" lisää skriptitiedoston sisältö suoritettaviin komentoihin\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" seuraa symbolisia linkkejä, kun prosessoidaan paikallaan\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFFIKSI], --in-place[=SUFFIKSI]\n"
-" muokkaa tiedostoja paikallaan (tekee varmuuskopion, jos "
-"tiedostotarkennin on annettu)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" avaa tiedostot binääritilassa (rivinvaihtomerkkejä CR+LF ei "
-"erityisemmin prosessoida)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" määrittelee halutun rivinvaihtopituuden komennolle ”l”\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" passivoi kaikki GNU-laajennukset.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" käytä laajennettuja säännöllisiä lausekkeita skriptissä.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" pidä tiedostoja erillisinä pikemmin kuin yhtenä jatkuvana\n"
-" pitkänä virtana.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" lataa syötetiedostoista minimimäärä dataa ja tyhjennä\n"
-" tulostepuskurit useammin\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help näytä tämä opaste ja poistu\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version tulosta versiotiedot ja poistu\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Jos valitsimia ”-e”, ”--expression”, ”-f”, tai ”--file” ei ole annettu, "
-"silloin\n"
-"ensimmäistä ei-valitsinargumenttia pidetään tulkittavana sed-skriptinä. "
-"Kaikki\n"
-"jäljelle jäävät argumentit ovat syötetiedostojen nimiä; jos syötetiedostoja "
-"ei\n"
-"ole määritelty, luetaan vakiosyötettä.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versio %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"perustuu GNU sed versioon %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versio %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Tämä ohjelma on vapaa ohjelmisto; tarkista jakeluehdot lähdekoodista.\n"
-"Tälle ohjelmalle ei anneta minkäänlaista takuuta; ei edes takuuta\n"
-"kaupallisesti hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn\n"
-"tarkoitukseen.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "ei voida siirtää %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "ei voitu avata tiedostoa %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "ei voitu liittyä kohteeseen %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "%d kohdetta ei voitu kirjoittaa tulosteeseen %s: %s"
-msgstr[1] "%d kohdetta ei voitu kirjoittaa tulosteeseen %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "lukuvirhe syötteessä %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "ei voitu seurata symbolista linkkiä %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "ei voida suorittaa stat-käskyä %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "ei voida nimetä uudelleen %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Onnistui"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Ei osumaa"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Virheellinen säännöllinen lauseke"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Virheellinen vertailumerkki"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Virheellinen merkkiluokan nimi"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Seuraava kenoviiva"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Virheellinen takaisinviittaus"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Pariton ”[” tai ”[^”"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Pariton ”(” tai ”\\(”"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Pariton ”\\{”"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Virheellinen sisältö \\{\\}:ssä"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Virheellinen lukualueen loppu"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Muisti loppui"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Virheellinen edeltävä säännöllinen lauseke"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Ennenaikainen säännöllisen lausekkeen loppu"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Säännöllinen lauseke on liian suuri"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Pariton ”)” tai ”\\)”"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Ei aikaisempaa säännöllistä lausetta"
diff --git a/sources/host-tools/sed-4.2.1/po/fr.gmo b/sources/host-tools/sed-4.2.1/po/fr.gmo
deleted file mode 100644
index 5830518..0000000
--- a/sources/host-tools/sed-4.2.1/po/fr.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/fr.po b/sources/host-tools/sed-4.2.1/po/fr.po
deleted file mode 100644
index 45c2bac..0000000
--- a/sources/host-tools/sed-4.2.1/po/fr.po
+++ /dev/null
@@ -1,516 +0,0 @@
-# French translation of GNU sed.
-# Copyright (C) 1998, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-# Gaël Quéri <gael@lautre.net>, 1998.
-#
-# J'ai préféré utiliser le terme <<Expression régulière>> plutôt
-# qu'<<expression rationnelle>> car celui-là est moins déroutant
-# pour ceux qui sont habitués à la formulation anglaise
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-04-23 16:29+0200\n"
-"Last-Translator: Gaël Quéri <gael@lautre.net>\n"
-"Language-Team: French <traduc@traduc.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "`!' multiples"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' inattendue"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "utilisation invalide de +N ou ~N comme première adresse"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' non refermée"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' inattendu"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "caractères inutiles après la commande"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "\\ attendu après `a', `c' ou `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' n'a besoin d'aucune adresse"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": n'a besoin d'aucune adresse"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "les commentaires n'acceptent aucune adresse"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "commande manquante"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "la commande n'utilise qu'une adresse"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "expression régulière d'adresse inachevée"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "commande `s' inachevée"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "commande `y' inachevée"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "option inconnue pour `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "plusieurs options `p' à la commande `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "plusieurs options `g' à la commande `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "plusieurs options numériques à la commande `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "l'option numérique de la comande `s' ne peut être nulle"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "les chaînes destinées à la commande `y' ont des longueurs différentes"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "le caractère délimiteur n'est pas un caractère à un seul octet"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "une version plus récente de sed est attendue"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "utilisation invalide de l'adresse de ligne 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "commande inconnue: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fichier %s ligne %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expression n°%lu, caractère %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "impossible de trouver l'étiquette pour sauter à `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: impossible de lire %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "impossible d'éditer %s: est un terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "impossible d'éditer %s: ce n'est pas un fichier régulier"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "impossible d'ouvrir le fichier temporaire %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "erreur dans le sous-processus"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "l'option `e' n'est pas supportée"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "la commande `e' n'est pas supportée"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "pas d'expression régulière précédente"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-"impossible de spécifier des modifieurs sur une expression\n"
-"rationnelle vide"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "référence \\%d invalide dans le côté droit de la commande `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Rapporter toutes anomalies à: %s.\n"
-"N'oubliez pas d'inclure le mot ``%s'' quelque-part dans la zone "
-"``Subject:''\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" utiliser la syntaxe des expressions régulières\n"
-" de Perl 5 dans le script.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Utilisation: %s [OPTION]... {script-seulement-si-pas-d'autre-script}\n"
-"[fichier-d'entrée]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" supprimer l'écriture automatique de l'espace des motifs\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" ajouter le script aux commandes à être exécutées\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f fichier-script, --file=fichier-script\n"
-" ajouter le contenu de fichier-script aux commandes\n"
-" à être exécutées\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFFIXE], --in-place[=SUFFIXE]\n"
-" éditer les fichiers à leur place (fait une\n"
-" sauvegarde si l'extension est fournie)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" spécifier la longueur de coupure de ligne désirée pour la\n"
-" commande `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" désactiver toutes les extensions GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" utiliser la syntaxe des expressions régulières\n"
-" étendues dans le script.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considérer les fichiers comme séparés plutôt que comme un\n"
-" simple flux long et continu.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" charger des quantités minimales de données depuis les\n"
-" fichiers d'entrée et libérer les tampons de sortie plus\n"
-" souvent\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help afficher cette aide et sortir\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-" --version afficher les informations de version du logiciel et sortir\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Si aucune option -e, --expression, -f ou --file n'est donnée, le\n"
-"premier argument qui n'est pas une option sera pris comme étant le script\n"
-"sed à interpréter. Tous les arguments restants sont les noms des fichiers\n"
-"d'entrée; si aucun fichier d'entrée n'est spécifiée, l'entrée standard\n"
-"est lue.\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed version %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"fondé sur GNU sed version %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed version %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ce logiciel est libre; voir les sources pour les conditions de "
-"reproduction.\n"
-"AUCUNE garantie n'est donnée; y compris pour des RAISONS COMMERCIALES ou\n"
-"pour RÉPONDRE A UN BESOIN PARTICULIER, à l'étendue permise par la loi.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "impossible de supprimer %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "impossible d'ouvrir le fichier %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "impossible d'écrire %d item à %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "impossible d'écrire %d item à %s: %s"
-msgstr[1] "impossible d'écrire %d items à %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "erreur de lecture sur %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "impossible d'ouvrir le fichier %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "impossible de renommer %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "impossible de renommer %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Succès"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Pas de concordance"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expression régulière invalide"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Caractère de collation invalide"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nom de classe de caractères invalide"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Antislash de protection"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Référence arrière invalide"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ ou [^ non refermé"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( ou \\( non refermé"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ non refermé"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Contenu de \\{\\} invalide"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Fin d'intervalle invalide"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Mémoire épuisée"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "L'expression régulière précédente est invalide"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fin prématurée d'une expression régulière"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expression régulière trop grande"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") ou \\) non refermé"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Pas d'expression régulière précédente"
diff --git a/sources/host-tools/sed-4.2.1/po/ga.gmo b/sources/host-tools/sed-4.2.1/po/ga.gmo
deleted file mode 100644
index 3f3d1c8..0000000
--- a/sources/host-tools/sed-4.2.1/po/ga.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ga.po b/sources/host-tools/sed-4.2.1/po/ga.po
deleted file mode 100644
index 9d0109f..0000000
--- a/sources/host-tools/sed-4.2.1/po/ga.po
+++ /dev/null
@@ -1,518 +0,0 @@
-# Irish translations for sed
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2006, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-13 11:04-0500\n"
-"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
-"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :"
-"(n>6 && n<11) ? 3 : 4;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "`!'-anna iomadúla"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' gan choinne"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ní féidir +N nó ~N a úsáid mar an chéad seoladh"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' corr"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' gan choinne"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "carachtair breise i ndiaidh an ordaithe"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "bhíothas ag súil le \\ i ndiaidh `a', `c', nó `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "Níl fáilte roimh sheoltaí le `}'"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "Níl fáilte roimh sheoltaí le `:'"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "níl fáilte roimh sheoltaí le nótaí tráchta"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "ordú ar iarraidh"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "ní úsáidtear an t-ordú ach seoladh amháin"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "seoladh regex gan chríochnú"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "ordú `s' gan chríochnú"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "ordú `y' gan chríochnú"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "rogha anaithnid i ndiaidh `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "an iomarca roghanna `p' i ndiaidh `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "an iomarca roghanna `g' i ndiaidh `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "an iomarca roghanna uimhriúla i ndiaidh `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "ní cheadaítear nialas mar rogha uimhriúil leis an ordú `s'"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "níl aon fhad amháin ar na teaghráin leis an ordú `y'"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "tá an teormharcóir ina charachtar ilbheart"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "bhíothas ag súil le leagan `sed' níos úire"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "ní féidir an seoladh líne 0 a úsáid"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "ordú anaithnid: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: comhad %s líne %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e slonn #%lu, char %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "níl aon fháil ar an lipéad `%s' don léim"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ní féidir %s a léamh: %s\n"
-
-# Irish is nice this way, no initial mutation on 'rud'! -- KPS
-# Include all three b/c I'm using template version of "Plural-Forms"
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "níorbh fhéidir %s a chur in eagar; is teirminéal é"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "níorbh fhéidir %s a chur in eagar: ní gnáthchomhad é"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "níorbh fhéidir an comhad sealadach %s a oscailt: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "earráid i bhfo-phróiseas"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "níl an rogha `e' ar fáil"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "níl an t-ordú `e' ar fáil"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "gan inchomhad"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "níl aon slonn ionadaíochta roimhe seo"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "ní féidir mionathraitheoirí a shonrú le slonn bán"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "tagairt neamhbhailí \\%d ar dheis ordú `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Seol tuairiscí fabhtanna chuig: %s .\n"
-"Cuir an focal ``%s'' áit éigin sa líne ``Subject:'' le do thoil.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" bain úsáid as sloinn ionadaíochta atá ag Perl 5.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Úsáid: %s [ROGHA]... {script-mura-bhfuil-script-eile} [inchomhad]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" stop priontáil uathoibríoch den spás patrúin\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" cuir an script leis na horduithe le rith\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f comhad-script, --file=comhad-script\n"
-" cuir na línte i `comhad-script' leis na horduithe le rith\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" lean naisc shiombalacha má phróiseáiltear an comhad san\n"
-" áit a bhfuil sé\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[IARMHÍR], --in-place[=IARMHÍR]\n"
-" cuir eagar ar chomhaid san áit a bhfuil siad (agus déan\n"
-" cúltaca má thugtar IARMHÍR)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" oscail comhaid sa mhód dénártha (ní phróiseáiltear CR"
-"+LFanna\n"
-" ar bhealach speisialta)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" ceap an fad timfhillte le haghaidh an ordaithe `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" díchumasaigh gach feabhsúchán GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" úsáid sloinn ionadaíochta feabhsaithe sa script.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" féach ar chomhaid ina leith seachas mar shruth leanúnach.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" luchtaigh bloic bheaga ó na comhaid ionchuir agus "
-"sruthlaigh\n"
-" na maoláin aschuir níos minice\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help taispeáin an chabhair seo agus scoir\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version taispeáin eolas faoin leagan agus scoir\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Mura bhfuil rogha -e, --expression, -f, nó --file ann, glacfar an chéad\n"
-"argóint nach raibh ina rogha mar an script `sed' a léirmhíniú. Tá gach\n"
-"argóint eile an t-ainm do chomhad ionchuir; mura bhfuil comhad ann\n"
-"léigh ón ghnáth-ionchur.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed, leagan %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"bunaithe ar GNU sed, leagan %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed, leagan %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Is saorbhogearra an ríomhchlár seo; féach ar an bhunchód le haghaidh\n"
-"coinníollacha cóipeála. Níl baránta AR BITH ann; go fiú níl baránta ann\n"
-"d'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH, an oiread atá ceadaithe\n"
-"de réir dlí.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "ní féidir %s a scriosadh: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "níorbh fhéidir an comhad %s a oscailt: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "níorbh fhéidir ceangal le %s: %s"
-
-# Irish is nice this way, no initial mutation on 'rud'! -- KPS
-# Include all three b/c I'm using template version of "Plural-Forms"
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "níorbh fhéidir %d rud a scríobh i %s: %s"
-msgstr[1] "níorbh fhéidir %d rud a scríobh i %s: %s"
-msgstr[2] "níorbh fhéidir %d rud a scríobh i %s: %s"
-msgstr[3] "níorbh fhéidir %d rud a scríobh i %s: %s"
-msgstr[4] "níorbh fhéidir %d rud a scríobh i %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "earráid ag léamh %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "níorbh fhéidir nasc siombalach %s a leanúint: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "ní féidir %s a 'stat': %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "ní féidir %s a athainmniú: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "D'éirigh leis"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Níl a leithéid ann"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Slonn ionadaíochta neamhbhailí"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Carachtar neamhbhailí comhordaithe"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ainm neamhbhailí ar aicme charachtar"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Cúlslais ag deireadh"
-
-# coinage - KPS
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Cúltagairt neamhbhailí"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ nó [^ corr"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( nó \\( corr"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ corr"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ábhar neamhbhailí idir \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Deireadh raoin neamhbhailí"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Cuimhne ídithe"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Is neamhbhailí an slonn ionadaíochta roimhe seo"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Deireadh le slonn ionadaíochta gan choinne"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Slonn ionadaíochta rómhór"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") nó \\) corr"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Níl aon slonn ionadaíochta roimhe seo"
diff --git a/sources/host-tools/sed-4.2.1/po/gl.gmo b/sources/host-tools/sed-4.2.1/po/gl.gmo
deleted file mode 100644
index 850992c..0000000
--- a/sources/host-tools/sed-4.2.1/po/gl.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/gl.po b/sources/host-tools/sed-4.2.1/po/gl.po
deleted file mode 100644
index 9ce9259..0000000
--- a/sources/host-tools/sed-4.2.1/po/gl.po
+++ /dev/null
@@ -1,517 +0,0 @@
-# Galician translation of GNU sed
-# Copyright (C) 1999, 2002 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Jacobo Tarrío Barreiro <jtarrio@trasno.net>, 1999, 2002.
-# Francisco Javier Tsao Santín <tsao@enelparaiso.org>, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-09-18 08:35+0200\n"
-"Last-Translator: Francisco Javier Tsao Santín <tsao@enelparaiso.org>\n"
-"Language-Team: Galician <proxecto@trasno.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "múltiples `!'s"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' inesperada"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "non se pode usar +N ou ~N como primeira dirección"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' sen parella"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' inesperado"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "caracteres extra despois da instrucción"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "esperábase \\ despois de `a', `c' ou `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' non acepta un enderezo"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": non acepta un enderezo"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "os comentarios non aceptan enderezos"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "falta unha instrucción"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "a instrucción só usa un enderezo"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "expresión regular de enderezo non rematada"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "instrucción `s' non rematada"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "instrucción `y' non rematada"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opción de `s' descoñecida"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "múltiples opcións `p' para a instrucción `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "múltiples opcións `g' para a instrucción `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "múltiples opcións numéricas para a instrucción `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "unha opción numérica para a instrucción `s' non pode ser cero"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "as cadeas para a instrucción `y' teñen lonxitudes diferentes"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "o carácter delimitador non é un carácter de byte simple"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "se esperaba unha versión de sed máis nova"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "uso non válido da dirección de liña 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "instrucción descoñecida:`%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: ficheiro %s liña %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expresión #%lu, carácter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "non se puido atopa-la etiqueta para saltar a `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: non se puido ler %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "non se puido editar %s: é unha terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "non se puido editar %s: non é un ficheiro regular"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "non se puido abri-lo ficheiro temporal %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "erro no subproceso"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "a opción `e' non está soportada"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "o comando `e' non está soportado"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "non hai ficheiros de entrada"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "non hai unha expresión regular anterior"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "non se poden especificar modificadores nunha expresión regular baleira"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referencia \\%d non válida no lado dereito do comando `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Informe dos erros no programa a: %s .\n"
-"Informe dos erros na traducción a tsao@enelparaiso.org .\n"
-"Asegúrese de incluí-la palabra ``%s'' nalgunha parte do campo ``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" usa-la sintaxe de expresións regulares de Perl 5 no "
-"script.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Uso: %s [OPCIÓN]... {script-só-sen-outro-script} [ficheiro-de-entrada]...\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" suprime a visualización automática do espacio de "
-"patróns\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-"-e script, --expression=script\n"
-" engade script ás instruccións que serán executadas\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f ficheiro-de-script, --file=ficheiro-de-script\n"
-" engade o contido do ficheiro do script ás instruccións que "
-"serán executadas\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" segue ligazóns simbólicas cando se procesan no seu sitio\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIXO], --in-place[=SUFIXO]\n"
-" edita ficheiros no seu sitio (facendo copia de seguridade "
-"se se indica un sufixo)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" ficheiros abertos en modo binario (non se procesan de xeito "
-"especial CR+LFs)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" especifica a lonxitude de axuste da liña desexado para a "
-"instrucción `l' \n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" desactiva tódalas extensións GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" usa a sintaxe extendida de expresións regulares no script.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" trata os ficheiros coma separados no canto de coma unha\n"
-" longa tira de caracteres continua.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered \n"
-" carga cantidades mínimas de datos dos ficheiros de entrada\n"
-" e baleira os buffers de saída máis decote\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help amosa esta axuda e sae\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version amosa-la información da versión e saír\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Se non se indican as opcións -e, --expression, -f ou --file, entón o "
-"primeiro\n"
-"argumento que non é unha opción tómase como o script sed para interpretar. "
-"Tódolos\n"
-"argumentos restantes son nomes de ficheiros de entrada; se non se "
-"especifican\n"
-"ficheiros de entrada, entón se le a entrada standard.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versión %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"baseado en GNU sed versión %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versión %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Isto é software libre; vexa o código fonte polas condicións de copia. NON "
-"hai\n"
-"garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN "
-"DETERMINADO,\n"
-"ata o que permite a lei.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "non se puido borrar %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "non se puido abri-lo ficheiro %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "non se puido adxuntar elemento en %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "non se puido escribir %d elemento en %s: %s"
-msgstr[1] "non se puideron escribir %d elementos en %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "erro de lectura en %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "non se puido segui-la ligazón simbólica %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "non se puido ler %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "non se puido renomear %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Éxito"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Non se atopou"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expresión regular non válida"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Carácter de ordeamento non válido"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nome de clase de caracteres non válido"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Barra invertida á fin de liña"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Referencia cara a atrás non válida"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ ou [^ sen parella"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( ou \\( sen parella"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ sen parella"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Contido de \\{\\} non válido"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Fin de rango non válida"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memoria esgotada"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Expresión regular anterior non válida"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fin prematura da expresión regular"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expresión regular grande de máis"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") ou \\) sen parella"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Non hai unha expresión regular anterior"
diff --git a/sources/host-tools/sed-4.2.1/po/he.gmo b/sources/host-tools/sed-4.2.1/po/he.gmo
deleted file mode 100644
index 2039607..0000000
--- a/sources/host-tools/sed-4.2.1/po/he.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/he.po b/sources/host-tools/sed-4.2.1/po/he.po
deleted file mode 100644
index 05a5706..0000000
--- a/sources/host-tools/sed-4.2.1/po/he.po
+++ /dev/null
@@ -1,548 +0,0 @@
-# Hebrew messages for GNU Sed -*- coding: hebrew-iso-8bit -*-
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Eli Zaretskii <eliz@is.elta.co.il>, 2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 3.02.80\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2001-08-04 20:37+0300\n"
-"Last-Translator: Eli Zaretskii <eliz@gnu.org>\n"
-"Language-Team: Hebrew <eliz@gnu.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "`!' éåáéø"
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "éåôö-éúìá `,'"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "äðåùàø úáåúëë ~N åà +N-á ùîúùäì ïúéð àì"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "âåæ-ïá åì ïéàù `{'"
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "éåôö-éúìá `}'"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "äãå÷ôä éøçà íéøúåéî íéåú"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr ""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "úåáåúë ìá÷î åðéà `}'"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "úåáåúë ìá÷î åðéà :"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "úåáåúë úåìá÷î ïðéà úåøòä"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "äøñç äãå÷ô"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "ãáìá úçà úáåúë úìá÷î åæ äãå÷ô"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "íåéñ àìì úáåúë ìù éøìåâø éåèéá"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "íåéñ àìì `s' úãå÷ô"
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "íåéñ àìì `y' úãå÷ô"
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "`s' ìù øëåî-éúìá ïééôàî"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "`s' äãå÷ôì íéáåøî `p' éðééôàî"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "`s' äãå÷ôì íéáåøî `g' éðééôàî"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "`s' äãå÷ôì íéáåøî øôñî éðééôàî"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "ñôà úåéäì ìåëé åðéà `s' äãå÷ôì éøôñî ïééôàî"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "äðåù êøåàá ïðéä `y' äãå÷ôì úåæåøçî"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "úáåúëä ïééöîá éåâù ùåîéù"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "úøëåî-éúìá äãå÷ô äðéä"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s úéðëúá (%s õáå÷ ìù %lu äøåù) %s äàéâù\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s úéðëúá (%lu 'ñî -e éåèéá ìù %lu 'ñî åú) %s äàéâù\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "äàöîð àì `%s' äöéô÷ úéååú"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr ""
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "%s õáå÷ úçéúôá äì÷ú"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr ""
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr ""
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr ""
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr ""
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr ""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-" .%s úáåúëì (bugs) äì÷ú éçååéã çåìùì àð\n"
-" .(``Subject'') ``ïåãðä'' úøåùá ``%s'' äìéî ìåìëì åãéô÷ä àðà\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"äååìî äðéà úéðëúä .øå÷îä éöá÷ úà äàø ,èåøéô øúéì ;úéùôç äðëú äðéä åæ úéðëú\n"
-" äãéîá úàæå ,àéäù úéìëú åæéàì äîàúä åà úåøéçñ íùì àì åìéôà ;úåéøçà áúëá\n"
-" .úàæ øùôàî ÷åçäù\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "%s õáå÷ úçéúôá äì÷ú"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "%s-ì èìôäî ÷ìç úáéúëá (%s) äì÷ú"
-
-#: sed/utils.c:245
-#, fuzzy, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "èìôäî íé÷ìç %d ìù %s-ì äáéúëá (%s) äì÷ú"
-msgstr[1] "èìôäî íé÷ìç %d ìù %s-ì äáéúëá (%s) äì÷ú"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "%s úàéø÷á (%s) äì÷ú"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "%s-ì èìôäî ÷ìç úáéúëá (%s) äì÷ú"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s úéðëúá %s úàéø÷á (%s) äàéâù\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr ""
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr ""
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr ""
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr ""
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr ""
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr ""
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr ""
-
-#: lib/regcomp.c:155
-#, fuzzy
-msgid "Unmatched [ or [^"
-msgstr "âåæ-ïá åì ïéàù `{'"
-
-#: lib/regcomp.c:158
-#, fuzzy
-msgid "Unmatched ( or \\("
-msgstr "âåæ-ïá åì ïéàù `{'"
-
-#: lib/regcomp.c:161
-#, fuzzy
-msgid "Unmatched \\{"
-msgstr "âåæ-ïá åì ïéàù `{'"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr ""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr ""
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr ""
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr ""
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr ""
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr ""
-
-#: lib/regcomp.c:182
-#, fuzzy
-msgid "Unmatched ) or \\)"
-msgstr "âåæ-ïá åì ïéàù `{'"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr ""
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "%s éøìåâø éåèéáá äàéâù\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "éãî íã÷åî íééúñî õáå÷"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "(%x) éåôö-éúìá pushback íò äàø÷ð savchar() äéö÷ðåô"
-
-#~ msgid "input read error: %s"
-#~ msgstr "äàéø÷ úòá (%s) äàéâù"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "òåãé-éúìá úáåúë âåñ :äøåîç äðëú úì÷ú"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "%c úùáåùî äãå÷ô :äøåîç äðëú úì÷ú"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "%s [íéðééôàî]... {íéøçà-íéèéøñú-øãòéäá-èéøñú} [èì÷ õáå÷]... :ùåîéù ïôåà\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " éèîåèåà ïôåàá úåéðáúä áçøî úà ñéôãú ìà\n"
-#~ " -e script, --expression=script\n"
-#~ " òöáì ùé ïúåà úåãå÷ôì script óñåä\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " òöáì ùé ïúåà úåãå÷ôì script-file ìù ïëåúä óñåä\n"
-#~ " -l N, --line-length=N\n"
-#~ " úãå÷ô øåáò éáøéî äøåù ìãåâë N òá÷\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " úéðëúäî àöå åæ äëøãä âöä --help\n"
-#~ " àöå úéîòúä úñøâ âöä -V, --version\n"
-#~ "\n"
-#~ " ïåùàøä èðîåâøàä ,--file åà ,-f ,--expression ,-e íéðééôàî øãòéäá\n"
-#~ " íðéä íéøúåðä íéèðîåâøàä ìë .òåöéáì sed úéøñúë ùøôúé ïééôàî åðéàù\n"
-#~ " .éð÷ú èì÷ ÷éôà àø÷éé ,èì÷ éöá÷ ìë øãòéäá ;èì÷ éöá÷ úåîù\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/hr.gmo b/sources/host-tools/sed-4.2.1/po/hr.gmo
deleted file mode 100644
index 4c91997..0000000
--- a/sources/host-tools/sed-4.2.1/po/hr.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/hr.po b/sources/host-tools/sed-4.2.1/po/hr.po
deleted file mode 100644
index ea144cb..0000000
--- a/sources/host-tools/sed-4.2.1/po/hr.po
+++ /dev/null
@@ -1,550 +0,0 @@
-# Translation of sed to Croatian
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Denis Lackovi <delacko@fly.srk.fer.hr>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 3.02a\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2002-06-14 15:17-01\n"
-"Last-Translator: Denis Lackovic <delacko@fly.srk.fer.hr>\n"
-"Language-Team: Croatian <lokalizacija@linux.hr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n==1?0:1);\n"
-"X-Generator: TransDict server\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "Višestruki `!'"
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "Neočekivani `,'"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Ne mogu koristiti +N ili ~N kao prvu adresu"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "Neuparena `{'"
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "Neočekivana `}'"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "Višak znakova nakon komande"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr ""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' ne želi nikakve adrese"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ne želi nikakve adrese"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "Komentari ne primaju adrese"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "Nedostaje naredba"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "Naredba koristi samo jednu adresu"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "Nezavršeni regularni izraz adrese"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "Nezavršena `s' naredba"
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "Nezavršena `y' naredba"
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "Nepoznata opcija za `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "višestruke `p' opcije za `s' naredbu"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "višestruke `g' opcije za `s' naredbu"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "višak opcija za za `s' naredbu"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "broj opcija za naredbu `s' ne smije biti nula"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "znakovni nizovi za naredbu y su različitih duljina"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "Neispravna uporaba adresnog modifikatora"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "Nepoznata naredba:"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: datoteka %s redak %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e izraz #%lu, znak %lu: %s\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Ne mogu naći labelu na koju bi trebalo skočiti `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ne mogu čitati %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr ""
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Ne mogu otvoriti datoteku %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr ""
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr ""
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr ""
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-#, fuzzy
-msgid "no previous regular expression"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr ""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"E-mail bug prijave (na engleskom) pošaljite na: %s .\n"
-"Uključite riječ ``%s'' u polju ``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ovo je slobodni softver; pogledajte kod kako biste doznali uvjete "
-"kopiranja.\n"
-" NEMA garancije;\n"
-"čak ni tvrdnje o ISPLATIVOSTI ili POGODNOSTI ZA NEKU SVRHU.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s: ne mogu čitati %s: %s\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "Ne mogu otvoriti datoteku %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "Ne mogu upisati %d item%s u %s: %s"
-
-#: sed/utils.c:245
-#, fuzzy, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "Ne mogu upisati %d item%s u %s: %s"
-msgstr[1] "Ne mogu upisati %d item%s u %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "Greška u čitanju na %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr ""
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s: ne mogu čitati %s: %s\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s: ne mogu čitati %s: %s\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr ""
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr ""
-
-#: lib/regcomp.c:140
-#, fuzzy
-msgid "Invalid regular expression"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr ""
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr ""
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr ""
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr ""
-
-#: lib/regcomp.c:155
-#, fuzzy
-msgid "Unmatched [ or [^"
-msgstr "Neuparena `{'"
-
-#: lib/regcomp.c:158
-#, fuzzy
-msgid "Unmatched ( or \\("
-msgstr "Neuparena `{'"
-
-#: lib/regcomp.c:161
-#, fuzzy
-msgid "Unmatched \\{"
-msgstr "Neuparena `{'"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr ""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr ""
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr ""
-
-#: lib/regcomp.c:173
-#, fuzzy
-msgid "Invalid preceding regular expression"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#: lib/regcomp.c:176
-#, fuzzy
-msgid "Premature end of regular expression"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#: lib/regcomp.c:179
-#, fuzzy
-msgid "Regular expression too big"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#: lib/regcomp.c:182
-#, fuzzy
-msgid "Unmatched ) or \\)"
-msgstr "Neuparena `{'"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Nedostaje prethodni regularni izraz"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "neispravan regularni izraz: %s\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Neočekivani kraj datoteke"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Pozvao savchar() sa neočekivanim rezultatom (%x)"
-
-#~ msgid "input read error: %s"
-#~ msgstr "greška pri čitanju ulaza: %s"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNA GREŠKA: neispravan tip adrese"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNA GREŠKA: Neispravna naredba %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Uporaba: %s [OPCIJA]... {skripta-samo-ako-nema-druge-skripte} [ulazna-"
-#~ "datoteka]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suzbij ispis uzoraka\n"
-#~ " -e script, --expression=script\n"
-#~ " dodaj skriptu naredbama koje treba izvršiti\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " dodaj sadržaj skriptne-datoteke naredbi koju treba "
-#~ "izvršiti\n"
-#~ " --help prikaži ovu pomoć i izađi\n"
-#~ " -V, --version ispiši informacije o inačici i izađi\n"
-#~ "\n"
-#~ "Ako nema -e, --expression, -f, ili --file opcije, tada se uzima prvi\n"
-#~ "argument koji nije opcija kao sed skripta koju treba protumačiti. Svi\n"
-#~ "preostali argumenti su imena ulaznih datoteka; ako nema ulaznih datoteka\n"
-#~ "tada se cita standardni ulaz.\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/hu.gmo b/sources/host-tools/sed-4.2.1/po/hu.gmo
deleted file mode 100644
index 230f0bf..0000000
--- a/sources/host-tools/sed-4.2.1/po/hu.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/hu.po b/sources/host-tools/sed-4.2.1/po/hu.po
deleted file mode 100644
index bd3bba9..0000000
--- a/sources/host-tools/sed-4.2.1/po/hu.po
+++ /dev/null
@@ -1,502 +0,0 @@
-# A GNU sed magyar fordítása
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Mihály Gyulai <gyulai@fbi.hu>, 2003,2004.
-# First translator: Gábor István <stive@mezobereny.hu>, 2002.
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.1\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2004-07-20 18:49+0200\n"
-"Last-Translator: Mihály Gyulai <gyulai@fbi.hu>\n"
-"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "Több `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "Váratlan `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Nem lehet használni a +N-t vagy ~N-t elsõ címként"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "Nincs párban `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "Nincs párban `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "Extra karakterek a parancs után"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "`a', `c' vagy `i' parancs után \\ szükséges"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' nem igényel címzést"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": nem igényel címzést"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "Megjegyzésben nem lehet címzés"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "Hiányzó parancs"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "A parancs csak egy címzést használ"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "Befejezetlen regex cím"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "Befejezetlen `s' parancs"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "Befejezetlen `y' parancs"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "Ismeretlen `s' opció"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "többszörös `p' opció, `s' parancs mellett"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "többszörös `g' opció, `s' parancs mellett"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "többszörös szám opció, `s' parancs mellett"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "a(z) `s' parancs szám opciója nem lehet nulla"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "a(z) `y' parancs szövegeinek hossza különbözõ"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "az elválasztó karakter nem egy bájtból áll"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "a 'sed' program újabb verziójára van szükség"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "Érvénytelen 0 címzés"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "Ismeretlen parancs: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fájl %s sor %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e kifejezés #%lu, karakter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Az ugráshoz (`%s') nem találom a címkét"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: nem lehet olvasni %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "nem lehet szerkeszteni (%s): terminál"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "nem lehet szerkeszteni (%s): nem szabályos fájl"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Nem lehet megnyitni az átmeneti fájlt: %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "hiba az alfolyamatban"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "az `e' opció nincs támogatva"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "az `e' parancs nincs támogatva"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "Nincsen elõzõ reguláris kifejezés"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Nem lehet módosítót megadni üres reguláris kifejezéshez"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Hibás hivatkozás (\\%d) a(z) `s' parancs RHS-ére"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"A fordítási hibákat kérem a gyulai@fbi.hu címre küldeni. \n"
-"Angolul ide lehet a hibákról írni: %s . A levél \"Tárgy:\" mezejében \n"
-"legyen ott a `%s' szó.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R --regexp-perl\n"
-" Perl 5 reguláris kifejezés nyelvtanának használata.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Használat: %s [OPCIÓ]... {héjprogram} [bemeneti fájl]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, fuzzy, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" minta nyomtatásának mellõzése\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e héjprogram, --expression=héjprogram\n"
-" héjprogram hozzáadása a végrehajtandó parancsokhoz\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f, héjprogram, --file=héjprogram\n"
-" a megadott héjprogram hozzáadása a végrehajtandó "
-"parancsokhoz\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SZUFFIX], --in-place[=SZUFFIX]\n"
-" fájlok szerkesztése a megadott helyen (ha van szuffix, akkor\n"
-" mentés is készül)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" sor-hossz megadása az `l' parancshoz\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" a GNU bõvítések kikapcsolása\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" kiterjesztett reguláris kifejezések használata.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" a fájlokat külön kezeljük, egyetlen folyamatos adatfolyam helyett\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" kevés adat betöltése a bemeneti fájlokból és a kimeneti pufferek\n"
-" gyakori ürítése\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help kiírja ezt az oldalt és kilép\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version kiírja a programverziót és kilép\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Ha nincs megadva -e, --expression, -f vagy --file opció, akkor az elsõ\n"
-"nem-opció paramétert héjprogramnak tekintjük. Minden további paraméter\n"
-"fájlnévnek számít. Ha nincs megadva fájlnév, akkor a szokásos bemenetrõl\n"
-"olvas.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed verzió %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"A GNU %s sed verzión alapszik\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed verzió %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ez egy ingyenes számítógépes program. A forrásban megtalálhatók a \n"
-"programterjesztés feltételei.\n"
-"SEMMILYEN garanciát nem vállalunk, még azt sem állítjuk, hogy ez a program\n"
-"KERESKEDELMI CÉLOKRA ALKALMAS vagy HASZNÁLHATÓ EGY ADOTT FELADATRA.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "nem lehet törölni %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "Nem lehet megnyitni a(z) %s fájlt: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "nem tudom a(z) %d elemet ide írni %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "nem tudom a(z) %d elemet ide írni %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "olvasási hiba %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "Nem lehet megnyitni a(z) %s fájlt: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "nem lehet átnevezni %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "nem lehet átnevezni %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sikeres"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Nincs találat"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Hibás reguláris kifejezés"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Érvénytelen összehasonlító karakter"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Érvénytelen karakterosztály-név"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Lezáró visszaperjel"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Érvénytelen vissza-hivatkozás"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Nincs párban [ vagy [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Nincs párban ( vagy \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Nincs párban \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "\\{\\}-nak érvénytelen a tartalma"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Sorozat érvénytelen vége"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Kevés a memória"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Érvénytelen megelõzõ reguláris kifejezés"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Reguláris kifejezés túl korai vége"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Túl nagy reguláris kifejezés"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Nincs párban ) vagy \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Nincsen elõzõ reguláris kifejezés"
diff --git a/sources/host-tools/sed-4.2.1/po/id.gmo b/sources/host-tools/sed-4.2.1/po/id.gmo
deleted file mode 100644
index e18eebf..0000000
--- a/sources/host-tools/sed-4.2.1/po/id.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/id.po b/sources/host-tools/sed-4.2.1/po/id.po
deleted file mode 100644
index 18154a9..0000000
--- a/sources/host-tools/sed-4.2.1/po/id.po
+++ /dev/null
@@ -1,596 +0,0 @@
-# translation of sed-4.0.9.id.po to Indonesian
-# sed 4.0.9 (Indonesian)
-# Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Tedi Heriyanto <tedi_h@gmx.net>, 2002, 2003, 2004.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-11-09 20:15+0700\n"
-"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
-"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "multiple `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "tidak diduga `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "penggunaan tidak valid dari +N atau ~N sebagai alamat pertama"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "tidak cocok `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "tidak diduga `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "karakter tambahan setelah perintah"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "diharapkan \\ setelah `a', `c' atau `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' tidak menginginkan alamat apapun"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": tidak menginginkan alamat apapun"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "komentar tidak menerima alamat apapun"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "perintah hilang"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "perintah hanya menggunakan satu alamat"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "alamat regex yang tidak selesai"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "perintah `s' tidak selesai"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "perintah `y' tidak selesai"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opsi `s' tidak diketahui"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "multiple opsi `p' untuk perintah `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "multiple opsi `g' untuk perintah `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "multiple jumlah opsi untuk perintah `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "jumlah opsi untuk perintah `s' tidak boleh nol"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "string untuk perintah `y' memiliki panjang berbeda"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "karakter pembatas bukan sebuah karakter byte-tunggal"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "diduga versi baru sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "penggunaan tidak dari baris alamat 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "perintah: `%c' tidak dikenal"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: berkas %s baris %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e ekspresi #%lu, char %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Tidak dapat menemukan label untuk melompat ke `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: tidak dapat membaca %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "tidak dapat mengubah %s: adalah sebuah terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "tidak dapat mengubah %s: bukan berkas regular"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Tidak dapat membuka berkas sementara %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "kesalahan dalam subproses"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "optsi `e' tidak didukung"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "perintah `e' tidak didukung"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "tidak ada berkas masukan"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "Tidak ada reguler ekspresi sebelumnya"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Tidak dapat menspesifikasikan pemodifikasi pada regexp kosong"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referensi tidak valid \\%d pada perintah `s' RHS"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Laporkan bug ke email: %s \n"
-"Pastikan untuk menyertakan kata \"%s\" di field \"Subject:\".\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" gunakan sintaks reguler ekspresi Perl 5 dalam skrip.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Penggunaan: %s [OPSI]... {hanya-script-jika-tidak-ada-script-lain} [berkas-"
-"masukan]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" tekan penampilan otomatis dari pola ruang\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" tambahkan script ke perintah untuk dijalankan\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f berkas-script, --file=berkas-script\n"
-" tambahkan isi dari berkas-script ke perintah yang akan "
-"dijalankan\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" ikuti symlinks ketika pemrosesan di tempat\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[AKHIRAN], --in-place[=AKHIRAN]\n"
-" ubah berkas di tempat (buat backup jika ekstensi "
-"diberikan)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" buka berkas dalam mode binari (CR+LF tidak diproses secara "
-"spesial)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" spesifikasikan panjang line-wrap yang diinginkan untuk "
-"perintah `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" non-aktifkan seluruh ekstensi GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" gunakan ekspresi ekstensi regular dalam skrip.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" pertimbangkat berkas sebagai terpisah daripa sebagai "
-"sebuah\n"
-" stream tunggal panjang berkelanjutan.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" load jumlah minimal dari data dari berkas masukan dan "
-"flush\n"
-" buffer keluaran lebih sering\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help tampilkan pesan bantuan dan keluar\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version keluarkan informasi versi dan keluar\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Jika tidak ada opsi -e, --expression, -f, atau -f diberikan, maka argumen\n"
-"bukan-opsi pertama diambil sebagai script yang akan diinterpretasikan.\n"
-"Seluruh argumen yang tersisa adalah nama dari berkas masukan; jika tidak "
-"ada\n"
-"berkas masukan yang dispesifikasikan, maka standar masukan yang dibaca.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versi %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"berdasarkan pada GNU sed versi %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versi %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ini adalah aplikasi bebas; lihat kode program untuk persyaratan penyalinan.\n"
-"TIDAK ADA garansi disini; bahkan untuk DIPERDAGANGKAN atau KECOCOKAN UNTUK "
-"TUJUAN TERTENTU,\n"
-"sejauh diijinkan oleh hukum yang berlaku.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "tidak dapat menghapus %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "tidak dapat membuka berkas %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "tidak dapat meng-attach ke %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "tidak dapat menulis %d item ke %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "kesalahan pembacaan pada %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "tidak dapat mengikuti symlink %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "tidak dapat memperoleh statistik %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "tidak dapat mengubah nama %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sukses"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Tidak cocok"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Reguler ekspresi tidak valid"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Karakter kolasi tidak valid"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nama kelas karakter tidak valid"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Trailing backslash"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Referensi balik tidak valid"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ atau [^ tidak sesuai"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( atau \\( tidak sesuai"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ tidak sesuai"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Isi \\{\\} tidak valid"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Batas akhir tidak valid"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Kehabisan memori"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Reguler ekspresi yang mengawali tidak valid"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Reguler ekspresi berakhir prematur"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Reguler ekspresi terlalu besar"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") atau \\) tidak sesuai"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Tidak ada reguler ekspresi sebelumnya"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Dipanggil savchar() dengan pushback (%x) yang tidak diharapkan"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "KESALAHAN INTERNAL: tipe alamat buruk"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "KESALAHAN INTERNAL: Perintah %c buruk"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Penggunaan: %s [OPTION]... {script-only-if-no-other-script} [input-"
-#~ "file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " tiadakan pencetakan otomatis ruang pola\n"
-#~ " -e script, --expression=script\n"
-#~ " tambah skrip ke perintah yang akan dieksekusi\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " tambah isi file skrip ke perintah yang akan dieksekusi\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit file secara langsung (buat backup jika ada "
-#~ "ekstensi)\n"
-#~ " -l N, --line-length=N\n"
-#~ " spesifikasikan panjang baris pemotongan yang diinginkan "
-#~ "untuk perintah `l'\n"
-#~ " -r, --regexp-extended\n"
-#~ " gunakan extended regular expressions dalam skrip .\n"
-#~ "%s -s, --separate\n"
-#~ " anggap file sebagai stream terpisah alih-alih "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help tampilkan bantuan ini dan keluar\n"
-#~ " -V, --version tampilkan informasi versi dan keluar\n"
-#~ "\n"
-#~ "Jika tidak diberikan opsi -e, --expression, -f, atau --file, maka "
-#~ "argumen\n"
-#~ "non-opsi pertama akan dianggap sebagai skrip sed untuk "
-#~ "diinterpretasikan. Seluruh\n"
-#~ "argumen sisanya adalah nama file input; jika tidak ada file input\n"
-#~ "dispesifikasikan, maka standar input akan dibaca.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Akhir file tidak diharapkan"
diff --git a/sources/host-tools/sed-4.2.1/po/insert-header.sin b/sources/host-tools/sed-4.2.1/po/insert-header.sin
deleted file mode 100644
index b26de01..0000000
--- a/sources/host-tools/sed-4.2.1/po/insert-header.sin
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/sources/host-tools/sed-4.2.1/po/it.gmo b/sources/host-tools/sed-4.2.1/po/it.gmo
deleted file mode 100644
index 99e77cc..0000000
--- a/sources/host-tools/sed-4.2.1/po/it.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/it.po b/sources/host-tools/sed-4.2.1/po/it.po
deleted file mode 100644
index 1834207..0000000
--- a/sources/host-tools/sed-4.2.1/po/it.po
+++ /dev/null
@@ -1,580 +0,0 @@
-# traduzione di sed
-# Copyright (C) 1999, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Paolo Bonzini <bonzini@gnu.org>, 2008
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-16 12:44+0100\n"
-"Last-Translator: Paolo Bonzini <bonzini@gnu.org>\n"
-"Language-Team: Italian <tp@lists.linux.it>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-# sed/compile.c:166
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "`!' multipli"
-
-# sed/compile.c:167
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' inattesa"
-
-# sed/compile.c:169
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "impossibile usare +N o ~N come primo indirizzo"
-
-# sed/compile.c:170
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' non bilanciata"
-
-# sed/compile.c:171
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' inattesa"
-
-# sed/compile.c:172
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "ci sono altri caratteri dopo il comando"
-
-# sed/compile.c:173
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "atteso \\ dopo `a', `c' o `i'"
-
-# sed/compile.c:174
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' non accetta indirizzi"
-
-# sed/compile.c:175
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": non accetta indirizzi"
-
-# sed/compile.c:176
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "i commenti non accettano indirizzi"
-
-# sed/compile.c:177
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "manca il comando"
-
-# sed/compile.c:178
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "il comando usa solo un indirizzo"
-
-# sed/compile.c:179
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "espressione regolare non terminata nell'indirizzo"
-
-# sed/compile.c:180
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "comando `s' non terminato"
-
-# sed/compile.c:181
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "comando `y' non terminato"
-
-# sed/compile.c:182
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opzione di `s' sconosciuta"
-
-# sed/compile.c:183
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "opzioni `p' multiple al comando `s'"
-
-# sed/compile.c:184
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "opzioni `g' multiple al comando `s'"
-
-# sed/compile.c:186
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "opzioni numeriche multiple al comando `s'"
-
-# sed/compile.c:188
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "l'opzione numerica del comando `s' non può essere zero"
-
-# sed/compile.c:190
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "le stringhe per il comandi `y' hanno lunghezze diverse"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "il carattere delimitatore è multi-byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "attesa una versione piu' recente di sed"
-
-# sed/compile.c:178
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "utilizzo non valido dell'indirizzo 0"
-
-# sed/compile.c:1319
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "comando sconosciuto: `%c'"
-
-# sed/compile.c:1340
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: file %s riga %lu: %s\n"
-
-# sed/compile.c:1343
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: espressione -e #%lu, carattere %lu: %s\n"
-
-# sed/compile.c:1543
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "impossibile trovare un'etichetta per il salto a `%s'"
-
-# sed/execute.c:516
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: impossibile leggere %s: %s\n"
-
-# sed/execute.c:675
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "impossibile modificare %s: è un terminale"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "impossibile modificare %s: non è un file normale"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-# lib/utils.c:131
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "impossibile aprire il file temporaneo %s: %s"
-
-# sed/execute.c:1003 sed/execute.c:1183
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "errore in un sottoprocesso"
-
-# sed/execute.c:1005
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opzione `e' non supportata"
-
-# sed/execute.c:1185
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "comando `e' non supportato"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "nessun file in ingresso"
-
-# lib/regcomp.c:658 sed/regex.c:47
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "occorre un'espressione regolare precedente"
-
-# sed/regex.c:48
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "non è possibile specificare dei modificatori per l'espressione vuota"
-
-# sed/regex.c:146
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "riferimento non valido \\%d nel secondo membro del comando `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-# sed/sed.c:132
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Segnalare eventuali bug a: %s .\n"
-"Assicurarsi di includere la parola ``%s'' nell'oggetto del messaggio.\n"
-
-# sed/sed.c:98
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" usa la sintassi Perl 5 per le espressioni regolari\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Utilizzo: %s [OPZIONE]... {script-se-nessun-altro-specificato} [input-"
-"file]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" sopprime la stampa automatica del pattern space\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" aggiunge lo script ai comandi da eseguire\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=file-script\n"
-" aggiunge il contenuto di file-script ai comandi da "
-"eseguire\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" segue i link simbolici quando viene utilizzato -i\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" scrive il risultato sul file originale (facendo una copia\n"
-" se è fornita un'estensione)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" apre i file in modo binario (lasciando le sequenze CR+LF "
-"immutate)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" specifica la lunghezza delle linee generate dal comando "
-"`l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" disabilita tutte le estensioni GNU.\n"
-
-# sed/sed.c:98
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" usa la sintassi di `egrep' per le espressioni regolari\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considera i file di input come separati invece che come un\n"
-" unico file lungo.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" carica e visualizza i dati una a pezzetti piu' piccoli\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help mostra questo aiuto ed esce\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version stampa le informazioni sulla versione ed esce\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Se non è usata nessuna delle opzioni -e, --expression, -f o --file allora "
-"il\n"
-"primo argomento che non è una opzione sarà usato come lo script sed da\n"
-"interpretare. Tutti gli argomenti rimanenti sono nomi di file di input; se "
-"non\n"
-"sono specificati file di input sarà letto lo standard input.\n"
-"\n"
-
-# sed/sed.c:255
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versione %s\n"
-
-# sed/sed.c:256
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"basato su GNU sed versione %s\n"
-"\n"
-
-# sed/sed.c:258
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versione %s\n"
-
-# sed/sed.c:260
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Questo è software libero; si veda il sorgente per le condizioni di "
-"copiatura.\n"
-"NON c'è garanzia; neppure di COMMERCIABILITA' o IDONEITA' AD UN PARTICOLARE\n"
-"SCOPO, nei limiti permessi dalla legge.\n"
-
-# sed/execute.c:516
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "impossibile rimuovere %s: %s"
-
-# lib/utils.c:131
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "impossibile aprire il file %s: %s"
-
-# lib/utils.c:161
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "impossibile accedere a %s: %s"
-
-# lib/utils.c:161
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "impossibile scrivere %d elemento su %s: %s"
-msgstr[1] "impossibile scrivere %d elementi su %s: %s"
-
-# lib/utils.c:176
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "errore di lettura su %s: %s"
-
-# lib/utils.c:131
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "impossibile seguire il link simbolico %s: %s"
-
-# sed/execute.c:516
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "impossibile ottenere informazioni su %s: %s"
-
-# sed/execute.c:516
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "impossibile rinominare %s: %s"
-
-# lib/regcomp.c:179
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Successo"
-
-# lib/regcomp.c:182
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Nessuna corrispondenza trovata"
-
-# lib/regcomp.c:185
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Espressione regolare non valida"
-
-# lib/regcomp.c:188
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Carattere di ordinamento non valido"
-
-# lib/regcomp.c:191
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nome non valido per una classe di caratteri"
-
-# lib/regcomp.c:194
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Barra rovesciata alla fine dell'espressione regolare"
-
-# lib/regcomp.c:197
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Riferimento non valido"
-
-# lib/regcomp.c:200
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "`[' non bilanciata"
-
-# lib/regcomp.c:203
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "`(' o `\\(' non bilanciata"
-
-# lib/regcomp.c:206
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "`\\{' non bilanciata"
-
-# lib/regcomp.c:209
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "numero di ripetizioni specificato tra graffe non valido"
-
-# lib/regcomp.c:212
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Fine dell'intervallo non valida"
-
-# lib/regcomp.c:215
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memoria esaurita"
-
-# lib/regcomp.c:218
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Espressione regolare precedente non valida"
-
-# lib/regcomp.c:221
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fine prematura dell'espressione regolare"
-
-# lib/regcomp.c:224
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Espressione regolare troppo grande"
-
-# lib/regcomp.c:227
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "`)' o `\\)' non bilanciata"
-
-# lib/regcomp.c:658 sed/regex.c:47
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Occorre un'espressione regolare precedente"
diff --git a/sources/host-tools/sed-4.2.1/po/ja.gmo b/sources/host-tools/sed-4.2.1/po/ja.gmo
deleted file mode 100644
index 24751ce..0000000
--- a/sources/host-tools/sed-4.2.1/po/ja.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ja.po b/sources/host-tools/sed-4.2.1/po/ja.po
deleted file mode 100644
index 3c76cfa..0000000
--- a/sources/host-tools/sed-4.2.1/po/ja.po
+++ /dev/null
@@ -1,510 +0,0 @@
-# Japanese messages for GNU sed
-# Copyright (C) 1999, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-# IIDA Yosiaki <iida@gnu.org>, 1999, 2002, 2003, 2004, 2005.
-# This file is distributed under the same license as the GNU sed package.
-# Contributed by
-# Yasuyuki Furukawa <yasu@on.cs.keio.ac.jp>, 1999.
-# and taken over on 1999-09-24 by Japanese Team.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU sed 4.1.1\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-02-01 21:02+0900\n"
-"Last-Translator: IIDA Yosiaki <iida@gnu.org>\n"
-"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "Ê£¿ô¤Î¡Ö!¡×¤Ç¤¹"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "ͽ´ü¤»¤Ì¡Ö,¡×¤Ç¤¹"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ºÇ½é¤Î¥¢¥É¥ì¥¹¤Ø¤Î+N¤ä~N¤Î»ØÄê¤Ï̵¸ú¤Ç¤¹"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "Äà¤ê¹ç¤ï¤Ê¤¤¡Ö{¡×¤Ç¤¹"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "ͽ´ü¤»¤Ì¡Ö}¡×¤Ç¤¹"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "¥³¥Þ¥ó¥É¤Î¸å¤í¤Ë;·×¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "\\¤¬¡Öa¡×¡Öc¡×¡Öi¡×¤Î¸å¤Ëͽ´ü¤µ¤ì¤Þ¤¹"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "¡Ö}¡×¤Ë¥¢¥É¥ì¥¹¤ÏÉÔÍפǤ¹"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ":¤Ë¥¢¥É¥ì¥¹¤ÏÉÔÍפǤ¹"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "¥³¥á¥ó¥È¤Ï¥¢¥É¥ì¥¹¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "¥³¥Þ¥ó¥É¤¬Â¤ê¤Þ¤»¤ó"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "¥³¥Þ¥ó¥É¤Ï¥¢¥É¥ì¥¹¤ò1¤Ä¤À¤±»È¤¤¤Þ¤¹"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "¥¢¥É¥ì¥¹regex¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "¡Öy¡×¥³¥Þ¥ó¥É¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "¡Ös¡×¤Ø¤Î¥ª¥×¥·¥ç¥ó¤¬Ì¤ÃΤǤ¹"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¡Öp¡×¥ª¥×¥·¥ç¥ó"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¡Ög¡×¥ª¥×¥·¥ç¥ó"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤ËÊ£¿ô¤Î¿ôÃÍ¥ª¥×¥·¥ç¥ó"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤Ø¤Î¿ôÃÍ¥ª¥×¥·¥ç¥ó¤ÏÎí¤Ç¤Ï¤¤¤±¤Þ¤»¤ó"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "¡Öy¡×¥³¥Þ¥ó¥É¤Ø¤Îʸ»úÎó¤ÎŤµ¤¬¡¢°ã¤¤¤Þ¤¹"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "¶èÀÚ¤êʸ»ú¤¬¡¢Ã±°ì¥Ð¥¤¥Èʸ»ú¤Ç¤¢¤ê¤Þ¤»¤ó"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "sed¤Î¿·ÈǤ¬Á°Äó¤Ç¤¹"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "̵¸ú¤Ê¹Ô¥¢¥É¥ì¥¹0¤Î»ÈÍÑË¡"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "̤ÃΤΥ³¥Þ¥ó¥É¤Ç¤¹: ¡Ö%c¡×"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: ¥Õ¥¡¥¤¥ë %s %lu¹Ô: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e ɽ¸½ #%lu, ʸ»ú¿ô %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "¡Ö%s¡×¤Ø¤Î¥¸¥ã¥ó¥×¤Î¥é¥Ù¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s¤òÆÉ¤ß¹þ¤á¤Þ¤»¤ó: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "%s¤Ï¡¢ÊÔ½¸¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿: üËö¤Ç¤¹"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "%s¤Ï¡¢ÊÔ½¸¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿: Ä̾ï¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¤Þ¤»¤ó"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "°ì»þ¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "»Ò¥×¥í¥»¥¹¤Î¥¨¥é¡¼"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "¡Öe¡×¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "¡Öe¡×¥³¥Þ¥ó¥É¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "ľÁ°¤ÎÀµµ¬É½¸½¤¬¡¢¤¢¤ê¤Þ¤»¤ó"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "½¤¾þ»Ò¤Ï¡¢¶õ¤ÎÀµµ¬É½¸½¤Ë»ØÄê¤Ç¤¤Þ¤»¤ó"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "¡Ös¡×¥³¥Þ¥ó¥É¤Î±¦Â¦¤Ë̵¸ú¤Ê\\%d¤Î»²¾È"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"ÅŻҥ᡼¥ë¤Ë¤è¤ë¥Ð¥°Êó¹ð¤Î°¸Àè: %s\n"
-"Êó¹ð¤ÎºÝ¡¢¡ÈSubject:¡É¥Õ¥£¡¼¥ë¥É¤Î¤É¤³¤«¤Ë¡È%s¡É¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" ¥¹¥¯¥ê¥×¥È¤ÇPerl 5¤ÎÀµµ¬É½¸½¹½Ê¸¤ò»È¤¦¡£\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó]... {¥¹¥¯¥ê¥×¥È(¾¤Ë¤Ê¤±¤ì¤Ð)} [ÆþÎÏ¥Õ¥¡¥¤¥ë]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, fuzzy, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-"-n, --quiet, --silent\n"
-" ¥Ñ¥¿¡¼¥ó¡¦¥¹¥Ú¡¼¥¹¤Î¼«Æ°½ÐÎϤòÍÞÀ©\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e ¥¹¥¯¥ê¥×¥È, --expression=¥¹¥¯¥ê¥×¥È\n"
-" ¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¤òÄɲÃ\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f ¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë, --file=¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë\n"
-" ¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÄɲÃ\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[ÀÜÈø¼], --in-place[=ÀÜÈø¼]\n"
-" ¥Õ¥¡¥¤¥ë¤ò¤½¤Î¾ì¤ÇÊÔ½¸ (³ÈÄ¥»Ò¤¬¤¢¤ì¤Ð¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºî"
-"À®)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" ¡Öl¡×¥³¥Þ¥ó¥ÉÍѤιÔÀÞÊÖ¤·Ä¹¤ò»ØÄê\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" GNU³ÈÄ¥¤òÁ´Éô¶Ø»ß¡£\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" ¥¹¥¯¥ê¥×¥È¤Ç³ÈÄ¥Àµµ¬É½¸½¤ò»ÈÍÑ¡£\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" ¥Õ¥¡¥¤¥ë¤ò°ìÏ¢¤ÎÆþÎϤˤ»¤º¡¢ÊÌ¡¹¤Ë½èÍý¡£\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" ÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤é¶Ë¾®¤Î¥Ç¡¼¥¿¤ò¼è¤ê¹þ¤ß¡¢\n"
-" ¤Á¤ç¤¯¤Á¤ç¤¯½ÐÎϥХåե¡¡¼¤ËÁݽФ·\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help ¤³¤ÎÀâÌÀ¤òɽ¼¨¤·¤Æ½ªÎ»\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"-e¡¢--expression¡¢-f¡¢--file¥ª¥×¥·¥ç¥ó¤Î¤É¤ì¤â¤Ê¤¤¤È¡¢¥ª¥×¥·¥ç¥ó°Ê³°¤Î\n"
-"ºÇ½é¤Î°ú¿ô¤òsed¥¹¥¯¥ê¥×¥È¤È¤·¤Æ²ò¼á¤·¤Þ¤¹¡£»Ä¤ê¤Î°ú¿ô¤ÏÁ´Éô¡¢ÆþÎÏ¥Õ¥¡\n"
-"¥¤¥ë̾¤È¤Ê¤ê¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î»ØÄ꤬¤Ê¤¤¤È¡¢É¸½àÆþÎϤòÆÉ¤ß¹þ¤ß¤Þ¤¹¡£\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed %sÈÇ\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"¸¶ºîGNU sed %sÈÇ\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr ""
-"GNU sed %sÈÇ\n"
-"\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-"\n"
-"ÌõÃí: Èó¾ï¤Ë½ÅÍפÊʸ¾Ï¤Î¤¿¤á¡¢¸¶Ê¸¤ò»Ä¤·¤Æ¤¤¤Þ¤¹¡£\n"
-" -- »²¹ÍÌõ\n"
-"¤³¤ì¤Ï¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£Ê£À½¤Î¾ò·ï¤Ë´Ø¤·¤Æ¤Ï¡¢¥½¡¼¥¹¤ò¤´Í÷¤¯¤À¤µ\n"
-"¤¤¡£ÊݾڤϰìÀÚ¤¢¤ê¤Þ¤»¤ó¡£±ÄÍøÌÜŪ¤äË¡¤ÇÄê¤á¤é¤ì¤¿ÈÏ°Ï¤Ç¤ÎÆÃÄêÌÜŪ¤Î¤¿¤á\n"
-"¤ÎŬ¹çÀ¤â¤¢¤ê¤Þ¤»¤ó¡£\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s¤òºï½ü¤Ç¤¤Þ¤»¤ó: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "¥Õ¥¡¥¤¥ë%s¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "%d¸Ä¤Î¥¢¥¤¥Æ¥à¤ò%s¤Ø½ñ¤¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "%d¸Ä¤Î¥¢¥¤¥Æ¥à¤ò%s¤Ø½ñ¤¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "%s¤ÎÆÉ¹þ¤ß¥¨¥é¡¼: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "¥Õ¥¡¥¤¥ë%s¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s¤Î̾Á°¤òÊѹ¹¤Ç¤¤Þ¤»¤ó: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s¤Î̾Á°¤òÊѹ¹¤Ç¤¤Þ¤»¤ó: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "À®¸ù"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "¾È¹ç¤·¤Þ¤»¤ó"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "̵¸ú¤ÊÀµµ¬É½¸½"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "̵¸ú¤Ê¹»¹çʸ»ú"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "̵¸ú¤Êʸ»ú¥¯¥é¥¹Ì¾"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "¸å³¤ÎµÕ¥¹¥é¥Ã¥·¥å"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "̵¸ú¤ÊµÕ»²¾È"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[¤ä[^¤¬Äà¹ç¤¤¤Þ¤»¤ó"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "(¤ä\\(¤¬Äà¹ç¤¤¤Þ¤»¤ó"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{¤¬Äà¹ç¤¤¤Þ¤»¤ó"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "̵¸ú¤Ê\\{\\}¤ÎÆâÍÆ\""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "̵¸ú¤ÊÈϰϤνªÃ¼"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "¥á¥â¥ê¡¼¤¬Â¤ê¤Þ¤»¤ó"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "̵¸ú¤ÊÀè¹ÔÀµµ¬É½¸½"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Áá²á¤®¤ëÀµµ¬É½¸½½ªÃ¼"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Â礲᤮¤ëÀµµ¬É½¸½"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Äà¤ê¹ç¤ï¤Ê¤¤)¤ä\\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "ľÁ°¤ÎÀµµ¬É½¸½¤¬¡¢¤¢¤ê¤Þ¤»¤ó"
diff --git a/sources/host-tools/sed-4.2.1/po/ko.gmo b/sources/host-tools/sed-4.2.1/po/ko.gmo
deleted file mode 100644
index 0826334..0000000
--- a/sources/host-tools/sed-4.2.1/po/ko.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ko.po b/sources/host-tools/sed-4.2.1/po/ko.po
deleted file mode 100644
index 69dccfb..0000000
--- a/sources/host-tools/sed-4.2.1/po/ko.po
+++ /dev/null
@@ -1,552 +0,0 @@
-# ko.po -- Korean messages for GNU sed
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Jong-Hoon Ryu <redhat4u@netian.com>, 2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU sed 3.02.80\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2001-10-12 17:26+0900\n"
-"Last-Translator: Jong-Hoon Ryu <redhat4u@netian.com>\n"
-"Language-Team: Korean <ko@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-KR\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "`!' °¡ Áߺ¹µÇ¾ú½À´Ï´Ù"
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "ºÒÇÊ¿äÇÑ `,' °¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ù¹øÂ° ÁÖ¼Ò·Î '+N' ¶Ç´Â '~N' À» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "`{' °¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "ºÒÇÊ¿äÇÑ `}' °¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "¸í·ÉµÚ¿¡ ÇÊ¿ä¾ø´Â ¹®ÀÚµéÀÌ ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr ""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' ¿¡ ¾î¶°ÇÑ ÁÖ¼Òµµ ÇÊ¿äÄ¡ ¾Ê½À´Ï´Ù"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ¿¡ ¾î¶°ÇÑ ÁÖ¼Òµµ ÇÊ¿äÄ¡ ¾Ê½À´Ï´Ù"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "ÄÚ¸àÆ®¿¡ ¾î¶°ÇÑ ÁÖ¼Òµµ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "¸í·ÉÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "¸í·É¿¡ ÇϳªÀÇ ÁÖ¼Ò¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "ÁÖ¼Ò Á¤±ÔÇ¥Çö½Ä Á¾·áµÇÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "`s' ¸í·ÉÀÌ Á¾·áµÇÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "`y' ¸í·ÉÀÌ Á¾·áµÇÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "`s' ¿¡ ¾Ë ¼ö ¾ø´Â ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "`s' ¸í·É¿¡ `p' ¿É¼ÇÀÌ Áߺ¹µÇ¾î ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "`s' ¸í·É¿¡ `g' ¿É¼ÇÀÌ Áߺ¹µÇ¾î ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "`s' ¸í·É¿¡ ¼ýÀÚ ¿É¼ÇÀÌ Áߺ¹µÇ¾î ÀÖ½À´Ï´Ù"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "`s' ¸í·ÉÀÇ ¼ýÀÚ ¿É¼Ç¿¡ '0' À» ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "`y' ¸í·ÉÀÇ ¹®ÀÚ¿ÀÌ ±æÀ̰¡ ´Ù¸¨´Ï´Ù"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "ÁÖ¼Ò º¯°æÀÚ(modifier)ÀÇ »ç¿ëÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "¾Ë ¼ö ¾ø´Â ¸í·É:"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: %s ÆÄÀÏÀÇ %lu ¹øÂ° ÁÙ: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expression #%lu, char %lu: %s\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "`%s' (À¸)·Î Á¡ÇÁÇÒ ·¹À̺íÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s (À»)¸¦ ÀÐÀ» ¼ö ¾øÀ½: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr ""
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "%s ÆÄÀÏÀ» ¿ ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr ""
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr ""
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr ""
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr ""
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr ""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"¹ö±×¸¦ º¸°íÇÒ E-mail ÁÖ¼Ò: %s .\n"
-"``Subject:'' Ç׸ñ¿¡ ¹Ýµå½Ã ``%s'' ´Ü¾î¸¦ Æ÷ÇÔÇØ Áֽñ⠹ٶø´Ï´Ù.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"ÀÌ ÇÁ·Î±×·¥Àº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î ÀÔ´Ï´Ù; ÀÚ¼¼ÇÑ ³»¿ëÀº ÀúÀÛ±Ç ³»¿ëÀÇ ¿ø¹®À»\n"
-"Âü°íÇϽñ⠹ٶø´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¹ý¿¡ ÀúÃ˵ÇÁö ¾Ê´Â ¹üÀ§¿¡¼ »ó¾÷ÀûÀ̳ª\n"
-"Ư¼ö ¸ñÀûÀ¸·Î »ç¿ëµÉ °æ¿ì¸¦ Æ÷ÇÔÇÑ ¾î¶°ÇÑ °æ¿ì¿¡µµ º¸ÁõÇÏÁö ¾Ê½À´Ï´Ù.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s: %s (À»)¸¦ ÀÐÀ» ¼ö ¾øÀ½: %s\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "%s ÆÄÀÏÀ» ¿ ¼ö ¾ø½À´Ï´Ù"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "%s ¿¡ Ç׸ñ(item)À» ±â·ÏÇÒ ¼ö ¾ø½À´Ï´Ù: %s"
-
-#: sed/utils.c:245
-#, fuzzy, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "%2$s ¿¡ %1$d Ç׸ñ(item)À» ±â·ÏÇÒ ¼ö ¾ø½À´Ï´Ù: %3$s"
-msgstr[1] "%2$s ¿¡ %1$d Ç׸ñ(item)À» ±â·ÏÇÒ ¼ö ¾ø½À´Ï´Ù: %3$s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "%s ÀÇ ³»¿ë Àб⠿À·ù: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "%s ¿¡ Ç׸ñ(item)À» ±â·ÏÇÒ ¼ö ¾ø½À´Ï´Ù: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s: %s (À»)¸¦ ÀÐÀ» ¼ö ¾øÀ½: %s\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s: %s (À»)¸¦ ÀÐÀ» ¼ö ¾øÀ½: %s\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr ""
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr ""
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr ""
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr ""
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr ""
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr ""
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr ""
-
-#: lib/regcomp.c:155
-#, fuzzy
-msgid "Unmatched [ or [^"
-msgstr "`{' °¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#: lib/regcomp.c:158
-#, fuzzy
-msgid "Unmatched ( or \\("
-msgstr "`{' °¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#: lib/regcomp.c:161
-#, fuzzy
-msgid "Unmatched \\{"
-msgstr "`{' °¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr ""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr ""
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr ""
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr ""
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr ""
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr ""
-
-#: lib/regcomp.c:182
-#, fuzzy
-msgid "Unmatched ) or \\)"
-msgstr "`{' °¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr ""
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "À߸øµÈ Á¤±ÔÇ¥Çö½Ä: %s\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "ÆÄÀÏÀÇ ³¡(EOF)ÀÌ À߸øµÇ¾ú½À´Ï´Ù"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "¿¹»óÄ¡ ¸øÇÑ pushback (%x) °ú ÇÔ²² savchar() °¡ È£ÃâµÇ¾ú½À´Ï´Ù"
-
-#~ msgid "input read error: %s"
-#~ msgstr "ÀÔ·Â ³»¿ë Àб⠿À·ù: %s"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "³»ºÎ ¿À·ù: À߸øµÈ ÁÖ¼Ò À¯ÇüÀÔ´Ï´Ù"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "³»ºÎ ¿À·ù: %c (Àº)´Â À߸øµÈ ¸í·ÉÀÔ´Ï´Ù"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "»ç¿ë¹ý: %s [¿É¼Ç]... {½ºÅ©¸³Æ®-½ºÅ©¸³Æ®°¡ ¾øÀ» °æ¿ì¿¡´Â} [ÀÔ·Â-ÆÄÀÏ]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " ÀÚµ¿À¸·Î ÆÐÅÏ °ø°£À» Ãâ·ÂÇÏÁö ¸øÇϵµ·Ï ÇÕ´Ï´Ù\n"
-#~ " -e ½ºÅ©¸³Æ®, --expression=½ºÅ©¸³Æ®\n"
-#~ " ½ÇÇàµÉ ¸í·É¿¡ ½ºÅ©¸³Æ®¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
-#~ " -f ½ºÅ©¸³Æ®-ÆÄÀÏ, --file=½ºÅ©¸³Æ®-ÆÄÀÏ\n"
-#~ " ½ÇÇàµÉ ¸í·É¿¡ ½ºÅ©¸³Æ®-ÆÄÀÏÀÇ ³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù\n"
-#~ " -l ¼ýÀÚ, --line-length=¼ýÀÚ\n"
-#~ " `l' ¸í·É¿¡ ÁٹٲÞ(line-wrap)ÇÒ ¼ýÀÚ¸¦ ÁöÁ¤ÇÕ´Ï´Ù\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help ÇöÀç º¸¿©Áö´Â µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n"
-#~ " -V, --version ÇöÀç »ç¿ëÇÏ´Â ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù\n"
-#~ "\n"
-#~ "¸¸ÀÏ -e, --expression, -f, --file ¿É¼ÇÀÌ ÁÖ¾îÁöÁö ¾Ê¾ÒÀ» °æ¿ì¿¡´Â ¿É¼Ç-¾ø"
-#~ "ÀÌ\n"
-#~ "ù¹øÂ° Àμö¿¡ ÇØ¼®µÉ sed ½ºÅ©¸³Æ®°¡ ³õ¿©Áö°Ô µË´Ï´Ù. ±× ´ÙÀ½¿¡ ¿Ã ¼ö ÀÖ"
-#~ "´Â\n"
-#~ "Àμö·Î´Â ÀÔ·Â ÆÄÀÏÀÇ À̸§ÀÔ´Ï´Ù; ¸¸ÀÏ ÀÔ·Â ÆÄÀÏÀÌ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ» °æ¿ì¿¡"
-#~ "´Â\n"
-#~ "Ç¥ÁØ ÀÔ·ÂÀÇ ³»¿ëÀ» ÀнÀ´Ï´Ù.\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/nl.gmo b/sources/host-tools/sed-4.2.1/po/nl.gmo
deleted file mode 100644
index c13ec83..0000000
--- a/sources/host-tools/sed-4.2.1/po/nl.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/nl.po b/sources/host-tools/sed-4.2.1/po/nl.po
deleted file mode 100644
index f4c191c..0000000
--- a/sources/host-tools/sed-4.2.1/po/nl.po
+++ /dev/null
@@ -1,511 +0,0 @@
-# Translation of sed-4.2.0 to Dutch.
-# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-#
-# Taco Witte <tcwitte@cs.uu.nl>, 2004, 2005.
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: sed-4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-17 22:49+0100\n"
-"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
-"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "meerdere '!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "onverwachte ','"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ongeldig gebruik van +N of ~N als eerste adres"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "ongepaarde '{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "onverwachte '}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "extra tekens na opdracht"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "een '\\' werd verwacht na 'a', 'c' of 'i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "'}' accepteert geen adressen"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "':' accepteert geen adressen"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "opmerkingen accepteren geen adres"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "ontbrekende opdracht"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "opdracht accepteert slechts één adres"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "onafgemaakte reguliere expressie voor adres"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "onafgemaakte 's'-opdracht"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "onafgemaakte 'y'-opdracht"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "onbekende optie bij 's'-opdracht"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "meerdere 'p'-opties bij 's'-opdracht"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "meerdere 'g'-opties bij 's'-opdracht"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "meerdere getalopties bij 's'-opdracht"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "getaloptie bij 's'-opdracht mag niet nul zijn"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "tekenreeksen bij 'y'-opdracht zijn van verschillende lengte"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "scheidingsteken is niet één enkele byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "een nieuwere versie van 'sed' werd verwacht"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "ongeldig gebruik van regeladres 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "onbekende opdracht: '%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: bestand %s, regel %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: expressie #%lu, teken %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "kan label voor sprong naar '%s' niet vinden"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: kan %s niet lezen: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "kan %s niet bewerken: is een terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "kan %s niet bewerken: is geen gewoon bestand"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "kan tijdelijk bestand %s niet openen: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "fout in subproces"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "'e'-opdracht is niet mogelijk"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "'e'-opdracht is niet mogelijk"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "geen invoerbestanden"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "geen eerdere reguliere expressie"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "bij een lege reguliere expressie passen geen veranderaars"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "ongeldige verwijzing \\%d rechts van 's'-opdracht"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Rapporteer gebreken in het programma aan <%s>\n"
-"met het woord \"%s\" ergens in de Onderwerp-regel;\n"
-"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" reguliere expressies van Perl-5 gebruiken in het script\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Gebruik: %s [OPTIE]... {SCRIPT_als_verder_geen_script} [INVOERBESTAND]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" automatische weergave van patroonruimte onderdrukken\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e SCRIPT, --expression=SCRIPT\n"
-" dit SCRIPT toevoegen aan de uit te voeren opdrachten\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f SCRIPTBESTAND, --file=SCRIPTBESTAND\n"
-" inhoud van SCRIPTBESTAND toevoegen aan de uit te voeren "
-"opdrachten\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" symbolische koppelingen volgen (bij bewerking ter plekke)\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[ACHTERVOEGSEL], --in-place[=ACHTERVOEGSEL]\n"
-" bestanden ter plekke bewerken\n"
-" (en een reservekopie maken als een ACHTERVOEGSEL gegeven is)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" bestanden openen in binaire modus (regeleinden zijn niet "
-"speciaal)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l AANTAL, --line-length=AANTAL\n"
-" de gewenste regelafbreeklengte voor de 'l'-opdracht\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" alle GNU-uitbreidingen uitschakelen\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" uitgebreide reguliere expressies gebruiken in het script\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" bestanden als losstaand beschouwen, niet als één enkele stroom\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" minimale hoeveelheden gegevens laden uit de invoerbestanden,\n"
-" en de uitvoerbuffers vaker leegmaken\n"
-"\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help deze hulptekst tonen en stoppen\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version versie-informatie tonen en stoppen\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Als er geen '-e', '--expression', '-f' of '--file' gegeven is, wordt het\n"
-"eerste niet-optie argument als het te interpreteren 'sed'-script genomen.\n"
-"Alle overblijvende argumenten zijn namen van invoerbestanden; als er geen\n"
-"invoerbestanden gegeven zijn, wordt standaardinvoer gelezen.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versie %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"gebaseerd op GNU sed versie %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versie %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Dit is vrije software; zie de programmatekst voor de kopieervoorwaarden.\n"
-"Er is GEEN ENKELE garantie, zelfs niet voor VERHANDELBAARHEID of\n"
-"GESCHIKTHEID VOOR EEN BEPAALD DOEL, voorzover de wet dit toestaat.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "kan %s niet verwijderen: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "kan bestand %s niet openen: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "kan niet aan %s aanhechten: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "kan %d item niet naar %s schrijven: %s"
-msgstr[1] "kan %d items niet naar %s schrijven: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "leesfout op %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "kan symbolische koppeling %s niet volgen: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "kan de status van %s niet opvragen: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "kan %s niet hernoemen: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Gelukt"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Geen overeenkomsten"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Ongeldige reguliere expressie"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ongeldig samengesteld teken"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ongeldige tekenklassenaam"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Backslash aan het eind"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Ongeldige terugverwijzing"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Ongepaarde [ of [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Ongepaarde ( of \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Ongepaarde \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ongeldige inhoud van \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Ongeldig bereikeinde"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Onvoldoende geheugen beschikbaar"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Ongeldige voorafgaande reguliere expressie"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Voortijdig einde van reguliere expressie"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Reguliere expressie is te groot"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Ongepaarde ) of \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Geen eerdere reguliere expressie"
diff --git a/sources/host-tools/sed-4.2.1/po/pl.gmo b/sources/host-tools/sed-4.2.1/po/pl.gmo
deleted file mode 100644
index 306f47c..0000000
--- a/sources/host-tools/sed-4.2.1/po/pl.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/pl.po b/sources/host-tools/sed-4.2.1/po/pl.po
deleted file mode 100644
index 020b541..0000000
--- a/sources/host-tools/sed-4.2.1/po/pl.po
+++ /dev/null
@@ -1,515 +0,0 @@
-# Polish translations for GNU sed package.
-# Copyright (C) 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
-# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2006, 2008.
-# corrections: Jakub Bogusz <qboosh@pld-linux.org>, 2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-03-01 12:05+0100\n"
-"Last-Translator: Wojciech Polak <polak@gnu.org>\n"
-"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "wielokrotny znak `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "nieoczekiwany znak `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "nieprawid³owe u¿ycie +N lub ~N jako pierwszego adresu"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "niedopasowany znak `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "nieoczekiwany znak `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "dodatkowe znaki po poleceniu"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "oczekiwano znaku \\ po `a', `c' lub `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' nie chce ¿adnych adresów"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": nie chce ¿adnych adresów"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "komentarze nie akceptuj± ¿adnych adresów"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "brakuje polecenia"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "polecenie u¿ywa tylko jednego adresu"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "niezakoñczony adres wyra¿enia regularnego"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "niezakoñczone polecenie `s'"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "niezakoñczone polecenie `y'"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "nieznana opcja dla polecenia `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "wielokrotne opcje `p' dla polecenia `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "wielokrotne opcje `g' dla polecenia `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "wielokrotne opcje liczbowe dla polecenia `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "opcja liczbowa dla polecenia `s' nie mo¿e byæ zerem"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "³añcuchy dla polecenia `y' s± ró¿nych d³ugo¶ci"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "znak ogranicznika nie jest pojedynczym znakiem-bajtem"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "oczekiwano nowszej wersji programu sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "nieprawid³owe u¿ycie adresu linii 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "nieznane polecenie: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: plik %s linia %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e wyra¿enie #%lu, znak %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "nie mo¿na znale¼æ etykiety dla skoku do `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: nie mo¿na odczytaæ %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "nie mo¿na edytowaæ %s: plik jest terminalem"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "nie mo¿na edytowaæ %s: to nie jest regularny plik"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "nie mo¿na otworzyæ tymczasowego pliku %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "b³±d w podprocesie"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opcja `e' nie jest wspierana"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "polecenie `e' nie jest wspierane"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "brak plików wej¶ciowych"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "brak poprzedniego wyra¿enia regularnego"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "nie mo¿na wyszczególniæ modyfikatorów w pustym wyra¿eniu regularnym"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "nieprawid³owe odwo³anie \\%d po prawej stronie polecenia `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Ewentualne b³êdy prosimy zg³aszaæ na adres: %s\n"
-"W tym celu proszê dodaæ s³owo ``%s'' do tematu listu.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" u¿ywa w skrypcie wyra¿enia regularne zgodne ze sk³adni± "
-"Perl 5.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"U¿ycie: %s [OPCJE] {skrypt-tylko-wtedy-gdy-¿aden-inny-skrypt} [plik-"
-"wej¶ciowy]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" powstrzymuje automatyczne drukowanie przetwarzanych linii.\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e skrypt, --expression=skrypt\n"
-" dodaje skrypt do poleceñ, które maj± byæ wykonane.\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f plik-skryptowy, --file=plik-skryptowy\n"
-" dodaje zawarto¶æ pliku skryptowego do poleceñ,\n"
-" które maj± byæ wykonane.\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" pod±¿a za dowi±zaniami symbolicznymi,\n"
-" gdy przetwarza \"w miejscu\".\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[rozszerzenie], --in-place[=rozszerzenie]\n"
-" edytuje pliki \"w miejscu\" (tworzy kopie zapasowe\n"
-" je¿eli zosta³o podane rozszerzenie).\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" otwiera pliki w trybie binarnym (CR+LF nie jest "
-"przetwarzane).\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" ustala po¿±dan± d³ugo¶æ ³amanych linii dla polecenia `l'.\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" wy³±cza wszystkie rozszerzenia GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" u¿ywa w skrypcie rozszerzonych wyra¿eñ regularnych.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" traktuje pliki jako oddzielne, a nie jako pojedynczy,\n"
-" d³ugi i ci±g³y strumieñ.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" ³aduje minimaln± ilo¶æ danych z plików wej¶ciowych\n"
-" i czê¶ciej oczyszcza bufor wyj¶ciowy.\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help wy¶wietla tê oto pomoc i koñczy pracê.\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version wy¶wietla numer wersji i koñczy pracê.\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Je¿eli nie zostan± podane opcje -e, --expression, -f, lub --file,\n"
-"to wtedy pierwszy argument, który nie jest opcj± linii poleceñ sed,\n"
-"zostanie wziêty jako skrypt sed do przetworzenia. Wszystkie pozosta³e\n"
-"argumenty s± nazwami plików wej¶ciowych; je¿eli nie zostan± podane\n"
-"¿adne pliki wej¶ciowe, to wtedy odczytane zostanie standardowe wej¶cie.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed wersja %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"na podstawie wersji GNU sed %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed wersja %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Niniejszy program jest wolnym oprogramowaniem; warunki kopiowania s± "
-"opisane\n"
-"w ¼ród³ach. Autorzy nie daj± ¯ADNYCH gwarancji, w tym równie¿ gwarancji\n"
-"PRZYDATNO¦CI DO SPRZEDA¯Y LUB DO KONKRETNYCH CELÓW.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "nie mo¿na usun±æ %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "nie mo¿na otworzyæ pliku %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "nie mo¿na do³±czyæ do %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "nie mo¿na zapisaæ %d elementu do %s: %s"
-msgstr[1] "nie mo¿na zapisaæ %d elementów do %s: %s"
-msgstr[2] "nie mo¿na zapisaæ %d elementów do %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "b³±d odczytu w %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "nie mo¿na pod±¿yæ za dowi±zaniem %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "nie mo¿na uzyskaæ informacji o %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "nie mo¿na zmieniæ nazwy %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sukces"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Brak dopasowania"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Nieprawid³owe wyra¿enie regularne"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Nieprawid³owy znak porównania"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nieprawid³owa nazwa klasy znaku"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Koñcowy znak backslash"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Nieprawid³owe odwo³anie wsteczne"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Niedopasowany znak [ lub [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Niedopasowany znak ( lub \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Niedopasowany znak \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Nieprawid³owa zawarto¶æ \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Nieprawid³owy koniec zakresu"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Pamiêæ wyczerpana"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Nieprawid³owe poprzedzaj±ce wyra¿enie regularne"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Przedwczesny koniec wyra¿enia regularnego"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Wyra¿enie regularne jest zbyt du¿e"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Niedopasowany znak ) lub \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Brak poprzedniego wyra¿enia regularnego"
diff --git a/sources/host-tools/sed-4.2.1/po/pt.gmo b/sources/host-tools/sed-4.2.1/po/pt.gmo
deleted file mode 100644
index 6791400..0000000
--- a/sources/host-tools/sed-4.2.1/po/pt.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/pt.po b/sources/host-tools/sed-4.2.1/po/pt.po
deleted file mode 100644
index 45395b8..0000000
--- a/sources/host-tools/sed-4.2.1/po/pt.po
+++ /dev/null
@@ -1,511 +0,0 @@
-# Portuguese translation of the "sed" messages
-# Copyright (C) 2005 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Helder Correia <helder.pereira.correia@gmail.com>, 2005-2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-17 21:25+0100\n"
-"Last-Translator: Helder Correia <helder.pereira.correia@gmail.com>\n"
-"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "múltiplos \"!\"s"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "',' inesperada"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "uso inválido de +N ou ~N como primeiro endereço"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "\"{\" sem correspondência"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "'{' inesperado"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "caracteres extra após comando"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "\\ esperado após 'a', 'c' ou 'i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "'}' não quer quaisquer endereços"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": não quer quaisquer endereços"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "comentários não aceitam quaisquer endereços"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "comando em falta"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "comando usa apenas um endereço"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "expressão regular de endereço não concluída"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "comando 's' não concluído"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "comando 'y' não concluído"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opção desconhecida para 's'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "múltiplas opções 'p' para comando 's'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "múltiplas opções 'g' para comando 's'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "múltiplas opções de número para comando 's'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "opção de número para comando 's' pode não ser zero"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "cadeias para o comando 'y' têm comprimentos diferentes"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "carácter delimitador não tem um único 'byte'"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "esperada versão mais recente do sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "uso inválido do endereço de linha 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "comando desconhecido: '%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: ficheiro %s linha %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expressão #%lu, carácter %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "etiqueta para saltar para '%s' não encontrada"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: não é possível ler %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "não foi possível editar %s: é um terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "não foi possível editar %s: ficheiro não regular"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "não foi possível abrir ficheiro temporário %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "erro no subprocesso"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opção 'e' não suportada"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "comando 'e' não suportado"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "nenhum ficheiro de entrada"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "não há expressão regular anterior"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "não é possível especificar modificadores numa expressão regular vazia"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referência \\%d inválida no RHS do comando 's'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Envie erros encontrados para: %s .\n"
-"Certifique-se que inclui a palavra '%s' no campo 'Assunto:'.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" usar sintaxe expressões regulares Perl 5 no 'script'.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Utilização: %s [OPÇÃO]... {'script'-apenas-se-não-houver-outro-'script'} "
-"[ficheiro-de-entrada]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" elimir exibição automática do espaço de padrões\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" adicionar o 'script' aos comandos a serem executados\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script, --file=script\n"
-" adicionar os conteúdos de 'script' aos comandos a serem "
-"executados\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" wguir ligações simbólicas ao processar no lugar\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIXO], --in-place[=SUFIXO]\n"
-" editar ficheiros no lugar (salvaguarda se extensão "
-"fornecida)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" abrir ficheiros em modo binário (CR+LFs não são processados "
-"de forma especial)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" especificar comprimento de linha desejado no comando 'l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" desactivar todas as extensões GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" usar expressões regulares extendidas no 'script'.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considerar ficheiros como separados em vez de uma única "
-"longa corrente contínua.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" carregar quantidades mínimas de dados dos ficheiros de "
-"entrada e despejar mais frequentemente a memória temporária de saída\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help exibir esta ajuda e sair\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version exibir informação de versão e sair\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Se não forem dadas as opções -e, --expression, -f ou --file, então, o "
-"primeiro\n"
-"argumento não-opção é considerado como o 'script' a interpretar. Todos os\n"
-"restantes argumentos só nomes de ficheiros de entrada; se não forem "
-"especificados\n"
-"ficheiros de entrada, então, a entrada padrão (standard input) é lida.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versão %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"baseado no GNU sed versão %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versão %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Este programa é 'software' livre; veja o código fonte para condições de\n"
-"cópia. NÃO há qualquer garantia; nem sequer para COMERCIALIZAÇÃO ou SERVIÇO\n"
-"DE PROPÓSITO PARTICULAR, para o fim permitido por lei.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "não é possível remover %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "não foi possível abrir o ficheiro %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "não foi possível anexar a %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "não foi possível escrever o %d item para %s: %s"
-msgstr[1] "não foi possível escrever %d items para %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "erro de leitura em %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "não foi possível eguir a ligação simbólica %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "não é possível obter informações de %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "não é possível renomear %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sucesso"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Sem correspondência"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expressão regular inválida"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Caráter inválido"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nome de classe de carácter inválido"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "'Backslash' no final"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Referência de recuo inválida"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ ou [^ não correspondido"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( ou \\( não correspondido"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ não correspondido"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Conteúdo de \\{\\} inválido"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Limite de intervalo inválido"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memória esgotada"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Expressão regular precedente inválida"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fim prematuro de expressão regular"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expressão regular demasiado grande"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") ou \\) não correspondido"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Expressão regular anterior não existente"
diff --git a/sources/host-tools/sed-4.2.1/po/pt_BR.gmo b/sources/host-tools/sed-4.2.1/po/pt_BR.gmo
deleted file mode 100644
index bb516e0..0000000
--- a/sources/host-tools/sed-4.2.1/po/pt_BR.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/pt_BR.po b/sources/host-tools/sed-4.2.1/po/pt_BR.po
deleted file mode 100644
index 71dc34d..0000000
--- a/sources/host-tools/sed-4.2.1/po/pt_BR.po
+++ /dev/null
@@ -1,514 +0,0 @@
-# Traduções para o português do Brasil das mensagens de erro do sed
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Aurelio Jargas <verde@aurelio.net>, 1999-2008.
-#
-# Tradução original da versão 4.01:
-# Juan Carlos Castro y Castro <jcastro@vialink.com.br>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-31 09:21-0300\n"
-"Last-Translator: Aurelio Jargas <verde@aurelio.net>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "Exclamações `!' múltiplas"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "Vírgula `,' inesperada"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Não use +N ou ~N como o primeiro endereço"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' não terminada"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' inesperada"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "Há caracteres sobrando após o comando"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "Deve haver um escape \\ depois dos comandos `a', `c' e `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' não recebe endereços"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "`:' não recebe endereços"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "Comentários não aceitam endereços"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "Falta especificar um comando ao endereço"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "Este comando usa apenas um endereço"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "A expressão regular do endereço está inacabada (falta a /)"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "Comando `s' inacabado (s/// - faltou delimitador)"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "Comando `y' inacabado (y/// - faltou delimitador)"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "Opção desconhecida para o comando `s' (s///?)"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "opções `p' múltiplas para o comando `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "opções `g' múltiplas para o comando `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "opções numéricas múltiplas para o comando `s' (s///n)"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "A opção numérica para o comando `s' não pode ser zero (s///0)"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "Os textos para o comando `y' têm tamanhos diferentes (y/abc/z/)"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "O delimitador deve ser um caractere normal, ASCII"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "Esperada uma versão mais recente do sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "Uso incorreto do endereço de linha 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "Comando desconhecido: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: arquivo %s linha %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expressão #%lu, caractere %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "Não foi possível encontrar a marcação `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: não foi possível ler %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "Não foi possível editar %s, pois é um terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "Não foi possível editar %s, pois não é um arquivo comum"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "Não foi possível abrir o arquivo temporário %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "erro no subprocesso"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opção `e' não suportada"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "comando `e' não suportado"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "nenhum arquivo de entrada"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "Não há expressão regular anterior"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "Não é permitido especificar modificadores numa expressão regular vazia"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "Referência inválida \\%d na segunda parte do comando `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Envie relatórios de erros (em inglês) para: %s .\n"
-"Inclua a palavra ``%s'' no campo ``Assunto:'' ou ``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" usar sintaxe de expressões regulares do Perl 5 no script.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Uso: %s [OPÇÃO]... {script-apenas-se-for-único} [arquivo-entrada]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" suprime a impressão automática do buffer padrão\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" adiciona o script aos comandos a serem executados\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=script-file\n"
-" adiciona o conteúdo do arquivo-script aos comandos\n"
-" a serem executados\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" segue links simbólicos ao editar o próprio arquivo "
-"original\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIXO], --in-place[=SUFIXO]\n"
-" edita o arquivo original (faz backup se usado SUFIXO)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" abre os arquivos em modo binário (CR+LFs não são "
-"especiais)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" determina comprimento da quebra de linha para comando `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" desativa todas as extensões GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" usar sintaxe moderna de expressões regulares (sem "
-"escapes).\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considera arquivos como entidades separadas, e não como um\n"
-" longo e único fluxo de dados.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" carrega uma quantidade mínima de dados dos arquivos de "
-"entrada\n"
-" e descarrega os buffers de saída com mais freqüência\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help mostra esta ajuda e sai\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version mostra informações sobre a versão e sai\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Se nenhuma opção -e, --expression, -f, ou --file é dada, o primeiro\n"
-"argumento que não seja uma opção é considerado como o script sed a ser\n"
-"interpretado. Todos os argumentos restantes são considerados como\n"
-"nomes de arquivos de entrada. Caso nenhum arquivo de entrada seja\n"
-"especificado, então a entrada padrão será lida.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed versão %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"baseado no GNU sed versão %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versão %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Este programa é Software Livre. Veja os fontes para conhecer as condições\n"
-"de cópia. NÃO há garantias, nem mesmo para os aspectos mercantis ou de\n"
-"atendimento a finalidades específicas, tanto quanto a lei permita.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "Não foi possível remover %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "Não foi possível abrir o arquivo %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "não foi possível anexar ao %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "não foi possível escrever %d item para %s: %s"
-msgstr[1] "não foi possível escrever %d items para %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "erro de leitura em %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "Não foi possível seguir o link %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "Não foi possível ler %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "Não foi possível renomear %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Sucesso"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Nada encontrado"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expressão regular inválida"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Caractere de ordenação inválido"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nome inválido de classe de caracteres"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Escape \\ no final"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Retrovisor \\n inválido"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ ou [^ não terminado"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( ou \\( não terminado"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ não terminado"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Conteúdo inválido no \\{\\} (permitidos números e vírgula)"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Fim de intervalo (range) inválido"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Falta de memória"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Expressão regular anterior inválida"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Fim prematuro da expressão regular"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expressão regular grande demais"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") or \\) inesperado"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Não há expressão regular anterior"
diff --git a/sources/host-tools/sed-4.2.1/po/quot.sed b/sources/host-tools/sed-4.2.1/po/quot.sed
deleted file mode 100644
index 0122c46..0000000
--- a/sources/host-tools/sed-4.2.1/po/quot.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
diff --git a/sources/host-tools/sed-4.2.1/po/remove-potcdate.sin b/sources/host-tools/sed-4.2.1/po/remove-potcdate.sin
deleted file mode 100644
index 2436c49..0000000
--- a/sources/host-tools/sed-4.2.1/po/remove-potcdate.sin
+++ /dev/null
@@ -1,19 +0,0 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/sources/host-tools/sed-4.2.1/po/ro.gmo b/sources/host-tools/sed-4.2.1/po/ro.gmo
deleted file mode 100644
index 4ecdf3b..0000000
--- a/sources/host-tools/sed-4.2.1/po/ro.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ro.po b/sources/host-tools/sed-4.2.1/po/ro.po
deleted file mode 100644
index eb5d01f..0000000
--- a/sources/host-tools/sed-4.2.1/po/ro.po
+++ /dev/null
@@ -1,511 +0,0 @@
-# Mesajele în limba românã pentru sed.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenþã ca ºi pachetul sed.
-# Laurentiu Buzdugan <lbuz@rolix.org>, 2003,2004,2005.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-04-19 12:00-0500\n"
-"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
-"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "`!'-uri multiple"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "`,' neaºteptat"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "Nu se poate folosi +N sau ~N ca prima adresã"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "`{' fãrã pereche"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "`}' neaºteptat"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "extra caractere dupã comandã"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "este aºteptat \\ dupã `a', `c' sau `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' nu vrea nici o adresã"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": nu vrea nici o adresã"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "comentariile nu acceptã nici o adresã"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "comandã absentã"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "comanda foloseºte numai o adresã"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "regex adresã neterminatã"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "comandã `s' neterminatã"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "comandã `y' neterminatã"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "opþiune necunoscutã pentru `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "multiple opþiuni `p' pentru comanda `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "multiple opþiuni `g' pentru comanda `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "numãr multiplu de opþiuni pentru comanda `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "numãrul de opþiuni pentru comanda `s' nu poate fi zero"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "ºirurile pentru comanda y au lungimi diferite"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "caacterul delimitator nu este un caracter de un octet"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "am aºteptat o versiune mai recentã de sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "folosire invalidã adresã linie 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "comandã necunoscutã: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fiºierul %s linia %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e expresia #%lu, caracterul %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "nu pot gãsi eticheta pentru saltul la `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: nu pot citi %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "nu am putut edita %s: acesta este un terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "nu ap putu edita %s: acesta nu este un fiºier normal"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "nu am putut deschide fiºierul temporar %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "eroare în subproces"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "opþiunea `e' nu e suportatã"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "comanda `e' nu e suportatã"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "nici o expresie regularã anterioarã"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "nu se pot specifica modificatori pentru regexp vidã"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "referinþã invalidã \\%d pentru expresia din dreapta a comenzii `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Raportaþi bug-uri prin e-mail la: %s .\n"
-"Fiþi siguri cã includeþi ``%s'' undeva în câmpul ``Subject:''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" foloseºte sintaxa expresiilor regulare din Perl 5 în "
-"script.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Folosire: %s [OPÞIUNE]... {script-dacã-nu-alt-script} [fiºier-intrare]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" eliminã afiºarea automatã a spaþiului de pattern\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" adaugã scriptul la comenzile ce trebuie executate\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=script-file\n"
-" adaugã conþinutul scriptului-fiºier la comenzile ce\n"
-" trebuie executate\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SUFIX], --in-place[=SUFIX]\n"
-" editeazã fiºierele pe loc (creazã copii de siguranþã\n"
-" dacã este furnizatã extensia)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" specificã lungimea doritã pentru trecut la linia urmãtoare\n"
-" pentru comanda `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" deactiveazã toate extensiile GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" foloseºte sintaxa extinsã a expresiilor regulare în "
-"script.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" considerã fiºierele ca fiind separate, în loc de a le\n"
-" considera un flux lung continuu.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" încarcã o cantitate minimã de date din fiºierele de "
-"intrare\n"
-" ºi goleºte bufferele mai des\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help afiºeazã aceste mesaje ºi terminã\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version afiºeazã informaþii despre versiune ºi terminã\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Dacã nu este datã nici una din opþiunile -e, --expression, -f, sau --file,\n"
-"atunci primul argument non-opþiune este luat ca scriptul sed de "
-"interpretat.\n"
-"Toate argumentele rãmase sunt considerate nume de fiºiere de intrare; dacã\n"
-"nu este specificat nici un fiºier de intrare, este cititã intrarea "
-"standard.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "versiunea super-sed %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"bazat pe GNU sed versiunea %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed versiunea %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Acesta este software liber; vedeþi codul sursã pentru condiþiile de "
-"copiere.\n"
-"Nu existã NICI o garanþie; nici mãcar pentru VANDABILITATE sau POTRIVIRE \n"
-"PENTRU UN ANUME SCOP, conform legilor în vigoare.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "nu pot ºterge %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "nu am putut deschide fiºierul %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "Nu am putut scrie %d articol în %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "Nu am putut scrie %d articol în %s: %s"
-msgstr[1] "Nu am putut scrie %d articole în %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "eroare citire pentru %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "nu am putut deschide fiºierul %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "nu pot redenumi %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "nu pot redenumi %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Succes"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Nici o potrivire"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Expresie regularã incorectã"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Colaþiune de caractere incorectã"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Nume de clasã de caractere incorect"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Backslash în coadã"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Referinþã înapoi incorectã"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "[ sau [^ fãrã pereche"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "( sau \\( fãrã pereche"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "\\{ fãrã pereche"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Conþinut incorect pentru \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Sfârºit de interval incorect"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Memorie epuizatã"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Expresie regularã precedentã incorectã"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Sfârºit prematur al expresiei regulare"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Expresie regularã prea mare"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ") sau \\) fãrã pereche"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Nici o expresie regularã anterioarã"
diff --git a/sources/host-tools/sed-4.2.1/po/ru.gmo b/sources/host-tools/sed-4.2.1/po/ru.gmo
deleted file mode 100644
index bd5ef21..0000000
--- a/sources/host-tools/sed-4.2.1/po/ru.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/ru.po b/sources/host-tools/sed-4.2.1/po/ru.po
deleted file mode 100644
index d6f26fc..0000000
--- a/sources/host-tools/sed-4.2.1/po/ru.po
+++ /dev/null
@@ -1,510 +0,0 @@
-# Translation of sed to Russian
-# Copyright (C) 1998, 2004 Free Software Foundation, Inc.
-# Const Kaplinsky <const@ce.cctpu.edu.ru>, 1998.
-# Pavel Maryanov <acid_jack@ukr.net>, 2004, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-17 23:34+0200\n"
-"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
-"Language-Team: Russian <gnu@mx.ru>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n>1;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "несколько символов `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "непредвиденный символ `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "использование +N или ~N в качестве первого адреса недопустимо"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "непарный символ `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "непредвиденный символ `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "лишние символы после команды"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "ожидалась \\ после `a', `c' или `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' не допускает указания каких-либо адресов"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "`:' не допускает указания каких-либо адресов"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "комментарии не допускают указания каких-либо адресов"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "отсутствует команда"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "команда использует только один адрес"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "незавершенное адресное регулярное выражение"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "незавершенная команда `s'"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "незавершенная команда `y'"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "неизвестный модификатор к `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "несколько модификаторов `p' с командой `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "несколько модификаторов `g' с командой `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "несколько числовых модификаторов с командой `s'"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "числовой модификатор для команды `s' не может быть нулевым"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "строки для команды `y' имеют разную длину"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "символ-разделитель не является однобайтовым символом"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "ожидалась более новая версия sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "недопустимое использование строки адреса 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "неизвестная команда: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: файл %s строка %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e выражение #%lu, символ %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "невозможно найти метку для перехода к `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: невозможно прочитать %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "невозможно редактировать %s: это терминал"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "невозможно редактировать %s: это не обычный файл"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "невозможно открыть временный файл %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "ошибка в подпроцессе"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "опция `e' не поддерживается"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "команда `e' не поддерживается"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "отсутствуют входные файлы"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "нет предыдущего регулярного выражения"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "невозможно указать модификаторы в пустом регулярном выражении"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "недопустимая ссылка \\%d на RHS команды `s'"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Отчеты об ошибках отправляйте по адресу: %s .\n"
-"Убедитесь, что включили где-либо в поле ``Тема:'' слово ``%s''.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" использование в скрипте синтаксиса регулярных выражений "
-"Perl 5.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Использование: %s [ОПЦИЯ]... {только-скрипт-если-нет-другого-скрипта} "
-"[входной-файл]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" не выводить автоматически промежутки\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=script\n"
-" добавление скрипта в исполняемые команды\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f script-file, --file=script-file\n"
-" добавление содержимого файла-скрипта в исполняемые команды\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" переходить по символьным ссылкам при обработке на месте\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[СУФФИКС], --in-place[=СУФФИКС]\n"
-" редактирование файлов на месте (создает копию, если указано "
-"расширение)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" открывать файлы в бинарном режиме (CR+LF не "
-"обрабатываются)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" указание желаемой длины переносимой строки для команды `l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" отключение всех расширений GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" использование в скрипте расширенных регулярных выражений.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" допущение, что файлы разделены, а не в виде одного\n"
-" длинного непрерывного потока.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" загрузка минимального объема данных из входных файлов\n"
-" и более частый сброс на диск выходных буферов\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help вывод этой справки и выход\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version вывод информации о версии и выход\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Если опция -e, --expression, -f, или --file не указана, тогда первый\n"
-"неопциональный аргумент берется как скрипт sed для интерпретации. Все\n"
-"оставшиеся аргументы являются именами входных файлов; если входные\n"
-"файлы не указаны, тогда читается стантартный ввод.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed версия %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"основан на GNU sed версии %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed версия %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Это свободное программное обеспечение; условия его копирования смотрите в\n"
-"исходных текстах. Не предоставляется НИКАКОЙ гарантии; даже гарантии\n"
-"ПРИГОДНОСТИ ДЛЯ ПРОДАЖИ или ПРИМЕНИМОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, в той мере,\n"
-"в которой это может быть допущено законодательством.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "невозможно удалить %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "невозможно открыть файл %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "невозможно прикрепить к %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "невозможно записать %d элемент в %s: %s"
-msgstr[1] "невозможно записать %d элементов в %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "ошибка чтения %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "невозможно перейти по символьной ссылке %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "невозможно выполнить stat для %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "невозможно переименовать %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Успешно"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Нет соотвествия"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Недопустимое регулярное выражение"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Недопустимый символ сравнения"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Недопустимое имя для класса символа"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Завершающая обратная косая черта"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Недопустимая обратная ссылка"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Непарный символ [ или [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Непарный символ ( or \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Непарный символ \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Недопустимое содержимое в \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Недопустимое окончание диапазона"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Память исчерпана"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Недопустимое предшествующее регулярное выражение"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Преждевременное окончание регулярного выражения"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Регулярное выражение слишком большое"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Непарный символ ) или \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Нет предыдущего регулярного выражения"
diff --git a/sources/host-tools/sed-4.2.1/po/sed.pot b/sources/host-tools/sed-4.2.1/po/sed.pot
deleted file mode 100644
index c6f1c91..0000000
--- a/sources/host-tools/sed-4.2.1/po/sed.pot
+++ /dev/null
@@ -1,464 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr ""
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr ""
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr ""
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr ""
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr ""
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr ""
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr ""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr ""
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ""
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr ""
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr ""
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr ""
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr ""
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr ""
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr ""
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr ""
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr ""
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr ""
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr ""
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr ""
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr ""
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr ""
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr ""
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr ""
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr ""
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr ""
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr ""
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr ""
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr ""
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr ""
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr ""
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr ""
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr ""
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr ""
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr ""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr ""
-
-#: sed/sed.c:320
-#, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr ""
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr ""
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr ""
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] ""
-msgstr[1] ""
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr ""
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr ""
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr ""
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr ""
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr ""
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr ""
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr ""
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr ""
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr ""
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr ""
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr ""
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr ""
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr ""
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr ""
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr ""
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr ""
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr ""
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr ""
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr ""
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr ""
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr ""
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr ""
diff --git a/sources/host-tools/sed-4.2.1/po/sk.gmo b/sources/host-tools/sed-4.2.1/po/sk.gmo
deleted file mode 100644
index e9f164e..0000000
--- a/sources/host-tools/sed-4.2.1/po/sk.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/sk.po b/sources/host-tools/sed-4.2.1/po/sk.po
deleted file mode 100644
index 1e2bb43..0000000
--- a/sources/host-tools/sed-4.2.1/po/sk.po
+++ /dev/null
@@ -1,515 +0,0 @@
-# Slovak translations for GNU sed package.
-# Copyright (C) 1999, 2002, 2003, 2004, 2005, 2008 Free Software Foundation, Inc.
-# Marcel Telka <marcel@telka.sk>, 2002, 2003, 2004, 2005, 2008.
-# Miroslav Vasko <vasko@debian.cz>, 1999.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-19 13:38+0100\n"
-"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
-"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "viacnásobný `!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "neočakávaná `,'"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "+N alebo ~N sa nedá použiť ako prvá adresa"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "nezodpovedajúca `{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "neočakávaná `}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "nadbytočné znaky po príkaze"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "očakávané \\ po `a', `c' alebo `i'"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' nevyžaduje akúkoľvek adresu"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": nechce akúkoľvek adresu"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "v komentári nie je prípustná akákoľvek adresa"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "chýbajúci príkaz"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "príkaz používa iba jednu adresu"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "neukončený regulárny výraz adresy"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "neukončený príkaz `s'"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "neukončený príkaz `y'"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "neznáma voľba pre `s'"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "viacnásobné použitie voľby `p' s príkazom `s'"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "viacnásobné použitie voľby `g' s príkazom `s'"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "príkaz `s' môže mať maximálne jednu číselnú voľbu"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "číselná voľba príkazu `s' nemôže byť nula"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "reťazce pre príkaz `y' majú rôzne dĺžky"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "oddeľovací znak nie je jednobajtový"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "očakávaná novšia verzia programu sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "neplatné použitie adresy riadku 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "neznámy príkaz: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: súbor %s, riadok %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e výraz #%lu, znak %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "nie je možné nájsť návestie pre skok na `%s'"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s nie je možné čítať: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "nebolo možné upraviť %s: je to terminál"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "nebolo možné upraviť %s: nie je to bežný súbor"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "nebolo možné otvoriť dočasný súbor %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "chyba v podprocese"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "voľba `e' nie je podporovaná"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "príkaz `e' nie je podporovaný"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "bez vstupných súborov"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "bez predchádzajúceho regulárneho výrazu"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "nie je možné zadať modifikátory pre prázdny regulárny výraz"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "neplatný odkaz \\%d na `s' príkazu RHS"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Správy o chybách zasielajte na adresu %s (iba anglicky).\n"
-"Prosím vložte slovo ``%s'' niekde do položky ``Predmet:''\n"
-"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux."
-"sk>.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" použiť syntax regulárnych výrazov z Perlu 5 v skripte.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Použitie: %s [VOĽBA]... {skript-len-ak-nie-je-iný-skript} [vstupný-"
-"súbor]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" potlačiť automatický výpis priestoru vzorov\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e skript, --expression=skript\n"
-" pridať skript k príkazom, ktoré majú byť vykonané\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f skript-súbor, --file=skript-súbor\n"
-" pridať obsah súboru skript-súbor k príkazom, ktoré majú byť "
-"vykonané\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" nasledovať symbolické odkazy pri spracovávaní na mieste\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[PRÍPONA], --in-place[=PRÍPONA]\n"
-" upraviť súbory na mieste (vytvoria sa zálohy, ak je zadaná "
-"prípona)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" otvoriť súbory v binárnom režime (CR+LF nie sú špeciálne "
-"spracovávané)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" nastaviť požadovanú dĺžku pre zalomenie riadkov pre príkaz "
-"`l'\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" zakázať všetky rozšírenia GNU.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" použiť rozšírené regulárne výrazy v skripte.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" spracovať súbory ako oddelené a nie ako jeden spojitý.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" načítať minimálne množstvá dát zo vstupných súborov a "
-"vyprázdňovať\n"
-" výstupné vyrovnávacie pamäte častejšie\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help vypísať túto pomoc a skončiť\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version vypísať informáciu o verzii a skončiť\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Ak nie je zadaná žiadna z volieb -e, --expression, -f, alebo --file,\n"
-"potom prvý parameter, ktorý nie je voľbou, bude považovaný za sed skript,\n"
-"ktorý má byť interpretovaný. Všetky ostatné parametre sú názvy vstupných "
-"súborov.\n"
-"Ak nebudú vstupné súbory zadané, bude čítaný štandardný vstup.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed verzia %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"založené na GNU sed verzia %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed verzia %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Toto je voľné programové vybavenie; podmienky pre kopírovanie a "
-"rozširovanie\n"
-"nájdete v zdrojových textoch. Toto programové vybavenie je BEZ záruky,\n"
-"a to aj bez záruky PREDAJNOSTI alebo VHODNOSTI PRE NEJAKÝ KONKRÉTNY ÚČEL.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "nepodarilo sa odstrániť %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "nebolo možné otvoriť súbor %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "nebolo možné sa pripojiť k %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "nebolo možné zapísať %d položiek do %s: %s"
-msgstr[1] "nebolo možné zapísať %d položku do %s: %s"
-msgstr[2] "nebolo možné zapísať %d položky do %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "chyba pri čítaní z %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "nebolo možné nasledovať symbolický odkaz %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "nepodarilo sa zistiť stav %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "nepodarilo sa premenovať %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Úspech"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Nezodpovedá"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Neplatný regulárny výraz"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Neplatný znak pre porovnávanie"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Neplatný názov triedy znakov"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Ukončovacie opačné lomítko"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Neplatný spätný odkaz"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Nezodpovedajúca [ alebo [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Nezodpovedajúca ( alebo \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Nezodpovedajúca \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Neplatný obsah \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Neplatný koniec rozsahu"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Vyčerpaná pamäť"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Neplatný predchádzajúci regulárny výraz"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Neočakávaný koniec regulárneho výrazu"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regulárny výraz je príliš veľký"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Nezodpovedajúca ) alebo \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Bez predchádzajúceho regulárneho výrazu"
diff --git a/sources/host-tools/sed-4.2.1/po/sl.gmo b/sources/host-tools/sed-4.2.1/po/sl.gmo
deleted file mode 100644
index 4afcbe3..0000000
--- a/sources/host-tools/sed-4.2.1/po/sl.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/sl.po b/sources/host-tools/sed-4.2.1/po/sl.po
deleted file mode 100644
index f8d45e0..0000000
--- a/sources/host-tools/sed-4.2.1/po/sl.po
+++ /dev/null
@@ -1,601 +0,0 @@
-# -*- mode:po; coding:utf-8;-*- Slovenian message catalogue for GNU sed.
-# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed package.
-# Primož Peterlin <primozz.peterlin@gmail.com>, 2000-2003, 2005, 2007, 2008.
-# $Id: sed-4.2.0.sl.po,v 1.3 2008/04/25 12:08:48 peterlin Exp $
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-04-25 14:08+0200\n"
-"Last-Translator: Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
-"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "večterni klicaji »!«"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "nepričakovana vejica »,«"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "nepravilna raba izbir +N ali ~N kot začetnih naslovov"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "oklepaj { brez zaklepaja"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "nepričakovan zaklepaj }"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "dodatni znaki za ukazom"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "Za »a«, »c« ali »i« se pričakuje \\"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "Zaklepaj } ne zahteva naslova"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ne zahteva naslova"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "komentarji ne sprejemajo naslovov"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "manjkajoč ukaz"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "ukaz uporablja le en naslov"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "regularni izraz z nezaključenim naslovom"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "nezaključen ukaz »s«"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "nezaključen ukaz »y«"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "neznana izbira pri ukazu »s«"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "večterne izbire »p« pri ukazu »s«"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "večterne izbire »g« pri ukazu »s«"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "večterne številčne izbire pri ukazu »s«"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "številčna izbira pri ukazu »s« mora biti neničelna"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "niza pri ukazu »y« sta različno dolga"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "razmejilni znak je dolg več kot en bajt"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "pričakovana novejša izdaja programa sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "neveljavna raba naslovne vrstice 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "neznan ukaz: »%c«"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: datoteka %s vrstica %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e izraz #%lu, znak %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "ni moč najti oznake za skok na »%s«"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s ni mogoče prebrati: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "ni mogoče urejati %s: je terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "ni mogoče urejati %s: ni navadna datoteka"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "ni mogoče odpreti začasne datoteke %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "napaka v podprocesu"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "izbira »e« ni podprta"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "ukaz »e« ni podprt"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "ni vhodnih datotek"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "ni prejšnjega regularnega izraza"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "navajanje modifikatorjev pri praznem regularnem izrazu ni mogoče"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "neveljavni sklic \\%d na desni strani ukaza »s«"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Sporočila o napakah pošljite na %s .\n"
-"Poskrbite, da bo nekje v polju ,,Subject`` nastopal izraz ,,%s``.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" dovoli uporabo regularnih izrazov, ki jih podpira Perl 5\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Uporaba: %s [IZBIRA]... {skript--če-je-en-sam} [vhodna-datoteka]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" brez samodejnega izpisa prostora vzorcev\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e SKRIPT, --expression=SKRIPT\n"
-" dodaj SKRIPT med ukaze, ki se izvedejo\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f SKRIPTNA_DATOTEKA, --file=SKRIPTNA_DATOTEKA\n"
-" dodaj vsebino SKRIPTNE DATOTEKE med ukaze, ki se izvedejo\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" pri obdelavi na mestu sledi simbolnim povezavam\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[PRIPONA], --in-place[=PRIPONA]\n"
-" spremembe opravi v sami datoteki (ustvari varnostno kopijo "
-"z\n"
-" dano pripono, če je ta podana)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" odpri kot binarno datoteko (brez posebne obravnave CR+LF)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" določi širino vrstice za ukaz ,l` na N znakov\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" onemogoči vse razširitve GNU\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" dovoli uporabo razširjenih regularnih izrazov.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" datoteke obravnavaj kot ločene, ne pa kot neprekinjen tok\n"
-" podatkov\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" naloži kar se da malo podatkov iz vhode datoteke in "
-"pogosteje\n"
-" izprazni izhodni medpomnilnik\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help prikaži ta navodila in končaj\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version različica programa\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Če izbire -e, --expression, -f ali --file niso podane, se prvi neizbirni\n"
-"argument tolmači kot skript. Vsi preostali argumenti so imena vhodnih "
-"datotek.\n"
-"Če ni podano nobeno ime datoteke, se bere standardni vhod.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed, različica %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"na osnovi GNU sed, različica %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed, različica %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"To je prost program; pogoji, pod katerimi ga lahko uporabljate, "
-"razmnožujete\n"
-"in razširjate so navedeni v izvorni kodi. Za program ni NOBENEGA JAMSTVA,\n"
-"niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "ni mogoče odstraniti %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "ni mogoče odpreti datoteke %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "ni mogoče pripeti k %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "ni mogoče zapisati %d elementov na %s: %s"
-msgstr[1] "ni mogoče zapisati %d elementa na %s: %s"
-msgstr[2] "ni mogoče zapisati %d elementov na %s: %s"
-msgstr[3] "ni mogoče zapisati %d elementov na %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "napaka pri branju z %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "ni mogoče slediti simbolni povezavi %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "ni mogoče ugotoviti statistike %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "ni mogoče preimenovati %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Uspešno"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Ni ujemanja"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Neveljavni regularni izraz"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Znaka izven abecede"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Neveljavno ime razreda znakov"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Zaključna obrnjena poševnica"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Neveljavni povratni sklic"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Oklepaj [ ali [^ brez zaklepaja"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Oklepaj ( ali \\( brez zaklepaja"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Oklepaj \\{ brez zaklepaja"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Neveljavna vsebina \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Neveljavna zgornja meja intervala"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Zmanjkalo pomnilnika"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Neveljaven prejšnji regularni izraz"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Predčasni zaključek regularnega izraza"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Regularni izraz prevelik"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Oklepaj ) ali \\) brez zaklepaja"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Prejšnji regularni izraz manjka"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Klic savchar() z nepričakovanim pushback (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNA NAPAKA: pokvarjen tip naslova"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNA NAPAKA: Pokvarjen ukaz %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Uporaba: %s [IZBIRA]... [SKRIPT] [DATOTEKA]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " brez avtomatičnega izpisa prostora vzorcev\n"
-#~ " -e SKRIPT, --expression=SKRIPT\n"
-#~ " dodaj SKRIPT med ukaze, ki se izvedejo\n"
-#~ " -f SKRIPTNA_DATOTEKA, --file=SKRIPTNA_DATOTEKA\n"
-#~ " dodaj vsebino SKRIPTNE DATOTEKE med ukaze, ki se "
-#~ "izvedejo\n"
-#~ " -i[PRIPONA], --in-place[=PRIPONA]\n"
-#~ " spremembe opravi v sami datoteki (ustvari varnostno "
-#~ "kopijo z\n"
-#~ " dano pripono, če je ta podana)\n"
-#~ " -l N, --line-length=N\n"
-#~ " določi širino vrstice za ukaz ,l` na N znakov\n"
-#~ " -r, --regexp-extended\n"
-#~ " dovoli uporabo razširjenih regularnih izrazov\n"
-#~ "%s -s, --separate\n"
-#~ " datoteke obravnavaj kot ločene, ne pa kot neprekinjen "
-#~ "tok\n"
-#~ " podatkov\n"
-#~ " -u, --unbuffered\n"
-#~ "\n"
-#~ " --help ta navodila\n"
-#~ " -V, --version različica programa\n"
-#~ "\n"
-#~ "Če izbire -e, --expression, -f ali --file niso podane, se prvi neizbirni\n"
-#~ "argument tolmači kot skript. Vsi preostali argumenti so imena vhodnih "
-#~ "datotek.\n"
-#~ "Če ni podano nobeno ime datoteke, se bere standardni vhod.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Nepričakovan konec datoteke"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "pokvarjen regularni izraz: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "napaka pri branju: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "ni bilo mogoče zapisati elementa na %s: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/sr.gmo b/sources/host-tools/sed-4.2.1/po/sr.gmo
deleted file mode 100644
index 156fc37..0000000
--- a/sources/host-tools/sed-4.2.1/po/sr.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/sr.po b/sources/host-tools/sed-4.2.1/po/sr.po
deleted file mode 100644
index 0e231f4..0000000
--- a/sources/host-tools/sed-4.2.1/po/sr.po
+++ /dev/null
@@ -1,582 +0,0 @@
-# Serbian translation of `sed'.
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the `sed' package.
-# Aleksandar Jelenak <jelenak@verizon.net>, 2006.
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.5\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2006-12-07 11:42-0500\n"
-"Last-Translator: Aleksandar Jelenak <jelenak@verizon.net>\n"
-"Language-Team: Serbian <gnu@prevod.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "више „!“"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "неочекиван „,“"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "неважећа употреба +N или ~N као прве адресе"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "неспарена „{“"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "неочекивана „}“"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "вишак знакова после наредбе"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "очекивано \\ после „a“, „c“ или „i“"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "„}“ не захтева икакве адресе"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": не захтева икакве адресе"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "коментари не прихватају икакве адресе"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "недостаје наредба"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "наредба користи само једну адресу"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "незавршена адреса рег. израза"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "незавршена наредба „s“"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "незавршена наредба „y“"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "непозната опција за „s“"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "више „p“ опција за „s“ наредбу"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "више „g“ опција за „s“ наредбу"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "више бројчаних опција за „s“ наредбу"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "бројчана опција наредбе „s“ не може бити нула"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "ниске за команду „y“ су различитих дужина"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "раздвојник није једнобајтни знак"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "очекивана новија верзија sed-а"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "неправилна употреба адресе реда 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "непозната наредба: „%c“"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: датотека %s ред %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e израз #%lu, знак %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "не могу да нађем ознаку за скок на „%s“"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: не може читати %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "не могу уредити %s: терминал је"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "не може уредити %s: није обична датотека"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "не могу отворити привремену датотеку %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "грешка у потпроцесу"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "опција „e“ није подржана"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "наредба „e“ није подржана"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "нема улазних датотека"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "без претходног регуларног израза"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "не може навести измењивач празном рег. изразу"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "неисправна референца \\%d на десној страни наредбе „s“"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Епошта за пријаву грешака: %s .\n"
-"Постарајте се да укључите реч „%s“ негде у „Subject:“ пољу.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" користи у спису синтаксу Перла 5 за регуларне изразе.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Употреба: %s [ОПЦИЈА]... {скрипт-само-ако-нема-другог-скрипта} [улаз-"
-"датотека]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" обустави аутоматски испис простора образаца\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e спис, --expression=спис\n"
-" додај спис извршним наредбама\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f списотека, --file=списотека\n"
-" додај садржај списотеке извршним наредбама\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[СУФИКС], --in-place[=СУФИКС]\n"
-" уређуј датотеке у месту (прави резервну копију ако је дат\n"
-" наставак)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" задај жељену ширину реда за наредбу „l“\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" онемогући све ГНУ додатке.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" користи проширене регуларне изразе у спису.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" посматрај датотеке одвојено а не као један непрекидан ток\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" учитавај минималне количине података из улазних датотека и\n"
-" чешће празни излазне бафере\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help прикажи ово објашњење и заврши\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version испиши верзију и заврши\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Уколико „-e“, „--expression“, „-f“, или „--file“ опција није задата онда\n"
-"се први ванопциони аргумент узима као сед спис за тумачење. Сви преостали\n"
-"аргументи су имена улазних датотека; ако они нису задати, онда се чита са\n"
-"стандардног улаза.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed верзија %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"засновано на ГНУ sed верзија %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "ГНУ sed верзија %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Ово је слободан софтвер; видети изворни кôд за услове умножавања. БЕЗ "
-"икакве\n"
-"гаранције; чак ни о ТРЖИШНОСТИ или ИСПУЊАВАЊУ ОДРЕЂЕНЕ ПОТРЕБЕ.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "не може уклонити %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "не може отворити датотеку %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "неуспешан запис %d ставке на %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "неуспешан запис %d ставке на %s: %s"
-msgstr[1] "неуспешан запис %d ставке на %s: %s"
-msgstr[2] "неуспешан запис %d ставки на %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "грешка учитавања на %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "не може отворити датотеку %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "не може променити име %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "не може променити име %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Успех"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Без поклапања"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Неисправни регуларни израз"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Неисправни знак прикупљања"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Неисправно име класе знакова"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Пратећа обрнута коса црта"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Неисправна повратна референца"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Неспарено [ или ^["
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Неспарено ( или \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Неспарено \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Неисправни садржај у \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Неисправни крај опсега"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Меморија исцрпљена"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Неисправан претходећи регуларни израз"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Преран крај регуларног израза"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Регуларни израз сувише велик"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Неспарено ) или \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Без претходног регуларног израза"
-
-# Тражи се бољи превод за „pushback“.
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Позван savchar() са неочекиваном вредношћу аргумента (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "УНУТРАШЊА ГРЕШКА: лоша врста адресе"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "УНУТРАШЊА ГРЕШКА: Лоша наредба %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Употреба: %s [ОПЦИЈА]... {спис-само-ако-без-другог-списа} [улаз-"
-#~ "датотека]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " спречи аутоматско исписивање образаца\n"
-#~ " -e СПИС, --expression=СПИС\n"
-#~ " додај СПИС наредбама за извршавање\n"
-#~ " -f СПИС, --file=СПИС\n"
-#~ " додај садржај СПИС наредбама за извршавање\n"
-#~ " -i[суфикс], --in-place[=суфикс]\n"
-#~ " уређуј датотеке у месту (прави резервне ако је дата "
-#~ "екстензија)\n"
-#~ " -l БРОЈ, --line-length=БРОЈ\n"
-#~ " задај жељену дужину реда за наредбу „l“\n"
-#~ " -r, --regexp-extended\n"
-#~ " користи проширене регуларне изразе у спису\n"
-#~ "%s -s, --separate\n"
-#~ " разматрај датотеке понаособ а не заједно као једну\n"
-#~ " -u, --unbuffered\n"
-#~ " учитавај минималне количине података из улазних датотека "
-#~ "и празни\n"
-#~ " излазне бафере чешће\n"
-#~ " --help прикажи ово објашњење и заврши\n"
-#~ " -V, --version испиши верзију и заврши\n"
-#~ "\n"
-#~ "Ако опције „-e“, „--expression“, „-f“, или „--file“ нису дате, онда се "
-#~ "први\n"
-#~ "аргумент који није опција узима за sed спис који треба извршити. Сви "
-#~ "преостали\n"
-#~ "аргументи су имена улазних датотека; ако улазне датотеке нису задате, "
-#~ "онда се\n"
-#~ "чита стандардни улаз.\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/stamp-po b/sources/host-tools/sed-4.2.1/po/stamp-po
deleted file mode 100644
index 9788f70..0000000
--- a/sources/host-tools/sed-4.2.1/po/stamp-po
+++ /dev/null
@@ -1 +0,0 @@
-timestamp
diff --git a/sources/host-tools/sed-4.2.1/po/sv.gmo b/sources/host-tools/sed-4.2.1/po/sv.gmo
deleted file mode 100644
index e274d38..0000000
--- a/sources/host-tools/sed-4.2.1/po/sv.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/sv.po b/sources/host-tools/sed-4.2.1/po/sv.po
deleted file mode 100644
index 13197ef..0000000
--- a/sources/host-tools/sed-4.2.1/po/sv.po
+++ /dev/null
@@ -1,676 +0,0 @@
-# Swedish messages for sed.
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
-# Christian Rose <menthos@menthos.com>, 1999, 2000, 2001, 2002, 2003, 2004, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-02-24 17:20+0100\n"
-"Last-Translator: Christian Rose <menthos@menthos.com>\n"
-"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "flera \"!\""
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "oväntat \",\""
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ogiltig användning av +N eller ~N som första adress"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "obalanserad \"{\""
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "oväntad \"}\""
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "extra tecken efter kommandot"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "\\ förväntades efter \"a\", \"c\" eller \"i\""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "\"}\" vill inte ha några adresser"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": vill inte ha några adresser"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "kommentarer accepterar inga adresser"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "kommando saknas"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "kommandot använder endast en adress"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "oavslutat reguljärt uttryck för adress"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "oavslutat \"s\"-kommando"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "oavslutat \"y\"-kommando"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "flaggan okänd för \"s\""
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "flera \"p\"-flaggor till \"s\"-kommandot"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "flera \"g\"-flaggor till \"s\"-kommandot"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "flera sifferflaggor till \"s\"-kommandot"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "sifferflagga till kommandot \"s\" får inte vara noll"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "strängarna för kommandot \"y\" är olika långa"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "avgränsningstecknet är inte en ensam byte"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "nyare version av sed förväntades"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "felaktig användning av radadress 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "okänt kommando: \"%c\""
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: fil %s rad %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e uttryck #%lu, tecken %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "kan inte hitta etiketten för hopp till \"%s\""
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: kan inte läsa %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "kunde inte redigera %s: är en terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "kunde inte redigera %s: inte en vanlig fil"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "kunde inte öppna temporära filen %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "fel i underprocess"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "flaggan \"e\" stöds inte"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "kommandot \"e\" stöds inte"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "inga indatafiler"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "inget tidigare reguljärt uttryck"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "kan inte ange modifierare på tomt reguljärt uttryck"
-
-# Kommentar från Jan Djärv:
-# Jag antar RHS står för "right hand side". Man kan då säga
-# "... kommandots högersida"
-#
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "ogiltig referens \\%d på \"s\"-kommandots högersida"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Rapportera fel till: %s .\n"
-"Ange ordet \"%s\" på något ställe i \"Ärende:\"-fältet.\n"
-"Skicka anmärkningar på översättningen till <sv@li.org>.\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" använd Perl 5:s syntax för reguljära uttryck i skriptet.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Användning: %s [FLAGGA]... {skript-endast-om-inga-andra} [indatafil]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" förhindrar automatisk utskrift av mönsterutrymme\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e skript, --expression=skript\n"
-" lägg till skript till de kommandon som ska utföras\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f skriptfil, --file=skriptfil\n"
-" lägg till innehållet i skriptfil till de kommandon som ska\n"
-" utföras\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" följ symlänkar när behandling sker på plats\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[ÄNDELSE], --in-place[=ÄNDELSE]\n"
-" redigera filer på plats (skapar säkerhetskopia om ändelse\n"
-" tillhandahålls)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" öppna filer i binärläge (CR+LF särbehandlas inte)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" ange önskad radbrytningslängd för \"l\"-kommandot\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" inaktivera alla GNU-utökningar.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" använd utökade reguljära uttryck i skriptet.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" betrakta filer som separata istället för som en\n"
-" kontinuerlig lång dataström.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" läs in minimala mängder data från indatafilerna och töm\n"
-" utdatabufferterna oftare\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help visa denna hjälptext och avsluta\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version visa versionsinformation och avsluta\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Om ingen av flaggorna -e, --expression, -f, eller --file ges, blir det\n"
-"första argumentet som inte är en flagga det sed-skript som tolkas. Alla\n"
-"återstående argument är namn på indatafiler. Om inga indatafiler är angivna\n"
-"läses standard in.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed version %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"baserad på GNU sed version %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed version %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"(Följande text är en informell översättning som enbart tillhandahålls\n"
-" i informativt syfte. För alla juridiska tolkningar gäller den engelska\n"
-" originaltexten.)\n"
-"Det här är fri programvara; se källkoden angående villkor för kopiering.\n"
-"Det finns INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT\n"
-"SPECIELLT ÄNDAMÅL, i den omfattning som medges av gällande lag.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "kan inte ta bort %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "kunde inte öppna filen %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "kunde inte fästa vid %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "kunde inte skriva %d objekt till %s: %s"
-msgstr[1] "kunde inte skriva %d objekt till %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "läsfel vid %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "kunde inte följa symlänken %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "kan inte ta status på %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "kan inte byta namn på %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Lyckades"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Ingen träff"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Ogiltigt reguljärt uttryck"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ogiltigt sorteringstecken"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Ogiltigt teckenklassnamn"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Eftersläpande omvänt snedstreck"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Ogiltig bakåtreferens"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Obalanserad [ eller [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Obalanserad ( eller \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Obalanserad \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "Ogiltigt innehåll i \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Ogiltigt intervallslut"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Minnet slut"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Ogiltigt föregående reguljärt uttryck"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "För tidigt slut på reguljärt uttryck"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Reguljärt uttryck för stort"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Obalanserad ) eller \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Inget tidigare reguljärt uttryck"
-
-# Bristen på indragning ser ut som en bugg. Buggrapporterat 2004-07-11.
-#~ msgid ""
-#~ "-n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ msgstr ""
-#~ " -n, --quiet, --silent\n"
-#~ " förhindrar automatisk utskrift av mönsterutrymme\n"
-
-#~ msgid "Multiple `!'s"
-#~ msgstr "Flera \"!\""
-
-#~ msgid "Unexpected `,'"
-#~ msgstr "Oväntat \",\""
-
-#~ msgid "Invalid usage of +N or ~N as first address"
-#~ msgstr "Ogiltig användning av +N eller ~N som första adress"
-
-#~ msgid "Unmatched `{'"
-#~ msgstr "Obalanserad \"{\""
-
-#~ msgid "Unexpected `}'"
-#~ msgstr "Oväntad \"}\""
-
-#~ msgid "Extra characters after command"
-#~ msgstr "Extra tecken efter kommandot"
-
-#~ msgid "Expected \\ after `a', `c' or `i'"
-#~ msgstr "\\ förväntades efter \"a\", \"c\" eller \"i\""
-
-#~ msgid "Comments don't accept any addresses"
-#~ msgstr "Kommentarer accepterar inga adresser"
-
-#~ msgid "Missing command"
-#~ msgstr "Kommando saknas"
-
-#~ msgid "Command only uses one address"
-#~ msgstr "Kommandot använder endast en adress"
-
-#~ msgid "Unterminated address regex"
-#~ msgstr "Oavslutat reguljärt uttryck för adress"
-
-#~ msgid "Unterminated `s' command"
-#~ msgstr "Oavslutat \"s\"-kommando"
-
-#~ msgid "Unterminated `y' command"
-#~ msgstr "Oavslutat \"y\"-kommando"
-
-#~ msgid "Unknown option to `s'"
-#~ msgstr "Flaggan okänd för \"s\""
-
-#~ msgid "Unknown command: `%c'"
-#~ msgstr "Okänt kommando: \"%c\""
-
-#~ msgid "Can't find label for jump to `%s'"
-#~ msgstr "Kan inte hitta etiketten för hopp till \"%s\""
-
-#~ msgid "Couldn't open temporary file %s: %s"
-#~ msgstr "Kunde inte öppna temporära filen %s: %s"
-
-#~ msgid "Cannot specify modifiers on empty regexp"
-#~ msgstr "Kan inte ange modifierare på tomt reguljärt uttryck"
-
-# Kommentar från Jan Djärv:
-# Jag antar RHS står för "right hand side". Man kan då säga
-# "... kommandots högersida"
-#
-#~ msgid "Onvalid reference \\%d on `s' command's RHS"
-#~ msgstr "Ogiltig referens \\%d på \"s\"-kommandots högersida"
-
-#~ msgid "Couldn't open file %s: %s"
-#~ msgstr "Kunde inte öppna filen %s: %s"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "Anropade savchar() med oväntat returtecken (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "INTERNT FEL: felaktig addresstyp"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "INTERNT FEL: Felaktigt kommando %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Användning: %s [FLAGGA]... {skript-endast-om-inga-andra} [indatafil]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " förhindrar automatisk utskrift av mönsterutrymme\n"
-#~ " -e skript, --expression=skript\n"
-#~ " lägg till skript till de kommandon som ska utföras\n"
-#~ " -f skriptfil, --file=skriptfil\n"
-#~ " lägg till innehållet i skriptfil till de kommandon som "
-#~ "ska\n"
-#~ " utföras\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " redigera filer på plats (skapa säkerhetskopia om "
-#~ "tillägg\n"
-#~ " tillhandahålls)\n"
-#~ " -l N, --line-length=N\n"
-#~ " ange önskad radbrytningslängd för \"l\"-kommandot\n"
-#~ " -r, --regexp-extended\n"
-#~ " använd utökade reguljära uttryck i skriptet.\n"
-#~ "%s -s, --separate\n"
-#~ " betrakta filer som separata istället för en ensam och\n"
-#~ " sammanhållen lång ström.\n"
-#~ " -u, --unbuffered\n"
-#~ " läs in minimala mängder data från indatafilerna och töm\n"
-#~ " utdatabufferterna oftare\n"
-#~ " --help visa denna hjälptext och avsluta\n"
-#~ " -V, --version visa versionsinformation och avsluta\n"
-#~ "\n"
-#~ "Om ingen av flaggorna -e, --expression, -f, eller --file ges, blir det\n"
-#~ "första argumentet som inte är en flagga det sed-skript som tolkas. Alla\n"
-#~ "återstående argument är namn på indatafiler; om inga indatafiler är "
-#~ "angivna\n"
-#~ "läses standard in.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Oväntat filslut"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "felaktigt reguljärt uttryck: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "fel vid läsning av indata: %s"
-
-#~ msgid "couldn't write an item to %s: %s"
-#~ msgstr "kunde inte skriva ett objekt till %s: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/tr.gmo b/sources/host-tools/sed-4.2.1/po/tr.gmo
deleted file mode 100644
index 79c4217..0000000
--- a/sources/host-tools/sed-4.2.1/po/tr.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/tr.po b/sources/host-tools/sed-4.2.1/po/tr.po
deleted file mode 100644
index ac1bab7..0000000
--- a/sources/host-tools/sed-4.2.1/po/tr.po
+++ /dev/null
@@ -1,599 +0,0 @@
-# translation of sed-4.1.1.tr.po to Turkish
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Deniz Akkus Kanca <deniz@arayan.com>, 2001,2003, 2004.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.1\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2004-12-05 10:03+0200\n"
-"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
-"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "birden fazla '!'"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "beklenmeyen ','"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "ilk adres olarak +N veya ~N kullanılamaz"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "eşleşmeyen '{'"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "beklenmeyen '}'"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "komuttan sonra fazla karakterler var"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "`a', `c' veya `i' sonrası \\ beklendi"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "'}' için adres istenmez"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": için hiç adres istenmez"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "açıklamalarda adres kabul edilmez"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "komut eksik"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "komutta yalnızca tek adres kullanılır"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "sonlandırılmamış adres düzenli ifadesi"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "sonlandırılmamış 's' komutu"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "sonlandırılmamış 'y' komutu"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "`s' komutuna bilinmeyen seçenek verilmiş"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "`s' komutuna birden fazla `p' seçeneği verilmiş"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "`s' komutuna birden fazla `g' seçeneği verilmiş"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "`s' komutuna birden fazla sayı seçeneği verilmiş"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "`s' komutuna verilen sayı seçeneği sıfır olamaz"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "`y' komutu için dizgeler değişik uzunluklarda"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "ayraç karakteri tek baytlık değil"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "sed'in daha yeni bir sürümü beklendi"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "satır adresi 0'ın hatalı kullanımı"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "bilinmeyen komut: `%c'"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: dosya %s satır %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e ifade #%lu, harf %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "`%s'e atlamak için etiket bulunamıyor"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: %s okunamıyor: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "%s düzenlenemedi: bu bir terminal"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "%s düzenlenemedi: normal dosya değil"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "geçici dosya %s açılamadı: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "altsüreçte hata"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr " e' seçeneği desteklenmiyor"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "`e' komutu desteklenmiyor"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "daha önce bir düzenli ifade yok"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "boş düzenli ifadeye değiştirici atanamaz"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "`s' komutunun RHS'sinde geçersiz \\%d referansı"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Yazılım hatalarını %s adresine, çeviri hatalarını \n"
-"<gnu-tr-u12a@lists.sourceforge.net> adresine bildirin. \n"
-"``%s'' sözcüğünün Konu başlığında yer almasına dikkat edin. \n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" betikte Perl 5'in düzenli ifade sözdizimini kullanır.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Kullanım: %s [SEÇENEK]... {betik-eğer-başka-betik-yoksa} [girdi-dosyası]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, fuzzy, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-"-n, --quiet, --silent\n"
-" kalıp uzayının otomatik yazdırılmasını kaldırır\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e script, --expression=betik\n"
-" betiği, koşturulacak komutlara ekler\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f betik-dosyası, --file=betik-dosyası\n"
-" betik-dosyası'nın içeriğini, koşturulacak komutlara ekler\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[SONEK], --in-place[=SONEK]\n"
-" dosyaları yerinde değiştirir (eğer uzantı verilmişse yedek\n"
-" oluşturur)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" `l' komutu için istenen satır sarma uzunluğunu belirtir\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" bütün GNU eklentilerini devre dışı bırakır.\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" betikte geliştirilmiş düzenli ifadeler kullanır.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" dosyaları, tek uzun bir akış yerine ayrı ayrı "
-"değerlendirir.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" girdi dosyalarından asgari miktarda veri yükler ve\n"
-" çıktı yastıklarını daha sık boşaltır\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help bu yardımı gösterir ve çıkar\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version sürüm bilgisinin gösterir ve çıkar\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Eğer -e, --expression, -f veya --file seçenekeleri verilmemiş ise,\n"
-"ilk seçenek olmayan argüman, işlenecek betik dosyası kabul edilir.\n"
-"Bütün diğer argümanlar girdi dosyası adıdır; eğer girdi dosyası adı\n"
-"verilmemiş ise, standart girdi okunur.\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed sürüm %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"GNU sed sürümü %s temel alınmıştır\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed sürümü %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Bu serbest yazılımdır; kopyalama koşulları için kaynak koduna bakınız.\n"
-"Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA\n"
-"UYGUNLUĞU için bile garanti verilmez.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s kaldırılamıyor: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "%s dosyası açılamadı: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "%d sayıda öğe %s'e yazılamadı: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "%d sayıda öğe %s'e yazılamadı: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "%s'de okuma hatası: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "%s dosyası açılamadı: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s yeniden adlandırılamadı: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s yeniden adlandırılamadı: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Başarılı"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Eşleşme bulunamadı"
-
-#
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Hatalı düzenli ifade"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Hatalı birleştirme karakteri"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Hatalı karakter sınıf ismi"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Sonda fazla gerikesme var"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Hatalı geri referans"
-
-#
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Eşleşmeyen [ veya [^"
-
-#
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Eşleşmeyen ( veya \\("
-
-#
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Eşleşmeyen \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "\\{\\} içeriği hatalı"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Geçersiz kapsam sonu"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Bellek tükendi"
-
-#
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Bir önceki düzenli ifade hatalı"
-
-#
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Düzenli ifade erken sonlandı"
-
-#
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Düzenli ifade fazla büyük"
-
-#
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Eşleşmeyen ) or \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Daha önce düzenli ifade yok"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "savchar() beklenmeyen geri itme (%x) ile çağrılmış"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "İÇ HATA: Hatalı adres türü"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "İÇ HATA: Hatalı komut %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Kullanım: %s [SEÇENEK]... {betik-eğer-başka-betik-yok-ise} [girdi-"
-#~ "dosyası]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " kalıp uzayının otomatik yazdırılmasını bastırır\n"
-#~ " -e betik, --expression=betik\n"
-#~ " betiği icra edilecek komutlara ekler\n"
-#~ " -f betik-dosyası, --file=betik-dosyası\n"
-#~ " betik-dosyasının içeriğini icra edilecek komutlara "
-#~ "ekler\n"
-#~ " -i[sonek], --in-place[=sonek]\n"
-#~ " dosyaları yerinde düzenler (sonek varsa, yedeklerini "
-#~ "alır\n"
-#~ " -l N, --line-length=N\n"
-#~ " `l' komutu için istenen satır uzunluğunu ayarlar\n"
-#~ " -r, --regexp-extended\n"
-#~ " betikte genişletilmiş düzenli ifadeler kullanır.\n"
-#~ "%s -s, --separate\n"
-#~ " dosyaları tek bir girdi olarak değil, ayrı ayrı "
-#~ "dosyalar\n"
-#~ " halinde işler.\n"
-#~ " -u, --unbuffered\n"
-#~ " girdi dosyalarından az miktarda veri yükler ve çıktı\n"
-#~ " yastıklarını daha sık boşaltır.\n"
-#~ " --help bu yardımı gösterir ve çıkar\n"
-#~ " -V, --version sürüm bilgisini gösterir ve çıkar\n"
-#~ "\n"
-#~ "Eğer -e, --expression, -f veya --file seçeneklerinden biri "
-#~ "verilmemişse, \n"
-#~ "bulunan ilk seçenek olmayan argüman, yorumlanacak sed betiği olarak "
-#~ "kabul \n"
-#~ "edilir. Bütün kalan argümanlar girdi dosyası adlarıdır; eğer girdi "
-#~ "dosyası adı\n"
-#~ "belirtilmemişse standart girdi okunur.\n"
-#~ "\n"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "Beklenmeyen Dosya-Sonu"
-
-#~ msgid "bad regexp: %s\n"
-#~ msgstr "Hatalı düzenli ifade: %s\n"
-
-#~ msgid "input read error: %s"
-#~ msgstr "girdi okuma hatası: %s"
diff --git a/sources/host-tools/sed-4.2.1/po/uk.gmo b/sources/host-tools/sed-4.2.1/po/uk.gmo
deleted file mode 100644
index dc8f5a6..0000000
--- a/sources/host-tools/sed-4.2.1/po/uk.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/uk.po b/sources/host-tools/sed-4.2.1/po/uk.po
deleted file mode 100644
index 316cb2f..0000000
--- a/sources/host-tools/sed-4.2.1/po/uk.po
+++ /dev/null
@@ -1,570 +0,0 @@
-# ðÅÒÅËÌÁÄ sed ÎÁ ÕËÒÁ§ÎÓØËÕ ÍÏ×Õ.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Volodymyr M. Lisivka <lvm@mystery.lviv.net>, 2003
-# Dmytro O. Redchuk <dor@kiev-online.net>, 2002.
-# $Id: sed.po,v 1.3 2003/01/28 15:26:09 lvm Exp $
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.0.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2003-01-25 12:42EET\n"
-"Last-Translator: Volodymyr M. Lisivka <lvm@mystery.lviv.net>\n"
-"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-u\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: sed/compile.c:161
-#, fuzzy
-msgid "multiple `!'s"
-msgstr "úÁÂÁÇÁÔÏ ÚÎÁË¦× \"!\""
-
-#: sed/compile.c:162
-#, fuzzy
-msgid "unexpected `,'"
-msgstr "îÅÏÞ¦ËÕ×ÁÎÁ ËÏÍÁ (,)"
-
-#: sed/compile.c:163
-#, fuzzy
-msgid "invalid usage of +N or ~N as first address"
-msgstr "îÅÍÏÖÌÉ×Ï ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ +N ÞÉ ~N ÑË ÐÅÒÛÕ ÁÄÒÅÓÕ"
-
-#: sed/compile.c:164
-#, fuzzy
-msgid "unmatched `{'"
-msgstr "îÅÚÁËÒÉÔÁ ÄÕÖËÁ \"{\""
-
-#: sed/compile.c:165
-#, fuzzy
-msgid "unexpected `}'"
-msgstr "îÅÏÞ¦ËÕ×ÁÎÁ ÄÕÖËÁ `}'"
-
-#: sed/compile.c:166
-#, fuzzy
-msgid "extra characters after command"
-msgstr "úÁÊצ ÓÉÍ×ÏÌÉ Ð¦ÓÌÑ ËÏÍÁÎÄÉ"
-
-#: sed/compile.c:167
-#, fuzzy
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "ïÞ¦ËÕ×ÁÌÏÓÑ \\ ЦÓÌÑ \"a\", \"c\" ÞÉ \"i\""
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "`}' ÎÅ ÐÏÔÒÅÂÕ¤ ÂÕÄØ-ÑËÉÈ ÁÄÒÅÓ"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": ÎÅ ÐÏÔÒÅÂÕ¤ ÂÕÄØ-ÑËÉÈ ÁÄÒÅÓ"
-
-#: sed/compile.c:170
-#, fuzzy
-msgid "comments don't accept any addresses"
-msgstr "ëÏÍÅÎÔÁÒ¦ ×ÖÉ×ÁÀÔØÓÑ ÂÅÚ ÁÄÒÅÓ"
-
-#: sed/compile.c:171
-#, fuzzy
-msgid "missing command"
-msgstr "ðÒÏÐÕÝÅÎÏ ËÏÍÁÎÄÕ"
-
-#: sed/compile.c:172
-#, fuzzy
-msgid "command only uses one address"
-msgstr "ëÏÍÁÎÄÁ ÐÒÁÃÀ¤ ÌÉÛÅ Ú ÏÄΦ¤À ÁÄÒÅÓÏÀ"
-
-#: sed/compile.c:173
-#, fuzzy
-msgid "unterminated address regex"
-msgstr "îÅ ÚÁ×ÅÒÛÅÎÏ ÒÅÇÕÌÑÒÎÉÊ ×ÉÒÁÚ ÁÄÒÅÓÉ"
-
-#: sed/compile.c:174
-#, fuzzy
-msgid "unterminated `s' command"
-msgstr "îÅ ÚÁ×ÅÒÛÅÎÏ ËÏÍÁÎÄÕ \"s\""
-
-#: sed/compile.c:175
-#, fuzzy
-msgid "unterminated `y' command"
-msgstr "îÅ ÚÁ×ÅÒÛÅÎÏ ËÏÍÁÎÄÕ \"y\""
-
-#: sed/compile.c:176
-#, fuzzy
-msgid "unknown option to `s'"
-msgstr "îÅצÄÏÍÁ ËÌÀÞ ÄÏ \"s\""
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "ÚÁÂÁÇÁÔÏ ËÌÀÞ¦× \"p\" ÄÏ ËÏÍÁÎÄÉ \"s\""
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "ÚÁÂÁÇÁÔÏ ËÌÀÞ¦× \"g\" ÄÏ ËÏÍÁÎÄÉ \"s\""
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "ÚÁÂÁÇÁÔÏ ÞÉÓÌÏ×ÉÈ ÐÁÒÁÍÅÔÒ¦× ÄÏ ËÏÍÁÎÄÉ \"s\""
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "ÞÉÓÌÏ×ÉÊ ÐÁÒÁÍÅÔÒ ÄÏ ËÏÍÁÎÄÉ \"s\" ÎÅ ÍÏÖÅ ÂÕÔÉ ÎÕÌÅÍ"
-
-#: sed/compile.c:181
-#, fuzzy
-msgid "strings for `y' command are different lengths"
-msgstr "ÒÑÄËÉ ÄÌÑ ËÏÍÁÎÄÉ `y' Ò¦ÚÎϧ ÄÏ×ÖÉÎÉ"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr ""
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr ""
-
-#: sed/compile.c:184
-#, fuzzy
-msgid "invalid usage of line address 0"
-msgstr "îÅÐÒÁ×ÉÌØÎÅ ×ÉËÏÒÉÓÔÁÎÎÑ ÍÏÄÉÆ¦ËÁÔÏÒÁ ÁÄÒÅÓÉ"
-
-#: sed/compile.c:185
-#, fuzzy, c-format
-msgid "unknown command: `%c'"
-msgstr "îÅצÄÏÍÁ ËÏÍÁÎÄÁ:"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: ÆÁÊÌ %s ÒÑÄÏË %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e ×ÉÒÁÚ #%lu, ̦ÔÅÒÁ %lu: %s\n"
-
-#: sed/compile.c:1665
-#, fuzzy, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "îÅÍÏÖÌÉ×Ï ÚÎÁÊÔÉ Í¦ÔËÕ ÄÌÑ ÐÅÒÅÈÏÄÕ ÄÏ \"%s\""
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: ÎÅÍÏÖÌÉ×Ï ÐÒÏÞÉÔÁÔÉ %s: %s\n"
-
-#: sed/execute.c:740
-#, fuzzy, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "ÎÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÅÌÅÍÅÎÔ %d ÄÏ %s: %s"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr ""
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, fuzzy, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ÆÁÊÌ %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "ÐÏÍÉÌËÁ Õ Ð¦ÄÐÒÏÃÅÓ¦"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "ËÌÀÞ \"e\" ΊЦÄÔÒÉÍÕ¤ÔØÓÑ"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "ËÏÍÁÎÄÁ \"e\" ΊЦÄÔÒÉÍÕ¤ÔØÓÑ"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-#, fuzzy
-msgid "no previous regular expression"
-msgstr "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÉÒÁÚÕ"
-
-#: sed/regexp.c:42
-#, fuzzy
-msgid "cannot specify modifiers on empty regexp"
-msgstr "îÅÍÏÖÌÉ×Ï ×ËÁÚÁÔÉ ÍÏÄÉÆ¦ËÁÔÏÒÉ ÎÁ ÐÏÒÏÖÎØÏÍÕ ÒÅÇÕÌÑÒÎÏÍÕ ×ÉÒÁÚ¦"
-
-#: sed/regexp.c:131
-#, fuzzy, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "îÅÐÒÁ×ÉÌØÎÅ ÐÏÓÉÌÁÎÎÑ \\%d Õ ÐÒÁ×¦Ê ÞÁÓÔÉΦ ËÏÍÁÎÄÉ \"s\""
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"ðÏצÄÏÍÌÅÎÎÑ ÐÒÏ ÐÏÍÉÌËÉ ÎÁÄÓÉÌÁÊÔÅ ÄÏ: %s .\n"
-"ïÂÏ×'ÑÚËÏ×Ï ÄÏÄÁÊÔÅ ÓÌÏ×Ï \"%s\" ÂÕÄØ-ÄÅ Õ ÐÏ̦ \"ôÅÍÁ:\".\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Õ ÓÃÅÎÁÒ¦ÑÈ ÒÅÇÕÌÑÒΦ ×ÉÒÁÚÉ Perl 5.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-
-#: sed/sed.c:146
-#, fuzzy, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Õ ÓÃÅÎÁÒ¦ÑÈ ÒÅÇÕÌÑÒΦ ×ÉÒÁÚÉ Perl 5.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr ""
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr ""
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed ×ÅÒÓ¦§ %s\n"
-
-#: sed/sed.c:316
-#, fuzzy, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"ÚÁÓÎÏ×ÁÎÉÊ ÎÁ GNU sed ×ÅÒÓ¦§ 3.02.80\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed ×ÅÒÓ¦§ %s\n"
-
-#: sed/sed.c:320
-#, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-
-#: sed/utils.c:93 sed/utils.c:438
-#, fuzzy, c-format
-msgid "cannot remove %s: %s"
-msgstr "%s: ÎÅÍÏÖÌÉ×Ï ÐÒÏÞÉÔÁÔÉ %s: %s\n"
-
-#: sed/utils.c:163
-#, fuzzy, c-format
-msgid "couldn't open file %s: %s"
-msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ÆÁÊÌ %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "ÎÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÅÌÅÍÅÎÔ %d ÄÏ %s: %s"
-
-#: sed/utils.c:245
-#, fuzzy, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "ÎÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÅÌÅÍÅÎÔ %d ÄÏ %s: %s"
-msgstr[1] "ÎÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÅÌÅÍÅÎÔ %d ÄÏ %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "ÐÏÍÉÌËÁ ÞÉÔÁÎÎÑ %s: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "îÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ ÆÁÊÌ %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "%s: ÎÅÍÏÖÌÉ×Ï ÐÒÏÞÉÔÁÔÉ %s: %s\n"
-
-#: sed/utils.c:443
-#, fuzzy, c-format
-msgid "cannot rename %s: %s"
-msgstr "%s: ÎÅÍÏÖÌÉ×Ï ÐÒÏÞÉÔÁÔÉ %s: %s\n"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "õÓЦÛÎÏ"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "îÅÍÁ¤ צÄÐÏצÄÎÏÓÔ¦"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "îÅÐÒÁ×ÉÌØÎÉÊ ÒÅÇÕÌÑÒÎÉÊ ×ÉÒÁÚ"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "îÅÐÒÁ×ÉÌØÎÉÊ ÓÉÍ×ÏÌ ÓЦ×ÓÔÁ×ÌÅÎÎÑ"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "îÅצÒÎÅ ¦Í'Ñ ËÌÁÓÕ ÓÉÍ×Ï̦×"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "ú×ÏÒÏÔÎ¦Ê ÓÌÅÛ Õ Ë¦Îæ ÒÑÄËÁ"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "îÅÐÒÁ×ÉÌØÎÅ Ú×ÏÒÏÔΤ ÐÏÓÉÌÁÎÎÑ"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "îÅ ÚÁËÒÉÔÏ [ ÞÉ [^"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "îÅ ÚÁËÒÉÔÏ ( ÞÉ \\("
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "îÅ ÚÁËÒÉÔÏ \\{"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "îÅÐÒÁ×ÉÌØÎÉÊ ×ͦÓÔ \\{\\}"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "îÅÐÒÁ×ÉÌØÎÉÊ Ë¦ÎÅÃØ ĦÁÐÁÚÏÎÕ"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "ðÁÍ'ÑÔØ ×ÉÞÅÒÐÁÎÏ"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "îÅÐÒÁ×ÉÌØÎÉÊ ÐÏÐÅÒÅÄÎ¦Ê ÒÅÇÕÌÑÒÎÉÊ ×ÉÒÁÚ"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "ðÅÒÅÄÞÁÓÎÅ ÚÁ˦ÎÞÅÎÎÑ ÒÅÇÕÌÑÒÎÏÇÏ ×ÉÒÁÚÕ"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "îÁÄÔÏ ×ÅÌÉËÉÊ ÒÅÇÕÌÑÒÎÉÊ ×ÉÒÁÚ"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "îÅ ÚÁËÒÉÔÏ ) ÞÉ \\)"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÉÒÁÚÕ"
-
-#~ msgid "Unexpected End-of-file"
-#~ msgstr "îÅÏÞ¦ËÕ×ÁÎÉÊ Ë¦ÎÅÃØ ÆÁÊÌÕ"
-
-#~ msgid "Called savchar() with unexpected pushback (%x)"
-#~ msgstr "÷ÉËÌÉË savchar() ¦Ú ÎÅÏÞ¦ËÕ×ÁÎÉÍ pushback (%x)"
-
-#~ msgid "INTERNAL ERROR: bad address type"
-#~ msgstr "÷îõôò¶ûîñ ðïíéìëá: ÎÅצÒÎÉÊ ÔÉÐ ÁÄÒÅÓÉ"
-
-#~ msgid "INTERNAL ERROR: Bad cmd %c"
-#~ msgstr "÷îõôò¶ûîñ ðïíéìëá: èÉÂÎÁ ËÏÍÁÎÄÁ %c"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " suppress automatic printing of pattern space\n"
-#~ " -e script, --expression=script\n"
-#~ " add the script to the commands to be executed\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " add the contents of script-file to the commands to be "
-#~ "executed\n"
-#~ " -i[suffix], --in-place[=suffix]\n"
-#~ " edit files in place (makes backup if extension "
-#~ "supplied)\n"
-#~ " -l N, --line-length=N\n"
-#~ " specify the desired line-wrap length for the `l' "
-#~ "command\n"
-#~ " -r, --regexp-extended\n"
-#~ " use extended regular expressions in the script.\n"
-#~ "%s -s, --separate\n"
-#~ " consider files as separate rather than as a single "
-#~ "continuous\n"
-#~ " long stream.\n"
-#~ " -u, --unbuffered\n"
-#~ " load minimal amounts of data from the input files and "
-#~ "flush\n"
-#~ " the output buffers more often\n"
-#~ " --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
-#~ "non-option argument is taken as the sed script to interpret. All\n"
-#~ "remaining arguments are names of input files; if no input files are\n"
-#~ "specified, then the standard input is read.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "÷ÉËÏÒÉÓÔÁÎÎÑ: %s [ëìàþ].. {ÓËÒÉÐÔ-ÑËÝÏ-ÎÅÍÁ-¦ÎÛÉÈ-ÓËÒÉÐÔ¦×} [×ȦÄÎÉÊ-"
-#~ "ÆÁÊÌ]...\n"
-#~ "\n"
-#~ " -n, --quiet, --silent\n"
-#~ " ×ÉÍËÎÕÔÉ Á×ÔÏÍÁÔÉÞÎÉÊ ÄÒÕË ËÏͦÒËÉ ÒÅÇÕÌÑÒÎÏÇÏ ×ÉÒÁÚÕ\n"
-#~ " -e script, --expression=script\n"
-#~ " ÄÏÄÁÔÉ ÓÃÅÎÁÒ¦Ê ÄÏ ËÏÍÁÎÄ, ÝÏ ÂÕÄÕÔØ ×ÉËÏÎÁΦ\n"
-#~ " -f script-file, --file=script-file\n"
-#~ " ÄÏÄÁÔÉ ×ͦÓÔ ÆÁÊÌÁ ÓÃÅÎÁÒ¦§× ÄÏ ËÏÍÁÎÄ, ÝÏ ÂÕÄÕÔØ "
-#~ "×ÉËÏÎÁΦ\n"
-#~ " -i[ÓÕÆ¦ËÓ], --in-place[=ÓÕÆ¦ËÓ]\n"
-#~ " ÒÅÄÁÇÕ×ÁÔÉ ÆÁÊÌÉ \"ÎÁ ͦÓæ\"\n"
-#~ " (ÒÏÂÉÔÉ ËÏЦ§, ÑËÝÏ ×ËÁÚÁÎÏ ÒÏÚÛÉÒÅÎÎÑ)\n"
-#~ " -l N, --line-length=N\n"
-#~ " ×ËÁÚÁÔÉ ÂÁÖÁÎÕ ÄÏ×ÖÉÎÕ ÐÅÒÅÎÅÓÅÎÎÑ ÒÑÄËÁ ÄÌÑ ËÏÍÁÎÄÉ \"l"
-#~ "\"\n"
-#~ " -r, --regexp-extended\n"
-#~ " ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Õ ÓÃÅÎÁÒ¦ÑÈ ÒÏÚÛÉÒÅΦ ÒÅÇÕÌÑÒΦ ×ÉÒÁÚÉ.\n"
-#~ "%s -s, --separate\n"
-#~ " ÒÏÚÇÌÑÄÁÔÉ ÆÁÊÌÉ ÒÏÚĦÌÅÎÉÍÉ, Á ÎÅ ÑË ¤ÄÉÎÉÊ ÄÏ×ÇÉÊ "
-#~ "ÐÏÔ¦Ë\n"
-#~ " -u, --unbuffered\n"
-#~ " ÂÒÁÔÉ Í¦Î¦ÍÁÌØÎÕ Ë¦ÌØË¦ÓÔØ ÄÁÎÉÈ Ú ×ȦÄÎÉÈ ÆÁÊ̦×,\n"
-#~ " ÔÁ ÏÞÉÝÁÔÉ ×ÉȦÄΦ ÂÕÆÅÒÉ ÞÁÓÔ¦ÛÅ\n"
-#~ " --help ÐÏËÁÚÁÔÉ ÃÀ ЦÄËÁÚËÕ ÔÁ ×ÉÊÔÉ\n"
-#~ " -V, --version ÐÏËÁÚÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ×ÅÒÓ¦À ÔÁ ×ÉÊÔÉ\n"
-#~ "\n"
-#~ "ñËÝÏ ÎÅ ÚÁÄÁÎÏ ÏÄÎÅ Ú -e, --expression, -f, ÞÉ --file, ÐÅÒÛÉÊ ÁÒÇÕÍÅÎÔ,\n"
-#~ "ÑËÉÊ ÎÅ ¤ rk.xtv ××ÁÖÁÔÉÍÅÔØÓÑ ÓÃÅÎÁÒ¦¤Í, ÚÁÄÁÎÉÍ ÎÁ ×ÉËÏÎÁÎÎÑ. ÷Ó¦ "
-#~ "¦ÎÛ¦\n"
-#~ "ÁÒÇÕÍÅÎÔÉ ¤ ¦ÍÅÎÁÍÉ ×ȦÄÎÉÈ ÆÁÊ̦×; ÑËÝÏ Ö ÔÁ˦ ÎÅ ÚÁÄÁÎÏ,\n"
-#~ "ÄÁΦ ÂÕÄÕÔØ ÚÞÉÔÁΦ ¦Ú ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÕ.\n"
-#~ "\n"
diff --git a/sources/host-tools/sed-4.2.1/po/vi.gmo b/sources/host-tools/sed-4.2.1/po/vi.gmo
deleted file mode 100644
index 02e2279..0000000
--- a/sources/host-tools/sed-4.2.1/po/vi.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/vi.po b/sources/host-tools/sed-4.2.1/po/vi.po
deleted file mode 100644
index c8dcde9..0000000
--- a/sources/host-tools/sed-4.2.1/po/vi.po
+++ /dev/null
@@ -1,511 +0,0 @@
-# Vietnamese translation for Sed.
-# Copyright © 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the sed-4.2.0 package.
-# Clytie Siddall <clytie@riverland.net.au>, 2005-2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-18 21:56+1030\n"
-"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
-"Language-Team: Vietnamese <vi-VN@googlegroups.com> \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: LocFactory Editor 1.7b1\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "có nhiều dấu cảm « ! »"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "gặp dấu phẩy « , » bất thường"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "dùng « +N » hay « -N » như là địa chỉ đầu tiên một cách không là hợp lệ"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "có dấu ngoặc móc mở « { » riêng lẻ"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "gặp dấu ngoặc móc đóng « } » bất thường"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "có ký tự thêm nằm sau lệnh"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "yêu cầu « \\ » nằm sau « a », « c » hay « i »"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "dấu ngoặc móc đóng « } » không yêu cầu địa chỉ"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr "dấu hai chấm « : » không yêu cầu địa chỉ"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "chú thích không chấp nhận địa chỉ"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "thiếu lệnh"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "lệnh chỉ dùng một địa chỉ riêng lẻ"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "biểu thức chính quy kiểu đia chỉ chưa kết thúc"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "lệnh « s » chưa kết thúc"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "lệnh « y » chưa kết thúc"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "« s » có tùy chọn không rõ"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "lệnh « s » có nhiều tùy chọn kiểu « p »"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "lệnh « s » có nhiều tùy chọn kiểu « g »"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "lệnh « s » có nhiều tùy chọn kiểu con số"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "không cho phép lệnh « s » có tùy chọn con số là số không"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "lệnh « y » có các chuỗi có chiều dài khác nhau"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "ký tự định giới không phải là ký tự byte đơn"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "yêu cầu phiên bản trình sed mới hơn"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "sai dùng địa chỉ dòng 0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "không rõ lệnh: « %c »"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: tập tin %s dòng %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e biểu thức #%lu, ký tư %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "không tìm thấy nhãn để nhảy tới « %s »"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: không thể đọc %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "không thể chỉnh sửa %s: là thiết bị cuối"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "không thể chỉnh sửa %s: không phải là tập tin chuẩn"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "không thể mở tập tin tạm thời %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "gặp lỗi trong tiến trình con"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "không hỗ trợ tùy chọn « e »"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "không hỗ trợ lệnh « e »"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "không có tập tin nhập vào"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "không có biểu thức chính quy nằm trước"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "không thể ghi rõ cờ sửa đổi với biểu thức chính quy trống"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "tham chiếu không hơp lệ « \\%d » bên phải lệnh « s »"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"Hãy thông báo lỗi cho: %s .\n"
-"Thư thông báo nên chứa từ « %s » trong trường « Chủ đề ».\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" sử dụng cú pháp của biểu thức chính quy kiểu Perl 5\n"
-"\t\t\ttrong văn lệnh.\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"Sử dụng: %s [TÙY_CHỌN]... {văn lệnh chỉ nếu không có văn bản khác} [tập tin "
-"nhập vào]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" thu hồi chức năng tự động in ra khoảng cách mẫu\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e văn_lệnh, --expression=văn_lệnh\n"
-" thêm văn lệnh này vào các câu lệnh cần thực hiện\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f tập_tin_văn_lệnh --file=tập_tin_văn_lệnh\n"
-" thêm nội dụng của tập tin văn lệnh này\n"
-"\t\t\tvào các câu lệnh cần thực hiện\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" theo liên kết tượng trưng khi xử lý tại chỗ\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[HẬU_TỐ], --in-place[=HẬU_TỐ]\n"
-" chỉnh sửa tập tin tại chỗ\n"
-"\t\t\t(tạo bản sao lưu nếu phần mở rộng được cung cấp)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" mở tập tin ở chế độ nhị phân\n"
-"\t\t\t(không phải xử lý đặc biệt ký tự xuống dòng CR+LF)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" ghi rõ chiều dài ngắt dòng đá muốn cho lệnh « l »\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" tắt mọi phần mở rộng kiểu GNU\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" dùng biểu thức chính quy đã mở rộng trong văn lênh.\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" thấy các tập tin là riêng với nhau, hơn là một luồng liên "
-"tục riêng lẻ.\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" nạp số lượng dữ liệu tối thiểu từ các tập tin nhấp vào,\n"
-"\t\t\tvà làm tràn thường xuyên hơn các bộ đệm xuất\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help \t\thiện trợ giúp này rồi thoát\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version \txuất thông tin phiên bản rồi thoát\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"Không đưa ra tùy chọn « -e », « --expression » (biểu thức),\n"
-"« -f » hay « --file » (tập tin) thì đối số khác tùy chọn thứ nhất\n"
-"được xử lý như là văn lệnh sed cần giải dịch. Tất cả các đối số\n"
-"còn lại là tên của tập tin nhập vào ; không ghi rõ tập tin nhập\n"
-"thì đọc đầu vào tiêu chuẩn.\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "super-sed phiên bản %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"dựa vào trình sed phiên bản %s của GNU\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "sed phiên bản %s của GNU\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"Chương trình này là phần mềm tự do; xem mã nguồn để tìm điều kiện sao chép.\n"
-"KHÔNG CÓ BẢO HÀNH GÌ CẢ, THẬM CHÍ KHÔNG CÓ BẢO ĐẢM ĐƯỢC NGỤ Ý\n"
-"KHẢ NĂNG BÁN HAY KHẢ NĂNG LÀM ĐƯỢC VIỆC DỨT KHOÁT,\n"
-"với điều kiện được pháp luật cho phép.\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "không thể gỡ bỏ %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "không thể mở tập tin %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "không thể gắn với %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "không thể ghi %d mục vào %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "lỗi đọc trên %s: %s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "không thể theo liên kết tượng trưng %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "không thể lấy trạng thái về %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "không thể thay đổi tên của %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "Thành công"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "Không tìm thấy"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "Biểu thức chính quy không hợp lệ"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "Ký tự đối chiếu không hợp lệ"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "Tên hạng ký tự không hợp lệ"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "Có dấu xuyệc ngược theo sau"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "Tham chiếu ngược không hợp lệ"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "Có dấu ngoặc vu mở « [ » hay « [^ » riêng lẻ"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "Có dấu ngoặc mở « ( » hay « \\( » riêng lẻ"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "Có dấu ngoặc đơn mở « \\( » riêng lẻ"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "« \\{\\} » có nội dung không hợp lệ"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "Kết thúc phạm vị không hợp lệ"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "Cạn bộ nhớ"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "Biểu thức chính quy đi trước không hợp lệ"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "Biểu thức chính quy kết thúc quá sớm"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "Biểu thức chính quy quá lớn"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "Có dấu ngoặc đơn đóng « ) » hay « \\) » riêng lẻ"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "Không có biểu thức chính quy đi trước"
diff --git a/sources/host-tools/sed-4.2.1/po/zh_CN.gmo b/sources/host-tools/sed-4.2.1/po/zh_CN.gmo
deleted file mode 100644
index 24f2ed0..0000000
--- a/sources/host-tools/sed-4.2.1/po/zh_CN.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/zh_CN.po b/sources/host-tools/sed-4.2.1/po/zh_CN.po
deleted file mode 100644
index 6ed8359..0000000
--- a/sources/host-tools/sed-4.2.1/po/zh_CN.po
+++ /dev/null
@@ -1,500 +0,0 @@
-# Simplified Chinese(zh_CN) translation for sed
-#
-# Copyright (C) 2002, 2007, 2008 Free Software Foundation, Inc.
-# LI Daobing <lidaobing@gmail.com>, 2007, 2008.
-# Wang Li <charles@linux.net.cn>, 2002.
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.2.0\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2008-01-28 23:17+0800\n"
-"Last-Translator: LI Daobing <lidaobing@gmail.com>\n"
-"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
-"sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "多个“!”"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "意外的“,”"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "无法将 +N 或 ~N 作为第一个地址"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "未匹配的“{”"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "意外的“}”"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "命令后含有多余的字符"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "期望在“a”, “c”, “i”之后有“\\”"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "“}”不需要任何地址"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": 不需要任何地址"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "注释不接受任何地址"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "遗漏命令"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "命令只使用一个地址"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "未终止的地址正则表达式"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "未终止的“s”命令"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "未终止的“y”命令"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "“s”的未知选项"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "多个“s”命令的选项“p”"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "多个“s”命令的选项“g”"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "多个“s”命令的数值选项"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "“s”命令的数值选项不能为零"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "“y”命令的字符串长度不同"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "分割符长度不为1"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "需要更高版本的sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "非法使用地址0"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "未知的命令:“%c”"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s:文件 %s 行号:%lu:%s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s:-e 表达式 #%lu,字符 %lu:%s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "无法为目的为“%s”的跳转找到标签"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s:无法读取 %s:%s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "无法编辑文件 %s: 这是一个终端"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "无法编辑文件 %s: 不是一个普通文件"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "无法打开临时文件 %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "子进程出错"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "不支持选项“e”"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "不支持命令“e”"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr "没有输入文件"
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "前面没有正则表达式"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "无法对空正则表达式指定修饰符"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "“s”命令的RHS非法引用\\%d"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"将错误报告通过电子邮件发送到:%s .\n"
-"请务必将单词“%s”放在标题的某处。\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" 使用 Perl 5 的正则表达式语法\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"用法: %s [选项]... {脚本(如果没有其他脚本)} [输入文件]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" 取消自动打印模式空间\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e 脚本, --expression=脚本\n"
-" 添加“脚本”到程序的运行列表\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f 脚本文件, --file=脚本文件\n"
-" 添加“脚本文件”到程序的运行列表\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-" --follow-symlinks\n"
-" 直接修改文件时跟随软链接\n"
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[扩展名], --in-place[=扩展名]\n"
-" 直接修改文件(如果指定扩展名就备份文件)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-" -b, --binary\n"
-" 以二进制方式打开文件 (回车加换行不做特殊处理)\n"
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" 指定“l”命令的换行期望长度\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" 关闭所有 GNU 扩展\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" 在脚本中使用扩展正则表达式\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" 将输入文件视为各个独立的文件而不是一个长的连续输入\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" 从输入文件读取最少的数据,更频繁的刷新输出\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help 打印帮助并退出\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version 输出版本信息并退出\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为\n"
-"sed脚本。其他非选项参数被视为输入文件,如果没有输入文件,那么程序将从标准\n"
-"输入读取数据。\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "超级-sed 版本 %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"基于 GNU sed 版本 %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed 版本 %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"该程序为自由软件,详情可参阅版权条款。在法律允许的范围内我们不作任何担保,\n"
-"这包含但不限于任何商业适售性以及针对特定目的的适用性的担保。\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "无法移除 %s:%s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "无法打开文件 %s: %s"
-
-#: sed/utils.c:186
-#, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "无法绑定 %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "无法将 %d 个项目写入 %s:%s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "读取 %s 出错:%s"
-
-#: sed/utils.c:378
-#, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "无法跟随软链接 %s: %s"
-
-#: sed/utils.c:412
-#, c-format
-msgid "cannot stat %s: %s"
-msgstr "无法获取 %s 的状态: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "无法重命名 %s:%s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "成功"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "没有匹配项"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "非法的正则表达式"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "非法的收集字符"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "非法的字符类型名"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "尾端的“\\”"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "非法回引用"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "未匹配的“[”或者“[^”"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "未匹配的“(”或者“\\(”"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "未匹配的“\\{”"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "“\\{\\}”中内容非法"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "非法的范围结束"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "内存耗尽"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "非法的正则表达式头"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "正则表达式不完整"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "正则表达式过大"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "未匹配的“)”或者“\\)”"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "前面没有正则表达式"
diff --git a/sources/host-tools/sed-4.2.1/po/zh_TW.gmo b/sources/host-tools/sed-4.2.1/po/zh_TW.gmo
deleted file mode 100644
index 6d08a22..0000000
--- a/sources/host-tools/sed-4.2.1/po/zh_TW.gmo
+++ /dev/null
Binary files differ
diff --git a/sources/host-tools/sed-4.2.1/po/zh_TW.po b/sources/host-tools/sed-4.2.1/po/zh_TW.po
deleted file mode 100644
index b397134..0000000
--- a/sources/host-tools/sed-4.2.1/po/zh_TW.po
+++ /dev/null
@@ -1,496 +0,0 @@
-# Traditional Chinese Messages for the sed
-# Copyright (C) 2002, 05 Free Software Foundation, Inc.
-# Wang Li <charles@linux.net.cn>, 2002
-# Wei-Lun Chao <chaoweilun@pcmail.com.tw>, 2005
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: sed 4.1.4\n"
-"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
-"POT-Creation-Date: 2009-06-27 15:08+0200\n"
-"PO-Revision-Date: 2005-04-20 09:37+0800\n"
-"Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
-"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: sed/compile.c:161
-msgid "multiple `!'s"
-msgstr "多個「!」"
-
-#: sed/compile.c:162
-msgid "unexpected `,'"
-msgstr "未預期的「,」"
-
-#: sed/compile.c:163
-msgid "invalid usage of +N or ~N as first address"
-msgstr "無法將 +N 或 ~N 作為第一個位址"
-
-#: sed/compile.c:164
-msgid "unmatched `{'"
-msgstr "未匹配的「{」"
-
-#: sed/compile.c:165
-msgid "unexpected `}'"
-msgstr "未預期的「}」"
-
-#: sed/compile.c:166
-msgid "extra characters after command"
-msgstr "命令後含有多餘的字元"
-
-#: sed/compile.c:167
-msgid "expected \\ after `a', `c' or `i'"
-msgstr "預期在「a」、「c」或「i」之後出現 \\"
-
-#: sed/compile.c:168
-msgid "`}' doesn't want any addresses"
-msgstr "「}」不需要任何位址"
-
-#: sed/compile.c:169
-msgid ": doesn't want any addresses"
-msgstr ": 不需要任何位址"
-
-#: sed/compile.c:170
-msgid "comments don't accept any addresses"
-msgstr "備註不接受任何位址"
-
-#: sed/compile.c:171
-msgid "missing command"
-msgstr "遺漏命令"
-
-#: sed/compile.c:172
-msgid "command only uses one address"
-msgstr "命令只使用一個位址"
-
-#: sed/compile.c:173
-msgid "unterminated address regex"
-msgstr "未結束的位址正規表示式"
-
-#: sed/compile.c:174
-msgid "unterminated `s' command"
-msgstr "未結束的「s」命令"
-
-#: sed/compile.c:175
-msgid "unterminated `y' command"
-msgstr "未結束的「y」命令"
-
-#: sed/compile.c:176
-msgid "unknown option to `s'"
-msgstr "「s」的未知選項"
-
-#: sed/compile.c:177
-msgid "multiple `p' options to `s' command"
-msgstr "多個「s」命令的選項「p」"
-
-#: sed/compile.c:178
-msgid "multiple `g' options to `s' command"
-msgstr "多個「s」命令的選項「g」"
-
-#: sed/compile.c:179
-msgid "multiple number options to `s' command"
-msgstr "多個「s」命令的數值選項"
-
-#: sed/compile.c:180
-msgid "number option to `s' command may not be zero"
-msgstr "「s」命令的數值選項不能為零"
-
-#: sed/compile.c:181
-msgid "strings for `y' command are different lengths"
-msgstr "y 命令的字串長度不同"
-
-#: sed/compile.c:182
-msgid "delimiter character is not a single-byte character"
-msgstr "分隔字元不是單一位元字元"
-
-#: sed/compile.c:183
-msgid "expected newer version of sed"
-msgstr "預期使用新版的 sed"
-
-#: sed/compile.c:184
-msgid "invalid usage of line address 0"
-msgstr "非法使用位址第 0 列"
-
-#: sed/compile.c:185
-#, c-format
-msgid "unknown command: `%c'"
-msgstr "未知的命令: 「%c」"
-
-#: sed/compile.c:208
-#, c-format
-msgid "%s: file %s line %lu: %s\n"
-msgstr "%s: 檔案 %s 行號: %lu: %s\n"
-
-#: sed/compile.c:211
-#, c-format
-msgid "%s: -e expression #%lu, char %lu: %s\n"
-msgstr "%s: -e 表示式 #%lu,字元 %lu: %s\n"
-
-#: sed/compile.c:1665
-#, c-format
-msgid "can't find label for jump to `%s'"
-msgstr "無法為目的是「%s」的跳移找到標籤"
-
-#: sed/execute.c:709
-#, c-format
-msgid "%s: can't read %s: %s\n"
-msgstr "%s: 無法讀取 %s: %s\n"
-
-#: sed/execute.c:740
-#, c-format
-msgid "couldn't edit %s: is a terminal"
-msgstr "無法編輯 %s: 是一個終端機"
-
-#: sed/execute.c:745
-#, c-format
-msgid "couldn't edit %s: not a regular file"
-msgstr "無法編輯 %s: 不是一個正常檔案"
-
-#: sed/execute.c:757
-#, c-format
-msgid "%s: warning: failed to set default file creation context to %s: %s"
-msgstr ""
-
-#: sed/execute.c:764
-#, c-format
-msgid "%s: warning: failed to get security context of %s: %s"
-msgstr ""
-
-#: sed/execute.c:783 sed/utils.c:227
-#, c-format
-msgid "couldn't open temporary file %s: %s"
-msgstr "無法打開暫存檔案 %s: %s"
-
-#: sed/execute.c:1317 sed/execute.c:1497
-msgid "error in subprocess"
-msgstr "錯誤發生於副行程中"
-
-#: sed/execute.c:1319
-msgid "option `e' not supported"
-msgstr "不支援選項「e」"
-
-#: sed/execute.c:1499
-msgid "`e' command not supported"
-msgstr "不支援命令「e」"
-
-#: sed/execute.c:1843
-msgid "no input files"
-msgstr ""
-
-#: sed/regexp.c:41
-msgid "no previous regular expression"
-msgstr "不存在之前的正規表示式"
-
-#: sed/regexp.c:42
-msgid "cannot specify modifiers on empty regexp"
-msgstr "無法指定修飾字元給空的正規表示式"
-
-#: sed/regexp.c:131
-#, c-format
-msgid "invalid reference \\%d on `s' command's RHS"
-msgstr "「s」命令的 RHS 上不正確的參考值 \\%d"
-
-#: sed/sed.c:97
-#, c-format
-msgid ""
-"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
-"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
-msgstr ""
-
-#: sed/sed.c:104
-#, fuzzy, c-format
-msgid ""
-"E-mail bug reports to: <%s>.\n"
-"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
-msgstr ""
-"將錯誤報告經由電子郵件發送到: %s 。\n"
-"請確定將單字「%s」放在「Subject:」欄的某處。\n"
-
-#: sed/sed.c:117
-msgid ""
-" -R, --regexp-perl\n"
-" use Perl 5's regular expressions syntax in the script.\n"
-msgstr ""
-" -R, --regexp-perl\n"
-" 在命令稿中使用 Perl 5 的正規表示式語法。\n"
-
-#: sed/sed.c:122
-#, c-format
-msgid ""
-"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
-"\n"
-msgstr ""
-"用法: %s [選項]... {若無其他命令稿則只能放命令稿} [輸入檔]...\n"
-"\n"
-
-#: sed/sed.c:126
-#, c-format
-msgid ""
-" -n, --quiet, --silent\n"
-" suppress automatic printing of pattern space\n"
-msgstr ""
-" -n, --quiet, --silent\n"
-" 抑止樣版空間的自動顯示\n"
-
-#: sed/sed.c:128
-#, c-format
-msgid ""
-" -e script, --expression=script\n"
-" add the script to the commands to be executed\n"
-msgstr ""
-" -e 命令稿, --expression=命令稿\n"
-" 加入命令稿做為執行的命令\n"
-
-#: sed/sed.c:130
-#, c-format
-msgid ""
-" -f script-file, --file=script-file\n"
-" add the contents of script-file to the commands to be "
-"executed\n"
-msgstr ""
-" -f 命令稿檔案, --file=命令稿檔案\n"
-" 加入命令稿檔案內容做為執行的命令\n"
-
-#: sed/sed.c:133
-#, c-format
-msgid ""
-" --follow-symlinks\n"
-" follow symlinks when processing in place\n"
-msgstr ""
-
-#: sed/sed.c:136
-#, c-format
-msgid ""
-" -i[SUFFIX], --in-place[=SUFFIX]\n"
-" edit files in place (makes backup if extension supplied)\n"
-msgstr ""
-" -i[副檔名], --in-place[=副檔名]\n"
-" 直接編輯檔案 (若提供副檔名則會產生備份)\n"
-
-#: sed/sed.c:139
-#, c-format
-msgid ""
-" -b, --binary\n"
-" open files in binary mode (CR+LFs are not processed "
-"specially)\n"
-msgstr ""
-
-#: sed/sed.c:142
-#, c-format
-msgid ""
-" -l N, --line-length=N\n"
-" specify the desired line-wrap length for the `l' command\n"
-msgstr ""
-" -l N, --line-length=N\n"
-" 指定使用「l」命令時想要的換列長度\n"
-
-#: sed/sed.c:144
-#, c-format
-msgid ""
-" --posix\n"
-" disable all GNU extensions.\n"
-msgstr ""
-" --posix\n"
-" 停用所有 GNU 擴充功能。\n"
-
-#: sed/sed.c:146
-#, c-format
-msgid ""
-" -r, --regexp-extended\n"
-" use extended regular expressions in the script.\n"
-msgstr ""
-" -r, --regexp-extended\n"
-" 在命令稿中使用擴充的正規表示式。\n"
-
-#: sed/sed.c:151
-#, c-format
-msgid ""
-" -s, --separate\n"
-" consider files as separate rather than as a single "
-"continuous\n"
-" long stream.\n"
-msgstr ""
-" -s, --separate\n"
-" 將檔案視為各自分離而非單一連續的長字串。\n"
-
-#: sed/sed.c:154
-#, c-format
-msgid ""
-" -u, --unbuffered\n"
-" load minimal amounts of data from the input files and "
-"flush\n"
-" the output buffers more often\n"
-msgstr ""
-" -u, --unbuffered\n"
-" 從輸入檔中讀取最少量的資料並更常清空輸出緩衝區\n"
-
-#: sed/sed.c:157
-#, c-format
-msgid " --help display this help and exit\n"
-msgstr " --help 顯示本輔助訊息並離開\n"
-
-#: sed/sed.c:158
-#, c-format
-msgid " --version output version information and exit\n"
-msgstr " --version 輸出版本資訊並離開\n"
-
-#: sed/sed.c:159
-#, c-format
-msgid ""
-"\n"
-"If no -e, --expression, -f, or --file option is given, then the first\n"
-"non-option argument is taken as the sed script to interpret. All\n"
-"remaining arguments are names of input files; if no input files are\n"
-"specified, then the standard input is read.\n"
-"\n"
-msgstr ""
-"\n"
-"如果未設定 -e, --expression, -f, 或 --file 選項,那麼第一個不是選項的\n"
-"引數就會被當做 sed 的命令稿來解譯。所有剩下的引數則是輸入檔的名稱;\n"
-"假如未指定輸入檔,就會從標準輸入來讀取。\n"
-"\n"
-
-#: sed/sed.c:315
-#, c-format
-msgid "super-sed version %s\n"
-msgstr "超級 sed 版本 %s\n"
-
-#: sed/sed.c:316
-#, c-format
-msgid ""
-"based on GNU sed version %s\n"
-"\n"
-msgstr ""
-"基於 GNU sed 版本 %s\n"
-"\n"
-
-#: sed/sed.c:318
-#, c-format
-msgid "GNU sed version %s\n"
-msgstr "GNU sed 版本 %s\n"
-
-#: sed/sed.c:320
-#, fuzzy, c-format
-msgid ""
-"Copyright (C) %d Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n"
-"to the extent permitted by law.\n"
-msgstr ""
-"%s\n"
-"這是自由軟體;參閱原始碼以獲得版權狀態。在法律允許的範圍內不提供任何保證;\n"
-"即使是對於銷售權利或是為了適合於某種特殊目的。\n"
-
-#: sed/utils.c:93 sed/utils.c:438
-#, c-format
-msgid "cannot remove %s: %s"
-msgstr "無法移除 %s: %s"
-
-#: sed/utils.c:163
-#, c-format
-msgid "couldn't open file %s: %s"
-msgstr "無法打開檔案 %s: %s"
-
-#: sed/utils.c:186
-#, fuzzy, c-format
-msgid "couldn't attach to %s: %s"
-msgstr "無法將 %d 個項目寫入 %s: %s"
-
-#: sed/utils.c:245
-#, c-format
-msgid "couldn't write %d item to %s: %s"
-msgid_plural "couldn't write %d items to %s: %s"
-msgstr[0] "無法將 %d 個項目寫入 %s: %s"
-
-#: sed/utils.c:260 sed/utils.c:276
-#, c-format
-msgid "read error on %s: %s"
-msgstr "讀取 %s 出錯: %s"
-
-#: sed/utils.c:378
-#, fuzzy, c-format
-msgid "couldn't follow symlink %s: %s"
-msgstr "無法打開檔案 %s: %s"
-
-#: sed/utils.c:412
-#, fuzzy, c-format
-msgid "cannot stat %s: %s"
-msgstr "無法更改名稱 %s: %s"
-
-#: sed/utils.c:443
-#, c-format
-msgid "cannot rename %s: %s"
-msgstr "無法更改名稱 %s: %s"
-
-#: lib/regcomp.c:134
-msgid "Success"
-msgstr "成功"
-
-#: lib/regcomp.c:137
-msgid "No match"
-msgstr "沒有符合者"
-
-#: lib/regcomp.c:140
-msgid "Invalid regular expression"
-msgstr "不正確的正規表示式"
-
-#: lib/regcomp.c:143
-msgid "Invalid collation character"
-msgstr "不正確的核對字元"
-
-#: lib/regcomp.c:146
-msgid "Invalid character class name"
-msgstr "不正確的字元等級名稱"
-
-#: lib/regcomp.c:149
-msgid "Trailing backslash"
-msgstr "末端有倒斜線"
-
-#: lib/regcomp.c:152
-msgid "Invalid back reference"
-msgstr "不正確的返回參考"
-
-#: lib/regcomp.c:155
-msgid "Unmatched [ or [^"
-msgstr "未匹配的「[」或「[^」"
-
-#: lib/regcomp.c:158
-msgid "Unmatched ( or \\("
-msgstr "未匹配的「(」或「\\」"
-
-#: lib/regcomp.c:161
-msgid "Unmatched \\{"
-msgstr "未匹配的「\\{」"
-
-#: lib/regcomp.c:164
-msgid "Invalid content of \\{\\}"
-msgstr "不正確的「\\{\\}」內容"
-
-#: lib/regcomp.c:167
-msgid "Invalid range end"
-msgstr "不正確的範圍結束"
-
-#: lib/regcomp.c:170
-msgid "Memory exhausted"
-msgstr "記憶體耗盡"
-
-#: lib/regcomp.c:173
-msgid "Invalid preceding regular expression"
-msgstr "不正確的前導正規表示式"
-
-#: lib/regcomp.c:176
-msgid "Premature end of regular expression"
-msgstr "正規表示式的過早結束"
-
-#: lib/regcomp.c:179
-msgid "Regular expression too big"
-msgstr "正規表示式太大"
-
-#: lib/regcomp.c:182
-msgid "Unmatched ) or \\)"
-msgstr "未匹配的「)」或「\\」"
-
-#: lib/regcomp.c:703
-msgid "No previous regular expression"
-msgstr "沒有先前的正規表示式"
diff --git a/sources/host-tools/sed-4.2.1/sed/Makefile.am b/sources/host-tools/sed-4.2.1/sed/Makefile.am
deleted file mode 100644
index a164255..0000000
--- a/sources/host-tools/sed-4.2.1/sed/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-## Process this file with automake to produce Makefile.in
-bin_PROGRAMS = sed
-
-localedir = $(datadir)/locale
-
-sed_SOURCES = sed.c compile.c execute.c regexp.c fmt.c mbcs.c utils.c
-noinst_HEADERS = sed.h utils.h
-
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) -I$(top_builddir)/lib \
- -DLOCALEDIR=\"$(localedir)\"
-
-sed_LDADD = ../lib/libsed.a @INTLLIBS@ @LIB_ACL@ @LIB_SELINUX@
-sed_DEPENDENCIES = ../lib/libsed.a
-
-$(PROGRAMS): $(LDADD)
-
-
diff --git a/sources/host-tools/sed-4.2.1/sed/Makefile.in b/sources/host-tools/sed-4.2.1/sed/Makefile.in
deleted file mode 100644
index 62408cc..0000000
--- a/sources/host-tools/sed-4.2.1/sed/Makefile.in
+++ /dev/null
@@ -1,835 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = sed$(EXEEXT)
-subdir = sed
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lstat.m4 \
- $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/mbrlen.m4 \
- $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
- $(top_srcdir)/m4/selinux-context-h.m4 \
- $(top_srcdir)/m4/selinux-selinux-h.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
- $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strverscmp.m4 \
- $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wcrtomb.m4 \
- $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctype.m4 \
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_sed_OBJECTS = sed.$(OBJEXT) compile.$(OBJEXT) execute.$(OBJEXT) \
- regexp.$(OBJEXT) fmt.$(OBJEXT) mbcs.$(OBJEXT) utils.$(OBJEXT)
-sed_OBJECTS = $(am_sed_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(sed_SOURCES)
-DIST_SOURCES = $(sed_SOURCES)
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WRITE = @GNULIB_WRITE@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNSETENV = @HAVE_UNSETENV@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE__BOOL = @HAVE__BOOL@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSED_LIBDEPS = @LIBSED_LIBDEPS@
-LIBSED_LTLIBDEPS = @LIBSED_LTLIBDEPS@
-LIB_ACL = @LIB_ACL@
-LIB_SELINUX = @LIB_SELINUX@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED_FEATURE_VERSION = @SED_FEATURE_VERSION@
-SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
-SELINUX_SELINUX_H = @SELINUX_SELINUX_H@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDBOOL_H = @STDBOOL_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_STAT_H = @SYS_STAT_H@
-SYS_TIME_H = @SYS_TIME_H@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-USE_ACL = @USE_ACL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VOID_UNSETENV = @VOID_UNSETENV@
-WCHAR_H = @WCHAR_H@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WCTYPE_H = @WCTYPE_H@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XFAIL_TESTS = @XFAIL_TESTS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = $(datadir)/locale
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-sed_SOURCES = sed.c compile.c execute.c regexp.c fmt.c mbcs.c utils.c
-noinst_HEADERS = sed.h utils.h
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) -I$(top_builddir)/lib \
- -DLOCALEDIR=\"$(localedir)\"
-
-sed_LDADD = ../lib/libsed.a @INTLLIBS@ @LIB_ACL@ @LIB_SELINUX@
-sed_DEPENDENCIES = ../lib/libsed.a
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sed/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu sed/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-sed$(EXEEXT): $(sed_OBJECTS) $(sed_DEPENDENCIES)
- @rm -f sed$(EXEEXT)
- $(LINK) $(sed_OBJECTS) $(sed_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execute.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fmt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbcs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sed.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS
-
-
-$(PROGRAMS): $(LDADD)
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/sed/compile.c b/sources/host-tools/sed-4.2.1/sed/compile.c
deleted file mode 100644
index c4a5250..0000000
--- a/sources/host-tools/sed-4.2.1/sed/compile.c
+++ /dev/null
@@ -1,1742 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1989,90,91,92,93,94,95,98,99,2002,2003,2004,2005,2006,2008
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* compile.c: translate sed source into internal form */
-
-#include "sed.h"
-#include <stdio.h>
-#include <ctype.h>
-
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-# ifdef HAVE_MEMORY_H
-# include <memory.h>
-# endif
-#else
-# include <string.h>
-#endif /* HAVE_STRINGS_H */
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#include <obstack.h>
-
-
-#define YMAP_LENGTH 256 /*XXX shouldn't this be (UCHAR_MAX+1)?*/
-#define VECTOR_ALLOC_INCREMENT 40
-
-/* let's not confuse text editors that have only dumb bracket-matching... */
-#define OPEN_BRACKET '['
-#define CLOSE_BRACKET ']'
-#define OPEN_BRACE '{'
-#define CLOSE_BRACE '}'
-
-struct prog_info {
- /* When we're reading a script command from a string, `prog.base'
- points to the first character in the string, 'prog.cur' points
- to the current character in the string, and 'prog.end' points
- to the end of the string. This allows us to compile script
- strings that contain nulls. */
- const unsigned char *base;
- const unsigned char *cur;
- const unsigned char *end;
-
- /* This is the current script file. If it is NULL, we are reading
- from a string stored at `prog.cur' instead. If both `prog.file'
- and `prog.cur' are NULL, we're in trouble! */
- FILE *file;
-};
-
-/* Information used to give out useful and informative error messages. */
-struct error_info {
- /* This is the name of the current script file. */
- const char *name;
-
- /* This is the number of the current script line that we're compiling. */
- countT line;
-
- /* This is the index of the "-e" expressions on the command line. */
- countT string_expr_count;
-};
-
-
-/* Label structure used to resolve GOTO's, labels, and block beginnings. */
-struct sed_label {
- countT v_index; /* index of vector element being referenced */
- char *name; /* NUL-terminated name of the label */
- struct error_info err_info; /* track where `{}' blocks start */
- struct sed_label *next; /* linked list (stack) */
-};
-
-struct special_files {
- struct output outf;
- FILE **pfp;
-};
-
-FILE *my_stdin, *my_stdout, *my_stderr;
-struct special_files special_files[] = {
- { { "/dev/stdin", false, NULL, NULL }, &my_stdin },
- { { "/dev/stdout", false, NULL, NULL }, &my_stdout },
- { { "/dev/stderr", false, NULL, NULL }, &my_stderr },
- { { NULL, false, NULL, NULL }, NULL }
-};
-
-
-/* Where we are in the processing of the input. */
-static struct prog_info prog;
-static struct error_info cur_input;
-
-/* Information about labels and jumps-to-labels. This is used to do
- the required backpatching after we have compiled all the scripts. */
-static struct sed_label *jumps = NULL;
-static struct sed_label *labels = NULL;
-
-/* We wish to detect #n magic only in the first input argument;
- this flag tracks when we have consumed the first file of input. */
-static bool first_script = true;
-
-/* Allow for scripts like "sed -e 'i\' -e foo": */
-static struct buffer *pending_text = NULL;
-static struct text_buf *old_text_buf = NULL;
-
-/* Information about block start positions. This is used to backpatch
- block end positions. */
-static struct sed_label *blocks = NULL;
-
-/* Use an obstack for compilation. */
-static struct obstack obs;
-
-/* Various error messages we may want to print */
-static const char errors[] =
- "multiple `!'s\0"
- "unexpected `,'\0"
- "invalid usage of +N or ~N as first address\0"
- "unmatched `{'\0"
- "unexpected `}'\0"
- "extra characters after command\0"
- "expected \\ after `a', `c' or `i'\0"
- "`}' doesn't want any addresses\0"
- ": doesn't want any addresses\0"
- "comments don't accept any addresses\0"
- "missing command\0"
- "command only uses one address\0"
- "unterminated address regex\0"
- "unterminated `s' command\0"
- "unterminated `y' command\0"
- "unknown option to `s'\0"
- "multiple `p' options to `s' command\0"
- "multiple `g' options to `s' command\0"
- "multiple number options to `s' command\0"
- "number option to `s' command may not be zero\0"
- "strings for `y' command are different lengths\0"
- "delimiter character is not a single-byte character\0"
- "expected newer version of sed\0"
- "invalid usage of line address 0\0"
- "unknown command: `%c'";
-
-#define BAD_BANG (errors)
-#define BAD_COMMA (BAD_BANG + sizeof(N_("multiple `!'s")))
-#define BAD_STEP (BAD_COMMA + sizeof(N_("unexpected `,'")))
-#define EXCESS_OPEN_BRACE (BAD_STEP + sizeof(N_("invalid usage of +N or ~N as first address")))
-#define EXCESS_CLOSE_BRACE (EXCESS_OPEN_BRACE + sizeof(N_("unmatched `{'")))
-#define EXCESS_JUNK (EXCESS_CLOSE_BRACE + sizeof(N_("unexpected `}'")))
-#define EXPECTED_SLASH (EXCESS_JUNK + sizeof(N_("extra characters after command")))
-#define NO_CLOSE_BRACE_ADDR (EXPECTED_SLASH + sizeof(N_("expected \\ after `a', `c' or `i'")))
-#define NO_COLON_ADDR (NO_CLOSE_BRACE_ADDR + sizeof(N_("`}' doesn't want any addresses")))
-#define NO_SHARP_ADDR (NO_COLON_ADDR + sizeof(N_(": doesn't want any addresses")))
-#define NO_COMMAND (NO_SHARP_ADDR + sizeof(N_("comments don't accept any addresses")))
-#define ONE_ADDR (NO_COMMAND + sizeof(N_("missing command")))
-#define UNTERM_ADDR_RE (ONE_ADDR + sizeof(N_("command only uses one address")))
-#define UNTERM_S_CMD (UNTERM_ADDR_RE + sizeof(N_("unterminated address regex")))
-#define UNTERM_Y_CMD (UNTERM_S_CMD + sizeof(N_("unterminated `s' command")))
-#define UNKNOWN_S_OPT (UNTERM_Y_CMD + sizeof(N_("unterminated `y' command")))
-#define EXCESS_P_OPT (UNKNOWN_S_OPT + sizeof(N_("unknown option to `s'")))
-#define EXCESS_G_OPT (EXCESS_P_OPT + sizeof(N_("multiple `p' options to `s' command")))
-#define EXCESS_N_OPT (EXCESS_G_OPT + sizeof(N_("multiple `g' options to `s' command")))
-#define ZERO_N_OPT (EXCESS_N_OPT + sizeof(N_("multiple number options to `s' command")))
-#define Y_CMD_LEN (ZERO_N_OPT + sizeof(N_("number option to `s' command may not be zero")))
-#define BAD_DELIM (Y_CMD_LEN + sizeof(N_("strings for `y' command are different lengths")))
-#define ANCIENT_VERSION (BAD_DELIM + sizeof(N_("delimiter character is not a single-byte character")))
-#define INVALID_LINE_0 (ANCIENT_VERSION + sizeof(N_("expected newer version of sed")))
-#define UNKNOWN_CMD (INVALID_LINE_0 + sizeof(N_("invalid usage of line address 0")))
-#define END_ERRORS (UNKNOWN_CMD + sizeof(N_("unknown command: `%c'")))
-
-static struct output *file_read = NULL;
-static struct output *file_write = NULL;
-
-
-/* Complain about an unknown command and exit. */
-void
-bad_command(ch)
- char ch;
-{
- const char *msg = _(UNKNOWN_CMD);
- char *unknown_cmd = xmalloc(strlen(msg));
- sprintf(unknown_cmd, msg, ch);
- bad_prog(unknown_cmd);
-}
-
-/* Complain about a programming error and exit. */
-void
-bad_prog(why)
- const char *why;
-{
- if (cur_input.name)
- fprintf(stderr, _("%s: file %s line %lu: %s\n"),
- myname, cur_input.name, CAST(unsigned long)cur_input.line, why);
- else
- fprintf(stderr, _("%s: -e expression #%lu, char %lu: %s\n"),
- myname,
- CAST(unsigned long)cur_input.string_expr_count,
- CAST(unsigned long)(prog.cur-prog.base),
- why);
- exit(EXIT_FAILURE);
-}
-
-
-/* Read the next character from the program. Return EOF if there isn't
- anything to read. Keep cur_input.line up to date, so error messages
- can be meaningful. */
-static int inchar P_((void));
-static int
-inchar()
-{
- int ch = EOF;
-
- if (prog.cur)
- {
- if (prog.cur < prog.end)
- ch = *prog.cur++;
- }
- else if (prog.file)
- {
- if (!feof(prog.file))
- ch = getc(prog.file);
- }
- if (ch == '\n')
- ++cur_input.line;
- return ch;
-}
-
-/* unget `ch' so the next call to inchar will return it. */
-static void savchar P_((int ch));
-static void
-savchar(ch)
- int ch;
-{
- if (ch == EOF)
- return;
- if (ch == '\n' && cur_input.line > 0)
- --cur_input.line;
- if (prog.cur)
- {
- if (prog.cur <= prog.base || *--prog.cur != ch)
- panic("Called savchar() with unexpected pushback (%x)",
- CAST(unsigned char)ch);
- }
- else
- ungetc(ch, prog.file);
-}
-
-/* Read the next non-blank character from the program. */
-static int in_nonblank P_((void));
-static int
-in_nonblank()
-{
- int ch;
- do
- ch = inchar();
- while (ISBLANK(ch));
- return ch;
-}
-
-/* Read an integer value from the program. */
-static countT in_integer P_((int ch));
-static countT
-in_integer(ch)
- int ch;
-{
- countT num = 0;
-
- while (ISDIGIT(ch))
- {
- num = num * 10 + ch - '0';
- ch = inchar();
- }
- savchar(ch);
- return num;
-}
-
-static int add_then_next P_((struct buffer *b, int ch));
-static int
-add_then_next(b, ch)
- struct buffer *b;
- int ch;
-{
- add1_buffer(b, ch);
- return inchar();
-}
-
-static char * convert_number P_((char *, char *, const char *, int, int, int));
-static char *
-convert_number(result, buf, bufend, base, maxdigits, default_char)
- char *result;
- char *buf;
- const char *bufend;
- int base;
- int maxdigits;
- int default_char;
-{
- int n = 0;
- char *p;
-
- for (p=buf; p < bufend && maxdigits-- > 0; ++p)
- {
- int d = -1;
- switch (*p)
- {
- case '0': d = 0x0; break;
- case '1': d = 0x1; break;
- case '2': d = 0x2; break;
- case '3': d = 0x3; break;
- case '4': d = 0x4; break;
- case '5': d = 0x5; break;
- case '6': d = 0x6; break;
- case '7': d = 0x7; break;
- case '8': d = 0x8; break;
- case '9': d = 0x9; break;
- case 'A': case 'a': d = 0xa; break;
- case 'B': case 'b': d = 0xb; break;
- case 'C': case 'c': d = 0xc; break;
- case 'D': case 'd': d = 0xd; break;
- case 'E': case 'e': d = 0xe; break;
- case 'F': case 'f': d = 0xf; break;
- }
- if (d < 0 || base <= d)
- break;
- n = n * base + d;
- }
- if (p == buf)
- *result = default_char;
- else
- *result = n;
- return p;
-}
-
-
-/* Read in a filename for a `r', `w', or `s///w' command. */
-static struct buffer *read_filename P_((void));
-static struct buffer *
-read_filename()
-{
- struct buffer *b;
- int ch;
-
- b = init_buffer();
- ch = in_nonblank();
- while (ch != EOF && ch != '\n')
- {
-#if 0 /*XXX ZZZ 1998-09-12 kpp: added, then had second thoughts*/
- if (posixicity == POSIXLY_EXTENDED)
- if (ch == ';' || ch == '#')
- {
- savchar(ch);
- break;
- }
-#endif
- ch = add_then_next(b, ch);
- }
- add1_buffer(b, '\0');
- return b;
-}
-
-static struct output *get_openfile P_((struct output **file_ptrs, const char *mode, int fail));
-static struct output *
-get_openfile(file_ptrs, mode, fail)
- struct output **file_ptrs;
- const char *mode;
- int fail;
-{
- struct buffer *b;
- char *file_name;
- struct output *p;
-
- b = read_filename();
- file_name = get_buffer(b);
- for (p=*file_ptrs; p; p=p->link)
- if (strcmp(p->name, file_name) == 0)
- break;
-
- if (posixicity == POSIXLY_EXTENDED)
- {
- /* Check whether it is a special file (stdin, stdout or stderr) */
- struct special_files *special = special_files;
-
- /* std* sometimes are not constants, so they
- cannot be used in the initializer for special_files */
- my_stdin = stdin; my_stdout = stdout; my_stderr = stderr;
- for (special = special_files; special->outf.name; special++)
- if (strcmp(special->outf.name, file_name) == 0)
- {
- special->outf.fp = *special->pfp;
- free_buffer (b);
- return &special->outf;
- }
- }
-
- if (!p)
- {
- p = OB_MALLOC(&obs, 1, struct output);
- p->name = ck_strdup(file_name);
- p->fp = ck_fopen(p->name, mode, fail);
- p->missing_newline = false;
- p->link = *file_ptrs;
- *file_ptrs = p;
- }
- free_buffer(b);
- return p;
-}
-
-
-static struct sed_cmd *next_cmd_entry P_((struct vector **vectorp));
-static struct sed_cmd *
-next_cmd_entry(vectorp)
- struct vector **vectorp;
-{
- struct sed_cmd *cmd;
- struct vector *v;
-
- v = *vectorp;
- if (v->v_length == v->v_allocated)
- {
- v->v_allocated += VECTOR_ALLOC_INCREMENT;
- v->v = REALLOC(v->v, v->v_allocated, struct sed_cmd);
- }
-
- cmd = v->v + v->v_length;
- cmd->a1 = NULL;
- cmd->a2 = NULL;
- cmd->range_state = RANGE_INACTIVE;
- cmd->addr_bang = false;
- cmd->cmd = '\0'; /* something invalid, to catch bugs early */
-
- *vectorp = v;
- return cmd;
-}
-
-static int snarf_char_class P_((struct buffer *b, mbstate_t *cur_stat));
-static int
-snarf_char_class(b, cur_stat)
- struct buffer *b;
- mbstate_t *cur_stat;
-{
- int ch;
- int state = 0;
- int delim;
- bool pending_mb = 0;
-
- ch = inchar();
- if (ch == '^')
- ch = add_then_next(b, ch);
- if (ch == CLOSE_BRACKET)
- ch = add_then_next(b, ch);
-
- /* States are:
- 0 outside a collation element, character class or collation class
- 1 after the bracket
- 2 after the opening ./:/=
- 3 after the closing ./:/= */
-
- for (;; ch = add_then_next (b, ch))
- {
- pending_mb = BRLEN (ch, cur_stat) != 1;
-
- switch (ch)
- {
- case EOF:
- case '\n':
- return ch;
-
- case '.':
- case ':':
- case '=':
- if (pending_mb)
- continue;
-
- if (state == 1)
- {
- delim = ch;
- state = 2;
- }
- else if (state == 2 && ch == delim)
- state = 3;
- else
- break;
-
- continue;
-
- case OPEN_BRACKET:
- if (pending_mb)
- continue;
-
- if (state == 0)
- state = 1;
- continue;
-
- case CLOSE_BRACKET:
- if (pending_mb)
- continue;
-
- if (state == 0 || state == 1)
- return ch;
- else if (state == 3)
- state = 0;
-
- break;
-
- default:
- break;
- }
-
- /* Getting a character different from .=: whilst in state 1
- goes back to state 0, getting a character different from ]
- whilst in state 3 goes back to state 2. */
- state &= ~1;
- }
-}
-
-static struct buffer *match_slash P_((int slash, int regex));
-static struct buffer *
-match_slash(slash, regex)
- int slash;
- int regex;
-{
- struct buffer *b;
- int ch;
- mbstate_t cur_stat;
-
- memset (&cur_stat, 0, sizeof (mbstate_t));
-
- /* We allow only 1 byte characters for a slash. */
- if (BRLEN (slash, &cur_stat) == -2)
- bad_prog (BAD_DELIM);
-
- memset (&cur_stat, 0, sizeof (mbstate_t));
-
- b = init_buffer();
- while ((ch = inchar()) != EOF && ch != '\n')
- {
- bool pending_mb = !MBSINIT (&cur_stat);
- if (BRLEN (ch, &cur_stat) == 1 && !pending_mb)
- {
- if (ch == slash)
- return b;
- else if (ch == '\\')
- {
- ch = inchar();
- if (ch == EOF)
- break;
-#ifndef REG_PERL
- else if (ch == 'n' && regex)
- ch = '\n';
-#endif
- else if (ch != '\n' && (ch != slash || (!regex && ch == '&')))
- add1_buffer(b, '\\');
- }
- else if (ch == OPEN_BRACKET && regex)
- {
- add1_buffer(b, ch);
- ch = snarf_char_class(b, &cur_stat);
- if (ch != CLOSE_BRACKET)
- break;
- }
- }
-
- add1_buffer(b, ch);
- }
-
- if (ch == '\n')
- savchar(ch); /* for proper line number in error report */
- free_buffer(b);
- return NULL;
-}
-
-static int mark_subst_opts P_((struct subst *cmd));
-static int
-mark_subst_opts(cmd)
- struct subst *cmd;
-{
- int flags = 0;
- int ch;
-
- cmd->global = false;
- cmd->print = false;
- cmd->eval = false;
- cmd->numb = 0;
- cmd->outf = NULL;
-
- for (;;)
- switch ( (ch = in_nonblank()) )
- {
- case 'i': /* GNU extension */
- case 'I': /* GNU extension */
- if (posixicity == POSIXLY_BASIC)
- bad_prog(_(UNKNOWN_S_OPT));
- flags |= REG_ICASE;
- break;
-
-#ifdef REG_PERL
- case 's': /* GNU extension */
- case 'S': /* GNU extension */
- if (posixicity == POSIXLY_BASIC)
- bad_prog(_(UNKNOWN_S_OPT));
- if (extended_regexp_flags & REG_PERL)
- flags |= REG_DOTALL;
- break;
-
- case 'x': /* GNU extension */
- case 'X': /* GNU extension */
- if (posixicity == POSIXLY_BASIC)
- bad_prog(_(UNKNOWN_S_OPT));
- if (extended_regexp_flags & REG_PERL)
- flags |= REG_EXTENDED;
- break;
-#endif
-
- case 'm': /* GNU extension */
- case 'M': /* GNU extension */
- if (posixicity == POSIXLY_BASIC)
- bad_prog(_(UNKNOWN_S_OPT));
- flags |= REG_NEWLINE;
- break;
-
- case 'e':
- cmd->eval = true;
- break;
-
- case 'p':
- if (cmd->print)
- bad_prog(_(EXCESS_P_OPT));
- cmd->print |= (1 << cmd->eval); /* 1=before eval, 2=after */
- break;
-
- case 'g':
- if (cmd->global)
- bad_prog(_(EXCESS_G_OPT));
- cmd->global = true;
- break;
-
- case 'w':
- cmd->outf = get_openfile(&file_write, "w", true);
- return flags;
-
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- if (cmd->numb)
- bad_prog(_(EXCESS_N_OPT));
- cmd->numb = in_integer(ch);
- if (!cmd->numb)
- bad_prog(_(ZERO_N_OPT));
- break;
-
- case CLOSE_BRACE:
- case '#':
- savchar(ch);
- /* Fall Through */
- case EOF:
- case '\n':
- case ';':
- return flags;
-
- case '\r':
- if (inchar() == '\n')
- return flags;
- /* FALLTHROUGH */
-
- default:
- bad_prog(_(UNKNOWN_S_OPT));
- /*NOTREACHED*/
- }
-}
-
-
-/* read in a label for a `:', `b', or `t' command */
-static char *read_label P_((void));
-static char *
-read_label()
-{
- struct buffer *b;
- int ch;
- char *ret;
-
- b = init_buffer();
- ch = in_nonblank();
-
- while (ch != EOF && ch != '\n'
- && !ISBLANK(ch) && ch != ';' && ch != CLOSE_BRACE && ch != '#')
- ch = add_then_next (b, ch);
-
- savchar(ch);
- add1_buffer(b, '\0');
- ret = ck_strdup(get_buffer(b));
- free_buffer(b);
- return ret;
-}
-
-/* Store a label (or label reference) created by a `:', `b', or `t'
- command so that the jump to/from the label can be backpatched after
- compilation is complete, or a reference created by a `{' to be
- backpatched when the corresponding `}' is found. */
-static struct sed_label *setup_label
- P_((struct sed_label *, countT, char *, const struct error_info *));
-static struct sed_label *
-setup_label(list, idx, name, err_info)
- struct sed_label *list;
- countT idx;
- char *name;
- const struct error_info *err_info;
-{
- struct sed_label *ret = OB_MALLOC(&obs, 1, struct sed_label);
- ret->v_index = idx;
- ret->name = name;
- if (err_info)
- MEMCPY(&ret->err_info, err_info, sizeof (ret->err_info));
- ret->next = list;
- return ret;
-}
-
-static struct sed_label *release_label P_((struct sed_label *list_head));
-static struct sed_label *
-release_label(list_head)
- struct sed_label *list_head;
-{
- struct sed_label *ret;
-
- if (!list_head)
- return NULL;
- ret = list_head->next;
-
- FREE(list_head->name);
-
-#if 0
- /* We use obstacks */
- FREE(list_head);
-#endif
- return ret;
-}
-
-static struct replacement *new_replacement P_((char *, size_t,
- enum replacement_types));
-static struct replacement *
-new_replacement(text, length, type)
- char *text;
- size_t length;
- enum replacement_types type;
-{
- struct replacement *r = OB_MALLOC(&obs, 1, struct replacement);
-
- r->prefix = text;
- r->prefix_length = length;
- r->subst_id = -1;
- r->repl_type = type;
-
- /* r-> next = NULL; */
- return r;
-}
-
-static void setup_replacement P_((struct subst *, const char *, size_t));
-static void
-setup_replacement(sub, text, length)
- struct subst *sub;
- const char *text;
- size_t length;
-{
- char *base;
- char *p;
- char *text_end;
- enum replacement_types repl_type = REPL_ASIS, save_type = REPL_ASIS;
- struct replacement root;
- struct replacement *tail;
-
- sub->max_id = 0;
- base = MEMDUP(text, length, char);
- length = normalize_text(base, length, TEXT_REPLACEMENT);
-
- text_end = base + length;
- tail = &root;
-
- for (p=base; p<text_end; ++p)
- {
- if (*p == '\\')
- {
- /* Preceding the backslash may be some literal text: */
- tail = tail->next =
- new_replacement(base, CAST(size_t)(p - base), repl_type);
-
- repl_type = save_type;
-
- /* Skip the backslash and look for a numeric back-reference,
- or a case-munging escape if not in POSIX mode: */
- ++p;
- if (p == text_end)
- ++tail->prefix_length;
-
- else if (posixicity == POSIXLY_BASIC && !ISDIGIT (*p))
- {
- p[-1] = *p;
- ++tail->prefix_length;
- }
-
- else
- switch (*p)
- {
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- tail->subst_id = *p - '0';
- if (sub->max_id < tail->subst_id)
- sub->max_id = tail->subst_id;
- break;
-
- case 'L':
- repl_type = REPL_LOWERCASE;
- save_type = REPL_LOWERCASE;
- break;
-
- case 'U':
- repl_type = REPL_UPPERCASE;
- save_type = REPL_UPPERCASE;
- break;
-
- case 'E':
- repl_type = REPL_ASIS;
- save_type = REPL_ASIS;
- break;
-
- case 'l':
- save_type = repl_type;
- repl_type |= REPL_LOWERCASE_FIRST;
- break;
-
- case 'u':
- save_type = repl_type;
- repl_type |= REPL_UPPERCASE_FIRST;
- break;
-
- default:
- p[-1] = *p;
- ++tail->prefix_length;
- }
-
- base = p + 1;
- }
- else if (*p == '&')
- {
- /* Preceding the ampersand may be some literal text: */
- tail = tail->next =
- new_replacement(base, CAST(size_t)(p - base), repl_type);
-
- repl_type = save_type;
- tail->subst_id = 0;
- base = p + 1;
- }
- }
- /* There may be some trailing literal text: */
- if (base < text_end)
- tail = tail->next =
- new_replacement(base, CAST(size_t)(text_end - base), repl_type);
-
- tail->next = NULL;
- sub->replacement = root.next;
-}
-
-static void read_text P_((struct text_buf *buf, int leadin_ch));
-static void
-read_text(buf, leadin_ch)
- struct text_buf *buf;
- int leadin_ch;
-{
- int ch;
-
- /* Should we start afresh (as opposed to continue a partial text)? */
- if (buf)
- {
- if (pending_text)
- free_buffer(pending_text);
- pending_text = init_buffer();
- buf->text = NULL;
- buf->text_length = 0;
- old_text_buf = buf;
- }
- /* assert(old_text_buf != NULL); */
-
- if (leadin_ch == EOF)
- return;
-
- if (leadin_ch != '\n')
- add1_buffer(pending_text, leadin_ch);
-
- ch = inchar();
- while (ch != EOF && ch != '\n')
- {
- if (ch == '\\')
- {
- ch = inchar();
- if (ch != EOF)
- add1_buffer (pending_text, '\\');
- }
-
- if (ch == EOF)
- {
- add1_buffer (pending_text, '\n');
- return;
- }
-
- ch = add_then_next (pending_text, ch);
- }
-
- add1_buffer(pending_text, '\n');
- if (!buf)
- buf = old_text_buf;
- buf->text_length = normalize_text (get_buffer (pending_text),
- size_buffer (pending_text), TEXT_BUFFER);
- buf->text = MEMDUP(get_buffer(pending_text), buf->text_length, char);
- free_buffer(pending_text);
- pending_text = NULL;
-}
-
-
-/* Try to read an address for a sed command. If it succeeds,
- return non-zero and store the resulting address in `*addr'.
- If the input doesn't look like an address read nothing
- and return zero. */
-static bool compile_address P_((struct addr *addr, int ch));
-static bool
-compile_address(addr, ch)
- struct addr *addr;
- int ch;
-{
- addr->addr_type = ADDR_IS_NULL;
- addr->addr_step = 0;
- addr->addr_number = ~(countT)0; /* extremely unlikely to ever match */
- addr->addr_regex = NULL;
-
- if (ch == '/' || ch == '\\')
- {
- int flags = 0;
- struct buffer *b;
- addr->addr_type = ADDR_IS_REGEX;
- if (ch == '\\')
- ch = inchar();
- if ( !(b = match_slash(ch, true)) )
- bad_prog(_(UNTERM_ADDR_RE));
-
- for(;;)
- {
- ch = in_nonblank();
- if (posixicity == POSIXLY_BASIC)
- goto posix_address_modifier;
- switch(ch)
- {
- case 'I': /* GNU extension */
- flags |= REG_ICASE;
- break;
-
-#ifdef REG_PERL
- case 'S': /* GNU extension */
- if (extended_regexp_flags & REG_PERL)
- flags |= REG_DOTALL;
- break;
-
- case 'X': /* GNU extension */
- if (extended_regexp_flags & REG_PERL)
- flags |= REG_EXTENDED;
- break;
-#endif
-
- case 'M': /* GNU extension */
- flags |= REG_NEWLINE;
- break;
-
- default:
- posix_address_modifier:
- savchar (ch);
- addr->addr_regex = compile_regex (b, flags, 0);
- free_buffer(b);
- return true;
- }
- }
- }
- else if (ISDIGIT(ch))
- {
- addr->addr_number = in_integer(ch);
- addr->addr_type = ADDR_IS_NUM;
- ch = in_nonblank();
- if (ch != '~' || posixicity == POSIXLY_BASIC)
- {
- savchar(ch);
- }
- else
- {
- countT step = in_integer(in_nonblank());
- if (step > 0)
- {
- addr->addr_step = step;
- addr->addr_type = ADDR_IS_NUM_MOD;
- }
- }
- }
- else if ((ch == '+' || ch == '~') && posixicity != POSIXLY_BASIC)
- {
- addr->addr_step = in_integer(in_nonblank());
- if (addr->addr_step==0)
- ; /* default to ADDR_IS_NULL; forces matching to stop on next line */
- else if (ch == '+')
- addr->addr_type = ADDR_IS_STEP;
- else
- addr->addr_type = ADDR_IS_STEP_MOD;
- }
- else if (ch == '$')
- {
- addr->addr_type = ADDR_IS_LAST;
- }
- else
- return false;
-
- return true;
-}
-
-/* Read a program (or a subprogram within `{' `}' pairs) in and store
- the compiled form in `*vector'. Return a pointer to the new vector. */
-static struct vector *compile_program P_((struct vector *));
-static struct vector *
-compile_program(vector)
- struct vector *vector;
-{
- struct sed_cmd *cur_cmd;
- struct buffer *b;
- int ch;
-
- if (!vector)
- {
- vector = MALLOC(1, struct vector);
- vector->v = NULL;
- vector->v_allocated = 0;
- vector->v_length = 0;
-
- obstack_init (&obs);
- }
- if (pending_text)
- read_text(NULL, '\n');
-
- for (;;)
- {
- struct addr a;
-
- while ((ch=inchar()) == ';' || ISSPACE(ch))
- ;
- if (ch == EOF)
- break;
-
- cur_cmd = next_cmd_entry(&vector);
- if (compile_address(&a, ch))
- {
- if (a.addr_type == ADDR_IS_STEP
- || a.addr_type == ADDR_IS_STEP_MOD)
- bad_prog(_(BAD_STEP));
-
- cur_cmd->a1 = MEMDUP(&a, 1, struct addr);
- ch = in_nonblank();
- if (ch == ',')
- {
- if (!compile_address(&a, in_nonblank()))
- bad_prog(_(BAD_COMMA));
-
- cur_cmd->a2 = MEMDUP(&a, 1, struct addr);
- ch = in_nonblank();
- }
-
- if ((cur_cmd->a1->addr_type == ADDR_IS_NUM
- && cur_cmd->a1->addr_number == 0)
- && ((!cur_cmd->a2 || cur_cmd->a2->addr_type != ADDR_IS_REGEX)
- || posixicity == POSIXLY_BASIC))
- bad_prog(_(INVALID_LINE_0));
- }
- if (ch == '!')
- {
- cur_cmd->addr_bang = true;
- ch = in_nonblank();
- if (ch == '!')
- bad_prog(_(BAD_BANG));
- }
-
- /* Do not accept extended commands in --posix mode. Also,
- a few commands only accept one address in that mode. */
- if (posixicity == POSIXLY_BASIC)
- switch (ch)
- {
- case 'e': case 'v': case 'z': case 'L':
- case 'Q': case 'T': case 'R': case 'W':
- bad_command(ch);
-
- case 'a': case 'i': case 'l':
- case '=': case 'r':
- if (cur_cmd->a2)
- bad_prog(_(ONE_ADDR));
- }
-
- cur_cmd->cmd = ch;
- switch (ch)
- {
- case '#':
- if (cur_cmd->a1)
- bad_prog(_(NO_SHARP_ADDR));
- ch = inchar();
- if (ch=='n' && first_script && cur_input.line < 2)
- if ( (prog.base && prog.cur==2+prog.base)
- || (prog.file && !prog.base && 2==ftell(prog.file)))
- no_default_output = true;
- while (ch != EOF && ch != '\n')
- ch = inchar();
- continue; /* restart the for (;;) loop */
-
- case 'v':
- /* This is an extension. Programs needing GNU sed might start
- * with a `v' command so that other seds will stop.
- * We compare the version and ignore POSIXLY_CORRECT.
- */
- {
- char *version = read_label ();
- char *compared_version;
- compared_version = (*version == '\0') ? "4.0" : version;
- if (strverscmp (compared_version, SED_FEATURE_VERSION) > 0)
- bad_prog(_(ANCIENT_VERSION));
-
- free (version);
- posixicity = POSIXLY_EXTENDED;
- }
- continue;
-
- case '{':
- blocks = setup_label(blocks, vector->v_length, NULL, &cur_input);
- cur_cmd->addr_bang = !cur_cmd->addr_bang;
- break;
-
- case '}':
- if (!blocks)
- bad_prog(_(EXCESS_CLOSE_BRACE));
- if (cur_cmd->a1)
- bad_prog(_(NO_CLOSE_BRACE_ADDR));
- ch = in_nonblank();
- if (ch == CLOSE_BRACE || ch == '#')
- savchar(ch);
- else if (ch != EOF && ch != '\n' && ch != ';')
- bad_prog(_(EXCESS_JUNK));
-
- vector->v[blocks->v_index].x.jump_index = vector->v_length;
- blocks = release_label(blocks); /* done with this entry */
- break;
-
- case 'e':
- ch = in_nonblank();
- if (ch == EOF || ch == '\n')
- {
- cur_cmd->x.cmd_txt.text_length = 0;
- break;
- }
- else
- goto read_text_to_slash;
-
- case 'a':
- case 'i':
- case 'c':
- ch = in_nonblank();
-
- read_text_to_slash:
- if (ch == EOF)
- bad_prog(_(EXPECTED_SLASH));
-
- if (ch == '\\')
- ch = inchar();
- else
- {
- if (posixicity == POSIXLY_BASIC)
- bad_prog(_(EXPECTED_SLASH));
- savchar(ch);
- ch = '\n';
- }
-
- read_text(&cur_cmd->x.cmd_txt, ch);
- break;
-
- case ':':
- if (cur_cmd->a1)
- bad_prog(_(NO_COLON_ADDR));
- labels = setup_label(labels, vector->v_length, read_label(), NULL);
- break;
-
- case 'T':
- case 'b':
- case 't':
- jumps = setup_label(jumps, vector->v_length, read_label(), NULL);
- break;
-
- case 'Q':
- case 'q':
- if (cur_cmd->a2)
- bad_prog(_(ONE_ADDR));
- /* Fall through */
-
- case 'L':
- case 'l':
- ch = in_nonblank();
- if (ISDIGIT(ch) && posixicity != POSIXLY_BASIC)
- {
- cur_cmd->x.int_arg = in_integer(ch);
- ch = in_nonblank();
- }
- else
- cur_cmd->x.int_arg = -1;
-
- if (ch == CLOSE_BRACE || ch == '#')
- savchar(ch);
- else if (ch != EOF && ch != '\n' && ch != ';')
- bad_prog(_(EXCESS_JUNK));
-
- break;
-
- case '=':
- case 'd':
- case 'D':
- case 'g':
- case 'G':
- case 'h':
- case 'H':
- case 'n':
- case 'N':
- case 'p':
- case 'P':
- case 'z':
- case 'x':
- ch = in_nonblank();
- if (ch == CLOSE_BRACE || ch == '#')
- savchar(ch);
- else if (ch != EOF && ch != '\n' && ch != ';')
- bad_prog(_(EXCESS_JUNK));
- break;
-
- case 'r':
- b = read_filename();
- cur_cmd->x.fname = ck_strdup(get_buffer(b));
- free_buffer(b);
- break;
-
- case 'R':
- cur_cmd->x.fp = get_openfile(&file_read, read_mode, false)->fp;
- break;
-
- case 'W':
- case 'w':
- cur_cmd->x.outf = get_openfile(&file_write, "w", true);
- break;
-
- case 's':
- {
- struct buffer *b2;
- int flags;
- int slash;
-
- slash = inchar();
- if ( !(b = match_slash(slash, true)) )
- bad_prog(_(UNTERM_S_CMD));
- if ( !(b2 = match_slash(slash, false)) )
- bad_prog(_(UNTERM_S_CMD));
-
- cur_cmd->x.cmd_subst = OB_MALLOC(&obs, 1, struct subst);
- setup_replacement(cur_cmd->x.cmd_subst,
- get_buffer(b2), size_buffer(b2));
- free_buffer(b2);
-
- flags = mark_subst_opts(cur_cmd->x.cmd_subst);
- cur_cmd->x.cmd_subst->regx =
- compile_regex(b, flags, cur_cmd->x.cmd_subst->max_id + 1);
- free_buffer(b);
- }
- break;
-
- case 'y':
- {
- size_t len, dest_len;
- int slash;
- struct buffer *b2;
- char *src_buf, *dest_buf;
-
- slash = inchar();
- if ( !(b = match_slash(slash, false)) )
- bad_prog(_(UNTERM_Y_CMD));
- src_buf = get_buffer(b);
- len = normalize_text(src_buf, size_buffer (b), TEXT_BUFFER);
-
- if ( !(b2 = match_slash(slash, false)) )
- bad_prog(_(UNTERM_Y_CMD));
- dest_buf = get_buffer(b2);
- dest_len = normalize_text(dest_buf, size_buffer (b2), TEXT_BUFFER);
-
- if (mb_cur_max > 1)
- {
- int i, j, idx, src_char_num;
- size_t *src_lens = MALLOC(len, size_t);
- char **trans_pairs;
- size_t mbclen;
- mbstate_t cur_stat;
-
- /* Enumerate how many character the source buffer has. */
- memset(&cur_stat, 0, sizeof(mbstate_t));
- for (i = 0, j = 0; i < len;)
- {
- mbclen = MBRLEN (src_buf + i, len - i, &cur_stat);
- /* An invalid sequence, or a truncated multibyte character.
- We treat it as a singlebyte character. */
- if (mbclen == (size_t) -1 || mbclen == (size_t) -2
- || mbclen == 0)
- mbclen = 1;
- src_lens[j++] = mbclen;
- i += mbclen;
- }
- src_char_num = j;
-
- memset(&cur_stat, 0, sizeof(mbstate_t));
- idx = 0;
-
- /* trans_pairs = {src(0), dest(0), src(1), dest(1), ..., NULL}
- src(i) : pointer to i-th source character.
- dest(i) : pointer to i-th destination character.
- NULL : terminator */
- trans_pairs = MALLOC(2 * src_char_num + 1, char*);
- cur_cmd->x.translatemb = trans_pairs;
- for (i = 0; i < src_char_num; i++)
- {
- if (idx >= dest_len)
- bad_prog(_(Y_CMD_LEN));
-
- /* Set the i-th source character. */
- trans_pairs[2 * i] = MALLOC(src_lens[i] + 1, char);
- strncpy(trans_pairs[2 * i], src_buf, src_lens[i]);
- trans_pairs[2 * i][src_lens[i]] = '\0';
- src_buf += src_lens[i]; /* Forward to next character. */
-
- /* Fetch the i-th destination character. */
- mbclen = MBRLEN (dest_buf + idx, dest_len - idx, &cur_stat);
- /* An invalid sequence, or a truncated multibyte character.
- We treat it as a singlebyte character. */
- if (mbclen == (size_t) -1 || mbclen == (size_t) -2
- || mbclen == 0)
- mbclen = 1;
-
- /* Set the i-th destination character. */
- trans_pairs[2 * i + 1] = MALLOC(mbclen + 1, char);
- strncpy(trans_pairs[2 * i + 1], dest_buf + idx, mbclen);
- trans_pairs[2 * i + 1][mbclen] = '\0';
- idx += mbclen; /* Forward to next character. */
- }
- trans_pairs[2 * i] = NULL;
- if (idx != dest_len)
- bad_prog(_(Y_CMD_LEN));
- }
- else
- {
- unsigned char *translate =
- OB_MALLOC(&obs, YMAP_LENGTH, unsigned char);
- unsigned char *ustring = CAST(unsigned char *)src_buf;
-
- if (len != dest_len)
- bad_prog(_(Y_CMD_LEN));
-
- for (len = 0; len < YMAP_LENGTH; len++)
- translate[len] = len;
-
- while (dest_len--)
- translate[*ustring++] = (unsigned char)*dest_buf++;
-
- cur_cmd->x.translate = translate;
- }
-
- if ((ch = in_nonblank()) != EOF && ch != '\n' && ch != ';')
- bad_prog(_(EXCESS_JUNK));
-
- free_buffer(b);
- free_buffer(b2);
- }
- break;
-
- case EOF:
- bad_prog(_(NO_COMMAND));
- /*NOTREACHED*/
-
- default:
- bad_command (ch);
- /*NOTREACHED*/
- }
-
- /* this is buried down here so that "continue" statements will miss it */
- ++vector->v_length;
- }
- return vector;
-}
-
-
-/* deal with \X escapes */
-size_t
-normalize_text(buf, len, buftype)
- char *buf;
- size_t len;
- enum text_types buftype;
-{
- const char *bufend = buf + len;
- char *p = buf;
- char *q = buf;
-
- /* This variable prevents normalizing text within bracket
- subexpressions when conforming to POSIX. If 0, we
- are not within a bracket expression. If -1, we are within a
- bracket expression but are not within [.FOO.], [=FOO=],
- or [:FOO:]. Otherwise, this is the '.', '=', or ':'
- respectively within these three types of subexpressions. */
- int bracket_state = 0;
-
- int mbclen;
- mbstate_t cur_stat;
- memset(&cur_stat, 0, sizeof(mbstate_t));
-
- while (p < bufend)
- {
- int c;
- mbclen = MBRLEN (p, bufend - p, &cur_stat);
- if (mbclen != 1)
- {
- /* An invalid sequence, or a truncated multibyte character.
- We treat it as a singlebyte character. */
- if (mbclen == (size_t) -1 || mbclen == (size_t) -2 || mbclen == 0)
- mbclen = 1;
-
- memmove (q, p, mbclen);
- q += mbclen;
- p += mbclen;
- continue;
- }
-
- if (*p == '\\' && p+1 < bufend && bracket_state == 0)
- switch ( (c = *++p) )
- {
-#if defined __STDC__ && __STDC__-0
- case 'a': *q++ = '\a'; p++; continue;
-#else /* Not STDC; we'll just assume ASCII */
- case 'a': *q++ = '\007'; p++; continue;
-#endif
- /* case 'b': *q++ = '\b'; p++; continue; --- conflicts with \b RE */
- case 'f': *q++ = '\f'; p++; continue;
- case '\n': /*fall through */
- case 'n': *q++ = '\n'; p++; continue;
- case 'r': *q++ = '\r'; p++; continue;
- case 't': *q++ = '\t'; p++; continue;
- case 'v': *q++ = '\v'; p++; continue;
-
- case 'd': /* decimal byte */
- p = convert_number(q, p+1, bufend, 10, 3, 'd');
- q++;
- continue;
-
- case 'x': /* hexadecimal byte */
- p = convert_number(q, p+1, bufend, 16, 2, 'x');
- q++;
- continue;
-
-#ifdef REG_PERL
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- if ((extended_regexp_flags & REG_PERL)
- && p+1 < bufend
- && p[1] >= '0' && p[1] <= '9')
- {
- p = convert_number(q, p, bufend, 8, 3, *p);
- q++;
- }
- else
- {
- /* we just pass the \ up one level for interpretation */
- if (buftype != TEXT_BUFFER)
- *q++ = '\\';
- }
-
- continue;
-
- case 'o': /* octal byte */
- if (!(extended_regexp_flags & REG_PERL))
- {
- p = convert_number(q, p+1, bufend, 8, 3, 'o');
- q++;
- }
- else
- {
- /* we just pass the \ up one level for interpretation */
- if (buftype != TEXT_BUFFER)
- *q++ = '\\';
- }
-
- continue;
-#else
- case 'o': /* octal byte */
- p = convert_number(q, p+1, bufend, 8, 3, 'o');
- q++;
- continue;
-#endif
-
- case 'c':
- if (++p < bufend)
- {
- *q++ = toupper(*p) ^ 0x40;
- p++;
- continue;
- }
- else
- {
- /* we just pass the \ up one level for interpretation */
- if (buftype != TEXT_BUFFER)
- *q++ = '\\';
- continue;
- }
-
- default:
- /* we just pass the \ up one level for interpretation */
- if (buftype != TEXT_BUFFER)
- *q++ = '\\';
- break;
- }
- else if (buftype == TEXT_REGEX && posixicity != POSIXLY_EXTENDED)
- switch (*p)
- {
- case '[':
- if (!bracket_state)
- bracket_state = -1;
- break;
-
- case ':':
- case '.':
- case '=':
- if (bracket_state == -1 && p[-1] == '[')
- bracket_state = *p;
- break;
-
- case ']':
- if (bracket_state == 0)
- ;
- else if (bracket_state == -1)
- bracket_state = 0;
- else if (p[-2] != bracket_state && p[-1] == bracket_state)
- bracket_state = -1;
- break;
- }
-
- *q++ = *p++;
- }
- return (size_t)(q - buf);
-}
-
-
-/* `str' is a string (from the command line) that contains a sed command.
- Compile the command, and add it to the end of `cur_program'. */
-struct vector *
-compile_string(cur_program, str, len)
- struct vector *cur_program;
- char *str;
- size_t len;
-{
- static countT string_expr_count = 0;
- struct vector *ret;
-
- prog.file = NULL;
- prog.base = CAST(unsigned char *)str;
- prog.cur = prog.base;
- prog.end = prog.cur + len;
-
- cur_input.line = 0;
- cur_input.name = NULL;
- cur_input.string_expr_count = ++string_expr_count;
-
- ret = compile_program(cur_program);
- prog.base = NULL;
- prog.cur = NULL;
- prog.end = NULL;
-
- first_script = false;
- return ret;
-}
-
-/* `cmdfile' is the name of a file containing sed commands.
- Read them in and add them to the end of `cur_program'.
- */
-struct vector *
-compile_file(cur_program, cmdfile)
- struct vector *cur_program;
- const char *cmdfile;
-{
- struct vector *ret;
-
- prog.file = stdin;
- if (cmdfile[0] != '-' || cmdfile[1] != '\0')
- prog.file = ck_fopen(cmdfile, "rt", true);
-
- cur_input.line = 1;
- cur_input.name = cmdfile;
- cur_input.string_expr_count = 0;
-
- ret = compile_program(cur_program);
- if (prog.file != stdin)
- ck_fclose(prog.file);
- prog.file = NULL;
-
- first_script = false;
- return ret;
-}
-
-/* Make any checks which require the whole program to have been read.
- In particular: this backpatches the jump targets.
- Any cleanup which can be done after these checks is done here also. */
-void
-check_final_program(program)
- struct vector *program;
-{
- struct sed_label *go;
- struct sed_label *lbl;
-
- /* do all "{"s have a corresponding "}"? */
- if (blocks)
- {
- /* update info for error reporting: */
- MEMCPY(&cur_input, &blocks->err_info, sizeof (cur_input));
- bad_prog(_(EXCESS_OPEN_BRACE));
- }
-
- /* was the final command an unterminated a/c/i command? */
- if (pending_text)
- {
- old_text_buf->text_length = size_buffer(pending_text);
- if (old_text_buf->text_length)
- old_text_buf->text = MEMDUP(get_buffer(pending_text),
- old_text_buf->text_length, char);
- free_buffer(pending_text);
- pending_text = NULL;
- }
-
- for (go = jumps; go; go = release_label(go))
- {
- for (lbl = labels; lbl; lbl = lbl->next)
- if (strcmp(lbl->name, go->name) == 0)
- break;
- if (lbl)
- {
- program->v[go->v_index].x.jump_index = lbl->v_index;
- }
- else
- {
- if (*go->name)
- panic(_("can't find label for jump to `%s'"), go->name);
- program->v[go->v_index].x.jump_index = program->v_length;
- }
- }
- jumps = NULL;
-
- for (lbl = labels; lbl; lbl = release_label(lbl))
- ;
- labels = NULL;
-
- /* There is no longer a need to track file names: */
- {
- struct output *p;
-
- for (p=file_read; p; p=p->link)
- if (p->name)
- {
- FREE(p->name);
- p->name = NULL;
- }
-
- for (p=file_write; p; p=p->link)
- if (p->name)
- {
- FREE(p->name);
- p->name = NULL;
- }
- }
-}
-
-/* Rewind all resources which were allocated in this module. */
-void
-rewind_read_files()
-{
- struct output *p;
-
- for (p=file_read; p; p=p->link)
- if (p->fp)
- rewind(p->fp);
-}
-
-/* Release all resources which were allocated in this module. */
-void
-finish_program(program)
- struct vector *program;
-{
- /* close all files... */
- {
- struct output *p, *q;
-
- for (p=file_read; p; p=q)
- {
- if (p->fp)
- ck_fclose(p->fp);
- q = p->link;
-#if 0
- /* We use obstacks. */
- FREE(p);
-#endif
- }
-
- for (p=file_write; p; p=q)
- {
- if (p->fp)
- ck_fclose(p->fp);
- q = p->link;
-#if 0
- /* We use obstacks. */
- FREE(p);
-#endif
- }
- file_read = file_write = NULL;
- }
-
-#ifdef DEBUG_LEAKS
- obstack_free (&obs, NULL);
-#endif /*DEBUG_LEAKS*/
-}
diff --git a/sources/host-tools/sed-4.2.1/sed/execute.c b/sources/host-tools/sed-4.2.1/sed/execute.c
deleted file mode 100644
index 6fbfff6..0000000
--- a/sources/host-tools/sed-4.2.1/sed/execute.c
+++ /dev/null
@@ -1,1880 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1989,90,91,92,93,94,95,98,99,2002,2003,2004,2005,2006,2008,2009
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#undef EXPERIMENTAL_DASH_N_OPTIMIZATION /*don't use -- is very buggy*/
-#define INITIAL_BUFFER_SIZE 50
-#define FREAD_BUFFER_SIZE 8192
-
-#include "sed.h"
-
-#include <stddef.h>
-#include <stdio.h>
-#include <ctype.h>
-
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
-#ifndef BOOTSTRAP
-#include <selinux/selinux.h>
-#include <selinux/context.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifndef BOOTSTRAP
-#include "acl.h"
-#endif
-
-#ifdef __GNUC__
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__-0 >= 7)
- /* silence warning about unused parameter even for "gcc -W -Wunused" */
-# define UNUSED __attribute__((unused))
-# endif
-#endif
-#ifndef UNUSED
-# define UNUSED
-#endif
-
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#else
-# include <string.h>
-#endif /*HAVE_STRINGS_H*/
-#ifdef HAVE_MEMORY_H
-# include <memory.h>
-#endif
-
-#ifndef HAVE_STRCHR
-# define strchr index
-# define strrchr rindex
-#endif
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-#ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#include <sys/stat.h>
-#include "stat-macros.h"
-
-
-/* Sed operates a line at a time. */
-struct line {
- char *text; /* Pointer to line allocated by malloc. */
- char *active; /* Pointer to non-consumed part of text. */
- size_t length; /* Length of text (or active, if used). */
- size_t alloc; /* Allocated space for active. */
- bool chomped; /* Was a trailing newline dropped? */
-#ifdef HAVE_MBRTOWC
- mbstate_t mbstate;
-#endif
-};
-
-#ifdef HAVE_MBRTOWC
-#define SIZEOF_LINE offsetof (struct line, mbstate)
-#else
-#define SIZEOF_LINE (sizeof (struct line))
-#endif
-
-/* A queue of text to write out at the end of a cycle
- (filled by the "a", "r" and "R" commands.) */
-struct append_queue {
- const char *fname;
- char *text;
- size_t textlen;
- struct append_queue *next;
- bool free;
-};
-
-/* State information for the input stream. */
-struct input {
- /* The list of yet-to-be-opened files. It is invalid for file_list
- to be NULL. When *file_list is NULL we are currently processing
- the last file. */
-
- char **file_list;
-
- /* Count of files we failed to open. */
- countT bad_count;
-
- /* Current input line number (over all files). */
- countT line_number;
-
- /* True if we'll reset line numbers and addresses before
- starting to process the next (possibly the first) file. */
- bool reset_at_next_file;
-
- /* Function to read one line. If FP is NULL, read_fn better not
- be one which uses fp; in particular, read_always_fail() is
- recommended. */
- bool (*read_fn) P_((struct input *)); /* read one line */
-
- char *out_file_name;
-
- const char *in_file_name;
-
- /* Owner and mode to be set just before closing the file. */
- struct stat st;
-
- /* if NULL, none of the following are valid */
- FILE *fp;
-
- bool no_buffering;
-};
-
-
-/* Have we done any replacements lately? This is used by the `t' command. */
-static bool replaced = false;
-
-/* The current output file (stdout if -i is not being used. */
-static struct output output_file;
-
-/* The `current' input line. */
-static struct line line;
-
-/* An input line used to accumulate the result of the s and e commands. */
-static struct line s_accum;
-
-/* An input line that's been stored by later use by the program */
-static struct line hold;
-
-/* The buffered input look-ahead. The only field that should be
- used outside of read_mem_line() or line_init() is buffer.length. */
-static struct line buffer;
-
-static struct append_queue *append_head = NULL;
-static struct append_queue *append_tail = NULL;
-
-
-#ifdef BOOTSTRAP
-/* We can't be sure that the system we're boostrapping on has
- memchr(), and ../lib/memchr.c requires configuration knowledge
- about how many bits are in a `long'. This implementation
- is far from ideal, but it should get us up-and-limping well
- enough to run the configure script, which is all that matters.
-*/
-# ifdef memchr
-# undef memchr
-# endif
-# define memchr bootstrap_memchr
-
-static VOID *bootstrap_memchr P_((const VOID *s, int c, size_t n));
-static VOID *
-bootstrap_memchr(s, c, n)
- const VOID *s;
- int c;
- size_t n;
-{
- char *p;
-
- for (p=(char *)s; n-- > 0; ++p)
- if (*p == c)
- return p;
- return CAST(VOID *)0;
-}
-#endif /*BOOTSTRAP*/
-
-/* increase a struct line's length, making some attempt at
- keeping realloc() calls under control by padding for future growth. */
-static void resize_line P_((struct line *, size_t));
-static void
-resize_line(lb, len)
- struct line *lb;
- size_t len;
-{
- int inactive;
- inactive = lb->active - lb->text;
-
- /* If the inactive part has got to more than two thirds of the buffer,
- * remove it. */
- if (inactive > lb->alloc * 2)
- {
- MEMMOVE(lb->text, lb->active, lb->length);
- lb->alloc += lb->active - lb->text;
- lb->active = lb->text;
- inactive = 0;
-
- if (lb->alloc > len)
- return;
- }
-
- lb->alloc *= 2;
- if (lb->alloc < len)
- lb->alloc = len;
- if (lb->alloc < INITIAL_BUFFER_SIZE)
- lb->alloc = INITIAL_BUFFER_SIZE;
-
- lb->text = REALLOC(lb->text, inactive + lb->alloc, char);
- lb->active = lb->text + inactive;
-}
-
-/* Append `length' bytes from `string' to the line `to'. */
-static void str_append P_((struct line *, const char *, size_t));
-static void
-str_append(to, string, length)
- struct line *to;
- const char *string;
- size_t length;
-{
- size_t new_length = to->length + length;
-
- if (to->alloc < new_length)
- resize_line(to, new_length);
- MEMCPY(to->active + to->length, string, length);
- to->length = new_length;
-
-#ifdef HAVE_MBRTOWC
- if (mb_cur_max > 1 && !is_utf8)
- while (length)
- {
- size_t n = MBRLEN (string, length, &to->mbstate);
-
- /* An invalid sequence is treated like a singlebyte character. */
- if (n == (size_t) -1)
- {
- memset (&to->mbstate, 0, sizeof (to->mbstate));
- n = 1;
- }
-
- if (n > 0)
- {
- string += n;
- length -= n;
- }
- else
- break;
- }
-#endif
-}
-
-static void str_append_modified P_((struct line *, const char *, size_t,
- enum replacement_types));
-static void
-str_append_modified(to, string, length, type)
- struct line *to;
- const char *string;
- size_t length;
- enum replacement_types type;
-{
-#ifdef HAVE_MBRTOWC
- mbstate_t from_stat;
-
- if (type == REPL_ASIS)
- {
- str_append(to, string, length);
- return;
- }
-
- if (to->alloc - to->length < length * mb_cur_max)
- resize_line(to, to->length + length * mb_cur_max);
-
- MEMCPY (&from_stat, &to->mbstate, sizeof(mbstate_t));
- while (length)
- {
- wchar_t wc;
- int n = MBRTOWC (&wc, string, length, &from_stat);
-
- /* An invalid sequence is treated like a singlebyte character. */
- if (n == -1)
- {
- memset (&to->mbstate, 0, sizeof (from_stat));
- n = 1;
- }
-
- if (n > 0)
- string += n, length -= n;
- else
- {
- /* Incomplete sequence, copy it manually. */
- str_append(to, string, length);
- return;
- }
-
- /* Convert the first character specially... */
- if (type & (REPL_UPPERCASE_FIRST | REPL_LOWERCASE_FIRST))
- {
- if (type & REPL_UPPERCASE_FIRST)
- wc = towupper(wc);
- else
- wc = towlower(wc);
-
- type &= ~(REPL_LOWERCASE_FIRST | REPL_UPPERCASE_FIRST);
- if (type == REPL_ASIS)
- {
- n = WCRTOMB (to->active + to->length, wc, &to->mbstate);
- to->length += n;
- str_append(to, string, length);
- return;
- }
- }
-
- else if (type & REPL_UPPERCASE)
- wc = towupper(wc);
- else
- wc = towlower(wc);
-
- /* Copy the new wide character to the end of the string. */
- n = WCRTOMB (to->active + to->length, wc, &to->mbstate);
- to->length += n;
- if (n == -1)
- {
- fprintf (stderr, "Case conversion produced an invalid character!");
- abort ();
- }
- }
-#else
- size_t old_length = to->length;
- char *start, *end;
-
- str_append(to, string, length);
- start = to->active + old_length;
- end = start + length;
-
- /* Now do the required modifications. First \[lu]... */
- if (type & REPL_UPPERCASE_FIRST)
- {
- *start = toupper(*start);
- start++;
- type &= ~REPL_UPPERCASE_FIRST;
- }
- else if (type & REPL_LOWERCASE_FIRST)
- {
- *start = tolower(*start);
- start++;
- type &= ~REPL_LOWERCASE_FIRST;
- }
-
- if (type == REPL_ASIS)
- return;
-
- /* ...and then \[LU] */
- if (type == REPL_UPPERCASE)
- for (; start != end; start++)
- *start = toupper(*start);
- else
- for (; start != end; start++)
- *start = tolower(*start);
-#endif
-}
-
-/* Initialize a "struct line" buffer. Copy multibyte state from `state'
- if not null. */
-static void line_init P_((struct line *, struct line *, size_t initial_size));
-static void
-line_init(buf, state, initial_size)
- struct line *buf;
- struct line *state;
- size_t initial_size;
-{
- buf->text = MALLOC(initial_size, char);
- buf->active = buf->text;
- buf->alloc = initial_size;
- buf->length = 0;
- buf->chomped = true;
-
-#ifdef HAVE_MBRTOWC
- if (state)
- memcpy (&buf->mbstate, &state->mbstate, sizeof (buf->mbstate));
- else
- memset (&buf->mbstate, 0, sizeof (buf->mbstate));
-#endif
-}
-
-/* Reset a "struct line" buffer to length zero. Copy multibyte state from
- `state' if not null. */
-static void line_reset P_((struct line *, struct line *));
-static void
-line_reset(buf, state)
- struct line *buf, *state;
-{
- if (buf->alloc == 0)
- line_init(buf, state, INITIAL_BUFFER_SIZE);
- else
- {
- buf->length = 0;
-#ifdef HAVE_MBRTOWC
- if (state)
- memcpy (&buf->mbstate, &state->mbstate, sizeof (buf->mbstate));
- else
- memset (&buf->mbstate, 0, sizeof (buf->mbstate));
-#endif
- }
-}
-
-/* Copy the contents of the line `from' into the line `to'.
- This destroys the old contents of `to'.
- Copy the multibyte state if `state' is true. */
-static void line_copy P_((struct line *from, struct line *to, int state));
-static void
-line_copy(from, to, state)
- struct line *from;
- struct line *to;
- int state;
-{
- /* Remove the inactive portion in the destination buffer. */
- to->alloc += to->active - to->text;
-
- if (to->alloc < from->length)
- {
- to->alloc *= 2;
- if (to->alloc < from->length)
- to->alloc = from->length;
- if (to->alloc < INITIAL_BUFFER_SIZE)
- to->alloc = INITIAL_BUFFER_SIZE;
- /* Use FREE()+MALLOC() instead of REALLOC() to
- avoid unnecessary copying of old text. */
- FREE(to->text);
- to->text = MALLOC(to->alloc, char);
- }
-
- to->active = to->text;
- to->length = from->length;
- to->chomped = from->chomped;
- MEMCPY(to->active, from->active, from->length);
-
-#ifdef HAVE_MBRTOWC
- if (state)
- MEMCPY(&to->mbstate, &from->mbstate, sizeof (from->mbstate));
-#endif
-}
-
-/* Append the contents of the line `from' to the line `to'.
- Copy the multibyte state if `state' is true. */
-static void line_append P_((struct line *from, struct line *to, int state));
-static void
-line_append(from, to, state)
- struct line *from;
- struct line *to;
- int state;
-{
- str_append(to, "\n", 1);
- str_append(to, from->active, from->length);
- to->chomped = from->chomped;
-
-#ifdef HAVE_MBRTOWC
- if (state)
- MEMCPY (&to->mbstate, &from->mbstate, sizeof (from->mbstate));
-#endif
-}
-
-/* Exchange two "struct line" buffers.
- Copy the multibyte state if `state' is true. */
-static void line_exchange P_((struct line *a, struct line *b, int state));
-static void
-line_exchange(a, b, state)
- struct line *a;
- struct line *b;
- int state;
-{
- struct line t;
-
- if (state)
- {
- MEMCPY(&t, a, sizeof (struct line));
- MEMCPY( a, b, sizeof (struct line));
- MEMCPY( b, &t, sizeof (struct line));
- }
- else
- {
- MEMCPY(&t, a, SIZEOF_LINE);
- MEMCPY( a, b, SIZEOF_LINE);
- MEMCPY( b, &t, SIZEOF_LINE);
- }
-}
-
-
-/* dummy function to simplify read_pattern_space() */
-static bool read_always_fail P_((struct input *));
-static bool
-read_always_fail(input)
- struct input *input UNUSED;
-{
- return false;
-}
-
-static bool read_file_line P_((struct input *));
-static bool
-read_file_line(input)
- struct input *input;
-{
- static char *b;
- static size_t blen;
-
- long result = ck_getline (&b, &blen, input->fp);
- if (result <= 0)
- return false;
-
- /* Remove the trailing new-line that is left by getline. */
- if (b[result - 1] == '\n')
- --result;
- else
- line.chomped = false;
-
- str_append(&line, b, result);
- return true;
-}
-
-
-static inline void output_missing_newline P_((struct output *));
-static inline void
-output_missing_newline(outf)
- struct output *outf;
-{
- if (outf->missing_newline)
- {
- ck_fwrite("\n", 1, 1, outf->fp);
- outf->missing_newline = false;
- }
-}
-
-static inline void flush_output P_((FILE *));
-static inline void
-flush_output(fp)
- FILE *fp;
-{
- if (fp != stdout || unbuffered_output)
- ck_fflush(fp);
-}
-
-static void output_line P_((const char *, size_t, int, struct output *));
-static void
-output_line(text, length, nl, outf)
- const char *text;
- size_t length;
- int nl;
- struct output *outf;
-{
- if (!text)
- return;
-
- output_missing_newline(outf);
- if (length)
- ck_fwrite(text, 1, length, outf->fp);
- if (nl)
- ck_fwrite("\n", 1, 1, outf->fp);
- else
- outf->missing_newline = true;
-
- flush_output(outf->fp);
-}
-
-static struct append_queue *next_append_slot P_((void));
-static struct append_queue *
-next_append_slot()
-{
- struct append_queue *n = MALLOC(1, struct append_queue);
-
- n->fname = NULL;
- n->text = NULL;
- n->textlen = 0;
- n->next = NULL;
- n->free = false;
-
- if (append_tail)
- append_tail->next = n;
- else
- append_head = n;
- return append_tail = n;
-}
-
-static void release_append_queue P_((void));
-static void
-release_append_queue()
-{
- struct append_queue *p, *q;
-
- for (p=append_head; p; p=q)
- {
- if (p->free)
- FREE(p->text);
-
- q = p->next;
- FREE(p);
- }
- append_head = append_tail = NULL;
-}
-
-static void dump_append_queue P_((void));
-static void
-dump_append_queue()
-{
- struct append_queue *p;
-
- output_missing_newline(&output_file);
- for (p=append_head; p; p=p->next)
- {
- if (p->text)
- ck_fwrite(p->text, 1, p->textlen, output_file.fp);
-
- if (p->fname)
- {
- char buf[FREAD_BUFFER_SIZE];
- size_t cnt;
- FILE *fp;
-
- /* "If _fname_ does not exist or cannot be read, it shall
- be treated as if it were an empty file, causing no error
- condition." IEEE Std 1003.2-1992
- So, don't fail. */
- fp = ck_fopen(p->fname, read_mode, false);
- if (fp)
- {
- while ((cnt = ck_fread(buf, 1, sizeof buf, fp)) > 0)
- ck_fwrite(buf, 1, cnt, output_file.fp);
- ck_fclose(fp);
- }
- }
- }
-
- flush_output(output_file.fp);
- release_append_queue();
-}
-
-
-/* Compute the name of the backup file for in-place editing */
-static char *get_backup_file_name P_((const char *));
-static char *
-get_backup_file_name(name)
- const char *name;
-{
- char *old_asterisk, *asterisk, *backup, *p;
- int name_length = strlen(name), backup_length = strlen(in_place_extension);
-
- /* Compute the length of the backup file */
- for (asterisk = in_place_extension - 1, old_asterisk = asterisk + 1;
- (asterisk = strchr(old_asterisk, '*'));
- old_asterisk = asterisk + 1)
- backup_length += name_length - 1;
-
- p = backup = xmalloc(backup_length + 1);
-
- /* Each iteration gobbles up to an asterisk */
- for (asterisk = in_place_extension - 1, old_asterisk = asterisk + 1;
- (asterisk = strchr(old_asterisk, '*'));
- old_asterisk = asterisk + 1)
- {
- MEMCPY (p, old_asterisk, asterisk - old_asterisk);
- p += asterisk - old_asterisk;
- strcpy (p, name);
- p += name_length;
- }
-
- /* Tack on what's after the last asterisk */
- strcpy (p, old_asterisk);
- return backup;
-}
-
-/* Initialize a struct input for the named file. */
-static void open_next_file P_((const char *name, struct input *));
-static void
-open_next_file(name, input)
- const char *name;
- struct input *input;
-{
- buffer.length = 0;
-
- if (name[0] == '-' && name[1] == '\0' && !in_place_extension)
- {
- clearerr(stdin); /* clear any stale EOF indication */
- input->fp = ck_fdopen (fileno (stdin), "stdin", read_mode, false);
- }
- else if ( ! (input->fp = ck_fopen(name, read_mode, false)) )
- {
- const char *ptr = strerror(errno);
- fprintf(stderr, _("%s: can't read %s: %s\n"), myname, name, ptr);
- input->read_fn = read_always_fail; /* a redundancy */
- ++input->bad_count;
- return;
- }
-
- input->read_fn = read_file_line;
-
- if (in_place_extension)
- {
- int input_fd;
- char *tmpdir, *p;
-#ifndef BOOTSTRAP
- security_context_t old_fscreatecon;
- int reset_fscreatecon = 0;
- memset (&old_fscreatecon, 0, sizeof (old_fscreatecon));
-#endif
-
- if (follow_symlinks)
- input->in_file_name = follow_symlink (name);
- else
- input->in_file_name = name;
-
- /* get the base name */
- tmpdir = ck_strdup(input->in_file_name);
- if ((p = strrchr(tmpdir, '/')))
- *p = 0;
- else
- strcpy(tmpdir, ".");
-
- if (isatty (fileno (input->fp)))
- panic(_("couldn't edit %s: is a terminal"), input->in_file_name);
-
- input_fd = fileno (input->fp);
- fstat (input_fd, &input->st);
- if (!S_ISREG (input->st.st_mode))
- panic(_("couldn't edit %s: not a regular file"), input->in_file_name);
-
-#ifndef BOOTSTRAP
- if (is_selinux_enabled ())
- {
- security_context_t con;
- if (getfilecon (input->in_file_name, &con) != -1)
- {
- /* Save and restore the old context for the sake of w and W
- commands. */
- reset_fscreatecon = getfscreatecon (&old_fscreatecon) >= 0;
- if (setfscreatecon (con) < 0)
- fprintf (stderr, _("%s: warning: failed to set default file creation context to %s: %s"),
- myname, con, strerror (errno));
- freecon (con);
- }
- else
- {
- if (errno != ENOSYS)
- fprintf (stderr, _("%s: warning: failed to get security context of %s: %s"),
- myname, input->in_file_name, strerror (errno));
- }
- }
-#endif
-
- output_file.fp = ck_mkstemp (&input->out_file_name, tmpdir, "sed");
- output_file.missing_newline = false;
- free (tmpdir);
-
-#ifndef BOOTSTRAP
- if (reset_fscreatecon)
- {
- setfscreatecon (old_fscreatecon);
- freecon (old_fscreatecon);
- }
-#endif
-
- if (!output_file.fp)
- panic(_("couldn't open temporary file %s: %s"), input->out_file_name, strerror(errno));
- }
- else
- output_file.fp = stdout;
-}
-
-
-/* Clean up an input stream that we are done with. */
-static void closedown P_((struct input *));
-static void
-closedown(input)
- struct input *input;
-{
- input->read_fn = read_always_fail;
- if (!input->fp)
- return;
-
- if (in_place_extension && output_file.fp != NULL)
- {
- const char *target_name;
- int input_fd, output_fd;
-
- target_name = input->in_file_name;
- input_fd = fileno (input->fp);
- output_fd = fileno (output_file.fp);
- copy_acl (input->in_file_name, input_fd,
- input->out_file_name, output_fd,
- input->st.st_mode);
-#ifdef HAVE_FCHOWN
- if (fchown (output_fd, input->st.st_uid, input->st.st_gid) == -1)
- fchown (output_fd, -1, input->st.st_gid);
-#endif
-
- ck_fclose (input->fp);
- ck_fclose (output_file.fp);
- if (strcmp(in_place_extension, "*") != 0)
- {
- char *backup_file_name = get_backup_file_name(target_name);
- ck_rename (target_name, backup_file_name, input->out_file_name);
- free (backup_file_name);
- }
-
- ck_rename (input->out_file_name, target_name, input->out_file_name);
- free (input->out_file_name);
- }
- else
- ck_fclose (input->fp);
-
- input->fp = NULL;
-}
-
-/* Reset range commands so that they are marked as non-matching */
-static void reset_addresses P_((struct vector *));
-static void
-reset_addresses(vec)
- struct vector *vec;
-{
- struct sed_cmd *cur_cmd;
- int n;
-
- for (cur_cmd = vec->v, n = vec->v_length; n--; cur_cmd++)
- if (cur_cmd->a1
- && cur_cmd->a1->addr_type == ADDR_IS_NUM
- && cur_cmd->a1->addr_number == 0)
- cur_cmd->range_state = RANGE_ACTIVE;
- else
- cur_cmd->range_state = RANGE_INACTIVE;
-}
-
-/* Read in the next line of input, and store it in the pattern space.
- Return zero if there is nothing left to input. */
-static bool read_pattern_space P_((struct input *, struct vector *, int));
-static bool
-read_pattern_space(input, the_program, append)
- struct input *input;
- struct vector *the_program;
- int append;
-{
- if (append_head) /* redundant test to optimize for common case */
- dump_append_queue();
- replaced = false;
- if (!append)
- line.length = 0;
- line.chomped = true; /* default, until proved otherwise */
-
- while ( ! (*input->read_fn)(input) )
- {
- closedown(input);
-
- if (!*input->file_list)
- return false;
-
- if (input->reset_at_next_file)
- {
- input->line_number = 0;
- hold.length = 0;
- reset_addresses (the_program);
- rewind_read_files ();
-
- /* If doing in-place editing, we will never append the
- new-line to this file; but if the output goes to stdout,
- we might still have to output the missing new-line. */
- if (in_place_extension)
- output_file.missing_newline = false;
-
- input->reset_at_next_file = separate_files;
- }
-
- open_next_file (*input->file_list++, input);
- }
-
- ++input->line_number;
- return true;
-}
-
-
-static bool last_file_with_data_p P_((struct input *));
-static bool
-last_file_with_data_p(input)
- struct input *input;
-{
- for (;;)
- {
- int ch;
-
- closedown(input);
- if (!*input->file_list)
- return true;
- open_next_file(*input->file_list++, input);
- if (input->fp)
- {
- if ((ch = getc(input->fp)) != EOF)
- {
- ungetc(ch, input->fp);
- return false;
- }
- }
- }
-}
-
-/* Determine if we match the `$' address. */
-static bool test_eof P_((struct input *));
-static bool
-test_eof(input)
- struct input *input;
-{
- int ch;
-
- if (buffer.length)
- return false;
- if (!input->fp)
- return separate_files || last_file_with_data_p(input);
- if (feof(input->fp))
- return separate_files || last_file_with_data_p(input);
- if ((ch = getc(input->fp)) == EOF)
- return separate_files || last_file_with_data_p(input);
- ungetc(ch, input->fp);
- return false;
-}
-
-/* Return non-zero if the current line matches the address
- pointed to by `addr'. */
-static bool match_an_address_p P_((struct addr *, struct input *));
-static bool
-match_an_address_p(addr, input)
- struct addr *addr;
- struct input *input;
-{
- switch (addr->addr_type)
- {
- case ADDR_IS_NULL:
- return true;
-
- case ADDR_IS_REGEX:
- return match_regex(addr->addr_regex, line.active, line.length, 0, NULL, 0);
-
- case ADDR_IS_NUM_MOD:
- return (input->line_number >= addr->addr_number
- && ((input->line_number - addr->addr_number) % addr->addr_step) == 0);
-
- case ADDR_IS_STEP:
- case ADDR_IS_STEP_MOD:
- /* reminder: these are only meaningful for a2 addresses */
- /* a2->addr_number needs to be recomputed each time a1 address
- matches for the step and step_mod types */
- return (addr->addr_number <= input->line_number);
-
- case ADDR_IS_LAST:
- return test_eof(input);
-
- /* ADDR_IS_NUM is handled in match_address_p. */
- case ADDR_IS_NUM:
- default:
- panic("INTERNAL ERROR: bad address type");
- }
- /*NOTREACHED*/
- return false;
-}
-
-/* return non-zero if current address is valid for cmd */
-static bool match_address_p P_((struct sed_cmd *, struct input *));
-static bool
-match_address_p(cmd, input)
- struct sed_cmd *cmd;
- struct input *input;
-{
- if (!cmd->a1)
- return true;
-
- if (cmd->range_state != RANGE_ACTIVE)
- {
- /* Find if we are going to activate a range. Handle ADDR_IS_NUM
- specially: it represent an "absolute" state, it should not
- be computed like regexes. */
- if (cmd->a1->addr_type == ADDR_IS_NUM)
- {
- if (!cmd->a2)
- return (input->line_number == cmd->a1->addr_number);
-
- if (cmd->range_state == RANGE_CLOSED
- || input->line_number < cmd->a1->addr_number)
- return false;
- }
- else
- {
- if (!cmd->a2)
- return match_an_address_p(cmd->a1, input);
-
- if (!match_an_address_p(cmd->a1, input))
- return false;
- }
-
- /* Ok, start a new range. */
- cmd->range_state = RANGE_ACTIVE;
- switch (cmd->a2->addr_type)
- {
- case ADDR_IS_REGEX:
- /* Always include at least two lines. */
- return true;
- case ADDR_IS_NUM:
- /* Same handling as below, but always include at least one line. */
- if (input->line_number >= cmd->a2->addr_number)
- cmd->range_state = RANGE_CLOSED;
- return true;
- case ADDR_IS_STEP:
- cmd->a2->addr_number = input->line_number + cmd->a2->addr_step;
- return true;
- case ADDR_IS_STEP_MOD:
- cmd->a2->addr_number = input->line_number + cmd->a2->addr_step
- - (input->line_number%cmd->a2->addr_step);
- return true;
- default:
- break;
- }
- }
-
- /* cmd->range_state == RANGE_ACTIVE. Check if the range is
- ending; also handle ADDR_IS_NUM specially in this case. */
-
- if (cmd->a2->addr_type == ADDR_IS_NUM)
- {
- /* If the second address is a line number, and if we got past
- that line, fail to match (it can happen when you jump
- over such addresses with `b' and `t'. Use RANGE_CLOSED
- so that the range is not re-enabled anymore. */
- if (input->line_number >= cmd->a2->addr_number)
- cmd->range_state = RANGE_CLOSED;
-
- return (input->line_number <= cmd->a2->addr_number);
- }
-
- /* Other addresses are treated as usual. */
- if (match_an_address_p(cmd->a2, input))
- cmd->range_state = RANGE_CLOSED;
-
- return true;
-}
-
-
-static void do_list P_((int line_len));
-static void
-do_list(line_len)
- int line_len;
-{
- unsigned char *p = CAST(unsigned char *)line.active;
- countT len = line.length;
- countT width = 0;
- char obuf[180]; /* just in case we encounter a 512-bit char (;-) */
- char *o;
- size_t olen;
- FILE *fp = output_file.fp;
-
- output_missing_newline(&output_file);
- for (; len--; ++p) {
- o = obuf;
-
- /* Some locales define 8-bit characters as printable. This makes the
- testsuite fail at 8to7.sed because the `l' command in fact will not
- convert the 8-bit characters. */
-#if defined isascii || defined HAVE_ISASCII
- if (isascii(*p) && ISPRINT(*p)) {
-#else
- if (ISPRINT(*p)) {
-#endif
- *o++ = *p;
- if (*p == '\\')
- *o++ = '\\';
- } else {
- *o++ = '\\';
- switch (*p) {
-#if defined __STDC__ && __STDC__-0
- case '\a': *o++ = 'a'; break;
-#else /* Not STDC; we'll just assume ASCII */
- case 007: *o++ = 'a'; break;
-#endif
- case '\b': *o++ = 'b'; break;
- case '\f': *o++ = 'f'; break;
- case '\n': *o++ = 'n'; break;
- case '\r': *o++ = 'r'; break;
- case '\t': *o++ = 't'; break;
- case '\v': *o++ = 'v'; break;
- default:
- sprintf(o, "%03o", *p);
- o += strlen(o);
- break;
- }
- }
- olen = o - obuf;
- if (width+olen >= line_len && line_len > 0) {
- ck_fwrite("\\\n", 1, 2, fp);
- width = 0;
- }
- ck_fwrite(obuf, 1, olen, fp);
- width += olen;
- }
- ck_fwrite("$\n", 1, 2, fp);
- flush_output (fp);
-}
-
-
-static enum replacement_types append_replacement P_((struct line *, struct replacement *,
- struct re_registers *,
- enum replacement_types));
-static enum replacement_types
-append_replacement (buf, p, regs, repl_mod)
- struct line *buf;
- struct replacement *p;
- struct re_registers *regs;
- enum replacement_types repl_mod;
-{
- for (; p; p=p->next)
- {
- int i = p->subst_id;
- enum replacement_types curr_type;
-
- /* Apply a \[lu] modifier that was given earlier, but which we
- have not had yet the occasion to apply. But don't do it
- if this replacement has a modifier of its own. */
- curr_type = (p->repl_type & REPL_MODIFIERS)
- ? p->repl_type
- : p->repl_type | repl_mod;
-
- repl_mod = 0;
- if (p->prefix_length)
- {
- str_append_modified(buf, p->prefix, p->prefix_length,
- curr_type);
- curr_type &= ~REPL_MODIFIERS;
- }
-
- if (0 <= i)
- {
- if (regs->end[i] == regs->start[i] && p->repl_type & REPL_MODIFIERS)
- /* Save this modifier, we shall apply it later.
- e.g. in s/()([a-z])/\u\1\2/
- the \u modifier is applied to \2, not \1 */
- repl_mod = curr_type & REPL_MODIFIERS;
-
- else if (regs->end[i] != regs->start[i])
- str_append_modified(buf, line.active + regs->start[i],
- CAST(size_t)(regs->end[i] - regs->start[i]),
- curr_type);
- }
- }
-
- return repl_mod;
-}
-
-static void do_subst P_((struct subst *));
-static void
-do_subst(sub)
- struct subst *sub;
-{
- size_t start = 0; /* where to start scan for (next) match in LINE */
- size_t last_end = 0; /* where did the last successful match end in LINE */
- countT count = 0; /* number of matches found */
- bool again = true;
-
- static struct re_registers regs;
-
- line_reset(&s_accum, &line);
-
- /* The first part of the loop optimizes s/xxx// when xxx is at the
- start, and s/xxx$// */
- if (!match_regex(sub->regx, line.active, line.length, start,
- ®s, sub->max_id + 1))
- return;
-
- if (!sub->replacement && sub->numb <= 1)
- {
- if (regs.start[0] == 0 && !sub->global)
- {
- /* We found a match, set the `replaced' flag. */
- replaced = true;
-
- line.active += regs.end[0];
- line.length -= regs.end[0];
- line.alloc -= regs.end[0];
- goto post_subst;
- }
- else if (regs.end[0] == line.length)
- {
- /* We found a match, set the `replaced' flag. */
- replaced = true;
-
- line.length = regs.start[0];
- goto post_subst;
- }
- }
-
- do
- {
- enum replacement_types repl_mod = 0;
-
- size_t offset = regs.start[0];
- size_t matched = regs.end[0] - regs.start[0];
-
- /* Copy stuff to the left of this match into the output string. */
- if (start < offset)
- str_append(&s_accum, line.active + start, offset - start);
-
- /* If we're counting up to the Nth match, are we there yet?
- And even if we are there, there is another case we have to
- skip: are we matching an empty string immediately following
- another match?
-
- This latter case avoids that baaaac, when passed through
- s,a*,x,g, gives `xbxxcx' instead of xbxcx. This behavior is
- unacceptable because it is not consistently applied (for
- example, `baaaa' gives `xbx', not `xbxx'). */
- if ((matched > 0 || count == 0 || offset > last_end)
- && ++count >= sub->numb)
- {
- /* We found a match, set the `replaced' flag. */
- replaced = true;
-
- /* Now expand the replacement string into the output string. */
- repl_mod = append_replacement (&s_accum, sub->replacement, ®s, repl_mod);
- again = sub->global;
- }
- else
- {
- /* The match was not replaced. Copy the text until its
- end; if it was vacuous, skip over one character and
- add that character to the output. */
- if (matched == 0)
- {
- if (start < line.length)
- matched = 1;
- else
- break;
- }
-
- str_append(&s_accum, line.active + offset, matched);
- }
-
- /* Start after the match. last_end is the real end of the matched
- substring, excluding characters that were skipped in case the RE
- matched the empty string. */
- start = offset + matched;
- last_end = regs.end[0];
- }
- while (again
- && start <= line.length
- && match_regex(sub->regx, line.active, line.length, start,
- ®s, sub->max_id + 1));
-
- /* Copy stuff to the right of the last match into the output string. */
- if (start < line.length)
- str_append(&s_accum, line.active + start, line.length-start);
- s_accum.chomped = line.chomped;
-
- /* Exchange line and s_accum. This can be much cheaper
- than copying s_accum.active into line.text (for huge lines). */
- line_exchange(&line, &s_accum, false);
-
- /* Finish up. */
- if (count < sub->numb)
- return;
-
- post_subst:
- if (sub->print & 1)
- output_line(line.active, line.length, line.chomped, &output_file);
-
- if (sub->eval)
- {
-#ifdef HAVE_POPEN
- FILE *pipe_fp;
- line_reset(&s_accum, NULL);
-
- str_append (&line, "", 1);
- pipe_fp = popen(line.active, "r");
-
- if (pipe_fp != NULL)
- {
- while (!feof (pipe_fp))
- {
- char buf[4096];
- int n = fread (buf, sizeof(char), 4096, pipe_fp);
- if (n > 0)
- str_append(&s_accum, buf, n);
- }
-
- pclose (pipe_fp);
-
- /* Exchange line and s_accum. This can be much cheaper than copying
- s_accum.active into line.text (for huge lines). See comment above
- for 'g' as to while the third argument is incorrect anyway. */
- line_exchange(&line, &s_accum, true);
- if (line.length &&
- line.active[line.length - 1] == '\n')
- line.length--;
- }
- else
- panic(_("error in subprocess"));
-#else
- panic(_("option `e' not supported"));
-#endif
- }
-
- if (sub->print & 2)
- output_line(line.active, line.length, line.chomped, &output_file);
- if (sub->outf)
- output_line(line.active, line.length, line.chomped, sub->outf);
-}
-
-#ifdef EXPERIMENTAL_DASH_N_OPTIMIZATION
-/* Used to attempt a simple-minded optimization. */
-
-static countT branches;
-
-static countT count_branches P_((struct vector *));
-static countT
-count_branches(program)
- struct vector *program;
-{
- struct sed_cmd *cur_cmd = program->v;
- countT isn_cnt = program->v_length;
- countT cnt = 0;
-
- while (isn_cnt-- > 0)
- {
- switch (cur_cmd->cmd)
- {
- case 'b':
- case 't':
- case 'T':
- case '{':
- ++cnt;
- }
- }
- return cnt;
-}
-
-static struct sed_cmd *shrink_program P_((struct vector *, struct sed_cmd *));
-static struct sed_cmd *
-shrink_program(vec, cur_cmd)
- struct vector *vec;
- struct sed_cmd *cur_cmd;
-{
- struct sed_cmd *v = vec->v;
- struct sed_cmd *last_cmd = v + vec->v_length;
- struct sed_cmd *p;
- countT cmd_cnt;
-
- for (p=v; p < cur_cmd; ++p)
- if (p->cmd != '#')
- MEMCPY(v++, p, sizeof *v);
- cmd_cnt = v - vec->v;
-
- for (; p < last_cmd; ++p)
- if (p->cmd != '#')
- MEMCPY(v++, p, sizeof *v);
- vec->v_length = v - vec->v;
-
- return (0 < vec->v_length) ? (vec->v + cmd_cnt) : CAST(struct sed_cmd *)0;
-}
-#endif /*EXPERIMENTAL_DASH_N_OPTIMIZATION*/
-
-/* Execute the program `vec' on the current input line.
- Return exit status if caller should quit, -1 otherwise. */
-static int execute_program P_((struct vector *, struct input *));
-static int
-execute_program(vec, input)
- struct vector *vec;
- struct input *input;
-{
- struct sed_cmd *cur_cmd;
- struct sed_cmd *end_cmd;
-
- cur_cmd = vec->v;
- end_cmd = vec->v + vec->v_length;
- while (cur_cmd < end_cmd)
- {
- if (match_address_p(cur_cmd, input) != cur_cmd->addr_bang)
- {
- switch (cur_cmd->cmd)
- {
- case 'a':
- {
- struct append_queue *aq = next_append_slot();
- aq->text = cur_cmd->x.cmd_txt.text;
- aq->textlen = cur_cmd->x.cmd_txt.text_length;
- }
- break;
-
- case '{':
- case 'b':
- cur_cmd = vec->v + cur_cmd->x.jump_index;
- continue;
-
- case '}':
- case '#':
- case ':':
- /* Executing labels and block-ends are easy. */
- break;
-
- case 'c':
- if (cur_cmd->range_state != RANGE_ACTIVE)
- output_line(cur_cmd->x.cmd_txt.text,
- cur_cmd->x.cmd_txt.text_length - 1, true,
- &output_file);
- /* POSIX.2 is silent about c starting a new cycle,
- but it seems to be expected (and make sense). */
- /* Fall Through */
- case 'd':
- return -1;
-
- case 'D':
- {
- char *p = memchr(line.active, '\n', line.length);
- if (!p)
- return -1;
-
- ++p;
- line.alloc -= p - line.active;
- line.length -= p - line.active;
- line.active += p - line.active;
-
- /* reset to start next cycle without reading a new line: */
- cur_cmd = vec->v;
- continue;
- }
-
- case 'e': {
-#ifdef HAVE_POPEN
- FILE *pipe_fp;
- int cmd_length = cur_cmd->x.cmd_txt.text_length;
- line_reset(&s_accum, NULL);
-
- if (!cmd_length)
- {
- str_append (&line, "", 1);
- pipe_fp = popen(line.active, "r");
- }
- else
- {
- cur_cmd->x.cmd_txt.text[cmd_length - 1] = 0;
- pipe_fp = popen(cur_cmd->x.cmd_txt.text, "r");
- output_missing_newline(&output_file);
- }
-
- if (pipe_fp != NULL)
- {
- char buf[4096];
- int n;
- while (!feof (pipe_fp))
- if ((n = fread (buf, sizeof(char), 4096, pipe_fp)) > 0)
- {
- if (!cmd_length)
- str_append(&s_accum, buf, n);
- else
- ck_fwrite(buf, 1, n, output_file.fp);
- }
-
- pclose (pipe_fp);
- if (!cmd_length)
- {
- /* Store into pattern space for plain `e' commands */
- if (s_accum.length &&
- s_accum.active[s_accum.length - 1] == '\n')
- s_accum.length--;
-
- /* Exchange line and s_accum. This can be much
- cheaper than copying s_accum.active into line.text
- (for huge lines). See comment above for 'g' as
- to while the third argument is incorrect anyway. */
- line_exchange(&line, &s_accum, true);
- }
- else
- flush_output(output_file.fp);
-
- }
- else
- panic(_("error in subprocess"));
-#else
- panic(_("`e' command not supported"));
-#endif
- break;
- }
-
- case 'g':
- /* We do not have a really good choice for the third parameter.
- The problem is that hold space and the input file might as
- well have different states; copying it from hold space means
- that subsequent input might be read incorrectly, while
- keeping it as in pattern space means that commands operating
- on the moved buffer might consider a wrong character set.
- We keep it true because it's what sed <= 4.1.5 did. */
- line_copy(&hold, &line, true);
- break;
-
- case 'G':
- /* We do not have a really good choice for the third parameter.
- The problem is that hold space and pattern space might as
- well have different states. So, true is as wrong as false.
- We keep it true because it's what sed <= 4.1.5 did, but
- we could consider having line_ap. */
- line_append(&hold, &line, true);
- break;
-
- case 'h':
- /* Here, it is ok to have true. */
- line_copy(&line, &hold, true);
- break;
-
- case 'H':
- /* See comment above for 'G' regarding the third parameter. */
- line_append(&line, &hold, true);
- break;
-
- case 'i':
- output_line(cur_cmd->x.cmd_txt.text,
- cur_cmd->x.cmd_txt.text_length - 1,
- true, &output_file);
- break;
-
- case 'l':
- do_list(cur_cmd->x.int_arg == -1
- ? lcmd_out_line_len
- : cur_cmd->x.int_arg);
- break;
-
- case 'L':
- output_missing_newline(&output_file);
- fmt(line.active, line.active + line.length,
- cur_cmd->x.int_arg == -1
- ? lcmd_out_line_len
- : cur_cmd->x.int_arg,
- output_file.fp);
- flush_output(output_file.fp);
- break;
-
- case 'n':
- if (!no_default_output)
- output_line(line.active, line.length, line.chomped, &output_file);
- if (test_eof(input) || !read_pattern_space(input, vec, false))
- return -1;
- break;
-
- case 'N':
- str_append(&line, "\n", 1);
-
- if (test_eof(input) || !read_pattern_space(input, vec, true))
- {
- line.length--;
- if (posixicity == POSIXLY_EXTENDED && !no_default_output)
- output_line(line.active, line.length, line.chomped,
- &output_file);
- return -1;
- }
- break;
-
- case 'p':
- output_line(line.active, line.length, line.chomped, &output_file);
- break;
-
- case 'P':
- {
- char *p = memchr(line.active, '\n', line.length);
- output_line(line.active, p ? p - line.active : line.length,
- p ? true : line.chomped, &output_file);
- }
- break;
-
- case 'q':
- if (!no_default_output)
- output_line(line.active, line.length, line.chomped, &output_file);
- dump_append_queue();
-
- case 'Q':
- return cur_cmd->x.int_arg == -1 ? 0 : cur_cmd->x.int_arg;
-
- case 'r':
- if (cur_cmd->x.fname)
- {
- struct append_queue *aq = next_append_slot();
- aq->fname = cur_cmd->x.fname;
- }
- break;
-
- case 'R':
- if (cur_cmd->x.fp && !feof (cur_cmd->x.fp))
- {
- struct append_queue *aq;
- size_t buflen;
- char *text = NULL;
- int result;
-
- result = ck_getline (&text, &buflen, cur_cmd->x.fp);
- if (result != EOF)
- {
- aq = next_append_slot();
- aq->free = true;
- aq->text = text;
- aq->textlen = result;
- }
- }
- break;
-
- case 's':
- do_subst(cur_cmd->x.cmd_subst);
- break;
-
- case 't':
- if (replaced)
- {
- replaced = false;
- cur_cmd = vec->v + cur_cmd->x.jump_index;
- continue;
- }
- break;
-
- case 'T':
- if (!replaced)
- {
- cur_cmd = vec->v + cur_cmd->x.jump_index;
- continue;
- }
- else
- replaced = false;
- break;
-
- case 'w':
- if (cur_cmd->x.fp)
- output_line(line.active, line.length,
- line.chomped, cur_cmd->x.outf);
- break;
-
- case 'W':
- if (cur_cmd->x.fp)
- {
- char *p = memchr(line.active, '\n', line.length);
- output_line(line.active, p ? p - line.active : line.length,
- p ? true : line.chomped, cur_cmd->x.outf);
- }
- break;
-
- case 'x':
- /* See comment above for 'g' regarding the third parameter. */
- line_exchange(&line, &hold, false);
- break;
-
- case 'y':
- {
-#ifdef HAVE_MBRTOWC
- if (mb_cur_max > 1)
- {
- int idx, prev_idx; /* index in the input line. */
- char **trans;
- mbstate_t mbstate;
- memset(&mbstate, 0, sizeof(mbstate_t));
- for (idx = 0; idx < line.length;)
- {
- int mbclen, i;
- mbclen = MBRLEN (line.active + idx, line.length - idx,
- &mbstate);
- /* An invalid sequence, or a truncated multibyte
- character. We treat it as a singlebyte character.
- */
- if (mbclen == (size_t) -1 || mbclen == (size_t) -2
- || mbclen == 0)
- mbclen = 1;
-
- trans = cur_cmd->x.translatemb;
- /* `i' indicate i-th translate pair. */
- for (i = 0; trans[2*i] != NULL; i++)
- {
- if (strncmp(line.active + idx, trans[2*i], mbclen) == 0)
- {
- bool move_remain_buffer = false;
- int trans_len = strlen(trans[2*i+1]);
-
- if (mbclen < trans_len)
- {
- int new_len;
- new_len = line.length + 1 + trans_len - mbclen;
- /* We must extend the line buffer. */
- if (line.alloc < new_len)
- {
- /* And we must resize the buffer. */
- resize_line(&line, new_len);
- }
- move_remain_buffer = true;
- }
- else if (mbclen > trans_len)
- {
- /* We must truncate the line buffer. */
- move_remain_buffer = true;
- }
- prev_idx = idx;
- if (move_remain_buffer)
- {
- int move_len, move_offset;
- char *move_from, *move_to;
- /* Move the remaining with \0. */
- move_from = line.active + idx + mbclen;
- move_to = line.active + idx + trans_len;
- move_len = line.length + 1 - idx - mbclen;
- move_offset = trans_len - mbclen;
- memmove(move_to, move_from, move_len);
- line.length += move_offset;
- idx += move_offset;
- }
- strncpy(line.active + prev_idx, trans[2*i+1],
- trans_len);
- break;
- }
- }
- idx += mbclen;
- }
- }
- else
-#endif /* HAVE_MBRTOWC */
- {
- unsigned char *p, *e;
- p = CAST(unsigned char *)line.active;
- for (e=p+line.length; p<e; ++p)
- *p = cur_cmd->x.translate[*p];
- }
- }
- break;
-
- case 'z':
- line.length = 0;
- break;
-
- case '=':
- output_missing_newline(&output_file);
- fprintf(output_file.fp, "%lu\n",
- CAST(unsigned long)input->line_number);
- flush_output(output_file.fp);
- break;
-
- default:
- panic("INTERNAL ERROR: Bad cmd %c", cur_cmd->cmd);
- }
- }
-
-#ifdef EXPERIMENTAL_DASH_N_OPTIMIZATION
- /* If our top-level program consists solely of commands with
- ADDR_IS_NUM addresses then once we past the last mentioned
- line we should be able to quit if no_default_output is true,
- or otherwise quickly copy input to output. Now whether this
- optimization is a win or not depends on how cheaply we can
- implement this for the cases where it doesn't help, as
- compared against how much time is saved. One semantic
- difference (which I think is an improvement) is that *this*
- version will terminate after printing line two in the script
- "yes | sed -n 2p".
-
- Don't use this when in-place editing is active, because line
- numbers restart each time then. */
- else if (!separate_files)
- {
- if (cur_cmd->a1->addr_type == ADDR_IS_NUM
- && (cur_cmd->a2
- ? cur_cmd->range_state == RANGE_CLOSED
- : cur_cmd->a1->addr_number < input->line_number))
- {
- /* Skip this address next time */
- cur_cmd->addr_bang = !cur_cmd->addr_bang;
- cur_cmd->a1->addr_type = ADDR_IS_NULL;
- if (cur_cmd->a2)
- cur_cmd->a2->addr_type = ADDR_IS_NULL;
-
- /* can we make an optimization? */
- if (cur_cmd->addr_bang)
- {
- if (cur_cmd->cmd == 'b' || cur_cmd->cmd == 't'
- || cur_cmd->cmd == 'T' || cur_cmd->cmd == '}')
- branches--;
-
- cur_cmd->cmd = '#'; /* replace with no-op */
- if (branches == 0)
- cur_cmd = shrink_program(vec, cur_cmd);
- if (!cur_cmd && no_default_output)
- return 0;
- end_cmd = vec->v + vec->v_length;
- if (!cur_cmd)
- cur_cmd = end_cmd;
- continue;
- }
- }
- }
-#endif /*EXPERIMENTAL_DASH_N_OPTIMIZATION*/
-
- /* this is buried down here so that a "continue" statement can skip it */
- ++cur_cmd;
- }
-
- if (!no_default_output)
- output_line(line.active, line.length, line.chomped, &output_file);
- return -1;
-}
-
-
-
-/* Apply the compiled script to all the named files. */
-int
-process_files(the_program, argv)
- struct vector *the_program;
- char **argv;
-{
- static char dash[] = "-";
- static char *stdin_argv[2] = { dash, NULL };
- struct input input;
- int status;
-
- line_init(&line, NULL, INITIAL_BUFFER_SIZE);
- line_init(&hold, NULL, 0);
- line_init(&buffer, NULL, 0);
-
-#ifdef EXPERIMENTAL_DASH_N_OPTIMIZATION
- branches = count_branches(the_program);
-#endif /*EXPERIMENTAL_DASH_N_OPTIMIZATION*/
- input.reset_at_next_file = true;
- if (argv && *argv)
- input.file_list = argv;
- else if (in_place_extension)
- panic(_("no input files"));
- else
- input.file_list = stdin_argv;
-
- input.bad_count = 0;
- input.line_number = 0;
- input.read_fn = read_always_fail;
- input.fp = NULL;
-
- status = EXIT_SUCCESS;
- while (read_pattern_space(&input, the_program, false))
- {
- status = execute_program(the_program, &input);
- if (status == -1)
- status = EXIT_SUCCESS;
- else
- break;
- }
- closedown(&input);
-
-#ifdef DEBUG_LEAKS
- /* We're about to exit, so these free()s are redundant.
- But if we're running under a memory-leak detecting
- implementation of malloc(), we want to explicitly
- deallocate in order to avoid extraneous noise from
- the allocator. */
- release_append_queue();
- FREE(buffer.text);
- FREE(hold.text);
- FREE(line.text);
- FREE(s_accum.text);
-#endif /*DEBUG_LEAKS*/
-
- if (input.bad_count)
- status = 2;
-
- return status;
-}
diff --git a/sources/host-tools/sed-4.2.1/sed/fmt.c b/sources/host-tools/sed-4.2.1/sed/fmt.c
deleted file mode 100644
index b2d2efb..0000000
--- a/sources/host-tools/sed-4.2.1/sed/fmt.c
+++ /dev/null
@@ -1,588 +0,0 @@
-/* `L' command implementation for GNU sed, based on GNU fmt 1.22.
- Copyright (C) 1994, 1995, 1996, 2002, 2003 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* GNU fmt was written by Ross Paterson <rap@doc.ic.ac.uk>. */
-
-#include "sed.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-
-#if HAVE_LIMITS_H
-# include <limits.h>
-#endif
-
-#ifndef UINT_MAX
-# define UINT_MAX ((unsigned int) ~(unsigned int) 0)
-#endif
-
-#ifndef INT_MAX
-# define INT_MAX ((int) (UINT_MAX >> 1))
-#endif
-
-/* The following parameters represent the program's idea of what is
- "best". Adjust to taste, subject to the caveats given. */
-
-/* Prefer lines to be LEEWAY % shorter than the maximum width, giving
- room for optimization. */
-#define LEEWAY 7
-
-/* Costs and bonuses are expressed as the equivalent departure from the
- optimal line length, multiplied by 10. e.g. assigning something a
- cost of 50 means that it is as bad as a line 5 characters too short
- or too long. The definition of SHORT_COST(n) should not be changed.
- However, EQUIV(n) may need tuning. */
-
-typedef long COST;
-
-#define MAXCOST (~(((unsigned long) 1) << (8 * sizeof (COST) -1)))
-
-#define SQR(n) ((n) * (n))
-#define EQUIV(n) SQR ((COST) (n))
-
-/* Cost of a filled line n chars longer or shorter than best_width. */
-#define SHORT_COST(n) EQUIV ((n) * 10)
-
-/* Cost of the difference between adjacent filled lines. */
-#define RAGGED_COST(n) (SHORT_COST (n) / 2)
-
-/* Basic cost per line. */
-#define LINE_COST EQUIV (70)
-
-/* Cost of breaking a line after the first word of a sentence, where
- the length of the word is N. */
-#define WIDOW_COST(n) (EQUIV (200) / ((n) + 2))
-
-/* Cost of breaking a line before the last word of a sentence, where
- the length of the word is N. */
-#define ORPHAN_COST(n) (EQUIV (150) / ((n) + 2))
-
-/* Bonus for breaking a line at the end of a sentence. */
-#define SENTENCE_BONUS EQUIV (50)
-
-/* Cost of breaking a line after a period not marking end of a sentence.
- With the definition of sentence we are using (borrowed from emacs, see
- get_line()) such a break would then look like a sentence break. Hence
- we assign a very high cost -- it should be avoided unless things are
- really bad. */
-#define NOBREAK_COST EQUIV (600)
-
-/* Bonus for breaking a line before open parenthesis. */
-#define PAREN_BONUS EQUIV (40)
-
-/* Bonus for breaking a line after other punctuation. */
-#define PUNCT_BONUS EQUIV(40)
-
-/* Credit for breaking a long paragraph one line later. */
-#define LINE_CREDIT EQUIV(3)
-
-/* Size of paragraph buffer in words. Longer paragraphs are handled
- neatly (cf. flush_paragraph()), so there's little to gain by making
- these larger. */
-#define MAXWORDS 1000
-
-#define GETC() (parabuf == end_of_parabuf ? EOF : *parabuf++)
-
-/* Extra ctype(3)-style macros. */
-
-#define isopen(c) (strchr ("([`'\"", (c)) != NULL)
-#define isclose(c) (strchr (")]'\"", (c)) != NULL)
-#define isperiod(c) (strchr (".?!", (c)) != NULL)
-
-/* Size of a tab stop, for expansion on input and re-introduction on
- output. */
-#define TABWIDTH 8
-
-/* Word descriptor structure. */
-
-typedef struct Word WORD;
-
-struct Word
- {
-
- /* Static attributes determined during input. */
-
- const char *text; /* the text of the word */
- short length; /* length of this word */
- short space; /* the size of the following space */
- unsigned paren:1; /* starts with open paren */
- unsigned period:1; /* ends in [.?!])* */
- unsigned punct:1; /* ends in punctuation */
- unsigned final:1; /* end of sentence */
-
- /* The remaining fields are computed during the optimization. */
-
- short line_length; /* length of the best line starting here */
- COST best_cost; /* cost of best paragraph starting here */
- WORD *next_break; /* break which achieves best_cost */
- };
-
-/* Forward declarations. */
-
-static bool get_paragraph P_ ((void));
-static int get_line P_ ((int c));
-static int get_space P_ ((int c));
-static int copy_rest P_ ((int c));
-static bool same_para P_ ((int c));
-static void flush_paragraph P_ ((void));
-static void fmt_paragraph P_ ((void));
-static void check_punctuation P_ ((WORD *w));
-static COST base_cost P_ ((WORD *this));
-static COST line_cost P_ ((WORD *next, int len));
-static void put_paragraph P_ ((WORD *finish));
-static void put_line P_ ((WORD *w, int indent));
-static void put_word P_ ((WORD *w));
-static void put_space P_ ((int space));
-
-/* Option values. */
-
-/* User-supplied maximum line width (default WIDTH). The only output
- lines
- longer than this will each comprise a single word. */
-static int max_width;
-
-/* Space for the paragraph text. */
-static const char *parabuf;
-
-/* End of space for the paragraph text. */
-static const char *end_of_parabuf;
-
-/* The file on which we output */
-static FILE *outfile;
-
-/* Values derived from the option values. */
-
-/* The preferred width of text lines, set to LEEWAY % less than max_width. */
-static int best_width;
-
-/* Dynamic variables. */
-
-/* Start column of the character most recently read from the input file. */
-static int in_column;
-
-/* Start column of the next character to be written to stdout. */
-static int out_column;
-
-/* The words of a paragraph -- longer paragraphs are handled neatly
- (cf. flush_paragraph()). */
-static WORD words[MAXWORDS];
-
-/* A pointer into the above word array, indicating the first position
- after the last complete word. Sometimes it will point at an incomplete
- word. */
-static WORD *word_limit;
-
-/* Indentation of the first line of the current paragraph. */
-static int first_indent;
-
-/* Indentation of other lines of the current paragraph */
-static int other_indent;
-
-/* The last character read from the input file. */
-static int next_char;
-
-/* If nonzero, the length of the last line output in the current
- paragraph, used to charge for raggedness at the split point for long
- paragraphs chosen by fmt_paragraph(). */
-static int last_line_length;
-
-/* read file F and send formatted output to stdout. */
-
-void
-fmt (const char *line, const char *line_end, int max_length, FILE *output_file)
-{
- parabuf = line;
- end_of_parabuf = line_end;
- outfile = output_file;
-
- max_width = max_length;
- best_width = max_width * (201 - 2 * LEEWAY) / 200;
-
- in_column = 0;
- other_indent = 0;
- next_char = GETC();
- while (get_paragraph ())
- {
- fmt_paragraph ();
- put_paragraph (word_limit);
- }
-}
-
-/* Read a paragraph from input file F. A paragraph consists of a
- maximal number of non-blank (excluding any prefix) lines
- with the same indent.
-
- Return false if end-of-file was encountered before the start of a
- paragraph, else true. */
-
-static bool
-get_paragraph ()
-{
- register int c;
-
- last_line_length = 0;
- c = next_char;
-
- /* Scan (and copy) blank lines, and lines not introduced by the prefix. */
-
- while (c == '\n' || c == EOF)
- {
- c = copy_rest (c);
- if (c == EOF)
- {
- next_char = EOF;
- return false;
- }
- putc ('\n', outfile);
- c = GETC();
- }
-
- /* Got a suitable first line for a paragraph. */
-
- first_indent = in_column;
- word_limit = words;
- c = get_line (c);
-
- /* Read rest of paragraph. */
-
- other_indent = in_column;
- while (same_para (c) && in_column == other_indent)
- c = get_line (c);
-
- (word_limit - 1)->period = (word_limit - 1)->final = true;
- next_char = c;
- return true;
-}
-
-/* Copy to the output a blank line. In the latter, C is \n or EOF.
- Return the character (\n or EOF) ending the line. */
-
-static int
-copy_rest (register int c)
-{
- out_column = 0;
- while (c != '\n' && c != EOF)
- {
- putc (c, outfile);
- c = GETC();
- }
- return c;
-}
-
-/* Return true if a line whose first non-blank character after the
- prefix (if any) is C could belong to the current paragraph,
- otherwise false. */
-
-static bool
-same_para (register int c)
-{
- return (c != '\n' && c != EOF);
-}
-
-/* Read a line from the input data given first non-blank character C
- after the prefix, and the following indent, and break it into words.
- A word is a maximal non-empty string of non-white characters. A word
- ending in [.?!]["')\]]* and followed by end-of-line or at least two
- spaces ends a sentence, as in emacs.
-
- Return the first non-blank character of the next line. */
-
-static int
-get_line (register int c)
-{
- int start;
- register WORD *end_of_word;
-
- end_of_word = &words[MAXWORDS - 2];
-
- do
- { /* for each word in a line */
-
- /* Scan word. */
-
- word_limit->text = parabuf - 1;
- do
- c = GETC();
- while (c != EOF && !ISSPACE (c));
- word_limit->length = parabuf - word_limit->text - (c != EOF);
- in_column += word_limit->length;
-
- check_punctuation (word_limit);
-
- /* Scan inter-word space. */
-
- start = in_column;
- c = get_space (c);
- word_limit->space = in_column - start;
- word_limit->final = (c == EOF
- || (word_limit->period
- && (c == '\n' || word_limit->space > 1)));
- if (c == '\n' || c == EOF)
- word_limit->space = word_limit->final ? 2 : 1;
- if (word_limit == end_of_word)
- flush_paragraph ();
- word_limit++;
- if (c == EOF)
- {
- in_column = first_indent;
- return EOF;
- }
- }
- while (c != '\n');
-
- in_column = 0;
- c = GETC();
- return get_space (c);
-}
-
-/* Read blank characters from the input data, starting with C, and keeping
- in_column up-to-date. Return first non-blank character. */
-
-static int
-get_space (register int c)
-{
- for (;;)
- {
- if (c == ' ')
- in_column++;
- else if (c == '\t')
- in_column = (in_column / TABWIDTH + 1) * TABWIDTH;
- else
- return c;
- c = GETC();
- }
-}
-
-/* Set extra fields in word W describing any attached punctuation. */
-
-static void
-check_punctuation (register WORD *w)
-{
- register const char *start, *finish;
-
- start = w->text;
- finish = start + (w->length - 1);
- w->paren = isopen (*start);
- w->punct = ISPUNCT (*finish);
- while (isclose (*finish) && finish > start)
- finish--;
- w->period = isperiod (*finish);
-}
-
-/* Flush part of the paragraph to make room. This function is called on
- hitting the limit on the number of words or characters. */
-
-static void
-flush_paragraph (void)
-{
- WORD *split_point;
- register WORD *w;
- COST best_break;
-
- /* - format what you have so far as a paragraph,
- - find a low-cost line break near the end,
- - output to there,
- - make that the start of the paragraph. */
-
- fmt_paragraph ();
-
- /* Choose a good split point. */
-
- split_point = word_limit;
- best_break = MAXCOST;
- for (w = words->next_break; w != word_limit; w = w->next_break)
- {
- if (w->best_cost - w->next_break->best_cost < best_break)
- {
- split_point = w;
- best_break = w->best_cost - w->next_break->best_cost;
- }
- if (best_break <= MAXCOST - LINE_CREDIT)
- best_break += LINE_CREDIT;
- }
- put_paragraph (split_point);
-
- /* Copy words from split_point down to word -- we use memmove because
- the source and target may overlap. */
-
- memmove ((char *) words, (char *) split_point,
- (word_limit - split_point + 1) * sizeof (WORD));
- word_limit -= split_point - words;
-}
-
-/* Compute the optimal formatting for the whole paragraph by computing
- and remembering the optimal formatting for each suffix from the empty
- one to the whole paragraph. */
-
-static void
-fmt_paragraph (void)
-{
- register WORD *start, *w;
- register int len;
- register COST wcost, best;
- int saved_length;
-
- word_limit->best_cost = 0;
- saved_length = word_limit->length;
- word_limit->length = max_width; /* sentinel */
-
- for (start = word_limit - 1; start >= words; start--)
- {
- best = MAXCOST;
- len = start == words ? first_indent : other_indent;
-
- /* At least one word, however long, in the line. */
-
- w = start;
- len += w->length;
- do
- {
- w++;
-
- /* Consider breaking before w. */
-
- wcost = line_cost (w, len) + w->best_cost;
- if (start == words && last_line_length > 0)
- wcost += RAGGED_COST (len - last_line_length);
- if (wcost < best)
- {
- best = wcost;
- start->next_break = w;
- start->line_length = len;
- }
- len += (w - 1)->space + w->length; /* w > start >= words */
- }
- while (len < max_width);
- start->best_cost = best + base_cost (start);
- }
-
- word_limit->length = saved_length;
-}
-
-/* Return the constant component of the cost of breaking before the
- word THIS. */
-
-static COST
-base_cost (register WORD *this)
-{
- register COST cost;
-
- cost = LINE_COST;
-
- if (this > words)
- {
- if ((this - 1)->period)
- {
- if ((this - 1)->final)
- cost -= SENTENCE_BONUS;
- else
- cost += NOBREAK_COST;
- }
- else if ((this - 1)->punct)
- cost -= PUNCT_BONUS;
- else if (this > words + 1 && (this - 2)->final)
- cost += WIDOW_COST ((this - 1)->length);
- }
-
- if (this->paren)
- cost -= PAREN_BONUS;
- else if (this->final)
- cost += ORPHAN_COST (this->length);
-
- return cost;
-}
-
-/* Return the component of the cost of breaking before word NEXT that
- depends on LEN, the length of the line beginning there. */
-
-static COST
-line_cost (register WORD *next, register int len)
-{
- register int n;
- register COST cost;
-
- if (next == word_limit)
- return 0;
- n = best_width - len;
- cost = SHORT_COST (n);
- if (next->next_break != word_limit)
- {
- n = len - next->line_length;
- cost += RAGGED_COST (n);
- }
- return cost;
-}
-
-/* Output to stdout a paragraph from word up to (but not including)
- FINISH, which must be in the next_break chain from word. */
-
-static void
-put_paragraph (register WORD *finish)
-{
- register WORD *w;
-
- put_line (words, first_indent);
- for (w = words->next_break; w != finish; w = w->next_break)
- put_line (w, other_indent);
-}
-
-/* Output to stdout the line beginning with word W, beginning in column
- INDENT, including the prefix (if any). */
-
-static void
-put_line (register WORD *w, int indent)
-{
- register WORD *endline;
- out_column = 0;
- put_space (indent);
-
- endline = w->next_break - 1;
- for (; w != endline; w++)
- {
- put_word (w);
- put_space (w->space);
- }
- put_word (w);
- last_line_length = out_column;
- putc ('\n', outfile);
-}
-
-/* Output to stdout the word W. */
-
-static void
-put_word (register WORD *w)
-{
- register const char *s;
- register int n;
-
- s = w->text;
- for (n = w->length; n != 0; n--)
- putc (*s++, outfile);
- out_column += w->length;
-}
-
-/* Output to stdout SPACE spaces, or equivalent tabs. */
-
-static void
-put_space (int space)
-{
- out_column += space;
- while (space--)
- putc (' ', outfile);
-}
diff --git a/sources/host-tools/sed-4.2.1/sed/mbcs.c b/sources/host-tools/sed-4.2.1/sed/mbcs.c
deleted file mode 100644
index 5746fd5..0000000
--- a/sources/host-tools/sed-4.2.1/sed/mbcs.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 2003, 2006, 2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include "sed.h"
-#include <stdlib.h>
-#include <string.h>
-
-#include "localcharset.h"
-
-int mb_cur_max;
-bool is_utf8;
-
-#ifdef HAVE_MBRTOWC
-/* Add a byte to the multibyte character represented by the state
- CUR_STAT, and answer its length if a character is completed,
- or -2 if it is yet to be completed. */
-int brlen (ch, cur_stat)
- int ch;
- mbstate_t *cur_stat;
-{
- char c = ch;
-
- /* If we use the generic brlen, then MBRLEN == mbrlen. */
- int result = mbrtowc(NULL, &c, 1, cur_stat);
-
- /* An invalid sequence is treated like a singlebyte character. */
- if (result == -1)
- {
- memset (cur_stat, 0, sizeof (mbstate_t));
- return 1;
- }
-
- return result;
-}
-#endif
-
-void
-initialize_mbcs ()
-{
- /* For UTF-8, we know that the encoding is stateless. */
- const char *codeset_name;
-
- codeset_name = locale_charset ();
- is_utf8 = (strcmp (codeset_name, "UTF-8") == 0);
-
-#ifdef HAVE_MBRTOWC
- mb_cur_max = MB_CUR_MAX;
-#else
- mb_cur_max = 1;
-#endif
-}
-
diff --git a/sources/host-tools/sed-4.2.1/sed/regexp.c b/sources/host-tools/sed-4.2.1/sed/regexp.c
deleted file mode 100644
index 39914de..0000000
--- a/sources/host-tools/sed-4.2.1/sed/regexp.c
+++ /dev/null
@@ -1,269 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include "sed.h"
-
-#include <ctype.h>
-#include <string.h>
-#include <stdio.h>
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#ifdef gettext_noop
-# define N_(String) gettext_noop(String)
-#else
-# define N_(String) (String)
-#endif
-
-extern bool use_extended_syntax_p;
-
-static const char errors[] =
- "no previous regular expression\0"
- "cannot specify modifiers on empty regexp";
-
-#define NO_REGEX (errors)
-#define BAD_MODIF (NO_REGEX + sizeof(N_("no previous regular expression")))
-#define END_ERRORS (BAD_MODIF + sizeof(N_("cannot specify modifiers on empty regexp")))
-
-
-
-static void
-compile_regex_1 (new_regex, needed_sub)
- struct regex *new_regex;
- int needed_sub;
-{
-#ifdef REG_PERL
- int errcode;
- errcode = regncomp(&new_regex->pattern, new_regex->re, new_regex->sz,
- (needed_sub ? 0 : REG_NOSUB)
- | new_regex->flags
- | extended_regexp_flags);
-
- if (errcode)
- {
- char errorbuf[200];
- regerror(errcode, NULL, errorbuf, 200);
- bad_prog(gettext(errorbuf));
- }
-#else
- const char *error;
- int syntax = ((extended_regexp_flags & REG_EXTENDED)
- ? RE_SYNTAX_POSIX_EXTENDED
- : RE_SYNTAX_POSIX_BASIC);
-
- syntax &= ~RE_DOT_NOT_NULL;
- syntax |= RE_NO_POSIX_BACKTRACKING;
-
- switch (posixicity)
- {
- case POSIXLY_EXTENDED:
- syntax &= ~RE_UNMATCHED_RIGHT_PAREN_ORD;
- break;
- case POSIXLY_CORRECT:
- syntax |= RE_UNMATCHED_RIGHT_PAREN_ORD;
- break;
- case POSIXLY_BASIC:
- syntax |= RE_UNMATCHED_RIGHT_PAREN_ORD | RE_LIMITED_OPS | RE_NO_GNU_OPS;
- break;
- }
-
-#ifdef RE_ICASE
- syntax |= (new_regex->flags & REG_ICASE) ? RE_ICASE : 0;
-#endif
-#ifdef RE_NO_SUB
- syntax |= needed_sub ? 0 : RE_NO_SUB;
-#endif
-
- new_regex->pattern.fastmap = malloc (1 << (sizeof (char) * 8));
-
- /* If REG_NEWLINE is set, newlines are treated differently. */
- if (new_regex->flags & REG_NEWLINE)
- {
- /* REG_NEWLINE implies neither . nor [^...] match newline. */
- syntax &= ~RE_DOT_NEWLINE;
- syntax |= RE_HAT_LISTS_NOT_NEWLINE;
- }
-
- re_set_syntax (syntax);
- error = re_compile_pattern (new_regex->re, new_regex->sz,
- &new_regex->pattern);
- new_regex->pattern.newline_anchor = (new_regex->flags & REG_NEWLINE) != 0;
-
- new_regex->pattern.translate = NULL;
-#ifndef RE_ICASE
- if (new_regex->flags & REG_ICASE)
- {
- static char translate[1 << (sizeof(char) * 8)];
- int i;
- for (i = 0; i < sizeof(translate) / sizeof(char); i++)
- translate[i] = tolower (i);
-
- new_regex->pattern.translate = translate;
- }
-#endif
-
- if (error)
- bad_prog(error);
-#endif
-
- /* Just to be sure, I mark this as not POSIXLY_CORRECT behavior */
- if (needed_sub
- && new_regex->pattern.re_nsub < needed_sub - 1
- && posixicity == POSIXLY_EXTENDED)
- {
- char buf[200];
- sprintf(buf, _("invalid reference \\%d on `s' command's RHS"),
- needed_sub - 1);
- bad_prog(buf);
- }
-}
-
-struct regex *
-compile_regex(b, flags, needed_sub)
- struct buffer *b;
- int flags;
- int needed_sub;
-{
- struct regex *new_regex;
- size_t re_len;
-
- /* // matches the last RE */
- if (size_buffer(b) == 0)
- {
- if (flags > 0)
- bad_prog(_(BAD_MODIF));
- return NULL;
- }
-
- re_len = size_buffer(b);
- new_regex = ck_malloc(sizeof (struct regex) + re_len - 1);
- new_regex->flags = flags;
- memcpy (new_regex->re, get_buffer(b), re_len);
-
-#ifdef REG_PERL
- new_regex->sz = re_len;
-#else
- /* GNU regex does not process \t & co. */
- new_regex->sz = normalize_text(new_regex->re, re_len, TEXT_REGEX);
-#endif
-
- compile_regex_1 (new_regex, needed_sub);
- return new_regex;
-}
-
-#ifdef REG_PERL
-static void
-copy_regs (regs, pmatch, nregs)
- struct re_registers *regs;
- regmatch_t *pmatch;
- int nregs;
-{
- int i;
- int need_regs = nregs + 1;
- /* We need one extra element beyond `num_regs' for the `-1' marker GNU code
- uses. */
-
- /* Have the register data arrays been allocated? */
- if (!regs->start)
- { /* No. So allocate them with malloc. */
- regs->start = MALLOC (need_regs, regoff_t);
- regs->end = MALLOC (need_regs, regoff_t);
- regs->num_regs = need_regs;
- }
- else if (need_regs > regs->num_regs)
- { /* Yes. We also need more elements than were already
- allocated, so reallocate them. */
- regs->start = REALLOC (regs->start, need_regs, regoff_t);
- regs->end = REALLOC (regs->end, need_regs, regoff_t);
- regs->num_regs = need_regs;
- }
-
- /* Copy the regs. */
- for (i = 0; i < nregs; ++i)
- {
- regs->start[i] = pmatch[i].rm_so;
- regs->end[i] = pmatch[i].rm_eo;
- }
- for ( ; i < regs->num_regs; ++i)
- regs->start[i] = regs->end[i] = -1;
-}
-#endif
-
-int
-match_regex(regex, buf, buflen, buf_start_offset, regarray, regsize)
- struct regex *regex;
- char *buf;
- size_t buflen;
- size_t buf_start_offset;
- struct re_registers *regarray;
- int regsize;
-{
- int ret;
- static struct regex *regex_last;
-#ifdef REG_PERL
- regmatch_t rm[10], *regmatch = rm;
- if (regsize > 10)
- regmatch = (regmatch_t *) alloca (sizeof (regmatch_t) * regsize);
-#endif
-
- /* printf ("Matching from %d/%d\n", buf_start_offset, buflen); */
-
- /* Keep track of the last regexp matched. */
- if (!regex)
- {
- regex = regex_last;
- if (!regex_last)
- bad_prog(_(NO_REGEX));
- }
- else
- regex_last = regex;
-
-#ifdef REG_PERL
- regmatch[0].rm_so = CAST(int)buf_start_offset;
- regmatch[0].rm_eo = CAST(int)buflen;
- ret = regexec (®ex->pattern, buf, regsize, regmatch, REG_STARTEND);
-
- if (regsize)
- copy_regs (regarray, regmatch, regsize);
-
- return (ret == 0);
-#else
- if (regex->pattern.no_sub && regsize)
- compile_regex_1 (regex, regsize);
-
- regex->pattern.regs_allocated = REGS_REALLOCATE;
-
- ret = re_search (®ex->pattern, buf, buflen, buf_start_offset,
- buflen - buf_start_offset,
- regsize ? regarray : NULL);
-
- return (ret > -1);
-#endif
-}
-
-
-#ifdef DEBUG_LEAKS
-void
-release_regex(regex)
- struct regex *regex;
-{
- regfree(®ex->pattern);
- FREE(regex);
-}
-#endif /*DEBUG_LEAKS*/
diff --git a/sources/host-tools/sed-4.2.1/sed/sed.c b/sources/host-tools/sed-4.2.1/sed/sed.c
deleted file mode 100644
index d9a238f..0000000
--- a/sources/host-tools/sed-4.2.1/sed/sed.c
+++ /dev/null
@@ -1,355 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1989,90,91,92,93,94,95,98,99,2002,2003,2006,2008,2009
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-
-#include "sed.h"
-
-
-#include <stdio.h>
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#else
-# include <string.h>
-#endif /*HAVE_STRINGS_H*/
-#ifdef HAVE_MEMORY_H
-# include <memory.h>
-#endif
-
-#ifndef HAVE_STRCHR
-# define strchr index
-# define strrchr rindex
-#endif
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include "getopt.h"
-
-#ifndef BOOTSTRAP
-#ifndef HAVE_STDLIB_H
- extern char *getenv P_((const char *));
-#endif
-#endif
-
-#ifndef HAVE_STRTOUL
-# define ATOI(x) atoi(x)
-#else
-# define ATOI(x) strtoul(x, NULL, 0)
-#endif
-
-char *program_name;
-
-int extended_regexp_flags = 0;
-
-/* If set, fflush(stdout) on every line output. */
-bool unbuffered_output = false;
-
-/* If set, don't write out the line unless explicitly told to */
-bool no_default_output = false;
-
-/* If set, reset line counts on every new file. */
-bool separate_files = false;
-
-/* If set, follow symlinks when processing in place */
-bool follow_symlinks = false;
-
-/* How do we edit files in-place? (we don't if NULL) */
-char *in_place_extension = NULL;
-
-/* The mode to use to read files, either "rt" or "rb". */
-char *read_mode = "rt";
-
-/* Do we need to be pedantically POSIX compliant? */
-enum posixicity_types posixicity;
-
-/* How long should the `l' command's output line be? */
-countT lcmd_out_line_len = 70;
-
-/* The complete compiled SED program that we are going to run: */
-static struct vector *the_program = NULL;
-
-static void usage P_((int));
-static void
-contact(errmsg)
- int errmsg;
-{
- FILE *out = errmsg ? stderr : stdout;
-#ifndef REG_PERL
- fprintf(out, _("GNU sed home page: <http://www.gnu.org/software/sed/>.\n\
-General help using GNU software: <http://www.gnu.org/gethelp/>.\n"));
-#endif
-
- /* Only print the bug report address for `sed --help', otherwise we'll
- get reports for other people's bugs. */
- if (!errmsg)
- fprintf(out, _("E-mail bug reports to: <%s>.\n\
-Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"),
- PACKAGE_BUGREPORT, PACKAGE);
-}
-
-static void usage P_((int));
-static void
-usage(status)
- int status;
-{
- FILE *out = status ? stderr : stdout;
-
-#ifdef REG_PERL
-#define PERL_HELP _(" -R, --regexp-perl\n use Perl 5's regular expressions syntax in the script.\n")
-#else
-#define PERL_HELP ""
-#endif
-
- fprintf(out, _("\
-Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n\
-\n"), myname);
-
- fprintf(out, _(" -n, --quiet, --silent\n\
- suppress automatic printing of pattern space\n"));
- fprintf(out, _(" -e script, --expression=script\n\
- add the script to the commands to be executed\n"));
- fprintf(out, _(" -f script-file, --file=script-file\n\
- add the contents of script-file to the commands to be executed\n"));
-#ifdef ENABLE_FOLLOW_SYMLINKS
- fprintf(out, _(" --follow-symlinks\n\
- follow symlinks when processing in place\n"));
-#endif
- fprintf(out, _(" -i[SUFFIX], --in-place[=SUFFIX]\n\
- edit files in place (makes backup if extension supplied)\n"));
-#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(MSDOS) || defined(__EMX__)
- fprintf(out, _(" -b, --binary\n\
- open files in binary mode (CR+LFs are not processed specially)\n"));
-#endif
- fprintf(out, _(" -l N, --line-length=N\n\
- specify the desired line-wrap length for the `l' command\n"));
- fprintf(out, _(" --posix\n\
- disable all GNU extensions.\n"));
- fprintf(out, _(" -r, --regexp-extended\n\
- use extended regular expressions in the script.\n"));
-#ifdef REG_PERL
- fprintf(out, PERL_HELP);
-#endif
- fprintf(out, _(" -s, --separate\n\
- consider files as separate rather than as a single continuous\n\
- long stream.\n"));
- fprintf(out, _(" -u, --unbuffered\n\
- load minimal amounts of data from the input files and flush\n\
- the output buffers more often\n"));
- fprintf(out, _(" --help display this help and exit\n"));
- fprintf(out, _(" --version output version information and exit\n"));
- fprintf(out, _("\n\
-If no -e, --expression, -f, or --file option is given, then the first\n\
-non-option argument is taken as the sed script to interpret. All\n\
-remaining arguments are names of input files; if no input files are\n\
-specified, then the standard input is read.\n\
-\n"));
- contact (status);
-
- ck_fclose (NULL);
- exit (status);
-}
-
-int
-main(argc, argv)
- int argc;
- char **argv;
-{
-#ifdef REG_PERL
-#define SHORTOPTS "bsnrRuEe:f:l:i::V:"
-#else
-#define SHORTOPTS "bsnruEe:f:l:i::V:"
-#endif
-
- static struct option longopts[] = {
- {"binary", 0, NULL, 'b'},
- {"regexp-extended", 0, NULL, 'r'},
-#ifdef REG_PERL
- {"regexp-perl", 0, NULL, 'R'},
-#endif
- {"expression", 1, NULL, 'e'},
- {"file", 1, NULL, 'f'},
- {"in-place", 2, NULL, 'i'},
- {"line-length", 1, NULL, 'l'},
- {"quiet", 0, NULL, 'n'},
- {"posix", 0, NULL, 'p'},
- {"silent", 0, NULL, 'n'},
- {"separate", 0, NULL, 's'},
- {"unbuffered", 0, NULL, 'u'},
- {"version", 0, NULL, 'v'},
- {"help", 0, NULL, 'h'},
-#ifdef ENABLE_FOLLOW_SYMLINKS
- {"follow-symlinks", 0, NULL, 'F'},
-#endif
- {NULL, 0, NULL, 0}
- };
-
- int opt;
- int return_code;
- const char *cols = getenv("COLS");
-
- program_name = argv[0];
- initialize_main (&argc, &argv);
-#if HAVE_SETLOCALE
- /* Set locale according to user's wishes. */
- setlocale (LC_ALL, "");
-#endif
- initialize_mbcs ();
-
-#if ENABLE_NLS
-
- /* Tell program which translations to use and where to find. */
- bindtextdomain (PACKAGE, LOCALEDIR);
- textdomain (PACKAGE);
-#endif
-
- if (getenv("POSIXLY_CORRECT") != NULL)
- posixicity = POSIXLY_CORRECT;
- else
- posixicity = POSIXLY_EXTENDED;
-
- /* If environment variable `COLS' is set, use its value for
- the baseline setting of `lcmd_out_line_len'. The "-1"
- is to avoid gratuitous auto-line-wrap on ttys.
- */
- if (cols)
- {
- countT t = ATOI(cols);
- if (t > 1)
- lcmd_out_line_len = t-1;
- }
-
- myname = *argv;
- while ((opt = getopt_long(argc, argv, SHORTOPTS, longopts, NULL)) != EOF)
- {
- switch (opt)
- {
- case 'n':
- no_default_output = true;
- break;
- case 'e':
- the_program = compile_string(the_program, optarg, strlen(optarg));
- break;
- case 'f':
- the_program = compile_file(the_program, optarg);
- break;
-
- case 'F':
- follow_symlinks = true;
- break;
-
- case 'i':
- separate_files = true;
- if (optarg == NULL)
- /* use no backups */
- in_place_extension = ck_strdup ("*");
-
- else if (strchr(optarg, '*') != NULL)
- in_place_extension = ck_strdup(optarg);
-
- else
- {
- in_place_extension = MALLOC (strlen(optarg) + 2, char);
- in_place_extension[0] = '*';
- strcpy (in_place_extension + 1, optarg);
- }
-
- break;
-
- case 'l':
- lcmd_out_line_len = ATOI(optarg);
- break;
-
- case 'p':
- posixicity = POSIXLY_BASIC;
- break;
-
- case 'b':
- read_mode = "rb";
- break;
-
- /* Undocumented, for compatibility with BSD sed. */
- case 'E':
- case 'r':
- if (extended_regexp_flags)
- usage(4);
- extended_regexp_flags = REG_EXTENDED;
- break;
-
-#ifdef REG_PERL
- case 'R':
- if (extended_regexp_flags)
- usage(4);
- extended_regexp_flags = REG_PERL;
- break;
-#endif
-
- case 's':
- separate_files = true;
- break;
-
- case 'u':
- unbuffered_output = true;
- break;
-
- case 'v':
-#ifdef REG_PERL
- fprintf(stdout, _("super-sed version %s\n"), VERSION);
- fprintf(stdout, _("based on GNU sed version %s\n\n"), SED_FEATURE_VERSION);
-#else
- fprintf(stdout, _("GNU sed version %s\n"), VERSION);
-#endif
- fprintf(stdout, _("Copyright (C) %d Free Software Foundation, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n\
-to the extent permitted by law.\n\
-"), COPYRIGHT_YEAR);
- fputc('\n', stdout);
- contact(false);
-
- ck_fclose (NULL);
- exit (0);
- case 'h':
- usage(0);
- default:
- usage(4);
- }
- }
-
- if (!the_program)
- {
- if (optind < argc)
- {
- char *arg = argv[optind++];
- the_program = compile_string(the_program, arg, strlen(arg));
- }
- else
- usage(4);
- }
- check_final_program(the_program);
-
- return_code = process_files(the_program, argv+optind);
-
- finish_program(the_program);
- ck_fclose(NULL);
-
- return return_code;
-}
diff --git a/sources/host-tools/sed-4.2.1/sed/sed.h b/sources/host-tools/sed-4.2.1/sed/sed.h
deleted file mode 100644
index d657a42..0000000
--- a/sources/host-tools/sed-4.2.1/sed/sed.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/* GNU SED, a batch stream editor.
- Copyright (C) 1989,90,91,92,93,94,95,98,99,2002,2003
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "basicdefs.h"
-#include "regex.h"
-
-#ifndef BOOTSTRAP
-#include <stdio.h>
-#include "unlocked-io.h"
-#endif
-
-#include "utils.h"
-
-/* Struct vector is used to describe a compiled sed program. */
-struct vector {
- struct sed_cmd *v; /* a dynamically allocated array */
- size_t v_allocated; /* ... number slots allocated */
- size_t v_length; /* ... number of slots in use */
-};
-
-/* This structure tracks files used by sed so that they may all be
- closed cleanly at normal program termination. A flag is kept that tells
- if a missing newline was encountered, so that it is added on the
- next line and the two lines are not concatenated. */
-struct output {
- char *name;
- bool missing_newline;
- FILE *fp;
- struct output *link;
-};
-
-struct text_buf {
- char *text;
- size_t text_length;
-};
-
-struct regex {
- regex_t pattern;
- int flags;
- size_t sz;
- char re[1];
-};
-
-enum replacement_types {
- REPL_ASIS = 0,
- REPL_UPPERCASE = 1,
- REPL_LOWERCASE = 2,
- REPL_UPPERCASE_FIRST = 4,
- REPL_LOWERCASE_FIRST = 8,
- REPL_MODIFIERS = REPL_UPPERCASE_FIRST | REPL_LOWERCASE_FIRST,
-
- /* These are given to aid in debugging */
- REPL_UPPERCASE_UPPERCASE = REPL_UPPERCASE_FIRST | REPL_UPPERCASE,
- REPL_UPPERCASE_LOWERCASE = REPL_UPPERCASE_FIRST | REPL_LOWERCASE,
- REPL_LOWERCASE_UPPERCASE = REPL_LOWERCASE_FIRST | REPL_UPPERCASE,
- REPL_LOWERCASE_LOWERCASE = REPL_LOWERCASE_FIRST | REPL_LOWERCASE
-};
-
-enum text_types {
- TEXT_BUFFER,
- TEXT_REPLACEMENT,
- TEXT_REGEX
-};
-
-enum posixicity_types {
- POSIXLY_EXTENDED, /* with GNU extensions */
- POSIXLY_CORRECT, /* with POSIX-compatible GNU extensions */
- POSIXLY_BASIC /* pedantically POSIX */
-};
-
-enum addr_state {
- RANGE_INACTIVE, /* never been active */
- RANGE_ACTIVE, /* between first and second address */
- RANGE_CLOSED /* like RANGE_INACTIVE, but range has ended once */
-};
-
-enum addr_types {
- ADDR_IS_NULL, /* null address */
- ADDR_IS_REGEX, /* a.addr_regex is valid */
- ADDR_IS_NUM, /* a.addr_number is valid */
- ADDR_IS_NUM_MOD, /* a.addr_number is valid, addr_step is modulo */
- ADDR_IS_STEP, /* address is +N (only valid for addr2) */
- ADDR_IS_STEP_MOD, /* address is ~N (only valid for addr2) */
- ADDR_IS_LAST /* address is $ */
-};
-
-struct addr {
- enum addr_types addr_type;
- countT addr_number;
- countT addr_step;
- struct regex *addr_regex;
-};
-
-
-struct replacement {
- char *prefix;
- size_t prefix_length;
- int subst_id;
- enum replacement_types repl_type;
- struct replacement *next;
-};
-
-struct subst {
- struct regex *regx;
- struct replacement *replacement;
- countT numb; /* if >0, only substitute for match number "numb" */
- struct output *outf; /* 'w' option given */
- unsigned global : 1; /* 'g' option given */
- unsigned print : 2; /* 'p' option given (before/after eval) */
- unsigned eval : 1; /* 'e' option given */
- unsigned max_id : 4; /* maximum backreference on the RHS */
-};
-
-#ifdef REG_PERL
-/* This is the structure we store register match data in. See
- regex.texinfo for a full description of what registers match. */
-struct re_registers
-{
- unsigned num_regs;
- regoff_t *start;
- regoff_t *end;
-};
-#endif
-
-
-
-struct sed_cmd {
- struct addr *a1; /* save space: usually is NULL */
- struct addr *a2;
-
- /* See description the enum, above. */
- enum addr_state range_state;
-
- /* Non-zero if command is to be applied to non-matches. */
- char addr_bang;
-
- /* The actual command character. */
- char cmd;
-
- /* auxiliary data for various commands */
- union {
- /* This structure is used for a, i, and c commands. */
- struct text_buf cmd_txt;
-
- /* This is used for the l, q and Q commands. */
- int int_arg;
-
- /* This is used for the {}, b, and t commands. */
- countT jump_index;
-
- /* This is used for the r command. */
- char *fname;
-
- /* This is used for the hairy s command. */
- struct subst *cmd_subst;
-
- /* This is used for the w command. */
- struct output *outf;
-
- /* This is used for the R command. */
- FILE *fp;
-
- /* This is used for the y command. */
- unsigned char *translate;
- char **translatemb;
- } x;
-};
-
-
-
-void bad_prog P_((const char *why));
-size_t normalize_text P_((char *text, size_t len, enum text_types buftype));
-struct vector *compile_string P_((struct vector *, char *str, size_t len));
-struct vector *compile_file P_((struct vector *, const char *cmdfile));
-void check_final_program P_((struct vector *));
-void rewind_read_files P_((void));
-void finish_program P_((struct vector *));
-
-struct regex *compile_regex P_((struct buffer *b, int flags, int needed_sub));
-int match_regex P_((struct regex *regex,
- char *buf, size_t buflen, size_t buf_start_offset,
- struct re_registers *regarray, int regsize));
-#ifdef DEBUG_LEAKS
-void release_regex P_((struct regex *));
-#endif
-
-int process_files P_((struct vector *, char **argv));
-
-int main P_((int, char **));
-
-extern void fmt P_ ((const char *line, const char *line_end, int max_length, FILE *output_file));
-
-extern int extended_regexp_flags;
-
-/* If set, fflush(stdout) on every line output. */
-extern bool unbuffered_output;
-
-/* If set, don't write out the line unless explicitly told to. */
-extern bool no_default_output;
-
-/* If set, reset line counts on every new file. */
-extern bool separate_files;
-
-/* If set, follow symlinks when invoked with -i option */
-extern bool follow_symlinks;
-
-/* Do we need to be pedantically POSIX compliant? */
-extern enum posixicity_types posixicity;
-
-/* How long should the `l' command's output line be? */
-extern countT lcmd_out_line_len;
-
-/* How do we edit files in-place? (we don't if NULL) */
-extern char *in_place_extension;
-
-/* The mode to use to read files, either "rt" or "rb". */
-extern char *read_mode;
-
-/* Should we use EREs? */
-extern bool use_extended_syntax_p;
-
-/* Declarations for multibyte character sets. */
-extern int mb_cur_max;
-extern bool is_utf8;
-
-#ifdef HAVE_MBRTOWC
-#ifdef HAVE_BTOWC
-#define MBRTOWC(pwc, s, n, ps) \
- (mb_cur_max == 1 ? \
- (*(pwc) = btowc (*(unsigned char *) (s)), 1) : \
- mbrtowc ((pwc), (s), (n), (ps)))
-
-#define WCRTOMB(s, wc, ps) \
- (mb_cur_max == 1 ? \
- (*(s) = wctob ((wint_t) (wc)), 1) : \
- wcrtomb ((s), (wc), (ps)))
-#else
-#define MBRTOWC(pwc, s, n, ps) \
- mbrtowc ((pwc), (s), (n), (ps))
-
-#define WCRTOMB(s, wc, ps) \
- wcrtomb ((s), (wc), (ps))
-#endif
-
-#define MBSINIT(s) \
- (mb_cur_max == 1 ? 1 : mbsinit ((s)))
-
-#define MBRLEN(s, n, ps) \
- (mb_cur_max == 1 ? 1 : mbrtowc (NULL, s, n, ps))
-
-#define BRLEN(ch, ps) \
- (mb_cur_max == 1 ? 1 : brlen (ch, ps))
-
-#else
-#define MBSINIT(s) 1
-#define MBRLEN(s, n, ps) 1
-#define BRLEN(ch, ps) 1
-#endif
-
-extern int brlen P_ ((int ch, mbstate_t *ps));
-extern void initialize_mbcs P_ ((void));
-
diff --git a/sources/host-tools/sed-4.2.1/sed/utils.c b/sources/host-tools/sed-4.2.1/sed/utils.c
deleted file mode 100644
index 8c009e4..0000000
--- a/sources/host-tools/sed-4.2.1/sed/utils.c
+++ /dev/null
@@ -1,614 +0,0 @@
-/* Functions from hack's utils library.
- Copyright (C) 1989, 1990, 1991, 1998, 1999, 2003, 2008, 2009
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <errno.h>
-#ifndef errno
- extern int errno;
-#endif
-
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#else
-# include <string.h>
-#endif /* HAVE_STRINGS_H */
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif /* HAVE_STDLIB_H */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <limits.h>
-
-#include "utils.h"
-#include "pathmax.h"
-
-const char *myname;
-
-/* Store information about files opened with ck_fopen
- so that error messages from ck_fread, ck_fwrite, etc. can print the
- name of the file that had the error */
-
-struct open_file
- {
- FILE *fp;
- char *name;
- struct open_file *link;
- unsigned temp : 1;
- };
-
-static struct open_file *open_files = NULL;
-static void do_ck_fclose P_((FILE *fp));
-
-/* Print an error message and exit */
-
-void
-panic(const char *str, ...)
-{
- va_list ap;
-
- fprintf(stderr, "%s: ", myname);
- va_start(ap, str);
-#ifndef HAVE_VPRINTF
-# ifndef HAVE_DOPRNT
- fputs(str, stderr); /* not great, but perhaps better than nothing... */
-# else /* HAVE_DOPRNT */
- _doprnt(str, &ap, stderr);
-# endif /* HAVE_DOPRNT */
-#else /* HAVE_VFPRINTF */
- vfprintf(stderr, str, ap);
-#endif /* HAVE_VFPRINTF */
- va_end(ap);
- putc('\n', stderr);
-
- /* Unlink the temporary files. */
- while (open_files)
- {
- if (open_files->temp)
- {
- fclose (open_files->fp);
- errno = 0;
- unlink (open_files->name);
- if (errno != 0)
- fprintf (stderr, _("cannot remove %s: %s"), open_files->name, strerror (errno));
- }
-
- open_files = open_files->link;
- }
-
- exit(4);
-}
-
-
-/* Internal routine to get a filename from open_files */
-static const char *utils_fp_name P_((FILE *fp));
-static const char *
-utils_fp_name(fp)
- FILE *fp;
-{
- struct open_file *p;
-
- for (p=open_files; p; p=p->link)
- if (p->fp == fp)
- return p->name;
- if (fp == stdin)
- return "stdin";
- else if (fp == stdout)
- return "stdout";
- else if (fp == stderr)
- return "stderr";
-
- return "<unknown>";
-}
-
-static void
-register_open_file (fp, name, temp)
- FILE *fp;
- const char *name;
- int temp;
-{
- struct open_file *p;
- for (p=open_files; p; p=p->link)
- {
- if (fp == p->fp)
- {
- FREE(p->name);
- break;
- }
- }
- if (!p)
- {
- p = MALLOC(1, struct open_file);
- p->link = open_files;
- open_files = p;
- }
- p->name = ck_strdup(name);
- p->fp = fp;
- p->temp = false;
-}
-
-/* Panic on failing fopen */
-FILE *
-ck_fopen(name, mode, fail)
- const char *name;
- const char *mode;
- int fail;
-{
- FILE *fp;
-
- fp = fopen (name, mode);
- if (!fp)
- {
- if (fail)
- panic(_("couldn't open file %s: %s"), name, strerror(errno));
-
- return NULL;
- }
-
- register_open_file (fp, name, false);
- return fp;
-}
-
-/* Panic on failing fdopen */
-FILE *
-ck_fdopen(fd, name, mode, fail)
- int fd;
- const char *name;
- const char *mode;
- int fail;
-{
- FILE *fp;
-
- fp = fdopen (fd, mode);
- if (!fp)
- {
- if (fail)
- panic(_("couldn't attach to %s: %s"), name, strerror(errno));
-
- return NULL;
- }
-
- register_open_file (fp, name, false);
- return fp;
-}
-
-FILE *
-ck_mkstemp (p_filename, tmpdir, base)
- char **p_filename;
- char *base, *tmpdir;
-{
- char *template;
- FILE *fp;
- int fd;
- int save_umask;
-
- if (tmpdir == NULL)
- tmpdir = getenv("TMPDIR");
- if (tmpdir == NULL)
- {
- tmpdir = getenv("TMP");
- if (tmpdir == NULL)
-#ifdef P_tmpdir
- tmpdir = P_tmpdir;
-#else
- tmpdir = "/tmp";
-#endif
- }
-
- template = xmalloc (strlen (tmpdir) + strlen (base) + 8);
- sprintf (template, "%s/%sXXXXXX", tmpdir, base);
-
- /* The ownership might change, so omit some permissions at first
- so unauthorized users cannot nip in before the file is ready. */
- save_umask = umask (0700);
- fd = mkstemp (template);
- umask (save_umask);
- if (fd == -1)
- panic(_("couldn't open temporary file %s: %s"), template, strerror(errno));
-
- *p_filename = template;
- fp = fdopen (fd, "w");
- register_open_file (fp, template, true);
- return fp;
-}
-
-/* Panic on failing fwrite */
-void
-ck_fwrite(ptr, size, nmemb, stream)
- const VOID *ptr;
- size_t size;
- size_t nmemb;
- FILE *stream;
-{
- clearerr(stream);
- if (size && fwrite(ptr, size, nmemb, stream) != nmemb)
- panic(ngettext("couldn't write %d item to %s: %s",
- "couldn't write %d items to %s: %s", nmemb),
- nmemb, utils_fp_name(stream), strerror(errno));
-}
-
-/* Panic on failing fread */
-size_t
-ck_fread(ptr, size, nmemb, stream)
- VOID *ptr;
- size_t size;
- size_t nmemb;
- FILE *stream;
-{
- clearerr(stream);
- if (size && (nmemb=fread(ptr, size, nmemb, stream)) <= 0 && ferror(stream))
- panic(_("read error on %s: %s"), utils_fp_name(stream), strerror(errno));
-
- return nmemb;
-}
-
-size_t
-ck_getline(text, buflen, stream)
- char **text;
- size_t *buflen;
- FILE *stream;
-{
- int result;
- if (!ferror (stream))
- result = getline (text, buflen, stream);
-
- if (ferror (stream))
- panic (_("read error on %s: %s"), utils_fp_name(stream), strerror(errno));
-
- return result;
-}
-
-/* Panic on failing fflush */
-void
-ck_fflush(stream)
- FILE *stream;
-{
- clearerr(stream);
- if (fflush(stream) == EOF && errno != EBADF)
- panic("couldn't flush %s: %s", utils_fp_name(stream), strerror(errno));
-}
-
-/* Panic on failing fclose */
-void
-ck_fclose(stream)
- FILE *stream;
-{
- struct open_file r;
- struct open_file *prev;
- struct open_file *cur;
-
- /* a NULL stream means to close all files */
- r.link = open_files;
- prev = &r;
- while ( (cur = prev->link) )
- {
- if (!stream || stream == cur->fp)
- {
- do_ck_fclose (cur->fp);
- prev->link = cur->link;
- FREE(cur->name);
- FREE(cur);
- }
- else
- prev = cur;
- }
-
- open_files = r.link;
-
- /* Also care about stdout, because if it is redirected the
- last output operations might fail and it is important
- to signal this as an error (perhaps to make). */
- if (!stream)
- {
- do_ck_fclose (stdout);
- do_ck_fclose (stderr);
- }
-}
-
-/* Close a single file. */
-void
-do_ck_fclose(fp)
- FILE *fp;
-{
- ck_fflush(fp);
- clearerr(fp);
-
- if (fclose(fp) == EOF)
- panic("couldn't close %s: %s", utils_fp_name(fp), strerror(errno));
-}
-
-
-/* Follow symlink and panic if something fails. Return the ultimate
- symlink target, stored in a temporary buffer that the caller should
- not free. */
-const char *
-follow_symlink(const char *fname)
-{
-#ifdef ENABLE_FOLLOW_SYMLINKS
- static char *buf1, *buf2;
- static int buf_size;
-
- struct stat statbuf;
- const char *buf = fname, *c;
- int rc;
-
- if (buf_size == 0)
- {
- buf1 = ck_malloc (PATH_MAX + 1);
- buf2 = ck_malloc (PATH_MAX + 1);
- buf_size = PATH_MAX + 1;
- }
-
- while ((rc = lstat (buf, &statbuf)) == 0
- && (statbuf.st_mode & S_IFLNK) == S_IFLNK)
- {
- if (buf == buf2)
- {
- strcpy (buf1, buf2);
- buf = buf1;
- }
-
- while ((rc = readlink (buf, buf2, buf_size)) == buf_size)
- {
- buf_size *= 2;
- buf1 = ck_realloc (buf1, buf_size);
- buf2 = ck_realloc (buf2, buf_size);
- }
- if (rc < 0)
- panic (_("couldn't follow symlink %s: %s"), buf, strerror(errno));
- else
- buf2 [rc] = '\0';
-
- if (buf2[0] != '/' && (c = strrchr (buf, '/')) != NULL)
- {
- /* Need to handle relative paths with care. Reallocate buf1 and
- buf2 to be big enough. */
- int len = c - buf + 1;
- if (len + rc + 1 > buf_size)
- {
- buf_size = len + rc + 1;
- buf1 = ck_realloc (buf1, buf_size);
- buf2 = ck_realloc (buf2, buf_size);
- }
-
- /* Always store the new path in buf1. */
- if (buf != buf1)
- memcpy (buf1, buf, len);
-
- /* Tack the relative symlink at the end of buf1. */
- memcpy (buf1 + len, buf2, rc + 1);
- buf = buf1;
- }
- else
- {
- /* Use buf2 as the buffer, it saves a strcpy if it is not pointing to
- another link. It works for absolute symlinks, and as long as
- symlinks do not leave the current directory. */
- buf = buf2;
- }
- }
-
- if (rc < 0)
- panic (_("cannot stat %s: %s"), buf, strerror(errno));
-
- return buf;
-#else
- return fname;
-#endif /* ENABLE_FOLLOW_SYMLINKS */
-}
-
-/* Panic on failing rename */
-void
-ck_rename (from, to, unlink_if_fail)
- const char *from, *to;
- const char *unlink_if_fail;
-{
- int rd = rename (from, to);
- if (rd != -1)
- return;
-
- if (unlink_if_fail)
- {
- int save_errno = errno;
- errno = 0;
- unlink (unlink_if_fail);
-
- /* Failure to remove the temporary file is more severe, so trigger it first. */
- if (errno != 0)
- panic (_("cannot remove %s: %s"), unlink_if_fail, strerror (errno));
-
- errno = save_errno;
- }
-
- panic (_("cannot rename %s: %s"), from, strerror (errno));
-}
-
-
-
-
-/* Panic on failing malloc */
-VOID *
-ck_malloc(size)
- size_t size;
-{
- VOID *ret = calloc(1, size ? size : 1);
- if (!ret)
- panic("couldn't allocate memory");
- return ret;
-}
-
-/* Panic on failing realloc */
-VOID *
-ck_realloc(ptr, size)
- VOID *ptr;
- size_t size;
-{
- VOID *ret;
-
- if (size == 0)
- {
- FREE(ptr);
- return NULL;
- }
- if (!ptr)
- return ck_malloc(size);
- ret = realloc(ptr, size);
- if (!ret)
- panic("couldn't re-allocate memory");
- return ret;
-}
-
-/* Return a malloc()'d copy of a string */
-char *
-ck_strdup(str)
- const char *str;
-{
- char *ret = MALLOC(strlen(str)+1, char);
- return strcpy(ret, str);
-}
-
-/* Return a malloc()'d copy of a block of memory */
-VOID *
-ck_memdup(buf, len)
- const VOID *buf;
- size_t len;
-{
- VOID *ret = ck_malloc(len);
- return memcpy(ret, buf, len);
-}
-
-/* Release a malloc'd block of memory */
-void
-ck_free(ptr)
- VOID *ptr;
-{
- if (ptr)
- free(ptr);
-}
-
-
-/* Implement a variable sized buffer of `stuff'. We don't know what it is,
-nor do we care, as long as it doesn't mind being aligned by malloc. */
-
-struct buffer
- {
- size_t allocated;
- size_t length;
- char *b;
- };
-
-#define MIN_ALLOCATE 50
-
-struct buffer *
-init_buffer()
-{
- struct buffer *b = MALLOC(1, struct buffer);
- b->b = MALLOC(MIN_ALLOCATE, char);
- b->allocated = MIN_ALLOCATE;
- b->length = 0;
- return b;
-}
-
-char *
-get_buffer(b)
- struct buffer *b;
-{
- return b->b;
-}
-
-size_t
-size_buffer(b)
- struct buffer *b;
-{
- return b->length;
-}
-
-static void resize_buffer P_((struct buffer *b, size_t newlen));
-static void
-resize_buffer(b, newlen)
- struct buffer *b;
- size_t newlen;
-{
- char *try = NULL;
- size_t alen = b->allocated;
-
- if (newlen <= alen)
- return;
- alen *= 2;
- if (newlen < alen)
- try = realloc(b->b, alen); /* Note: *not* the REALLOC() macro! */
- if (!try)
- {
- alen = newlen;
- try = REALLOC(b->b, alen, char);
- }
- b->allocated = alen;
- b->b = try;
-}
-
-char *
-add_buffer(b, p, n)
- struct buffer *b;
- const char *p;
- size_t n;
-{
- char *result;
- if (b->allocated - b->length < n)
- resize_buffer(b, b->length+n);
- result = memcpy(b->b + b->length, p, n);
- b->length += n;
- return result;
-}
-
-char *
-add1_buffer(b, c)
- struct buffer *b;
- int c;
-{
- /* This special case should be kept cheap;
- * don't make it just a mere convenience
- * wrapper for add_buffer() -- even "builtin"
- * versions of memcpy(a, b, 1) can become
- * expensive when called too often.
- */
- if (c != EOF)
- {
- char *result;
- if (b->allocated - b->length < 1)
- resize_buffer(b, b->length+1);
- result = b->b + b->length++;
- *result = c;
- return result;
- }
-
- return NULL;
-}
-
-void
-free_buffer(b)
- struct buffer *b;
-{
- if (b)
- FREE(b->b);
- FREE(b);
-}
diff --git a/sources/host-tools/sed-4.2.1/sed/utils.h b/sources/host-tools/sed-4.2.1/sed/utils.h
deleted file mode 100644
index d3f431d..0000000
--- a/sources/host-tools/sed-4.2.1/sed/utils.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Functions from hack's utils library.
- Copyright (C) 1989, 1990, 1991, 1998, 1999, 2003
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <stdio.h>
-
-#include "basicdefs.h"
-
-void panic P_((const char *str, ...));
-
-FILE *ck_fopen P_((const char *name, const char *mode, int fail));
-FILE *ck_fdopen P_((int fd, const char *name, const char *mode, int fail));
-void ck_fwrite P_((const VOID *ptr, size_t size, size_t nmemb, FILE *stream));
-size_t ck_fread P_((VOID *ptr, size_t size, size_t nmemb, FILE *stream));
-void ck_fflush P_((FILE *stream));
-void ck_fclose P_((FILE *stream));
-const char *follow_symlink P_((const char *path));
-size_t ck_getline P_((char **text, size_t *buflen, FILE *stream));
-FILE * ck_mkstemp P_((char **p_filename, char *tmpdir, char *base));
-void ck_rename P_((const char *from, const char *to, const char *unlink_if_fail));
-
-VOID *ck_malloc P_((size_t size));
-VOID *xmalloc P_((size_t size));
-VOID *ck_realloc P_((VOID *ptr, size_t size));
-char *ck_strdup P_((const char *str));
-VOID *ck_memdup P_((const VOID *buf, size_t len));
-void ck_free P_((VOID *ptr));
-
-struct buffer *init_buffer P_((void));
-char *get_buffer P_((struct buffer *b));
-size_t size_buffer P_((struct buffer *b));
-char *add_buffer P_((struct buffer *b, const char *p, size_t n));
-char *add1_buffer P_((struct buffer *b, int ch));
-void free_buffer P_((struct buffer *b));
-
-extern const char *myname;
diff --git a/sources/host-tools/sed-4.2.1/testsuite/0range.good b/sources/host-tools/sed-4.2.1/testsuite/0range.good
deleted file mode 100644
index 7cfab5b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/0range.good
+++ /dev/null
@@ -1 +0,0 @@
-yes
diff --git a/sources/host-tools/sed-4.2.1/testsuite/0range.inp b/sources/host-tools/sed-4.2.1/testsuite/0range.inp
deleted file mode 100644
index c09c47b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/0range.inp
+++ /dev/null
@@ -1,6 +0,0 @@
-1
-2
-3
-4
-aaa
-yes
diff --git a/sources/host-tools/sed-4.2.1/testsuite/0range.sed b/sources/host-tools/sed-4.2.1/testsuite/0range.sed
deleted file mode 100644
index 33aa8b8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/0range.sed
+++ /dev/null
@@ -1 +0,0 @@
-0,/aaa/d
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8bit.good b/sources/host-tools/sed-4.2.1/testsuite/8bit.good
deleted file mode 100644
index 1bd5178..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8bit.good
+++ /dev/null
@@ -1,9 +0,0 @@
-䯤â¤è ¤ß䯻ý¤Á
-·¡¶ú¤â¤è ¤ß·¡¶ú»ý¤Á
-¤³¤ÎµÖ¤Ë ºÚŦ¤Þ¤¹»ù
-²È´Ö¤«¤Ê ¹ð¤é¤µ¤Í
-¤½¤é¤ß¤Ä ÆüËܤιñ¤Ï
-¤ª¤·¤ã¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½µï¤ì
-¤·¤¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½ ºÂ¤»
-¤ï¤Ë¤³¤½¤Ï ¹ð¤é¤á
-²È¤ò¤â̾¤ò¤â
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8bit.inp b/sources/host-tools/sed-4.2.1/testsuite/8bit.inp
deleted file mode 100644
index 8c9c4bb..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8bit.inp
+++ /dev/null
@@ -1,9 +0,0 @@
-䯤â¤è ¤ß䯻ý¤Á
-·¡¶ú¤â¤è ¤ß·¡¶ú»ý¤Á
-¤³¤ÎµÖ¤Ë ºÚŦ¤Þ¤¹»ù
-²È´Ö¤«¤Ê ¹ð¤é¤µ¤Í
-¤½¤é¤ß¤Ä ÂçϤιñ¤Ï
-¤ª¤·¤ã¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½µï¤ì
-¤·¤¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½ ºÂ¤»
-¤ï¤Ë¤³¤½¤Ï ¹ð¤é¤á
-²È¤ò¤â̾¤ò¤â
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8bit.sed b/sources/host-tools/sed-4.2.1/testsuite/8bit.sed
deleted file mode 100644
index 7b3ed8d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8bit.sed
+++ /dev/null
@@ -1,21 +0,0 @@
-# The first poem from the Man'yoshu. I like Hitomaro's poems better
-# but I couldn't find a copy of any of them in Japanese. This version
-# of this poem is from $BNc2r8E8l<-E5(B($BBh;0HG(B)$B;0>JF2(B.
-#
-# Speaking of Hitomaro, here is the english translation of one of my
-# favorites. I just know that everyone reading these test cases wants
-# to see this.
-#
-# In the autumn mountains
-# The yellow leaves are so thick.
-# Alas, how shall I seek my love
-# Who has wandered away?
-#
-# I see the messenger come
-# As the yellow leaves are falling.
-# Oh, well I remember
-# How on such a day we used to meet--
-# My lover and I!
-# -- Kakinomoto Hitomaro
-#
-s/ÂçÏÂ/ÆüËÜ/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8to7.good b/sources/host-tools/sed-4.2.1/testsuite/8to7.good
deleted file mode 100644
index 4485882..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8to7.good
+++ /dev/null
@@ -1,14 +0,0 @@
-\344\306\244\342\244\350 \244\337\344\306\273\375\244\301$
-\267\241\266\372\244\342\244\350 \244\337\267\241\266\372\273\375\244\
-\301$
-\244\263\244\316\265\326\244\313 \272\332\305\246\244\336\244\271\273\
-\371$
-\262\310\264\326\244\253\244\312 \271\360\244\351\244\265\244\315$
-\244\275\244\351\244\337\244\304 \302\347\317\302\244\316\271\361\244\
-\317$
-\244\252\244\267\244\343\244\312\244\331\244\306 \244\357\244\354\244\
-\263\244\275\265\357\244\354$
-\244\267\244\255\244\312\244\331\244\306 \244\357\244\354\244\263\244\
-\275 \272\302\244\273$
-\244\357\244\313\244\263\244\275\244\317 \271\360\244\351\244\341$
-\262\310\244\362\244\342\314\276\244\362\244\342$
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8to7.inp b/sources/host-tools/sed-4.2.1/testsuite/8to7.inp
deleted file mode 100644
index 8c9c4bb..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8to7.inp
+++ /dev/null
@@ -1,9 +0,0 @@
-䯤â¤è ¤ß䯻ý¤Á
-·¡¶ú¤â¤è ¤ß·¡¶ú»ý¤Á
-¤³¤ÎµÖ¤Ë ºÚŦ¤Þ¤¹»ù
-²È´Ö¤«¤Ê ¹ð¤é¤µ¤Í
-¤½¤é¤ß¤Ä ÂçϤιñ¤Ï
-¤ª¤·¤ã¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½µï¤ì
-¤·¤¤Ê¤Ù¤Æ ¤ï¤ì¤³¤½ ºÂ¤»
-¤ï¤Ë¤³¤½¤Ï ¹ð¤é¤á
-²È¤ò¤â̾¤ò¤â
diff --git a/sources/host-tools/sed-4.2.1/testsuite/8to7.sed b/sources/host-tools/sed-4.2.1/testsuite/8to7.sed
deleted file mode 100644
index f9d3f50..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/8to7.sed
+++ /dev/null
@@ -1 +0,0 @@
-l;d
diff --git a/sources/host-tools/sed-4.2.1/testsuite/BOOST.tests b/sources/host-tools/sed-4.2.1/testsuite/BOOST.tests
deleted file mode 100644
index 98fd3b6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/BOOST.tests
+++ /dev/null
@@ -1,829 +0,0 @@
-;
-;
-; this file contains a script of tests to run through regress.exe
-;
-; comments start with a semicolon and proceed to the end of the line
-;
-; changes to regular expression compile flags start with a "-" as the first
-; non-whitespace character and consist of a list of the printable names
-; of the flags, for example "match_default"
-;
-; Other lines contain a test to perform using the current flag status
-; the first token contains the expression to compile, the second the string
-; to match it against. If the second string is "!" then the expression should
-; not compile, that is the first string is an invalid regular expression.
-; This is then followed by a list of integers that specify what should match,
-; each pair represents the starting and ending positions of a subexpression
-; starting with the zeroth subexpression (the whole match).
-; A value of -1 indicates that the subexpression should not take part in the
-; match at all, if the first value is -1 then no part of the expression should
-; match the string.
-;
-; Tests taken from BOOST testsuite and adapted to glibc regex.
-;
-; Boost Software License - Version 1.0 - August 17th, 2003
-;
-; Permission is hereby granted, free of charge, to any person or organization
-; obtaining a copy of the software and accompanying documentation covered by
-; this license (the "Software") to use, reproduce, display, distribute,
-; execute, and transmit the Software, and to prepare derivative works of the
-; Software, and to permit third-parties to whom the Software is furnished to
-; do so, all subject to the following:
-;
-; The copyright notices in the Software and this entire statement, including
-; the above license grant, this restriction and the following disclaimer,
-; must be included in all copies of the Software, in whole or in part, and
-; all derivative works of the Software, unless such copies or derivative
-; works are solely in the form of machine-executable object code generated by
-; a source language processor.
-;
-; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-; FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-; SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-; FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-; ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-; DEALINGS IN THE SOFTWARE.
-;
-
-- match_default normal REG_EXTENDED
-
-;
-; try some really simple literals:
-a a 0 1
-Z Z 0 1
-Z aaa -1 -1
-Z xxxxZZxxx 4 5
-
-; and some simple brackets:
-(a) zzzaazz 3 4 3 4
-() zzz 0 0 0 0
-() "" 0 0 0 0
-( !
-) ) 0 1
-(aa !
-aa) baa)b 1 4
-a b -1 -1
-\(\) () 0 2
-\(a\) (a) 0 3
-\() () 0 2
-(\) !
-p(a)rameter ABCparameterXYZ 3 12 4 5
-[pq](a)rameter ABCparameterXYZ 3 12 4 5
-
-; now try escaped brackets:
-- match_default bk_parens REG_BASIC
-\(a\) zzzaazz 3 4 3 4
-\(\) zzz 0 0 0 0
-\(\) "" 0 0 0 0
-\( !
-\) !
-\(aa !
-aa\) !
-() () 0 2
-(a) (a) 0 3
-(\) !
-\() !
-
-; now move on to "." wildcards
-- match_default normal REG_EXTENDED REG_STARTEND
-. a 0 1
-. \n 0 1
-. \r 0 1
-. \0 0 1
-
-;
-; now move on to the repetion ops,
-; starting with operator *
-- match_default normal REG_EXTENDED
-a* b 0 0
-ab* a 0 1
-ab* ab 0 2
-ab* sssabbbbbbsss 3 10
-ab*c* a 0 1
-ab*c* abbb 0 4
-ab*c* accc 0 4
-ab*c* abbcc 0 5
-*a !
-\<* !
-\>* !
-\n* \n\n 0 2
-\** ** 0 2
-\* * 0 1
-
-; now try operator +
-ab+ a -1 -1
-ab+ ab 0 2
-ab+ sssabbbbbbsss 3 10
-ab+c+ a -1 -1
-ab+c+ abbb -1 -1
-ab+c+ accc -1 -1
-ab+c+ abbcc 0 5
-+a !
-\<+ !
-\>+ !
-\n+ \n\n 0 2
-\+ + 0 1
-\+ ++ 0 1
-\++ ++ 0 2
-
-; now try operator ?
-- match_default normal REG_EXTENDED
-a? b 0 0
-ab? a 0 1
-ab? ab 0 2
-ab? sssabbbbbbsss 3 5
-ab?c? a 0 1
-ab?c? abbb 0 2
-ab?c? accc 0 2
-ab?c? abcc 0 3
-?a !
-\<? !
-\>? !
-\n? \n\n 0 1
-\? ? 0 1
-\? ?? 0 1
-\?? ?? 0 1
-
-; now try operator {}
-- match_default normal REG_EXTENDED
-a{2} a -1 -1
-a{2} aa 0 2
-a{2} aaa 0 2
-a{2,} a -1 -1
-a{2,} aa 0 2
-a{2,} aaaaa 0 5
-a{2,4} a -1 -1
-a{2,4} aa 0 2
-a{2,4} aaa 0 3
-a{2,4} aaaa 0 4
-a{2,4} aaaaa 0 4
-a{} !
-a{2 !
-a} a} 0 2
-\{\} {} 0 2
-
-- match_default normal REG_BASIC
-a\{2\} a -1 -1
-a\{2\} aa 0 2
-a\{2\} aaa 0 2
-a\{2,\} a -1 -1
-a\{2,\} aa 0 2
-a\{2,\} aaaaa 0 5
-a\{2,4\} a -1 -1
-a\{2,4\} aa 0 2
-a\{2,4\} aaa 0 3
-a\{2,4\} aaaa 0 4
-a\{2,4\} aaaaa 0 4
-{} {} 0 2
-
-; now test the alternation operator |
-- match_default normal REG_EXTENDED
-a|b a 0 1
-a|b b 0 1
-a(b|c) ab 0 2 1 2
-a(b|c) ac 0 2 1 2
-a(b|c) ad -1 -1 -1 -1
-a\| a| 0 2
-
-; now test the set operator []
-- match_default normal REG_EXTENDED
-; try some literals first
-[abc] a 0 1
-[abc] b 0 1
-[abc] c 0 1
-[abc] d -1 -1
-[^bcd] a 0 1
-[^bcd] b -1 -1
-[^bcd] d -1 -1
-[^bcd] e 0 1
-a[b]c abc 0 3
-a[ab]c abc 0 3
-a[^ab]c adc 0 3
-a[]b]c a]c 0 3
-a[[b]c a[c 0 3
-a[-b]c a-c 0 3
-a[^]b]c adc 0 3
-a[^-b]c adc 0 3
-a[b-]c a-c 0 3
-a[b !
-a[] !
-
-; then some ranges
-[b-e] a -1 -1
-[b-e] b 0 1
-[b-e] e 0 1
-[b-e] f -1 -1
-[^b-e] a 0 1
-[^b-e] b -1 -1
-[^b-e] e -1 -1
-[^b-e] f 0 1
-a[1-3]c a2c 0 3
-a[3-1]c !
-a[1-3-5]c !
-a[1- !
-
-; and some classes
-a[[:alpha:]]c abc 0 3
-a[[:unknown:]]c !
-a[[: !
-a[[:alpha !
-a[[:alpha:] !
-a[[:alpha,:] !
-a[[:]:]]b !
-a[[:-:]]b !
-a[[:alph:]] !
-a[[:alphabet:]] !
-[[:alnum:]]+ -%@a0X_- 3 6
-[[:alpha:]]+ -%@aX_0- 3 5
-[[:blank:]]+ "a \tb" 1 4
-[[:cntrl:]]+ a\n\tb 1 3
-[[:digit:]]+ a019b 1 4
-[[:graph:]]+ " a%b " 1 4
-[[:lower:]]+ AabC 1 3
-; This test fails with STLPort, disable for now as this is a corner case anyway...
-;[[:print:]]+ "\na b\n" 1 4
-[[:punct:]]+ " %-&\t" 1 4
-[[:space:]]+ "a \n\t\rb" 1 5
-[[:upper:]]+ aBCd 1 3
-[[:xdigit:]]+ p0f3Cx 1 5
-
-; now test flag settings:
-- escape_in_lists REG_NO_POSIX_TEST
-[\n] \n 0 1
-- REG_NO_POSIX_TEST
-
-; line anchors
-- match_default normal REG_EXTENDED
-^ab ab 0 2
-^ab xxabxx -1 -1
-ab$ ab 0 2
-ab$ abxx -1 -1
-- match_default match_not_bol match_not_eol normal REG_EXTENDED REG_NOTBOL REG_NOTEOL
-^ab ab -1 -1
-^ab xxabxx -1 -1
-ab$ ab -1 -1
-ab$ abxx -1 -1
-
-; back references
-- match_default normal REG_PERL
-a(b)\2c !
-a(b\1)c !
-a(b*)c\1d abbcbbd 0 7 1 3
-a(b*)c\1d abbcbd -1 -1
-a(b*)c\1d abbcbbbd -1 -1
-^(.)\1 abc -1 -1
-a([bc])\1d abcdabbd 4 8 5 6
-; strictly speaking this is at best ambiguous, at worst wrong, this is what most
-; re implimentations will match though.
-a(([bc])\2)*d abbccd 0 6 3 5 3 4
-
-a(([bc])\2)*d abbcbd -1 -1
-a((b)*\2)*d abbbd 0 5 1 4 2 3
-; perl only:
-(ab*)[ab]*\1 ababaaa 0 7 0 1
-(a)\1bcd aabcd 0 5 0 1
-(a)\1bc*d aabcd 0 5 0 1
-(a)\1bc*d aabd 0 4 0 1
-(a)\1bc*d aabcccd 0 7 0 1
-(a)\1bc*[ce]d aabcccd 0 7 0 1
-^(a)\1b(c)*cd$ aabcccd 0 7 0 1 4 5
-
-; posix only:
-- match_default extended REG_EXTENDED
-(ab*)[ab]*\1 ababaaa 0 7 0 1
-
-;
-; word operators:
-\w a 0 1
-\w z 0 1
-\w A 0 1
-\w Z 0 1
-\w _ 0 1
-\w } -1 -1
-\w ` -1 -1
-\w [ -1 -1
-\w @ -1 -1
-; non-word:
-\W a -1 -1
-\W z -1 -1
-\W A -1 -1
-\W Z -1 -1
-\W _ -1 -1
-\W } 0 1
-\W ` 0 1
-\W [ 0 1
-\W @ 0 1
-; word start:
-\<abcd " abcd" 2 6
-\<ab cab -1 -1
-\<ab "\nab" 1 3
-\<tag ::tag 2 5
-;word end:
-abc\> abc 0 3
-abc\> abcd -1 -1
-abc\> abc\n 0 3
-abc\> abc:: 0 3
-; word boundary:
-\babcd " abcd" 2 6
-\bab cab -1 -1
-\bab "\nab" 1 3
-\btag ::tag 2 5
-abc\b abc 0 3
-abc\b abcd -1 -1
-abc\b abc\n 0 3
-abc\b abc:: 0 3
-; within word:
-\B ab 1 1
-a\Bb ab 0 2
-a\B ab 0 1
-a\B a -1 -1
-a\B "a " -1 -1
-
-;
-; buffer operators:
-\`abc abc 0 3
-\`abc \nabc -1 -1
-\`abc " abc" -1 -1
-abc\' abc 0 3
-abc\' abc\n -1 -1
-abc\' "abc " -1 -1
-
-;
-; now follows various complex expressions designed to try and bust the matcher:
-a(((b)))c abc 0 3 1 2 1 2 1 2
-a(b|(c))d abd 0 3 1 2 -1 -1
-a(b|(c))d acd 0 3 1 2 1 2
-a(b*|c)d abbd 0 4 1 3
-; just gotta have one DFA-buster, of course
-a[ab]{20} aaaaabaaaabaaaabaaaab 0 21
-; and an inline expansion in case somebody gets tricky
-a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] aaaaabaaaabaaaabaaaab 0 21
-; and in case somebody just slips in an NFA...
-a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) aaaaabaaaabaaaabaaaabweeknights 0 31 21 24 24 31
-; one really big one
-1234567890123456789012345678901234567890123456789012345678901234567890 a1234567890123456789012345678901234567890123456789012345678901234567890b 1 71
-; fish for problems as brackets go past 8
-[ab][cd][ef][gh][ij][kl][mn] xacegikmoq 1 8
-[ab][cd][ef][gh][ij][kl][mn][op] xacegikmoq 1 9
-[ab][cd][ef][gh][ij][kl][mn][op][qr] xacegikmoqy 1 10
-[ab][cd][ef][gh][ij][kl][mn][op][q] xacegikmoqy 1 10
-; and as parenthesis go past 9:
-(a)(b)(c)(d)(e)(f)(g)(h) zabcdefghi 1 9 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9
-(a)(b)(c)(d)(e)(f)(g)(h)(i) zabcdefghij 1 10 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10
-(a)(b)(c)(d)(e)(f)(g)(h)(i)(j) zabcdefghijk 1 11 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11
-(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) zabcdefghijkl 1 12 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12
-(a)d|(b)c abc 1 3 -1 -1 1 2
-_+((www)|(ftp)|(mailto)):_* "_wwwnocolon _mailto:" 12 20 13 19 -1 -1 -1 -1 13 19
-
-; subtleties of matching
-;a(b)?c\1d acd 0 3 -1 -1
-; POSIX is about the following test:
-a(b)?c\1d acd -1 -1 -1 -1
-a(b?c)+d accd 0 4 2 3
-(wee|week)(knights|night) weeknights 0 10 0 3 3 10
-.* abc 0 3
-a(b|(c))d abd 0 3 1 2 -1 -1
-a(b|(c))d acd 0 3 1 2 1 2
-a(b*|c|e)d abbd 0 4 1 3
-a(b*|c|e)d acd 0 3 1 2
-a(b*|c|e)d ad 0 2 1 1
-a(b?)c abc 0 3 1 2
-a(b?)c ac 0 2 1 1
-a(b+)c abc 0 3 1 2
-a(b+)c abbbc 0 5 1 4
-a(b*)c ac 0 2 1 1
-(a|ab)(bc([de]+)f|cde) abcdef 0 6 0 1 1 6 3 5
-a([bc]?)c abc 0 3 1 2
-a([bc]?)c ac 0 2 1 1
-a([bc]+)c abc 0 3 1 2
-a([bc]+)c abcc 0 4 1 3
-a([bc]+)bc abcbc 0 5 1 3
-a(bb+|b)b abb 0 3 1 2
-a(bbb+|bb+|b)b abb 0 3 1 2
-a(bbb+|bb+|b)b abbb 0 4 1 3
-a(bbb+|bb+|b)bb abbb 0 4 1 2
-(.*).* abcdef 0 6 0 6
-(a*)* bc 0 0 0 0
-xyx*xz xyxxxxyxxxz 5 11
-
-; do we get the right subexpression when it is used more than once?
-a(b|c)*d ad 0 2 -1 -1
-a(b|c)*d abcd 0 4 2 3
-a(b|c)+d abd 0 3 1 2
-a(b|c)+d abcd 0 4 2 3
-a(b|c?)+d ad 0 2 1 1
-a(b|c){0,0}d ad 0 2 -1 -1
-a(b|c){0,1}d ad 0 2 -1 -1
-a(b|c){0,1}d abd 0 3 1 2
-a(b|c){0,2}d ad 0 2 -1 -1
-a(b|c){0,2}d abcd 0 4 2 3
-a(b|c){0,}d ad 0 2 -1 -1
-a(b|c){0,}d abcd 0 4 2 3
-a(b|c){1,1}d abd 0 3 1 2
-a(b|c){1,2}d abd 0 3 1 2
-a(b|c){1,2}d abcd 0 4 2 3
-a(b|c){1,}d abd 0 3 1 2
-a(b|c){1,}d abcd 0 4 2 3
-a(b|c){2,2}d acbd 0 4 2 3
-a(b|c){2,2}d abcd 0 4 2 3
-a(b|c){2,4}d abcd 0 4 2 3
-a(b|c){2,4}d abcbd 0 5 3 4
-a(b|c){2,4}d abcbcd 0 6 4 5
-a(b|c){2,}d abcd 0 4 2 3
-a(b|c){2,}d abcbd 0 5 3 4
-; perl only: these conflict with the POSIX test below
-;a(b|c?)+d abcd 0 4 3 3
-;a(b+|((c)*))+d abd 0 3 2 2 2 2 -1 -1
-;a(b+|((c)*))+d abcd 0 4 3 3 3 3 2 3
-
-; posix only:
-- match_default extended REG_EXTENDED REG_STARTEND
-
-a(b|c?)+d abcd 0 4 2 3
-a(b|((c)*))+d abcd 0 4 2 3 2 3 2 3
-a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1
-a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3
-a(b|((c)*))+d ad 0 2 1 1 1 1 -1 -1
-a(b|((c)*))*d abcd 0 4 2 3 2 3 2 3
-a(b+|((c)*))*d abd 0 3 1 2 -1 -1 -1 -1
-a(b+|((c)*))*d abcd 0 4 2 3 2 3 2 3
-a(b|((c)*))*d ad 0 2 1 1 1 1 -1 -1
-
-- match_default normal REG_PERL
-; try to match C++ syntax elements:
-; line comment:
-//[^\n]* "++i //here is a line comment\n" 4 28
-; block comment:
-/\*([^*]|\*+[^*/])*\*+/ "/* here is a block comment */" 0 29 26 27
-/\*([^*]|\*+[^*/])*\*+/ "/**/" 0 4 -1 -1
-/\*([^*]|\*+[^*/])*\*+/ "/***/" 0 5 -1 -1
-/\*([^*]|\*+[^*/])*\*+/ "/****/" 0 6 -1 -1
-/\*([^*]|\*+[^*/])*\*+/ "/*****/" 0 7 -1 -1
-/\*([^*]|\*+[^*/])*\*+/ "/*****/*/" 0 7 -1 -1
-; preprossor directives:
-^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol" 0 19 -1 -1
-^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) #x" 0 25 -1 -1
-; perl only:
-^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 30 42
-; literals:
-((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFF 0 4 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1
-((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 35 0 2 0 2 -1 -1 0 2 -1 -1 -1 -1 -1 -1
-((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFu 0 5 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1
-((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFL 0 5 0 4 0 4 -1 -1 4 5 -1 -1 -1 -1
-((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFFFFFFFFFFFFFFFuint64 0 24 0 18 0 18 -1 -1 19 24 19 24 22 24
-; strings:
-'([^\\']|\\.)*' '\\x3A' 0 6 4 5
-'([^\\']|\\.)*' '\\'' 0 4 1 3
-'([^\\']|\\.)*' '\\n' 0 4 1 3
-
-; finally try some case insensitive matches:
-- match_default normal REG_EXTENDED REG_ICASE
-; upper and lower have no meaning here so they fail, however these
-; may compile with other libraries...
-;[[:lower:]] !
-;[[:upper:]] !
-0123456789@abcdefghijklmnopqrstuvwxyz\[\\\]\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ\{\|\} 0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\^_`abcdefghijklmnopqrstuvwxyz\{\|\} 0 72
-
-; known and suspected bugs:
-- match_default normal REG_EXTENDED
-\( ( 0 1
-\) ) 0 1
-\$ $ 0 1
-\^ ^ 0 1
-\. . 0 1
-\* * 0 1
-\+ + 0 1
-\? ? 0 1
-\[ [ 0 1
-\] ] 0 1
-\| | 0 1
-\\ \\ 0 1
-# # 0 1
-\# # 0 1
-a- a- 0 2
-\- - 0 1
-\{ { 0 1
-\} } 0 1
-0 0 0 1
-1 1 0 1
-9 9 0 1
-b b 0 1
-B B 0 1
-< < 0 1
-> > 0 1
-w w 0 1
-W W 0 1
-` ` 0 1
-' ' 0 1
-\n \n 0 1
-, , 0 1
-a a 0 1
-f f 0 1
-n n 0 1
-r r 0 1
-t t 0 1
-v v 0 1
-c c 0 1
-x x 0 1
-: : 0 1
-(\.[[:alnum:]]+){2} "w.a.b " 1 5 3 5
-
-- match_default normal REG_EXTENDED REG_ICASE
-a A 0 1
-A a 0 1
-[abc]+ abcABC 0 6
-[ABC]+ abcABC 0 6
-[a-z]+ abcABC 0 6
-[A-Z]+ abzANZ 0 6
-[a-Z]+ abzABZ 0 6
-[A-z]+ abzABZ 0 6
-[[:lower:]]+ abyzABYZ 0 8
-[[:upper:]]+ abzABZ 0 6
-[[:alpha:]]+ abyzABYZ 0 8
-[[:alnum:]]+ 09abyzABYZ 0 10
-
-; word start:
-\<abcd " abcd" 2 6
-\<ab cab -1 -1
-\<ab "\nab" 1 3
-\<tag ::tag 2 5
-;word end:
-abc\> abc 0 3
-abc\> abcd -1 -1
-abc\> abc\n 0 3
-abc\> abc:: 0 3
-
-; collating elements and rewritten set code:
-- match_default normal REG_EXTENDED REG_STARTEND
-;[[.zero.]] 0 0 1
-;[[.one.]] 1 0 1
-;[[.two.]] 2 0 1
-;[[.three.]] 3 0 1
-[[.a.]] baa 1 2
-;[[.right-curly-bracket.]] } 0 1
-;[[.NUL.]] \0 0 1
-[[:<:]z] !
-[a[:>:]] !
-[[=a=]] a 0 1
-;[[=right-curly-bracket=]] } 0 1
-- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE
-[[.A.]] A 0 1
-[[.A.]] a 0 1
-[[.A.]-b]+ AaBb 0 4
-[A-[.b.]]+ AaBb 0 4
-[[.a.]-B]+ AaBb 0 4
-[a-[.B.]]+ AaBb 0 4
-- match_default normal REG_EXTENDED REG_STARTEND
-[[.a.]-c]+ abcd 0 3
-[a-[.c.]]+ abcd 0 3
-[[:alpha:]-a] !
-[a-[:alpha:]] !
-
-; try mutli-character ligatures:
-;[[.ae.]] ae 0 2
-;[[.ae.]] aE -1 -1
-;[[.AE.]] AE 0 2
-;[[.Ae.]] Ae 0 2
-;[[.ae.]-b] a -1 -1
-;[[.ae.]-b] b 0 1
-;[[.ae.]-b] ae 0 2
-;[a-[.ae.]] a 0 1
-;[a-[.ae.]] b -1 -1
-;[a-[.ae.]] ae 0 2
-- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE
-;[[.ae.]] AE 0 2
-;[[.ae.]] Ae 0 2
-;[[.AE.]] Ae 0 2
-;[[.Ae.]] aE 0 2
-;[[.AE.]-B] a -1 -1
-;[[.Ae.]-b] b 0 1
-;[[.Ae.]-b] B 0 1
-;[[.ae.]-b] AE 0 2
-
-- match_default normal REG_EXTENDED REG_STARTEND REG_NO_POSIX_TEST
-\s+ "ab ab" 2 5
-\S+ " abc " 2 5
-
-- match_default normal REG_EXTENDED REG_STARTEND
-\`abc abc 0 3
-\`abc aabc -1 -1
-abc\' abc 0 3
-abc\' abcd -1 -1
-abc\' abc\n\n -1 -1
-abc\' abc 0 3
-
-; extended repeat checking to exercise new algorithms:
-ab.*xy abxy_ 0 4
-ab.*xy ab_xy_ 0 5
-ab.*xy abxy 0 4
-ab.*xy ab_xy 0 5
-ab.* ab 0 2
-ab.* ab__ 0 4
-
-ab.{2,5}xy ab__xy_ 0 6
-ab.{2,5}xy ab____xy_ 0 8
-ab.{2,5}xy ab_____xy_ 0 9
-ab.{2,5}xy ab__xy 0 6
-ab.{2,5}xy ab_____xy 0 9
-ab.{2,5} ab__ 0 4
-ab.{2,5} ab_______ 0 7
-ab.{2,5}xy ab______xy -1 -1
-ab.{2,5}xy ab_xy -1 -1
-
-ab.*?xy abxy_ 0 4
-ab.*?xy ab_xy_ 0 5
-ab.*?xy abxy 0 4
-ab.*?xy ab_xy 0 5
-ab.*? ab 0 2
-ab.*? ab__ 0 4
-
-ab.{2,5}?xy ab__xy_ 0 6
-ab.{2,5}?xy ab____xy_ 0 8
-ab.{2,5}?xy ab_____xy_ 0 9
-ab.{2,5}?xy ab__xy 0 6
-ab.{2,5}?xy ab_____xy 0 9
-ab.{2,5}? ab__ 0 4
-ab.{2,5}? ab_______ 0 7
-ab.{2,5}?xy ab______xy -1 -1
-ab.{2,5}xy ab_xy -1 -1
-
-; again but with slower algorithm variant:
-- match_default REG_EXTENDED
-; now again for single character repeats:
-
-ab_*xy abxy_ 0 4
-ab_*xy ab_xy_ 0 5
-ab_*xy abxy 0 4
-ab_*xy ab_xy 0 5
-ab_* ab 0 2
-ab_* ab__ 0 4
-
-ab_{2,5}xy ab__xy_ 0 6
-ab_{2,5}xy ab____xy_ 0 8
-ab_{2,5}xy ab_____xy_ 0 9
-ab_{2,5}xy ab__xy 0 6
-ab_{2,5}xy ab_____xy 0 9
-ab_{2,5} ab__ 0 4
-ab_{2,5} ab_______ 0 7
-ab_{2,5}xy ab______xy -1 -1
-ab_{2,5}xy ab_xy -1 -1
-
-ab_*?xy abxy_ 0 4
-ab_*?xy ab_xy_ 0 5
-ab_*?xy abxy 0 4
-ab_*?xy ab_xy 0 5
-ab_*? ab 0 2
-ab_*? ab__ 0 4
-
-ab_{2,5}?xy ab__xy_ 0 6
-ab_{2,5}?xy ab____xy_ 0 8
-ab_{2,5}?xy ab_____xy_ 0 9
-ab_{2,5}?xy ab__xy 0 6
-ab_{2,5}?xy ab_____xy 0 9
-ab_{2,5}? ab__ 0 4
-ab_{2,5}? ab_______ 0 7
-ab_{2,5}?xy ab______xy -1 -1
-ab_{2,5}xy ab_xy -1 -1
-
-; and again for sets:
-ab[_,;]*xy abxy_ 0 4
-ab[_,;]*xy ab_xy_ 0 5
-ab[_,;]*xy abxy 0 4
-ab[_,;]*xy ab_xy 0 5
-ab[_,;]* ab 0 2
-ab[_,;]* ab__ 0 4
-
-ab[_,;]{2,5}xy ab__xy_ 0 6
-ab[_,;]{2,5}xy ab____xy_ 0 8
-ab[_,;]{2,5}xy ab_____xy_ 0 9
-ab[_,;]{2,5}xy ab__xy 0 6
-ab[_,;]{2,5}xy ab_____xy 0 9
-ab[_,;]{2,5} ab__ 0 4
-ab[_,;]{2,5} ab_______ 0 7
-ab[_,;]{2,5}xy ab______xy -1 -1
-ab[_,;]{2,5}xy ab_xy -1 -1
-
-ab[_,;]*?xy abxy_ 0 4
-ab[_,;]*?xy ab_xy_ 0 5
-ab[_,;]*?xy abxy 0 4
-ab[_,;]*?xy ab_xy 0 5
-ab[_,;]*? ab 0 2
-ab[_,;]*? ab__ 0 4
-
-ab[_,;]{2,5}?xy ab__xy_ 0 6
-ab[_,;]{2,5}?xy ab____xy_ 0 8
-ab[_,;]{2,5}?xy ab_____xy_ 0 9
-ab[_,;]{2,5}?xy ab__xy 0 6
-ab[_,;]{2,5}?xy ab_____xy 0 9
-ab[_,;]{2,5}? ab__ 0 4
-ab[_,;]{2,5}? ab_______ 0 7
-ab[_,;]{2,5}?xy ab______xy -1 -1
-ab[_,;]{2,5}xy ab_xy -1 -1
-
-; and again for tricky sets with digraphs:
-;ab[_[.ae.]]*xy abxy_ 0 4
-;ab[_[.ae.]]*xy ab_xy_ 0 5
-;ab[_[.ae.]]*xy abxy 0 4
-;ab[_[.ae.]]*xy ab_xy 0 5
-;ab[_[.ae.]]* ab 0 2
-;ab[_[.ae.]]* ab__ 0 4
-
-;ab[_[.ae.]]{2,5}xy ab__xy_ 0 6
-;ab[_[.ae.]]{2,5}xy ab____xy_ 0 8
-;ab[_[.ae.]]{2,5}xy ab_____xy_ 0 9
-;ab[_[.ae.]]{2,5}xy ab__xy 0 6
-;ab[_[.ae.]]{2,5}xy ab_____xy 0 9
-;ab[_[.ae.]]{2,5} ab__ 0 4
-;ab[_[.ae.]]{2,5} ab_______ 0 7
-;ab[_[.ae.]]{2,5}xy ab______xy -1 -1
-;ab[_[.ae.]]{2,5}xy ab_xy -1 -1
-
-;ab[_[.ae.]]*?xy abxy_ 0 4
-;ab[_[.ae.]]*?xy ab_xy_ 0 5
-;ab[_[.ae.]]*?xy abxy 0 4
-;ab[_[.ae.]]*?xy ab_xy 0 5
-;ab[_[.ae.]]*? ab 0 2
-;ab[_[.ae.]]*? ab__ 0 2
-
-;ab[_[.ae.]]{2,5}?xy ab__xy_ 0 6
-;ab[_[.ae.]]{2,5}?xy ab____xy_ 0 8
-;ab[_[.ae.]]{2,5}?xy ab_____xy_ 0 9
-;ab[_[.ae.]]{2,5}?xy ab__xy 0 6
-;ab[_[.ae.]]{2,5}?xy ab_____xy 0 9
-;ab[_[.ae.]]{2,5}? ab__ 0 4
-;ab[_[.ae.]]{2,5}? ab_______ 0 4
-;ab[_[.ae.]]{2,5}?xy ab______xy -1 -1
-;ab[_[.ae.]]{2,5}xy ab_xy -1 -1
-
-; new bugs detected in spring 2003:
-- normal match_continuous REG_NO_POSIX_TEST
-b abc 1 2
-
-() abc 0 0 0 0
-^() abc 0 0 0 0
-^()+ abc 0 0 0 0
-^(){1} abc 0 0 0 0
-^(){2} abc 0 0 0 0
-^((){2}) abc 0 0 0 0 0 0
-() "" 0 0 0 0
-()\1 "" 0 0 0 0
-()\1 a 0 0 0 0
-a()\1b ab 0 2 1 1
-a()b\1 ab 0 2 1 1
-
-; subtleties of matching with no sub-expressions marked
-- normal match_nosubs REG_NO_POSIX_TEST
-a(b?c)+d accd 0 4
-(wee|week)(knights|night) weeknights 0 10
-.* abc 0 3
-a(b|(c))d abd 0 3
-a(b|(c))d acd 0 3
-a(b*|c|e)d abbd 0 4
-a(b*|c|e)d acd 0 3
-a(b*|c|e)d ad 0 2
-a(b?)c abc 0 3
-a(b?)c ac 0 2
-a(b+)c abc 0 3
-a(b+)c abbbc 0 5
-a(b*)c ac 0 2
-(a|ab)(bc([de]+)f|cde) abcdef 0 6
-a([bc]?)c abc 0 3
-a([bc]?)c ac 0 2
-a([bc]+)c abc 0 3
-a([bc]+)c abcc 0 4
-a([bc]+)bc abcbc 0 5
-a(bb+|b)b abb 0 3
-a(bbb+|bb+|b)b abb 0 3
-a(bbb+|bb+|b)b abbb 0 4
-a(bbb+|bb+|b)bb abbb 0 4
-(.*).* abcdef 0 6
-(a*)* bc 0 0
-
-- normal nosubs REG_NO_POSIX_TEST
-a(b?c)+d accd 0 4
-(wee|week)(knights|night) weeknights 0 10
-.* abc 0 3
-a(b|(c))d abd 0 3
-a(b|(c))d acd 0 3
-a(b*|c|e)d abbd 0 4
-a(b*|c|e)d acd 0 3
-a(b*|c|e)d ad 0 2
-a(b?)c abc 0 3
-a(b?)c ac 0 2
-a(b+)c abc 0 3
-a(b+)c abbbc 0 5
-a(b*)c ac 0 2
-(a|ab)(bc([de]+)f|cde) abcdef 0 6
-a([bc]?)c abc 0 3
-a([bc]?)c ac 0 2
-a([bc]+)c abc 0 3
-a([bc]+)c abcc 0 4
-a([bc]+)bc abcbc 0 5
-a(bb+|b)b abb 0 3
-a(bbb+|bb+|b)b abb 0 3
-a(bbb+|bb+|b)b abbb 0 4
-a(bbb+|bb+|b)bb abbb 0 4
-(.*).* abcdef 0 6
-(a*)* bc 0 0
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/Makefile.am b/sources/host-tools/sed-4.2.1/testsuite/Makefile.am
deleted file mode 100644
index b8e60cb..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/Makefile.am
+++ /dev/null
@@ -1,102 +0,0 @@
-CLEANFILES = tmp* core *.core $(EXTRA_PROGRAMS) *.*out *.log eval.in2
-
-TESTS = $(check_PROGRAMS) $(SEDTESTS)
-SEDTESTS =
-
-LDADD = ../lib/libsed.a @INTLLIBS@
-noinst_HEADERS = testcases.h ptestcases.h
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib
-
-if TEST_REGEX
-check_PROGRAMS = bug-regex7 \
- bug-regex8 bug-regex9 bug-regex10 bug-regex11 bug-regex12 \
- bug-regex13 bug-regex14 bug-regex15 bug-regex16 bug-regex21 \
- bug-regex27 bug-regex28 \
- tst-pcre tst-boost runtests runptests tst-rxspencer tst-regex2
-
-SEDTESTS += space
-endif
-
-SEDTESTS += \
- appquit enable sep inclib 8bit newjis xabcx dollar noeol noeolw \
- modulo numsub numsub2 numsub3 numsub4 numsub5 0range bkslashes \
- head madding mac-mf empty xbxcx xbxcx3 recall recall2 xemacs \
- fasts uniq manis khadafy linecnt eval distrib 8to7 y-bracket \
- y-newline allsub cv-vars classes middle bsd stdin flipcase \
- insens subwrite writeout readin insert utf8-1 utf8-2 utf8-3 utf8-4 \
- badenc inplace-hold brackets \
- help version file quiet \
- factor binary3 binary2 binary dc
-
-TESTS_ENVIRONMENT = MAKE="$(MAKE)" VERSION="$(VERSION)" \
- @LOCALCHARSET_TESTS_ENVIRONMENT@ $(srcdir)/runtest
-
-
-EXTRA_DIST = \
- PCRE.tests BOOST.tests SPENCER.tests \
- runtest Makefile.tests \
- 0range.good 0range.inp 0range.sed \
- 8bit.good 8bit.inp 8bit.sed \
- 8to7.good 8to7.inp 8to7.sed \
- allsub.good allsub.inp allsub.sed \
- appquit.good appquit.inp appquit.sed \
- binary.good binary.inp binary.sed binary2.sed binary3.sed \
- bkslashes.good bkslashes.inp bkslashes.sed \
- brackets.good brackets.inp brackets.sed \
- bsd.good bsd.sh \
- cv-vars.good cv-vars.inp cv-vars.sed \
- classes.good classes.inp classes.sed \
- dc.good dc.inp dc.sed \
- distrib.good distrib.inp distrib.sed distrib.sh \
- dollar.good dollar.inp dollar.sed \
- empty.good empty.inp empty.sed \
- enable.good enable.inp enable.sed \
- eval.good eval.inp eval.sed \
- factor.good factor.inp factor.sed \
- fasts.good fasts.inp fasts.sed \
- flipcase.good flipcase.inp flipcase.sed \
- head.good head.inp head.sed \
- inclib.good inclib.inp inclib.sed \
- insens.good insens.inp insens.sed \
- insert.good insert.inp insert.sed \
- khadafy.good khadafy.inp khadafy.sed \
- linecnt.good linecnt.inp linecnt.sed \
- space.good space.inp space.sed \
- mac-mf.good mac-mf.inp mac-mf.sed \
- madding.good madding.inp madding.sed \
- manis.good manis.inp manis.sed \
- middle.good middle.sed middle.inp \
- modulo.good modulo.sed modulo.inp \
- newjis.good newjis.inp newjis.sed \
- noeol.good noeol.inp noeol.sed \
- noeolw.good noeolw.1good noeolw.2good noeolw.sed \
- numsub.good numsub.inp numsub.sed \
- numsub2.good numsub2.inp numsub2.sed \
- numsub3.good numsub3.inp numsub3.sed \
- numsub4.good numsub4.inp numsub4.sed \
- numsub5.good numsub5.inp numsub5.sed \
- readin.good readin.inp readin.sed \
- recall.good recall.inp recall.sed \
- recall2.good recall2.inp recall2.sed \
- sep.good sep.inp sep.sed \
- subwrite.inp subwrite.sed subwrt1.good subwrt2.good \
- uniq.good uniq.inp uniq.sed \
- utf8-1.good utf8-1.inp utf8-1.sed \
- utf8-2.good utf8-2.inp utf8-2.sed \
- utf8-3.good utf8-3.inp utf8-3.sed \
- utf8-4.good utf8-4.inp utf8-4.sed \
- badenc.good badenc.inp badenc.sed \
- version.gin \
- writeout.inp writeout.sed wrtout1.good wrtout2.good \
- xabcx.good xabcx.inp xabcx.sed \
- xbxcx.good xbxcx.inp xbxcx.sed \
- xbxcx3.good xbxcx3.inp xbxcx3.sed \
- xemacs.good xemacs.inp xemacs.sed \
- y-bracket.good y-bracket.sed y-bracket.inp \
- y-newline.good y-newline.sed y-newline.inp
-
-# automake makes `check' depend on $(TESTS). Declare
-# dummy targets for $(TESTS) so that make does not complain.
-
-.PHONY: $(SEDTESTS)
-$(SEDTESTS):
diff --git a/sources/host-tools/sed-4.2.1/testsuite/Makefile.in b/sources/host-tools/sed-4.2.1/testsuite/Makefile.in
deleted file mode 100644
index 36ec558..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/Makefile.in
+++ /dev/null
@@ -1,1120 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@TEST_REGEX_TRUE@check_PROGRAMS = bug-regex7$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex8$(EXEEXT) bug-regex9$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex10$(EXEEXT) bug-regex11$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex12$(EXEEXT) bug-regex13$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex14$(EXEEXT) bug-regex15$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex16$(EXEEXT) bug-regex21$(EXEEXT) \
-@TEST_REGEX_TRUE@ bug-regex27$(EXEEXT) bug-regex28$(EXEEXT) \
-@TEST_REGEX_TRUE@ tst-pcre$(EXEEXT) tst-boost$(EXEEXT) \
-@TEST_REGEX_TRUE@ runtests$(EXEEXT) runptests$(EXEEXT) \
-@TEST_REGEX_TRUE@ tst-rxspencer$(EXEEXT) tst-regex2$(EXEEXT)
-@TEST_REGEX_TRUE@am__append_1 = space
-subdir = testsuite
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/version.gin
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lstat.m4 \
- $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/mbrlen.m4 \
- $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
- $(top_srcdir)/m4/selinux-context-h.m4 \
- $(top_srcdir)/m4/selinux-selinux-h.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
- $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
- $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strverscmp.m4 \
- $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wcrtomb.m4 \
- $(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctype.m4 \
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = version.good
-bug_regex10_SOURCES = bug-regex10.c
-bug_regex10_OBJECTS = bug-regex10.$(OBJEXT)
-bug_regex10_LDADD = $(LDADD)
-bug_regex10_DEPENDENCIES = ../lib/libsed.a
-bug_regex11_SOURCES = bug-regex11.c
-bug_regex11_OBJECTS = bug-regex11.$(OBJEXT)
-bug_regex11_LDADD = $(LDADD)
-bug_regex11_DEPENDENCIES = ../lib/libsed.a
-bug_regex12_SOURCES = bug-regex12.c
-bug_regex12_OBJECTS = bug-regex12.$(OBJEXT)
-bug_regex12_LDADD = $(LDADD)
-bug_regex12_DEPENDENCIES = ../lib/libsed.a
-bug_regex13_SOURCES = bug-regex13.c
-bug_regex13_OBJECTS = bug-regex13.$(OBJEXT)
-bug_regex13_LDADD = $(LDADD)
-bug_regex13_DEPENDENCIES = ../lib/libsed.a
-bug_regex14_SOURCES = bug-regex14.c
-bug_regex14_OBJECTS = bug-regex14.$(OBJEXT)
-bug_regex14_LDADD = $(LDADD)
-bug_regex14_DEPENDENCIES = ../lib/libsed.a
-bug_regex15_SOURCES = bug-regex15.c
-bug_regex15_OBJECTS = bug-regex15.$(OBJEXT)
-bug_regex15_LDADD = $(LDADD)
-bug_regex15_DEPENDENCIES = ../lib/libsed.a
-bug_regex16_SOURCES = bug-regex16.c
-bug_regex16_OBJECTS = bug-regex16.$(OBJEXT)
-bug_regex16_LDADD = $(LDADD)
-bug_regex16_DEPENDENCIES = ../lib/libsed.a
-bug_regex21_SOURCES = bug-regex21.c
-bug_regex21_OBJECTS = bug-regex21.$(OBJEXT)
-bug_regex21_LDADD = $(LDADD)
-bug_regex21_DEPENDENCIES = ../lib/libsed.a
-bug_regex27_SOURCES = bug-regex27.c
-bug_regex27_OBJECTS = bug-regex27.$(OBJEXT)
-bug_regex27_LDADD = $(LDADD)
-bug_regex27_DEPENDENCIES = ../lib/libsed.a
-bug_regex28_SOURCES = bug-regex28.c
-bug_regex28_OBJECTS = bug-regex28.$(OBJEXT)
-bug_regex28_LDADD = $(LDADD)
-bug_regex28_DEPENDENCIES = ../lib/libsed.a
-bug_regex7_SOURCES = bug-regex7.c
-bug_regex7_OBJECTS = bug-regex7.$(OBJEXT)
-bug_regex7_LDADD = $(LDADD)
-bug_regex7_DEPENDENCIES = ../lib/libsed.a
-bug_regex8_SOURCES = bug-regex8.c
-bug_regex8_OBJECTS = bug-regex8.$(OBJEXT)
-bug_regex8_LDADD = $(LDADD)
-bug_regex8_DEPENDENCIES = ../lib/libsed.a
-bug_regex9_SOURCES = bug-regex9.c
-bug_regex9_OBJECTS = bug-regex9.$(OBJEXT)
-bug_regex9_LDADD = $(LDADD)
-bug_regex9_DEPENDENCIES = ../lib/libsed.a
-runptests_SOURCES = runptests.c
-runptests_OBJECTS = runptests.$(OBJEXT)
-runptests_LDADD = $(LDADD)
-runptests_DEPENDENCIES = ../lib/libsed.a
-runtests_SOURCES = runtests.c
-runtests_OBJECTS = runtests.$(OBJEXT)
-runtests_LDADD = $(LDADD)
-runtests_DEPENDENCIES = ../lib/libsed.a
-tst_boost_SOURCES = tst-boost.c
-tst_boost_OBJECTS = tst-boost.$(OBJEXT)
-tst_boost_LDADD = $(LDADD)
-tst_boost_DEPENDENCIES = ../lib/libsed.a
-tst_pcre_SOURCES = tst-pcre.c
-tst_pcre_OBJECTS = tst-pcre.$(OBJEXT)
-tst_pcre_LDADD = $(LDADD)
-tst_pcre_DEPENDENCIES = ../lib/libsed.a
-tst_regex2_SOURCES = tst-regex2.c
-tst_regex2_OBJECTS = tst-regex2.$(OBJEXT)
-tst_regex2_LDADD = $(LDADD)
-tst_regex2_DEPENDENCIES = ../lib/libsed.a
-tst_rxspencer_SOURCES = tst-rxspencer.c
-tst_rxspencer_OBJECTS = tst-rxspencer.$(OBJEXT)
-tst_rxspencer_LDADD = $(LDADD)
-tst_rxspencer_DEPENDENCIES = ../lib/libsed.a
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = bug-regex10.c bug-regex11.c bug-regex12.c bug-regex13.c \
- bug-regex14.c bug-regex15.c bug-regex16.c bug-regex21.c \
- bug-regex27.c bug-regex28.c bug-regex7.c bug-regex8.c \
- bug-regex9.c runptests.c runtests.c tst-boost.c tst-pcre.c \
- tst-regex2.c tst-rxspencer.c
-DIST_SOURCES = bug-regex10.c bug-regex11.c bug-regex12.c bug-regex13.c \
- bug-regex14.c bug-regex15.c bug-regex16.c bug-regex21.c \
- bug-regex27.c bug-regex28.c bug-regex7.c bug-regex8.c \
- bug-regex9.c runptests.c runtests.c tst-boost.c tst-pcre.c \
- tst-regex2.c tst-rxspencer.c
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WRITE = @GNULIB_WRITE@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNSETENV = @HAVE_UNSETENV@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE__BOOL = @HAVE__BOOL@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSED_LIBDEPS = @LIBSED_LIBDEPS@
-LIBSED_LTLIBDEPS = @LIBSED_LTLIBDEPS@
-LIB_ACL = @LIB_ACL@
-LIB_SELINUX = @LIB_SELINUX@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SED_FEATURE_VERSION = @SED_FEATURE_VERSION@
-SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
-SELINUX_SELINUX_H = @SELINUX_SELINUX_H@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-STDBOOL_H = @STDBOOL_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_STAT_H = @SYS_STAT_H@
-SYS_TIME_H = @SYS_TIME_H@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-USE_ACL = @USE_ACL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VOID_UNSETENV = @VOID_UNSETENV@
-WCHAR_H = @WCHAR_H@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WCTYPE_H = @WCTYPE_H@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XFAIL_TESTS = @XFAIL_TESTS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-CLEANFILES = tmp* core *.core $(EXTRA_PROGRAMS) *.*out *.log eval.in2
-TESTS = $(check_PROGRAMS) $(SEDTESTS)
-SEDTESTS = $(am__append_1) appquit enable sep inclib 8bit newjis xabcx \
- dollar noeol noeolw modulo numsub numsub2 numsub3 numsub4 \
- numsub5 0range bkslashes head madding mac-mf empty xbxcx \
- xbxcx3 recall recall2 xemacs fasts uniq manis khadafy linecnt \
- eval distrib 8to7 y-bracket y-newline allsub cv-vars classes \
- middle bsd stdin flipcase insens subwrite writeout readin \
- insert utf8-1 utf8-2 utf8-3 utf8-4 badenc inplace-hold \
- brackets help version file quiet factor binary3 binary2 binary \
- dc
-LDADD = ../lib/libsed.a @INTLLIBS@
-noinst_HEADERS = testcases.h ptestcases.h
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib
-TESTS_ENVIRONMENT = MAKE="$(MAKE)" VERSION="$(VERSION)" \
- @LOCALCHARSET_TESTS_ENVIRONMENT@ $(srcdir)/runtest
-
-EXTRA_DIST = \
- PCRE.tests BOOST.tests SPENCER.tests \
- runtest Makefile.tests \
- 0range.good 0range.inp 0range.sed \
- 8bit.good 8bit.inp 8bit.sed \
- 8to7.good 8to7.inp 8to7.sed \
- allsub.good allsub.inp allsub.sed \
- appquit.good appquit.inp appquit.sed \
- binary.good binary.inp binary.sed binary2.sed binary3.sed \
- bkslashes.good bkslashes.inp bkslashes.sed \
- brackets.good brackets.inp brackets.sed \
- bsd.good bsd.sh \
- cv-vars.good cv-vars.inp cv-vars.sed \
- classes.good classes.inp classes.sed \
- dc.good dc.inp dc.sed \
- distrib.good distrib.inp distrib.sed distrib.sh \
- dollar.good dollar.inp dollar.sed \
- empty.good empty.inp empty.sed \
- enable.good enable.inp enable.sed \
- eval.good eval.inp eval.sed \
- factor.good factor.inp factor.sed \
- fasts.good fasts.inp fasts.sed \
- flipcase.good flipcase.inp flipcase.sed \
- head.good head.inp head.sed \
- inclib.good inclib.inp inclib.sed \
- insens.good insens.inp insens.sed \
- insert.good insert.inp insert.sed \
- khadafy.good khadafy.inp khadafy.sed \
- linecnt.good linecnt.inp linecnt.sed \
- space.good space.inp space.sed \
- mac-mf.good mac-mf.inp mac-mf.sed \
- madding.good madding.inp madding.sed \
- manis.good manis.inp manis.sed \
- middle.good middle.sed middle.inp \
- modulo.good modulo.sed modulo.inp \
- newjis.good newjis.inp newjis.sed \
- noeol.good noeol.inp noeol.sed \
- noeolw.good noeolw.1good noeolw.2good noeolw.sed \
- numsub.good numsub.inp numsub.sed \
- numsub2.good numsub2.inp numsub2.sed \
- numsub3.good numsub3.inp numsub3.sed \
- numsub4.good numsub4.inp numsub4.sed \
- numsub5.good numsub5.inp numsub5.sed \
- readin.good readin.inp readin.sed \
- recall.good recall.inp recall.sed \
- recall2.good recall2.inp recall2.sed \
- sep.good sep.inp sep.sed \
- subwrite.inp subwrite.sed subwrt1.good subwrt2.good \
- uniq.good uniq.inp uniq.sed \
- utf8-1.good utf8-1.inp utf8-1.sed \
- utf8-2.good utf8-2.inp utf8-2.sed \
- utf8-3.good utf8-3.inp utf8-3.sed \
- utf8-4.good utf8-4.inp utf8-4.sed \
- badenc.good badenc.inp badenc.sed \
- version.gin \
- writeout.inp writeout.sed wrtout1.good wrtout2.good \
- xabcx.good xabcx.inp xabcx.sed \
- xbxcx.good xbxcx.inp xbxcx.sed \
- xbxcx3.good xbxcx3.inp xbxcx3.sed \
- xemacs.good xemacs.inp xemacs.sed \
- y-bracket.good y-bracket.sed y-bracket.inp \
- y-newline.good y-newline.sed y-newline.inp
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu testsuite/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-version.good: $(top_builddir)/config.status $(srcdir)/version.gin
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-clean-checkPROGRAMS:
- -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-bug-regex10$(EXEEXT): $(bug_regex10_OBJECTS) $(bug_regex10_DEPENDENCIES)
- @rm -f bug-regex10$(EXEEXT)
- $(LINK) $(bug_regex10_OBJECTS) $(bug_regex10_LDADD) $(LIBS)
-bug-regex11$(EXEEXT): $(bug_regex11_OBJECTS) $(bug_regex11_DEPENDENCIES)
- @rm -f bug-regex11$(EXEEXT)
- $(LINK) $(bug_regex11_OBJECTS) $(bug_regex11_LDADD) $(LIBS)
-bug-regex12$(EXEEXT): $(bug_regex12_OBJECTS) $(bug_regex12_DEPENDENCIES)
- @rm -f bug-regex12$(EXEEXT)
- $(LINK) $(bug_regex12_OBJECTS) $(bug_regex12_LDADD) $(LIBS)
-bug-regex13$(EXEEXT): $(bug_regex13_OBJECTS) $(bug_regex13_DEPENDENCIES)
- @rm -f bug-regex13$(EXEEXT)
- $(LINK) $(bug_regex13_OBJECTS) $(bug_regex13_LDADD) $(LIBS)
-bug-regex14$(EXEEXT): $(bug_regex14_OBJECTS) $(bug_regex14_DEPENDENCIES)
- @rm -f bug-regex14$(EXEEXT)
- $(LINK) $(bug_regex14_OBJECTS) $(bug_regex14_LDADD) $(LIBS)
-bug-regex15$(EXEEXT): $(bug_regex15_OBJECTS) $(bug_regex15_DEPENDENCIES)
- @rm -f bug-regex15$(EXEEXT)
- $(LINK) $(bug_regex15_OBJECTS) $(bug_regex15_LDADD) $(LIBS)
-bug-regex16$(EXEEXT): $(bug_regex16_OBJECTS) $(bug_regex16_DEPENDENCIES)
- @rm -f bug-regex16$(EXEEXT)
- $(LINK) $(bug_regex16_OBJECTS) $(bug_regex16_LDADD) $(LIBS)
-bug-regex21$(EXEEXT): $(bug_regex21_OBJECTS) $(bug_regex21_DEPENDENCIES)
- @rm -f bug-regex21$(EXEEXT)
- $(LINK) $(bug_regex21_OBJECTS) $(bug_regex21_LDADD) $(LIBS)
-bug-regex27$(EXEEXT): $(bug_regex27_OBJECTS) $(bug_regex27_DEPENDENCIES)
- @rm -f bug-regex27$(EXEEXT)
- $(LINK) $(bug_regex27_OBJECTS) $(bug_regex27_LDADD) $(LIBS)
-bug-regex28$(EXEEXT): $(bug_regex28_OBJECTS) $(bug_regex28_DEPENDENCIES)
- @rm -f bug-regex28$(EXEEXT)
- $(LINK) $(bug_regex28_OBJECTS) $(bug_regex28_LDADD) $(LIBS)
-bug-regex7$(EXEEXT): $(bug_regex7_OBJECTS) $(bug_regex7_DEPENDENCIES)
- @rm -f bug-regex7$(EXEEXT)
- $(LINK) $(bug_regex7_OBJECTS) $(bug_regex7_LDADD) $(LIBS)
-bug-regex8$(EXEEXT): $(bug_regex8_OBJECTS) $(bug_regex8_DEPENDENCIES)
- @rm -f bug-regex8$(EXEEXT)
- $(LINK) $(bug_regex8_OBJECTS) $(bug_regex8_LDADD) $(LIBS)
-bug-regex9$(EXEEXT): $(bug_regex9_OBJECTS) $(bug_regex9_DEPENDENCIES)
- @rm -f bug-regex9$(EXEEXT)
- $(LINK) $(bug_regex9_OBJECTS) $(bug_regex9_LDADD) $(LIBS)
-runptests$(EXEEXT): $(runptests_OBJECTS) $(runptests_DEPENDENCIES)
- @rm -f runptests$(EXEEXT)
- $(LINK) $(runptests_OBJECTS) $(runptests_LDADD) $(LIBS)
-runtests$(EXEEXT): $(runtests_OBJECTS) $(runtests_DEPENDENCIES)
- @rm -f runtests$(EXEEXT)
- $(LINK) $(runtests_OBJECTS) $(runtests_LDADD) $(LIBS)
-tst-boost$(EXEEXT): $(tst_boost_OBJECTS) $(tst_boost_DEPENDENCIES)
- @rm -f tst-boost$(EXEEXT)
- $(LINK) $(tst_boost_OBJECTS) $(tst_boost_LDADD) $(LIBS)
-tst-pcre$(EXEEXT): $(tst_pcre_OBJECTS) $(tst_pcre_DEPENDENCIES)
- @rm -f tst-pcre$(EXEEXT)
- $(LINK) $(tst_pcre_OBJECTS) $(tst_pcre_LDADD) $(LIBS)
-tst-regex2$(EXEEXT): $(tst_regex2_OBJECTS) $(tst_regex2_DEPENDENCIES)
- @rm -f tst-regex2$(EXEEXT)
- $(LINK) $(tst_regex2_OBJECTS) $(tst_regex2_LDADD) $(LIBS)
-tst-rxspencer$(EXEEXT): $(tst_rxspencer_OBJECTS) $(tst_rxspencer_DEPENDENCIES)
- @rm -f tst-rxspencer$(EXEEXT)
- $(LINK) $(tst_rxspencer_OBJECTS) $(tst_rxspencer_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex10.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex11.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex12.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex13.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex14.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex15.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex16.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex21.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex27.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex28.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex7.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex8.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-regex9.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runptests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runtests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-boost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-pcre.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-regex2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst-rxspencer.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
- srcdir=$(srcdir); export srcdir; \
- list=' $(TESTS) '; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic ctags distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am
-
-
-# automake makes `check' depend on $(TESTS). Declare
-# dummy targets for $(TESTS) so that make does not complain.
-
-.PHONY: $(SEDTESTS)
-$(SEDTESTS):
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/sources/host-tools/sed-4.2.1/testsuite/Makefile.tests b/sources/host-tools/sed-4.2.1/testsuite/Makefile.tests
deleted file mode 100644
index 1f04290..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/Makefile.tests
+++ /dev/null
@@ -1,221 +0,0 @@
-# Testsuite makefile for GNU sed
-
-SHELL = /bin/sh
-
-# These are only fallback values. They are usually overridden by runtest.
-srcdir = .
-SED = ../sed/sed
-
-TIME=
-#TIME=time
-
-SEDENV_2 = LC_ALL=C
-SEDENV = $(SEDENV_2) $(TIME)
-TR = $(SEDENV_2) tr
-
-CMP=cmp
-RM=rm -f
-
-SKIP = :>$@.skip; exit 77
-
-enable sep inclib 8bit 8to7 newjis xabcx dollar noeol bkslashes \
-numsub head madding mac-mf empty xbxcx xbxcx3 recall recall2 xemacs \
-appquit fasts uniq manis linecnt khadafy allsub flipcase space modulo \
-y-bracket y-newline insert brackets::
- $(SEDENV) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out
-
-0range::
- $(SEDENV) $(SED) -s -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out
-
-badenc::
- LANG=ru_RU.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- LANG=it_IT.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- LANG=en_US.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- LANG=en_GB.UTF-8 $(TIME) $(SED) -nf $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out
-
-# Try with ru_RU.UTF-8. If it is presumably not installed, see if the current
-# locale is UTF-8 and run it in the current locale.
-utf8-1 utf8-2 utf8-3 utf8-4::
- echo "LANG=ru_RU.UTF-8" \
- "$(TIME) $(SED) -f $(srcdir)/$@.sed" \
- "< $(srcdir)/$@.inp | $(TR) -d \\r > $@.out"; \
- LANG=ru_RU.UTF-8 \
- $(TIME) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out; \
- $(CMP) $(srcdir)/$@.good $@.out && exit 0; \
- $(CMP) $(srcdir)/$@.inp $@.out || exit 1; \
- locale > $@.info 2>/dev/null || { rm $@.info; $(SKIP); }; \
- . $@.info; rm $@.info; \
- case "$$LC_CTYPE" in \
- *UTF-8 | *UTF8 | *utf8 | *utf-8) \
- echo "$(TIME) $(SED) -f $(srcdir)/$@.sed" \
- " < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out"; \
- $(TIME) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out; \
- $(CMP) $(srcdir)/$@.good $@.out && exit 0; \
- $(CMP) $(srcdir)/$@.inp $@.out || exit 1 ;; \
- *) ;; \
- esac; \
- $(SKIP)
-
-# This checks for a bug in 3.02 and 3.02.80
-stdin::
- ($(SEDENV) $(SED) d; $(SEDENV) $(SED) G) < $(srcdir)/numsub.inp \
- | $(TR) -d \\r > $@.1out
- $(SEDENV) cat $(srcdir)/numsub.inp \
- | ($(SEDENV) $(SED) d; $(SEDENV) $(SED) G) | $(TR) -d \\r > $@.2out
- $(CMP) $@.1out $@.2out
- @$(RM) $@.1out $@.2out
-
-inplace-hold::
- echo x > $@.1out
- echo y > $@.2out
- echo > $@.out
- $(SEDENV) $(SED) -i x $@.1out $@.2out
- $(CMP) $@.1out $@.out
- $(CMP) $@.2out $@.out
- @$(RM) $@.1out $@.2out $@.out
-
-cv-vars classes middle dc distrib factor numsub2 numsub3 numsub4 numsub5 \
-insens::
- $(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out
-
-noeolw::
- $(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
- $(srcdir)/noeol.inp $(srcdir)/noeol.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- $(TR) -d \\r < $@.1out | $(CMP) $(srcdir)/$@.1good -
- $(TR) -d \\r < $@.2out | $(CMP) $(srcdir)/$@.2good -
- @$(RM) $@.1out $@.2out $@.out
-
-subwrite::
- $(SEDENV) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.1out
- $(CMP) $(srcdir)/subwrt1.good $@.1out
- $(TR) -d \\r < $@.wout | $(CMP) $(srcdir)/subwrt2.good -
- @$(RM) $@.1out $@.wout
-
-bsd::
- $(SEDENV_2) sh $(srcdir)/$@.sh '$(TIME) $(SED)' $@.out
- $(TR) -d \\r < $@.out | $(CMP) $(srcdir)/$@.good -
- @$(RM) $@.out
-
-writeout::
- $(SEDENV) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.1out
- $(CMP) $(srcdir)/wrtout1.good $@.1out
- $(TR) -d \\r < $@.wout | $(CMP) $(srcdir)/wrtout2.good -
- @$(RM) $@.1out $@.wout
-
-readin::
- echo MOO | $(SEDENV) $(SED) b > $@.in2
- $(SEDENV) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out $@.in2
-
-eval.in2: $(srcdir)/eval.inp
- cat $(srcdir)/eval.inp > $@
-
-eval:: eval.in2
- $(SEDENV) $(SED) -f $(srcdir)/$@.sed \
- < $(srcdir)/$@.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/$@.good $@.out
- @$(RM) $@.out
-
-binary binary2 binary3::
- $(SEDENV) $(SED) -n -f $(srcdir)/$@.sed \
- < $(srcdir)/binary.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/binary.good $@.out
- @$(RM) $@.out
-
-#
-# cmdlines targets
-#
-
-help::
- $(SEDENV) $(SED) --help | grep E-mail > /dev/null 2>&1
- $(SEDENV) $(SED) --help | $(SEDENV) $(SED) '1s/ [^ ]* / sed /; /^E-mail/,$$d' > $@.1out
- $(SEDENV) $(SED) 2>&1 | $(SEDENV) $(SED) '1s/ [^ ]* / sed /' > $@.2out || :
- $(CMP) $@.1out $@.2out
- @$(RM) $@.1out $@.2out
-
-version::
- $(SEDENV) $(SED) --version 2>&1 | $(TR) -d \\r > $@.out
- $(CMP) $@.good $@.out
- @$(RM) $@.out
-
-file::
- $(SEDENV) $(SED) --file=$(srcdir)/newjis.sed \
- < $(srcdir)/newjis.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/newjis.good $@.out
- @$(RM) $@.out
-
-quiet::
- $(SEDENV) $(SED) --quiet -f $(srcdir)/cv-vars.sed \
- < $(srcdir)/cv-vars.inp | $(TR) -d \\r > $@.out
- $(CMP) $(srcdir)/cv-vars.good $@.out
- @$(RM) $@.out
-
-# The following target is not used in super sed builds (only GNU sed)
-
-bug-regex7$(EXEEXT) bug-regex8$(EXEEXT) bug-regex9$(EXEEXT) \
-bug-regex10$(EXEEXT) bug-regex11$(EXEEXT) bug-regex12$(EXEEXT) \
-bug-regex13$(EXEEXT) bug-regex14$(EXEEXT) bug-regex15$(EXEEXT) bug-regex16$(EXEEXT) \
-bug-regex21$(EXEEXT) runtests$(EXEEXT) runptests$(EXEEXT)::
- echo "$(SEDENV) ./$@ > `echo $@ | $(SED) s/$(EXEEXT)$$/.log/`"
- @$(SEDENV) ./$@ > `echo $@ | $(SED) s/$(EXEEXT)$$/.log/`
-
-tst-pcre$(EXEEXT)::
- $(SEDENV) ./tst-pcre $(srcdir)/PCRE.tests > tst-pcre.log
-
-tst-boost$(EXEEXT)::
- $(SEDENV) ./tst-boost $(srcdir)/BOOST.tests > tst-boost.log
-
-tst-rxspencer$(EXEEXT)::
- $(SEDENV) ./tst-rxspencer $(srcdir)/SPENCER.tests > tst-spencer.log
-
-tst-regex2$(EXEEXT)::
- $(SEDENV) ./tst-regex2 $(srcdir)/tst-regex2.c > tst-regex2.log
-
-# The following target is not used in GNU sed builds (only super-sed)
-
-pcretest$(EXEEXT)::
- $(SEDENV) ./pcretest $(srcdir)/pcre1.inp pcre1.out
- $(CMP) $(srcdir)/pcre1.good pcre1.out
- #$(SEDENV) ./pcretest -p $(srcdir)/pcre1.inp pcre1p.out
- #$(CMP) $(srcdir)/pcre1p.good pcre1p.out
- $(SEDENV) ./pcretest -P $(srcdir)/pcre2.inp pcre2.out
- $(CMP) $(srcdir)/pcre2.good pcre2.out
- $(SEDENV) ./pcretest -P -p $(srcdir)/pcre2.inp pcre2p.out
- $(CMP) $(srcdir)/pcre2p.good pcre2p.out
- $(SEDENV) ./pcretest $(srcdir)/pcre3.inp pcre3.out
- $(CMP) $(srcdir)/pcre3.good pcre3.out
- $(SEDENV) ./pcretest -p $(srcdir)/pcre3.inp pcre3p.out
- $(CMP) $(srcdir)/pcre3p.good pcre3p.out
- @$(RM) pcre*.out
-
-.PHONY: \
-bug-regex7$(EXEEXT) bug-regex8$(EXEEXT) bug-regex9$(EXEEXT) \
-bug-regex10$(EXEEXT) bug-regex11$(EXEEXT) bug-regex12$(EXEEXT) \
-bug-regex13$(EXEEXT) bug-regex14$(EXEEXT) bug-regex15$(EXEEXT) bug-regex16$(EXEEXT) \
-bug-regex21$(EXEEXT) runtests$(EXEEXT) runptests$(EXEEXT) tst-regex2$(EXEEXT) \
-tst-pcre$(EXEEXT) tst-boost$(EXEEXT) tst-rxspencer$(EXEEXT) pcretest$(EXEEXT)
diff --git a/sources/host-tools/sed-4.2.1/testsuite/PCRE.tests b/sources/host-tools/sed-4.2.1/testsuite/PCRE.tests
deleted file mode 100644
index 0fb9cad..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/PCRE.tests
+++ /dev/null
@@ -1,2386 +0,0 @@
-# PCRE version 4.4 21-August-2003
-
-# Tests taken from PCRE and modified to suit glibc regex.
-#
-# PCRE LICENCE
-# ------------
-#
-# PCRE is a library of functions to support regular expressions whose syntax
-# and semantics are as close as possible to those of the Perl 5 language.
-#
-# Written by: Philip Hazel <ph10@cam.ac.uk>
-#
-# University of Cambridge Computing Service,
-# Cambridge, England. Phone: +44 1223 334714.
-#
-# Copyright (c) 1997-2003 University of Cambridge
-#
-# Permission is granted to anyone to use this software for any purpose on any
-# computer system, and to redistribute it freely, subject to the following
-# restrictions:
-#
-# 1. This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# 2. The origin of this software must not be misrepresented, either by
-# explicit claim or by omission. In practice, this means that if you use
-# PCRE in software that you distribute to others, commercially or
-# otherwise, you must put a sentence like this
-#
-# Regular expression support is provided by the PCRE library package,
-# which is open source software, written by Philip Hazel, and copyright
-# by the University of Cambridge, England.
-#
-# somewhere reasonably visible in your documentation and in any relevant
-# files or online help data or similar. A reference to the ftp site for
-# the source, that is, to
-#
-# ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
-#
-# should also be given in the documentation. However, this condition is not
-# intended to apply to whole chains of software. If package A includes PCRE,
-# it must acknowledge it, but if package B is software that includes package
-# A, the condition is not imposed on package B (unless it uses PCRE
-# independently).
-#
-# 3. Altered versions must be plainly marked as such, and must not be
-# misrepresented as being the original software.
-#
-# 4. If PCRE is embedded in any software that is released under the GNU
-# General Purpose Licence (GPL), or Lesser General Purpose Licence (LGPL),
-# then the terms of that licence shall supersede any condition above with
-# which it is incompatible.
-#
-# The documentation for PCRE, supplied in the "doc" directory, is distributed
-# under the same terms as the software itself.
-#
-# End
-#
-
-/the quick brown fox/
- the quick brown fox
- 0: the quick brown fox
- The quick brown FOX
-No match
- What do you know about the quick brown fox?
- 0: the quick brown fox
- What do you know about THE QUICK BROWN FOX?
-No match
-
-/The quick brown fox/i
- the quick brown fox
- 0: the quick brown fox
- The quick brown FOX
- 0: The quick brown FOX
- What do you know about the quick brown fox?
- 0: the quick brown fox
- What do you know about THE QUICK BROWN FOX?
- 0: THE QUICK BROWN FOX
-
-/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
- abxyzpqrrrabbxyyyypqAzz
- 0: abxyzpqrrrabbxyyyypqAzz
- abxyzpqrrrabbxyyyypqAzz
- 0: abxyzpqrrrabbxyyyypqAzz
- aabxyzpqrrrabbxyyyypqAzz
- 0: aabxyzpqrrrabbxyyyypqAzz
- aaabxyzpqrrrabbxyyyypqAzz
- 0: aaabxyzpqrrrabbxyyyypqAzz
- aaaabxyzpqrrrabbxyyyypqAzz
- 0: aaaabxyzpqrrrabbxyyyypqAzz
- abcxyzpqrrrabbxyyyypqAzz
- 0: abcxyzpqrrrabbxyyyypqAzz
- aabcxyzpqrrrabbxyyyypqAzz
- 0: aabcxyzpqrrrabbxyyyypqAzz
- aaabcxyzpqrrrabbxyyyypAzz
- 0: aaabcxyzpqrrrabbxyyyypAzz
- aaabcxyzpqrrrabbxyyyypqAzz
- 0: aaabcxyzpqrrrabbxyyyypqAzz
- aaabcxyzpqrrrabbxyyyypqqAzz
- 0: aaabcxyzpqrrrabbxyyyypqqAzz
- aaabcxyzpqrrrabbxyyyypqqqAzz
- 0: aaabcxyzpqrrrabbxyyyypqqqAzz
- aaabcxyzpqrrrabbxyyyypqqqqAzz
- 0: aaabcxyzpqrrrabbxyyyypqqqqAzz
- aaabcxyzpqrrrabbxyyyypqqqqqAzz
- 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz
- aaabcxyzpqrrrabbxyyyypqqqqqqAzz
- 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz
- aaaabcxyzpqrrrabbxyyyypqAzz
- 0: aaaabcxyzpqrrrabbxyyyypqAzz
- abxyzzpqrrrabbxyyyypqAzz
- 0: abxyzzpqrrrabbxyyyypqAzz
- aabxyzzzpqrrrabbxyyyypqAzz
- 0: aabxyzzzpqrrrabbxyyyypqAzz
- aaabxyzzzzpqrrrabbxyyyypqAzz
- 0: aaabxyzzzzpqrrrabbxyyyypqAzz
- aaaabxyzzzzpqrrrabbxyyyypqAzz
- 0: aaaabxyzzzzpqrrrabbxyyyypqAzz
- abcxyzzpqrrrabbxyyyypqAzz
- 0: abcxyzzpqrrrabbxyyyypqAzz
- aabcxyzzzpqrrrabbxyyyypqAzz
- 0: aabcxyzzzpqrrrabbxyyyypqAzz
- aaabcxyzzzzpqrrrabbxyyyypqAzz
- 0: aaabcxyzzzzpqrrrabbxyyyypqAzz
- aaaabcxyzzzzpqrrrabbxyyyypqAzz
- 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz
- aaaabcxyzzzzpqrrrabbbxyyyypqAzz
- 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz
- aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
- 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
- aaabcxyzpqrrrabbxyyyypABzz
- 0: aaabcxyzpqrrrabbxyyyypABzz
- aaabcxyzpqrrrabbxyyyypABBzz
- 0: aaabcxyzpqrrrabbxyyyypABBzz
- >>>aaabxyzpqrrrabbxyyyypqAzz
- 0: aaabxyzpqrrrabbxyyyypqAzz
- >aaaabxyzpqrrrabbxyyyypqAzz
- 0: aaaabxyzpqrrrabbxyyyypqAzz
- >>>>abcxyzpqrrrabbxyyyypqAzz
- 0: abcxyzpqrrrabbxyyyypqAzz
- *** Failers
-No match
- abxyzpqrrabbxyyyypqAzz
-No match
- abxyzpqrrrrabbxyyyypqAzz
-No match
- abxyzpqrrrabxyyyypqAzz
-No match
- aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
-No match
- aaaabcxyzzzzpqrrrabbbxyyypqAzz
-No match
- aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
-No match
-
-/^(abc){1,2}zz/
- abczz
- 0: abczz
- 1: abc
- abcabczz
- 0: abcabczz
- 1: abc
- *** Failers
-No match
- zz
-No match
- abcabcabczz
-No match
- >>abczz
-No match
-
-/^(b+|a){1,2}c/
- bc
- 0: bc
- 1: b
- bbc
- 0: bbc
- 1: bb
- bbbc
- 0: bbbc
- 1: bbb
- bac
- 0: bac
- 1: a
- bbac
- 0: bbac
- 1: a
- aac
- 0: aac
- 1: a
- abbbbbbbbbbbc
- 0: abbbbbbbbbbbc
- 1: bbbbbbbbbbb
- bbbbbbbbbbbac
- 0: bbbbbbbbbbbac
- 1: a
- *** Failers
-No match
- aaac
-No match
- abbbbbbbbbbbac
-No match
-
-/^[]cde]/
- ]thing
- 0: ]
- cthing
- 0: c
- dthing
- 0: d
- ething
- 0: e
- *** Failers
-No match
- athing
-No match
- fthing
-No match
-
-/^[^]cde]/
- athing
- 0: a
- fthing
- 0: f
- *** Failers
- 0: *
- ]thing
-No match
- cthing
-No match
- dthing
-No match
- ething
-No match
-
-/^[0-9]+$/
- 0
- 0: 0
- 1
- 0: 1
- 2
- 0: 2
- 3
- 0: 3
- 4
- 0: 4
- 5
- 0: 5
- 6
- 0: 6
- 7
- 0: 7
- 8
- 0: 8
- 9
- 0: 9
- 10
- 0: 10
- 100
- 0: 100
- *** Failers
-No match
- abc
-No match
-
-/^.*nter/
- enter
- 0: enter
- inter
- 0: inter
- uponter
- 0: uponter
-
-/^xxx[0-9]+$/
- xxx0
- 0: xxx0
- xxx1234
- 0: xxx1234
- *** Failers
-No match
- xxx
-No match
-
-/^.+[0-9][0-9][0-9]$/
- x123
- 0: x123
- xx123
- 0: xx123
- 123456
- 0: 123456
- *** Failers
-No match
- 123
-No match
- x1234
- 0: x1234
-
-/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
- abc!pqr=apquxz.ixr.zzz.ac.uk
- 0: abc!pqr=apquxz.ixr.zzz.ac.uk
- 1: abc
- 2: pqr
- *** Failers
-No match
- !pqr=apquxz.ixr.zzz.ac.uk
-No match
- abc!=apquxz.ixr.zzz.ac.uk
-No match
- abc!pqr=apquxz:ixr.zzz.ac.uk
-No match
- abc!pqr=apquxz.ixr.zzz.ac.ukk
-No match
-
-/:/
- Well, we need a colon: somewhere
- 0: :
- *** Fail if we don't
-No match
-
-/([0-9a-f:]+)$/i
- 0abc
- 0: 0abc
- 1: 0abc
- abc
- 0: abc
- 1: abc
- fed
- 0: fed
- 1: fed
- E
- 0: E
- 1: E
- ::
- 0: ::
- 1: ::
- 5f03:12C0::932e
- 0: 5f03:12C0::932e
- 1: 5f03:12C0::932e
- fed def
- 0: def
- 1: def
- Any old stuff
- 0: ff
- 1: ff
- *** Failers
-No match
- 0zzz
-No match
- gzzz
-No match
- Any old rubbish
-No match
-
-/^.*\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/
- .1.2.3
- 0: .1.2.3
- 1: 1
- 2: 2
- 3: 3
- A.12.123.0
- 0: A.12.123.0
- 1: 12
- 2: 123
- 3: 0
- *** Failers
-No match
- .1.2.3333
-No match
- 1.2.3
-No match
- 1234.2.3
-No match
-
-/^([0-9]+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
- 1 IN SOA non-sp1 non-sp2(
- 0: 1 IN SOA non-sp1 non-sp2(
- 1: 1
- 2: non-sp1
- 3: non-sp2
- 1 IN SOA non-sp1 non-sp2 (
- 0: 1 IN SOA non-sp1 non-sp2 (
- 1: 1
- 2: non-sp1
- 3: non-sp2
- *** Failers
-No match
- 1IN SOA non-sp1 non-sp2(
-No match
-
-/^[a-zA-Z0-9][a-zA-Z0-9-]*(\.[a-zA-Z0-9][a-zA-z0-9-]*)*\.$/
- a.
- 0: a.
- Z.
- 0: Z.
- 2.
- 0: 2.
- ab-c.pq-r.
- 0: ab-c.pq-r.
- 1: .pq-r
- sxk.zzz.ac.uk.
- 0: sxk.zzz.ac.uk.
- 1: .uk
- x-.y-.
- 0: x-.y-.
- 1: .y-
- *** Failers
-No match
- -abc.peq.
-No match
-
-/^\*\.[a-z]([a-z0-9-]*[a-z0-9]+)?(\.[a-z]([a-z0-9-]*[a-z0-9]+)?)*$/
- *.a
- 0: *.a
- *.b0-a
- 0: *.b0-a
- 1: 0-a
- *.c3-b.c
- 0: *.c3-b.c
- 1: 3-b
- 2: .c
- *.c-a.b-c
- 0: *.c-a.b-c
- 1: -a
- 2: .b-c
- 3: -c
- *** Failers
-No match
- *.0
-No match
- *.a-
-No match
- *.a-b.c-
-No match
- *.c-a.0-c
-No match
-
-/^[0-9a-f](\.[0-9a-f])*$/i
- a.b.c.d
- 0: a.b.c.d
- 1: .d
- A.B.C.D
- 0: A.B.C.D
- 1: .D
- a.b.c.1.2.3.C
- 0: a.b.c.1.2.3.C
- 1: .C
-
-/^".*"\s*(;.*)?$/
- "1234"
- 0: "1234"
- "abcd" ;
- 0: "abcd" ;
- 1: ;
- "" ; rhubarb
- 0: "" ; rhubarb
- 1: ; rhubarb
- *** Failers
-No match
- "1234" : things
-No match
-
-/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
- abcdefhijklm
- 0: abcdefhijklm
- 1: abc
- 2: bc
- 3: c
- 4: def
- 5: ef
- 6: f
- 7: hij
- 8: ij
- 9: j
-10: klm
-11: lm
-12: m
-
-/^a*\w/
- z
- 0: z
- az
- 0: az
- aaaz
- 0: aaaz
- a
- 0: a
- aa
- 0: aa
- aaaa
- 0: aaaa
- a+
- 0: a
- aa+
- 0: aa
-
-/^a+\w/
- az
- 0: az
- aaaz
- 0: aaaz
- aa
- 0: aa
- aaaa
- 0: aaaa
- aa+
- 0: aa
-
-/^[0-9]{8}\w{2,}/
- 1234567890
- 0: 1234567890
- 12345678ab
- 0: 12345678ab
- 12345678__
- 0: 12345678__
- *** Failers
-No match
- 1234567
-No match
-
-/^[aeiou0-9]{4,5}$/
- uoie
- 0: uoie
- 1234
- 0: 1234
- 12345
- 0: 12345
- aaaaa
- 0: aaaaa
- *** Failers
-No match
- 123456
-No match
-
-/\`(abc|def)=(\1){2,3}\'/
- abc=abcabc
- 0: abc=abcabc
- 1: abc
- 2: abc
- def=defdefdef
- 0: def=defdefdef
- 1: def
- 2: def
- *** Failers
-No match
- abc=defdef
-No match
-
-/(cat(a(ract|tonic)|erpillar)) \1()2(3)/
- cataract cataract23
- 0: cataract cataract23
- 1: cataract
- 2: aract
- 3: ract
- 4:
- 5: 3
- catatonic catatonic23
- 0: catatonic catatonic23
- 1: catatonic
- 2: atonic
- 3: tonic
- 4:
- 5: 3
- caterpillar caterpillar23
- 0: caterpillar caterpillar23
- 1: caterpillar
- 2: erpillar
- 3: <unset>
- 4:
- 5: 3
-
-
-/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
- From abcd Mon Sep 01 12:33:02 1997
- 0: From abcd Mon Sep 01 12:33
- 1: abcd
-
-/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}[0-9]{1,2}\s+[0-9][0-9]:[0-9][0-9]/
- From abcd Mon Sep 01 12:33:02 1997
- 0: From abcd Mon Sep 01 12:33
- 1: Sep
- From abcd Mon Sep 1 12:33:02 1997
- 0: From abcd Mon Sep 1 12:33
- 1: Sep
- *** Failers
-No match
- From abcd Sep 01 12:33:02 1997
-No match
-
-/^(a)\1{2,3}(.)/
- aaab
- 0: aaab
- 1: a
- 2: b
- aaaab
- 0: aaaab
- 1: a
- 2: b
- aaaaab
- 0: aaaaa
- 1: a
- 2: a
- aaaaaab
- 0: aaaaa
- 1: a
- 2: a
-
-/^[ab]{1,3}(ab*|b)/
- aabbbbb
- 0: aabbbbb
- 1: abbbbb
-
-/^(cow|)\1(bell)/
- cowcowbell
- 0: cowcowbell
- 1: cow
- 2: bell
- bell
- 0: bell
- 1:
- 2: bell
- *** Failers
-No match
- cowbell
-No match
-
-/^(a|)\1+b/
- aab
- 0: aab
- 1: a
- aaaab
- 0: aaaab
- 1: a
- b
- 0: b
- 1:
- *** Failers
-No match
- ab
-No match
-
-/^(a|)\1{2}b/
- aaab
- 0: aaab
- 1: a
- b
- 0: b
- 1:
- *** Failers
-No match
- ab
-No match
- aab
-No match
- aaaab
-No match
-
-/^(a|)\1{2,3}b/
- aaab
- 0: aaab
- 1: a
- aaaab
- 0: aaaab
- 1: a
- b
- 0: b
- 1:
- *** Failers
-No match
- ab
-No match
- aab
-No match
- aaaaab
-No match
-
-/ab{1,3}bc/
- abbbbc
- 0: abbbbc
- abbbc
- 0: abbbc
- abbc
- 0: abbc
- *** Failers
-No match
- abc
-No match
- abbbbbc
-No match
-
-/([^.]*)\.([^:]*):[T ]+(.*)/
- track1.title:TBlah blah blah
- 0: track1.title:TBlah blah blah
- 1: track1
- 2: title
- 3: Blah blah blah
-
-/([^.]*)\.([^:]*):[T ]+(.*)/i
- track1.title:TBlah blah blah
- 0: track1.title:TBlah blah blah
- 1: track1
- 2: title
- 3: Blah blah blah
-
-/([^.]*)\.([^:]*):[t ]+(.*)/i
- track1.title:TBlah blah blah
- 0: track1.title:TBlah blah blah
- 1: track1
- 2: title
- 3: Blah blah blah
-
-/^abc$/
- abc
- 0: abc
- *** Failers
-No match
-
-/[-az]+/
- az-
- 0: az-
- *** Failers
- 0: a
- b
-No match
-
-/[az-]+/
- za-
- 0: za-
- *** Failers
- 0: a
- b
-No match
-
-/[a-z]+/
- abcdxyz
- 0: abcdxyz
-
-/[0-9-]+/
- 12-34
- 0: 12-34
- *** Failers
-No match
- aaa
-No match
-
-/(abc)\1/i
- abcabc
- 0: abcabc
- 1: abc
- ABCabc
- 0: ABCabc
- 1: ABC
- abcABC
- 0: abcABC
- 1: abc
-
-/a{0}bc/
- bc
- 0: bc
-
-/^([^a])([^b])([^c]*)([^d]{3,4})/
- baNOTccccd
- 0: baNOTcccc
- 1: b
- 2: a
- 3: NOT
- 4: cccc
- baNOTcccd
- 0: baNOTccc
- 1: b
- 2: a
- 3: NOT
- 4: ccc
- baNOTccd
- 0: baNOTcc
- 1: b
- 2: a
- 3: NO
- 4: Tcc
- bacccd
- 0: baccc
- 1: b
- 2: a
- 3:
- 4: ccc
- *** Failers
- 0: *** Failers
- 1: *
- 2: *
- 3: * Fail
- 4: ers
- anything
-No match
- baccd
-No match
-
-/[^a]/
- Abc
- 0: A
-
-/[^a]/i
- Abc
- 0: b
-
-/[^a]+/
- AAAaAbc
- 0: AAA
-
-/[^a]+/i
- AAAaAbc
- 0: bc
-
-/[^k]$/
- abc
- 0: c
- *** Failers
- 0: s
- abk
-No match
-
-/[^k]{2,3}$/
- abc
- 0: abc
- kbc
- 0: bc
- kabc
- 0: abc
- *** Failers
- 0: ers
- abk
-No match
- akb
-No match
- akk
-No match
-
-/^[0-9]{8,}@.+[^k]$/
- 12345678@a.b.c.d
- 0: 12345678@a.b.c.d
- 123456789@x.y.z
- 0: 123456789@x.y.z
- *** Failers
-No match
- 12345678@x.y.uk
-No match
- 1234567@a.b.c.d
-No match
-
-/(a)\1{8,}/
- aaaaaaaaa
- 0: aaaaaaaaa
- 1: a
- aaaaaaaaaa
- 0: aaaaaaaaaa
- 1: a
- *** Failers
-No match
- aaaaaaa
-No match
-
-/[^a]/
- aaaabcd
- 0: b
- aaAabcd
- 0: A
-
-/[^a]/i
- aaaabcd
- 0: b
- aaAabcd
- 0: b
-
-/[^az]/
- aaaabcd
- 0: b
- aaAabcd
- 0: A
-
-/[^az]/i
- aaaabcd
- 0: b
- aaAabcd
- 0: b
-
-/P[^*]TAIRE[^*]{1,6}LL/
- xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
- 0: PSTAIREISLL
-
-/P[^*]TAIRE[^*]{1,}LL/
- xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
- 0: PSTAIREISLL
-
-/(\.[0-9][0-9][1-9]?)[0-9]+/
- 1.230003938
- 0: .230003938
- 1: .23
- 1.875000282
- 0: .875000282
- 1: .875
- 1.235
- 0: .235
- 1: .23
-
-/\b(foo)\s+(\w+)/i
- Food is on the foo table
- 0: foo table
- 1: foo
- 2: table
-
-/foo(.*)bar/
- The food is under the bar in the barn.
- 0: food is under the bar in the bar
- 1: d is under the bar in the
-
-/(.*)([0-9]*)/
- I have 2 numbers: 53147
- 0: I have 2 numbers: 53147
- 1: I have 2 numbers: 53147
- 2:
-
-/(.*)([0-9]+)/
- I have 2 numbers: 53147
- 0: I have 2 numbers: 53147
- 1: I have 2 numbers: 5314
- 2: 7
-
-/(.*)([0-9]+)$/
- I have 2 numbers: 53147
- 0: I have 2 numbers: 53147
- 1: I have 2 numbers: 5314
- 2: 7
-
-/(.*)\b([0-9]+)$/
- I have 2 numbers: 53147
- 0: I have 2 numbers: 53147
- 1: I have 2 numbers:
- 2: 53147
-
-/(.*[^0-9])([0-9]+)$/
- I have 2 numbers: 53147
- 0: I have 2 numbers: 53147
- 1: I have 2 numbers:
- 2: 53147
-
-/[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]][[:digit:]][[:digit:]]/
- 01/01/2000
- 0: 01/01/2000
-
-/^(a){0,0}/
- bcd
- 0:
- abc
- 0:
- aab
- 0:
-
-/^(a){0,1}/
- bcd
- 0:
- abc
- 0: a
- 1: a
- aab
- 0: a
- 1: a
-
-/^(a){0,2}/
- bcd
- 0:
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
-
-/^(a){0,3}/
- bcd
- 0:
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
- aaa
- 0: aaa
- 1: a
-
-/^(a){0,}/
- bcd
- 0:
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
- aaa
- 0: aaa
- 1: a
- aaaaaaaa
- 0: aaaaaaaa
- 1: a
-
-/^(a){1,1}/
- bcd
-No match
- abc
- 0: a
- 1: a
- aab
- 0: a
- 1: a
-
-/^(a){1,2}/
- bcd
-No match
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
-
-/^(a){1,3}/
- bcd
-No match
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
- aaa
- 0: aaa
- 1: a
-
-/^(a){1,}/
- bcd
-No match
- abc
- 0: a
- 1: a
- aab
- 0: aa
- 1: a
- aaa
- 0: aaa
- 1: a
- aaaaaaaa
- 0: aaaaaaaa
- 1: a
-
-/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
- 123456654321
- 0: 123456654321
-
-/^[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/
- 123456654321
- 0: 123456654321
-
-/^[abc]{12}/
- abcabcabcabc
- 0: abcabcabcabc
-
-/^[a-c]{12}/
- abcabcabcabc
- 0: abcabcabcabc
-
-/^(a|b|c){12}/
- abcabcabcabc
- 0: abcabcabcabc
- 1: c
-
-/^[abcdefghijklmnopqrstuvwxy0123456789]/
- n
- 0: n
- *** Failers
-No match
- z
-No match
-
-/abcde{0,0}/
- abcd
- 0: abcd
- *** Failers
-No match
- abce
-No match
-
-/ab[cd]{0,0}e/
- abe
- 0: abe
- *** Failers
-No match
- abcde
-No match
-
-/ab(c){0,0}d/
- abd
- 0: abd
- *** Failers
-No match
- abcd
-No match
-
-/a(b*)/
- a
- 0: a
- 1:
- ab
- 0: ab
- 1: b
- abbbb
- 0: abbbb
- 1: bbbb
- *** Failers
- 0: a
- 1:
- bbbbb
-No match
-
-/ab[0-9]{0}e/
- abe
- 0: abe
- *** Failers
-No match
- ab1e
-No match
-
-/(A|B)*CD/
- CD
- 0: CD
-
-/(AB)*\1/
- ABABAB
- 0: ABABAB
- 1: AB
-
-/([0-9]+)(\w)/
- 12345a
- 0: 12345a
- 1: 12345
- 2: a
- 12345+
- 0: 12345
- 1: 1234
- 2: 5
-
-/(abc|)+/
- abc
- 0: abc
- 1: abc
- abcabc
- 0: abcabc
- 1: abc
- abcabcabc
- 0: abcabcabc
- 1: abc
- xyz
- 0:
- 1:
-
-/([a]*)*/
- a
- 0: a
- 1: a
- aaaaa
- 0: aaaaa
- 1: aaaaa
-
-/([ab]*)*/
- a
- 0: a
- 1: a
- b
- 0: b
- 1: b
- ababab
- 0: ababab
- 1: ababab
- aaaabcde
- 0: aaaab
- 1: aaaab
- bbbb
- 0: bbbb
- 1: bbbb
-
-/([^a]*)*/
- b
- 0: b
- 1: b
- bbbb
- 0: bbbb
- 1: bbbb
- aaa
- 0:
-
-/([^ab]*)*/
- cccc
- 0: cccc
- 1: cccc
- abab
- 0:
-
-/abc/
- abc
- 0: abc
- xabcy
- 0: abc
- ababc
- 0: abc
- *** Failers
-No match
- xbc
-No match
- axc
-No match
- abx
-No match
-
-/ab*c/
- abc
- 0: abc
-
-/ab*bc/
- abc
- 0: abc
- abbc
- 0: abbc
- abbbbc
- 0: abbbbc
-
-/.{1}/
- abbbbc
- 0: a
-
-/.{3,4}/
- abbbbc
- 0: abbb
-
-/ab{0,}bc/
- abbbbc
- 0: abbbbc
-
-/ab+bc/
- abbc
- 0: abbc
- *** Failers
-No match
- abc
-No match
- abq
-No match
-
-/ab+bc/
- abbbbc
- 0: abbbbc
-
-/ab{1,}bc/
- abbbbc
- 0: abbbbc
-
-/ab{1,3}bc/
- abbbbc
- 0: abbbbc
-
-/ab{3,4}bc/
- abbbbc
- 0: abbbbc
-
-/ab{4,5}bc/
- *** Failers
-No match
- abq
-No match
- abbbbc
-No match
-
-/ab?bc/
- abbc
- 0: abbc
- abc
- 0: abc
-
-/ab{0,1}bc/
- abc
- 0: abc
-
-/ab?c/
- abc
- 0: abc
-
-/ab{0,1}c/
- abc
- 0: abc
-
-/^abc$/
- abc
- 0: abc
- *** Failers
-No match
- abbbbc
-No match
- abcc
-No match
-
-/^abc/
- abcc
- 0: abc
-
-/abc$/
- aabc
- 0: abc
- *** Failers
-No match
- aabc
- 0: abc
- aabcd
-No match
-
-/^/
- abc
- 0:
-
-/$/
- abc
- 0:
-
-/a.c/
- abc
- 0: abc
- axc
- 0: axc
-
-/a.*c/
- axyzc
- 0: axyzc
-
-/a[bc]d/
- abd
- 0: abd
- *** Failers
-No match
- axyzd
-No match
- abc
-No match
-
-/a[b-d]e/
- ace
- 0: ace
-
-/a[b-d]/
- aac
- 0: ac
-
-/a[-b]/
- a-
- 0: a-
-
-/a[b-]/
- a-
- 0: a-
-
-/a[]]b/
- a]b
- 0: a]b
-
-/a[^bc]d/
- aed
- 0: aed
- *** Failers
-No match
- abd
-No match
- abd
-No match
-
-/a[^-b]c/
- adc
- 0: adc
-
-/a[^]b]c/
- adc
- 0: adc
- *** Failers
-No match
- a-c
- 0: a-c
- a]c
-No match
-
-/\ba\b/
- a-
- 0: a
- -a
- 0: a
- -a-
- 0: a
-
-/\by\b/
- *** Failers
-No match
- xy
-No match
- yz
-No match
- xyz
-No match
-
-/\Ba\B/
- *** Failers
- 0: a
- a-
-No match
- -a
-No match
- -a-
-No match
-
-/\By\b/
- xy
- 0: y
-
-/\by\B/
- yz
- 0: y
-
-/\By\B/
- xyz
- 0: y
-
-/\w/
- a
- 0: a
-
-/\W/
- -
- 0: -
- *** Failers
- 0: *
- -
- 0: -
- a
-No match
-
-/a\sb/
- a b
- 0: a b
-
-/a\Sb/
- a-b
- 0: a-b
- *** Failers
-No match
- a-b
- 0: a-b
- a b
-No match
-
-/[0-9]/
- 1
- 0: 1
-
-/[^0-9]/
- -
- 0: -
- *** Failers
- 0: *
- -
- 0: -
- 1
-No match
-
-/ab|cd/
- abc
- 0: ab
- abcd
- 0: ab
-
-/()ef/
- def
- 0: ef
- 1:
-
-/a\(b/
- a(b
- 0: a(b
-
-/a\(*b/
- ab
- 0: ab
- a((b
- 0: a((b
-
-/((a))/
- abc
- 0: a
- 1: a
- 2: a
-
-/(a)b(c)/
- abc
- 0: abc
- 1: a
- 2: c
-
-/a+b+c/
- aabbabc
- 0: abc
-
-/a{1,}b{1,}c/
- aabbabc
- 0: abc
-
-/(a+|b)*/
- ab
- 0: ab
- 1: b
-
-/(a+|b){0,}/
- ab
- 0: ab
- 1: b
-
-/(a+|b)+/
- ab
- 0: ab
- 1: b
-
-/(a+|b){1,}/
- ab
- 0: ab
- 1: b
-
-/(a+|b)?/
- ab
- 0: a
- 1: a
-
-/(a+|b){0,1}/
- ab
- 0: a
- 1: a
-
-/[^ab]*/
- cde
- 0: cde
-
-/abc/
- *** Failers
-No match
- b
-No match
-
-
-/a*/
-
-
-/([abc])*d/
- abbbcd
- 0: abbbcd
- 1: c
-
-/([abc])*bcd/
- abcd
- 0: abcd
- 1: a
-
-/a|b|c|d|e/
- e
- 0: e
-
-/(a|b|c|d|e)f/
- ef
- 0: ef
- 1: e
-
-/abcd*efg/
- abcdefg
- 0: abcdefg
-
-/ab*/
- xabyabbbz
- 0: ab
- xayabbbz
- 0: a
-
-/(ab|cd)e/
- abcde
- 0: cde
- 1: cd
-
-/[abhgefdc]ij/
- hij
- 0: hij
-
-/(abc|)ef/
- abcdef
- 0: ef
- 1:
-
-/(a|b)c*d/
- abcd
- 0: bcd
- 1: b
-
-/(ab|ab*)bc/
- abc
- 0: abc
- 1: a
-
-/a([bc]*)c*/
- abc
- 0: abc
- 1: bc
-
-/a([bc]*)(c*d)/
- abcd
- 0: abcd
- 1: bc
- 2: d
-
-/a([bc]+)(c*d)/
- abcd
- 0: abcd
- 1: bc
- 2: d
-
-/a([bc]*)(c+d)/
- abcd
- 0: abcd
- 1: b
- 2: cd
-
-/a[bcd]*dcdcde/
- adcdcde
- 0: adcdcde
-
-/a[bcd]+dcdcde/
- *** Failers
-No match
- abcde
-No match
- adcdcde
-No match
-
-/(ab|a)b*c/
- abc
- 0: abc
- 1: ab
-
-/((a)(b)c)(d)/
- abcd
- 0: abcd
- 1: abc
- 2: a
- 3: b
- 4: d
-
-/[a-zA-Z_][a-zA-Z0-9_]*/
- alpha
- 0: alpha
-
-/^a(bc+|b[eh])g|.h$/
- abh
- 0: bh
-
-/(bc+d$|ef*g.|h?i(j|k))/
- effgz
- 0: effgz
- 1: effgz
- ij
- 0: ij
- 1: ij
- 2: j
- reffgz
- 0: effgz
- 1: effgz
- *** Failers
-No match
- effg
-No match
- bcdd
-No match
-
-/((((((((((a))))))))))/
- a
- 0: a
- 1: a
- 2: a
- 3: a
- 4: a
- 5: a
- 6: a
- 7: a
- 8: a
- 9: a
-10: a
-
-/((((((((((a))))))))))\9/
- aa
- 0: aa
- 1: a
- 2: a
- 3: a
- 4: a
- 5: a
- 6: a
- 7: a
- 8: a
- 9: a
-10: a
-
-/(((((((((a)))))))))/
- a
- 0: a
- 1: a
- 2: a
- 3: a
- 4: a
- 5: a
- 6: a
- 7: a
- 8: a
- 9: a
-
-/multiple words of text/
- *** Failers
-No match
- aa
-No match
- uh-uh
-No match
-
-/multiple words/
- multiple words, yeah
- 0: multiple words
-
-/(.*)c(.*)/
- abcde
- 0: abcde
- 1: ab
- 2: de
-
-/\((.*), (.*)\)/
- (a, b)
- 0: (a, b)
- 1: a
- 2: b
-
-/abcd/
- abcd
- 0: abcd
-
-/a(bc)d/
- abcd
- 0: abcd
- 1: bc
-
-/a[-]?c/
- ac
- 0: ac
-
-/(abc)\1/
- abcabc
- 0: abcabc
- 1: abc
-
-/([a-c]*)\1/
- abcabc
- 0: abcabc
- 1: abc
-
-/(a)|\1/
- a
- 0: a
- 1: a
- *** Failers
- 0: a
- 1: a
- ab
- 0: a
- 1: a
- x
-No match
-
-/abc/i
- ABC
- 0: ABC
- XABCY
- 0: ABC
- ABABC
- 0: ABC
- *** Failers
-No match
- aaxabxbaxbbx
-No match
- XBC
-No match
- AXC
-No match
- ABX
-No match
-
-/ab*c/i
- ABC
- 0: ABC
-
-/ab*bc/i
- ABC
- 0: ABC
- ABBC
- 0: ABBC
-
-/ab+bc/i
- *** Failers
-No match
- ABC
-No match
- ABQ
-No match
-
-/ab+bc/i
- ABBBBC
- 0: ABBBBC
-
-/^abc$/i
- ABC
- 0: ABC
- *** Failers
-No match
- ABBBBC
-No match
- ABCC
-No match
-
-/^abc/i
- ABCC
- 0: ABC
-
-/abc$/i
- AABC
- 0: ABC
-
-/^/i
- ABC
- 0:
-
-/$/i
- ABC
- 0:
-
-/a.c/i
- ABC
- 0: ABC
- AXC
- 0: AXC
-
-/a.*c/i
- *** Failers
-No match
- AABC
- 0: AABC
- AXYZD
-No match
-
-/a[bc]d/i
- ABD
- 0: ABD
-
-/a[b-d]e/i
- ACE
- 0: ACE
- *** Failers
-No match
- ABC
-No match
- ABD
-No match
-
-/a[b-d]/i
- AAC
- 0: AC
-
-/a[-b]/i
- A-
- 0: A-
-
-/a[b-]/i
- A-
- 0: A-
-
-/a[]]b/i
- A]B
- 0: A]B
-
-/a[^bc]d/i
- AED
- 0: AED
-
-/a[^-b]c/i
- ADC
- 0: ADC
- *** Failers
-No match
- ABD
-No match
- A-C
-No match
-
-/a[^]b]c/i
- ADC
- 0: ADC
-
-/ab|cd/i
- ABC
- 0: AB
- ABCD
- 0: AB
-
-/()ef/i
- DEF
- 0: EF
- 1:
-
-/$b/i
- *** Failers
-No match
- A]C
-No match
- B
-No match
-
-/a\(b/i
- A(B
- 0: A(B
-
-/a\(*b/i
- AB
- 0: AB
- A((B
- 0: A((B
-
-/((a))/i
- ABC
- 0: A
- 1: A
- 2: A
-
-/(a)b(c)/i
- ABC
- 0: ABC
- 1: A
- 2: C
-
-/a+b+c/i
- AABBABC
- 0: ABC
-
-/a{1,}b{1,}c/i
- AABBABC
- 0: ABC
-
-/(a+|b)*/i
- AB
- 0: AB
- 1: B
-
-/(a+|b){0,}/i
- AB
- 0: AB
- 1: B
-
-/(a+|b)+/i
- AB
- 0: AB
- 1: B
-
-/(a+|b){1,}/i
- AB
- 0: AB
- 1: B
-
-/(a+|b)?/i
- AB
- 0: A
- 1: A
-
-/(a+|b){0,1}/i
- AB
- 0: A
- 1: A
-
-/[^ab]*/i
- CDE
- 0: CDE
-
-/([abc])*d/i
- ABBBCD
- 0: ABBBCD
- 1: C
-
-/([abc])*bcd/i
- ABCD
- 0: ABCD
- 1: A
-
-/a|b|c|d|e/i
- E
- 0: E
-
-/(a|b|c|d|e)f/i
- EF
- 0: EF
- 1: E
-
-/abcd*efg/i
- ABCDEFG
- 0: ABCDEFG
-
-/ab*/i
- XABYABBBZ
- 0: AB
- XAYABBBZ
- 0: A
-
-/(ab|cd)e/i
- ABCDE
- 0: CDE
- 1: CD
-
-/[abhgefdc]ij/i
- HIJ
- 0: HIJ
-
-/^(ab|cd)e/i
- ABCDE
-No match
-
-/(abc|)ef/i
- ABCDEF
- 0: EF
- 1:
-
-/(a|b)c*d/i
- ABCD
- 0: BCD
- 1: B
-
-/(ab|ab*)bc/i
- ABC
- 0: ABC
- 1: A
-
-/a([bc]*)c*/i
- ABC
- 0: ABC
- 1: BC
-
-/a([bc]*)(c*d)/i
- ABCD
- 0: ABCD
- 1: BC
- 2: D
-
-/a([bc]+)(c*d)/i
- ABCD
- 0: ABCD
- 1: BC
- 2: D
-
-/a([bc]*)(c+d)/i
- ABCD
- 0: ABCD
- 1: B
- 2: CD
-
-/a[bcd]*dcdcde/i
- ADCDCDE
- 0: ADCDCDE
-
-/a[bcd]+dcdcde/i
-
-/(ab|a)b*c/i
- ABC
- 0: ABC
- 1: AB
-
-/((a)(b)c)(d)/i
- ABCD
- 0: ABCD
- 1: ABC
- 2: A
- 3: B
- 4: D
-
-/[a-zA-Z_][a-zA-Z0-9_]*/i
- ALPHA
- 0: ALPHA
-
-/^a(bc+|b[eh])g|.h$/i
- ABH
- 0: BH
-
-/(bc+d$|ef*g.|h?i(j|k))/i
- EFFGZ
- 0: EFFGZ
- 1: EFFGZ
- IJ
- 0: IJ
- 1: IJ
- 2: J
- REFFGZ
- 0: EFFGZ
- 1: EFFGZ
- *** Failers
-No match
- ADCDCDE
-No match
- EFFG
-No match
- BCDD
-No match
-
-/((((((((((a))))))))))/i
- A
- 0: A
- 1: A
- 2: A
- 3: A
- 4: A
- 5: A
- 6: A
- 7: A
- 8: A
- 9: A
-10: A
-
-/((((((((((a))))))))))\9/i
- AA
- 0: AA
- 1: A
- 2: A
- 3: A
- 4: A
- 5: A
- 6: A
- 7: A
- 8: A
- 9: A
-10: A
-
-/(((((((((a)))))))))/i
- A
- 0: A
- 1: A
- 2: A
- 3: A
- 4: A
- 5: A
- 6: A
- 7: A
- 8: A
- 9: A
-
-/multiple words of text/i
- *** Failers
-No match
- AA
-No match
- UH-UH
-No match
-
-/multiple words/i
- MULTIPLE WORDS, YEAH
- 0: MULTIPLE WORDS
-
-/(.*)c(.*)/i
- ABCDE
- 0: ABCDE
- 1: AB
- 2: DE
-
-/\((.*), (.*)\)/i
- (A, B)
- 0: (A, B)
- 1: A
- 2: B
-
-/abcd/i
- ABCD
- 0: ABCD
-
-/a(bc)d/i
- ABCD
- 0: ABCD
- 1: BC
-
-/a[-]?c/i
- AC
- 0: AC
-
-/(abc)\1/i
- ABCABC
- 0: ABCABC
- 1: ABC
-
-/([a-c]*)\1/i
- ABCABC
- 0: ABCABC
- 1: ABC
-
-/((foo)|(bar))*/
- foobar
- 0: foobar
- 1: bar
- 2: foo
- 3: bar
-
-/^(.+)?B/
- AB
- 0: AB
- 1: A
-
-/^([^a-z])|(\^)$/
- .
- 0: .
- 1: .
-
-/^[<>]&/
- <&OUT
- 0: <&
-
-/^(){3,5}/
- abc
- 0:
- 1:
-
-/^(a+)*ax/
- aax
- 0: aax
- 1: a
-
-/^((a|b)+)*ax/
- aax
- 0: aax
- 1: a
- 2: a
-
-/^((a|bc)+)*ax/
- aax
- 0: aax
- 1: a
- 2: a
-
-/(a|x)*ab/
- cab
- 0: ab
-
-/(a)*ab/
- cab
- 0: ab
-
-/(ab)[0-9]\1/i
- Ab4ab
- 0: Ab4ab
- 1: Ab
- ab4Ab
- 0: ab4Ab
- 1: ab
-
-/foo\w*[0-9]{4}baz/
- foobar1234baz
- 0: foobar1234baz
-
-/(\w+:)+/
- one:
- 0: one:
- 1: one:
-
-/((\w|:)+::)?(\w+)$/
- abcd
- 0: abcd
- 1: <unset>
- 2: <unset>
- 3: abcd
- xy:z:::abcd
- 0: xy:z:::abcd
- 1: xy:z:::
- 2: :
- 3: abcd
-
-/^[^bcd]*(c+)/
- aexycd
- 0: aexyc
- 1: c
-
-/(a*)b+/
- caab
- 0: aab
- 1: aa
-
-/((\w|:)+::)?(\w+)$/
- abcd
- 0: abcd
- 1: <unset>
- 2: <unset>
- 3: abcd
- xy:z:::abcd
- 0: xy:z:::abcd
- 1: xy:z:::
- 2: :
- 3: abcd
- *** Failers
- 0: Failers
- 1: <unset>
- 2: <unset>
- 3: Failers
- abcd:
-No match
- abcd:
-No match
-
-/^[^bcd]*(c+)/
- aexycd
- 0: aexyc
- 1: c
-
-/((Z)+|A)*/
- ZABCDEFG
- 0: ZA
- 1: A
- 2: Z
-
-/(Z()|A)*/
- ZABCDEFG
- 0: ZA
- 1: A
- 2:
-
-/(Z(())|A)*/
- ZABCDEFG
- 0: ZA
- 1: A
- 2:
- 3:
-
-/(.*)[0-9]+\1/
- abc123abc
- 0: abc123abc
- 1: abc
- abc123bc
- 0: bc123bc
- 1: bc
-
-/((.*))[0-9]+\1/
- abc123abc
- 0: abc123abc
- 1: abc
- 2: abc
- abc123bc
- 0: bc123bc
- 1: bc
- 2: bc
-
-/^a{2,5}$/
- aa
- 0: aa
- aaa
- 0: aaa
- aaaa
- 0: aaaa
- aaaaa
- 0: aaaaa
- *** Failers
-No match
- a
-No match
- b
-No match
- aaaaab
-No match
- aaaaaa
diff --git a/sources/host-tools/sed-4.2.1/testsuite/SPENCER.tests b/sources/host-tools/sed-4.2.1/testsuite/SPENCER.tests
deleted file mode 100644
index fc26e6b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/SPENCER.tests
+++ /dev/null
@@ -1,542 +0,0 @@
-# regular expression test set
-# Lines are at least three fields, separated by one or more tabs. "" stands
-# for an empty field. First field is an RE. Second field is flags. If
-# C flag given, regcomp() is expected to fail, and the third field is the
-# error name (minus the leading REG_).
-#
-# Otherwise it is expected to succeed, and the third field is the string to
-# try matching it against. If there is no fourth field, the match is
-# expected to fail. If there is a fourth field, it is the substring that
-# the RE is expected to match. If there is a fifth field, it is a comma-
-# separated list of what the subexpressions should match, with - indicating
-# no match for that one. In both the fourth and fifth fields, a (sub)field
-# starting with @ indicates that the (sub)expression is expected to match
-# a null string followed by the stuff after the @; this provides a way to
-# test where null strings match. The character `N' in REs and strings
-# is newline, `S' is space, `T' is tab, `Z' is NUL.
-#
-# The full list of flags:
-# - placeholder, does nothing
-# b RE is a BRE, not an ERE
-# & try it as both an ERE and a BRE
-# C regcomp() error expected, third field is error name
-# i REG_ICASE
-# m ("mundane") REG_NOSPEC
-# s REG_NOSUB (not really testable)
-# n REG_NEWLINE
-# ^ REG_NOTBOL
-# $ REG_NOTEOL
-# # REG_STARTEND (see below)
-# p REG_PEND
-#
-# For REG_STARTEND, the start/end offsets are those of the substring
-# enclosed in ().
-
-# basics
-a & a a
-abc & abc abc
-abc|de - abc abc
-a|b|c - abc a
-
-# parentheses and perversions thereof
-a(b)c - abc abc
-a\(b\)c b abc abc
-a( C EPAREN
-a( b a( a(
-a\( - a( a(
-a\( bC EPAREN
-a\(b bC EPAREN
-a(b C EPAREN
-a(b b a(b a(b
-# gag me with a right parenthesis -- 1003.2 goofed here (my fault, partly)
-a) - a) a)
-) - ) )
-# end gagging (in a just world, those *should* give EPAREN)
-a) b a) a)
-a\) bC EPAREN
-\) bC EPAREN
-a()b - ab ab
-a\(\)b b ab ab
-
-# anchoring and REG_NEWLINE
-^abc$ & abc abc
-a^b - a^b
-a^b b a^b a^b
-a$b - a$b
-a$b b a$b a$b
-^ & abc @abc
-$ & abc @
-^$ & "" @
-$^ - "" @
-\($\)\(^\) b "" @
-# stop retching, those are legitimate (although disgusting)
-^^ - "" @
-$$ - "" @
-b$ & abNc
-b$ &n abNc b
-^b$ & aNbNc
-^b$ &n aNbNc b
-^$ &n aNNb @Nb
-^$ n abc
-^$ n abcN @
-$^ n aNNb @Nb
-\($\)\(^\) bn aNNb @Nb
-^^ n^ aNNb @Nb
-$$ n aNNb @NN
-^a ^ a
-a$ $ a
-^a ^n aNb
-^b ^n aNb b
-a$ $n bNa
-b$ $n bNa b
-a*(^b$)c* - b b
-a*\(^b$\)c* b b b
-
-# certain syntax errors and non-errors
-| C EMPTY
-| b | |
-* C BADRPT
-* b * *
-+ C BADRPT
-? C BADRPT
-"" &C EMPTY
-() - abc @abc
-\(\) b abc @abc
-a||b C EMPTY
-|ab C EMPTY
-ab| C EMPTY
-(|a)b C EMPTY
-(a|)b C EMPTY
-(*a) C BADRPT
-(+a) C BADRPT
-(?a) C BADRPT
-({1}a) C BADRPT
-\(\{1\}a\) bC BADRPT
-(a|*b) C BADRPT
-(a|+b) C BADRPT
-(a|?b) C BADRPT
-(a|{1}b) C BADRPT
-^* C BADRPT
-^* b * *
-^+ C BADRPT
-^? C BADRPT
-^{1} C BADRPT
-^\{1\} bC BADRPT
-
-# metacharacters, backslashes
-a.c & abc abc
-a[bc]d & abd abd
-a\*c & a*c a*c
-a\\b & a\b a\b
-a\\\*b & a\*b a\*b
-# The following test is wrong. Using \b in an BRE or ERE is undefined.
-# a\bc & abc abc
-a\ &C EESCAPE
-a\\bc & a\bc a\bc
-\{ bC BADRPT
-a\[b & a[b a[b
-a[b &C EBRACK
-# trailing $ is a peculiar special case for the BRE code
-a$ & a a
-a$ & a$
-a\$ & a
-a\$ & a$ a$
-a\\$ & a
-a\\$ & a$
-a\\$ & a\$
-a\\$ & a\ a\
-
-# back references, ugh
-a\(b\)\2c bC ESUBREG
-a\(b\1\)c bC ESUBREG
-a\(b*\)c\1d b abbcbbd abbcbbd bb
-a\(b*\)c\1d b abbcbd
-a\(b*\)c\1d b abbcbbbd
-^\(.\)\1 b abc
-a\([bc]\)\1d b abcdabbd abbd b
-a\(\([bc]\)\2\)*d b abbccd abbccd
-a\(\([bc]\)\2\)*d b abbcbd
-# actually, this next one probably ought to fail, but the spec is unclear
-a\(\(b\)*\2\)*d b abbbd abbbd
-# here is a case that no NFA implementation does right
-\(ab*\)[ab]*\1 b ababaaa ababaaa a
-# check out normal matching in the presence of back refs
-\(a\)\1bcd b aabcd aabcd
-\(a\)\1bc*d b aabcd aabcd
-\(a\)\1bc*d b aabd aabd
-\(a\)\1bc*d b aabcccd aabcccd
-\(a\)\1bc*[ce]d b aabcccd aabcccd
-^\(a\)\1b\(c\)*cd$ b aabcccd aabcccd
-
-# ordinary repetitions
-ab*c & abc abc
-ab+c - abc abc
-ab?c - abc abc
-a\(*\)b b a*b a*b
-a\(**\)b b ab ab
-a\(***\)b bC BADRPT
-*a b *a *a
-**a b a a
-***a bC BADRPT
-
-# the dreaded bounded repetitions
-# The following two tests are not correct:
-#{ & { {
-#{abc & {abc {abc
-# '{' is always a special char outside bracket expressions. So test ony BRE:
-{ b { {
-{abc b {abc {abc
-{1 C BADRPT
-{1} C BADRPT
-# Same reason as for the two tests above:
-#a{b & a{b a{b
-a{b b a{b a{b
-a{1}b - ab ab
-a\{1\}b b ab ab
-a{1,}b - ab ab
-a\{1,\}b b ab ab
-a{1,2}b - aab aab
-a\{1,2\}b b aab aab
-a{1 C EBRACE
-a\{1 bC EBRACE
-a{1a C EBRACE
-a\{1a bC EBRACE
-a{1a} C BADBR
-a\{1a\} bC BADBR
-# These four tests checks for undefined behavior. Our implementation does
-# something different.
-#a{,2} - a{,2} a{,2}
-#a\{,2\} bC BADBR
-#a{,} - a{,} a{,}
-#a\{,\} bC BADBR
-a{1,x} C BADBR
-a\{1,x\} bC BADBR
-a{1,x C EBRACE
-a\{1,x bC EBRACE
-# These two tests probably fails due to an arbitrary limit on the number of
-# repetitions in the other implementation.
-#a{300} C BADBR
-#a\{300\} bC BADBR
-a{1,0} C BADBR
-a\{1,0\} bC BADBR
-ab{0,0}c - abcac ac
-ab\{0,0\}c b abcac ac
-ab{0,1}c - abcac abc
-ab\{0,1\}c b abcac abc
-ab{0,3}c - abbcac abbc
-ab\{0,3\}c b abbcac abbc
-ab{1,1}c - acabc abc
-ab\{1,1\}c b acabc abc
-ab{1,3}c - acabc abc
-ab\{1,3\}c b acabc abc
-ab{2,2}c - abcabbc abbc
-ab\{2,2\}c b abcabbc abbc
-ab{2,4}c - abcabbc abbc
-ab\{2,4\}c b abcabbc abbc
-((a{1,10}){1,10}){1,10} - a a a,a
-
-# multiple repetitions
-# Wow, there is serious disconnect here. The ERE grammar is like this:
-# ERE_expression : one_char_or_coll_elem_ERE
-# | '^'
-# | '$'
-# | '(' extended_reg_exp ')'
-# | ERE_expression ERE_dupl_symbol
-# ;
-# where ERE_dupl_symbol is any of the repetition methods. It is clear from
-# this that consecutive repetition is OK. On top of this, the one test not
-# marked as failing must fail. For BREs the situation is different, so we
-# use the four tests.
-#a** &C BADRPT
-a** bC BADRPT
-#a++ C BADRPT
-#a?? C BADRPT
-#a*+ C BADRPT
-#a*? C BADRPT
-#a+* C BADRPT
-#a+? C BADRPT
-#a?* C BADRPT
-#a?+ C BADRPT
-#a{1}{1} C BADRPT
-#a*{1} C BADRPT
-#a+{1} C BADRPT
-#a?{1} C BADRPT
-#a{1}* C BADRPT
-#a{1}+ C BADRPT
-#a{1}? C BADRPT
-#a*{b} - a{b} a{b}
-a\{1\}\{1\} bC BADRPT
-a*\{1\} bC BADRPT
-a\{1\}* bC BADRPT
-
-# brackets, and numerous perversions thereof
-a[b]c & abc abc
-a[ab]c & abc abc
-a[^ab]c & adc adc
-a[]b]c & a]c a]c
-a[[b]c & a[c a[c
-a[-b]c & a-c a-c
-a[^]b]c & adc adc
-a[^-b]c & adc adc
-a[b-]c & a-c a-c
-a[b &C EBRACK
-a[] &C EBRACK
-a[1-3]c & a2c a2c
-a[3-1]c &C ERANGE
-a[1-3-5]c &C ERANGE
-a[[.-.]--]c & a-c a-c
-# I don't thing the error value should be ERANGE since a[1-] would be
-# valid, too. Expect EBRACK.
-#a[1- &C ERANGE
-a[1- &C EBRACK
-a[[. &C EBRACK
-a[[.x &C EBRACK
-a[[.x. &C EBRACK
-a[[.x.] &C EBRACK
-a[[.x.]] & ax ax
-a[[.x,.]] &C ECOLLATE
-# This test is invalid. "one" is no collating symbol in any standardized
-# locale.
-# a[[.one.]]b & a1b a1b
-a[[.notdef.]]b &C ECOLLATE
-a[[.].]]b & a]b a]b
-a[[:alpha:]]c & abc abc
-a[[:notdef:]]c &C ECTYPE
-a[[: &C EBRACK
-a[[:alpha &C EBRACK
-a[[:alpha:] &C EBRACK
-a[[:alpha,:] &C ECTYPE
-a[[:]:]]b &C ECTYPE
-a[[:-:]]b &C ECTYPE
-a[[:alph:]] &C ECTYPE
-a[[:alphabet:]] &C ECTYPE
-[[:alnum:]]+ - -%@a0X- a0X
-[[:alpha:]]+ - -%@aX0- aX
-[[:blank:]]+ - aSSTb SST
-[[:cntrl:]]+ - aNTb NT
-[[:digit:]]+ - a019b 019
-[[:graph:]]+ - Sa%bS a%b
-[[:lower:]]+ - AabC ab
-[[:print:]]+ - NaSbN aSb
-[[:punct:]]+ - S%-&T %-&
-[[:space:]]+ - aSNTb SNT
-[[:upper:]]+ - aBCd BC
-[[:xdigit:]]+ - p0f3Cq 0f3C
-a[[=b=]]c & abc abc
-a[[= &C EBRACK
-a[[=b &C EBRACK
-a[[=b= &C EBRACK
-a[[=b=] &C EBRACK
-a[[=b,=]] &C ECOLLATE
-# This test is invalid. "one" is no collating symbol in any standardized
-# locale.
-#a[[=one=]]b & a1b a1b
-
-# complexities
-a(((b)))c - abc abc
-a(b|(c))d - abd abd
-a(b*|c)d - abbd abbd
-# just gotta have one DFA-buster, of course
-a[ab]{20} - aaaaabaaaabaaaabaaaab aaaaabaaaabaaaabaaaab
-# and an inline expansion in case somebody gets tricky
-a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] - aaaaabaaaabaaaabaaaab aaaaabaaaabaaaabaaaab
-# and in case somebody just slips in an NFA...
-a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) - aaaaabaaaabaaaabaaaabweeknights aaaaabaaaabaaaabaaaabweeknights
-# fish for anomalies as the number of states passes 32
-12345678901234567890123456789 - a12345678901234567890123456789b 12345678901234567890123456789
-123456789012345678901234567890 - a123456789012345678901234567890b 123456789012345678901234567890
-1234567890123456789012345678901 - a1234567890123456789012345678901b 1234567890123456789012345678901
-12345678901234567890123456789012 - a12345678901234567890123456789012b 12345678901234567890123456789012
-123456789012345678901234567890123 - a123456789012345678901234567890123b 123456789012345678901234567890123
-# and one really big one, beyond any plausible word width
-1234567890123456789012345678901234567890123456789012345678901234567890 - a1234567890123456789012345678901234567890123456789012345678901234567890b 1234567890123456789012345678901234567890123456789012345678901234567890
-# fish for problems as brackets go past 8
-[ab][cd][ef][gh][ij][kl][mn] - xacegikmoq acegikm
-[ab][cd][ef][gh][ij][kl][mn][op] - xacegikmoq acegikmo
-[ab][cd][ef][gh][ij][kl][mn][op][qr] - xacegikmoqy acegikmoq
-[ab][cd][ef][gh][ij][kl][mn][op][q] - xacegikmoqy acegikmoq
-
-# subtleties of matching
-abc & xabcy abc
-a\(b\)?c\1d b acd
-aBc i Abc Abc
-a[Bc]*d i abBCcd abBCcd
-0[[:upper:]]1 &i 0a1 0a1
-0[[:lower:]]1 &i 0A1 0A1
-a[^b]c &i abc
-a[^b]c &i aBc
-a[^b]c &i adc adc
-[a]b[c] - abc abc
-[a]b[a] - aba aba
-[abc]b[abc] - abc abc
-[abc]b[abd] - abd abd
-a(b?c)+d - accd accd
-(wee|week)(knights|night) - weeknights weeknights
-(we|wee|week|frob)(knights|night|day) - weeknights weeknights
-a[bc]d - xyzaaabcaababdacd abd
-a[ab]c - aaabc abc
-abc s abc abc
-() s abc @abc
-a* & b @b
-
-# Let's have some fun -- try to match a C comment.
-# first the obvious, which looks okay at first glance...
-/\*.*\*/ - /*x*/ /*x*/
-# but...
-/\*.*\*/ - /*x*/y/*z*/ /*x*/y/*z*/
-# okay, we must not match */ inside; try to do that...
-/\*([^*]|\*[^/])*\*/ - /*x*/ /*x*/
-/\*([^*]|\*[^/])*\*/ - /*x*/y/*z*/ /*x*/
-# but...
-/\*([^*]|\*[^/])*\*/ - /*x**/y/*z*/ /*x**/y/*z*/
-# and a still fancier version, which does it right (I think)...
-/\*([^*]|\*+[^*/])*\*+/ - /*x*/ /*x*/
-/\*([^*]|\*+[^*/])*\*+/ - /*x*/y/*z*/ /*x*/
-/\*([^*]|\*+[^*/])*\*+/ - /*x**/y/*z*/ /*x**/
-/\*([^*]|\*+[^*/])*\*+/ - /*x****/y/*z*/ /*x****/
-/\*([^*]|\*+[^*/])*\*+/ - /*x**x*/y/*z*/ /*x**x*/
-/\*([^*]|\*+[^*/])*\*+/ - /*x***x/y/*z*/ /*x***x/y/*z*/
-
-# subexpressions
-.* - abc abc -
-a(b)(c)d - abcd abcd b,c
-a(((b)))c - abc abc b,b,b
-a(b|(c))d - abd abd b,-
-a(b*|c|e)d - abbd abbd bb
-a(b*|c|e)d - acd acd c
-a(b*|c|e)d - ad ad @d
-a(b?)c - abc abc b
-a(b?)c - ac ac @c
-a(b+)c - abc abc b
-a(b+)c - abbbc abbbc bbb
-a(b*)c - ac ac @c
-(a|ab)(bc([de]+)f|cde) - abcdef abcdef a,bcdef,de
-# the regression tester only asks for 9 subexpressions
-a(b)(c)(d)(e)(f)(g)(h)(i)(j)k - abcdefghijk abcdefghijk b,c,d,e,f,g,h,i,j
-a(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)l - abcdefghijkl abcdefghijkl b,c,d,e,f,g,h,i,j,k
-a([bc]?)c - abc abc b
-a([bc]?)c - ac ac @c
-a([bc]+)c - abc abc b
-a([bc]+)c - abcc abcc bc
-a([bc]+)bc - abcbc abcbc bc
-a(bb+|b)b - abb abb b
-a(bbb+|bb+|b)b - abb abb b
-a(bbb+|bb+|b)b - abbb abbb bb
-a(bbb+|bb+|b)bb - abbb abbb b
-(.*).* - abcdef abcdef abcdef
-(a*)* - bc @b @b
-
-# do we get the right subexpression when it is used more than once?
-a(b|c)*d - ad ad -
-a(b|c)*d - abcd abcd c
-a(b|c)+d - abd abd b
-a(b|c)+d - abcd abcd c
-a(b|c?)+d - ad ad @d
-a(b|c?)+d - abcd abcd c
-a(b|c){0,0}d - ad ad -
-a(b|c){0,1}d - ad ad -
-a(b|c){0,1}d - abd abd b
-a(b|c){0,2}d - ad ad -
-a(b|c){0,2}d - abcd abcd c
-a(b|c){0,}d - ad ad -
-a(b|c){0,}d - abcd abcd c
-a(b|c){1,1}d - abd abd b
-a(b|c){1,1}d - acd acd c
-a(b|c){1,2}d - abd abd b
-a(b|c){1,2}d - abcd abcd c
-a(b|c){1,}d - abd abd b
-a(b|c){1,}d - abcd abcd c
-a(b|c){2,2}d - acbd acbd b
-a(b|c){2,2}d - abcd abcd c
-a(b|c){2,4}d - abcd abcd c
-a(b|c){2,4}d - abcbd abcbd b
-a(b|c){2,4}d - abcbcd abcbcd c
-a(b|c){2,}d - abcd abcd c
-a(b|c){2,}d - abcbd abcbd b
-a(b+|((c)*))+d - abd abd b,-,-
-a(b+|((c)*))+d - abcd abcd c,c,c
-
-# check out the STARTEND option
-[abc] &# a(b)c b
-[abc] &# a(d)c
-[abc] &# a(bc)d b
-[abc] &# a(dc)d c
-. &# a()c
-b.*c &# b(bc)c bc
-b.* &# b(bc)c bc
-.*c &# b(bc)c bc
-
-# plain strings, with the NOSPEC flag
-abc m abc abc
-abc m xabcy abc
-abc m xyz
-a*b m aba*b a*b
-a*b m ab
-"" mC EMPTY
-
-# cases involving NULs
-aZb & a a
-aZb &p a
-aZb &p# (aZb) aZb
-aZ*b &p# (ab) ab
-a.b &# (aZb) aZb
-a.* &# (aZb)c aZb
-
-# word boundaries (ick)
-[[:<:]]a & a a
-[[:<:]]a & ba
-[[:<:]]a & -a a
-a[[:>:]] & a a
-a[[:>:]] & ab
-a[[:>:]] & a- a
-[[:<:]]a.c[[:>:]] & axcd-dayc-dazce-abc abc
-[[:<:]]a.c[[:>:]] & axcd-dayc-dazce-abc-q abc
-[[:<:]]a.c[[:>:]] & axc-dayc-dazce-abc axc
-[[:<:]]b.c[[:>:]] & a_bxc-byc_d-bzc-q bzc
-[[:<:]].x..[[:>:]] & y_xa_-_xb_y-_xc_-axdc _xc_
-[[:<:]]a_b[[:>:]] & x_a_b
-
-# past problems, and suspected problems
-(A[1])|(A[2])|(A[3])|(A[4])|(A[5])|(A[6])|(A[7])|(A[8])|(A[9])|(A[A]) - A1 A1
-abcdefghijklmnop i abcdefghijklmnop abcdefghijklmnop
-abcdefghijklmnopqrstuv i abcdefghijklmnopqrstuv abcdefghijklmnopqrstuv
-(ALAK)|(ALT[AB])|(CC[123]1)|(CM[123]1)|(GAMC)|(LC[23][EO ])|(SEM[1234])|(SL[ES][12])|(SLWW)|(SLF )|(SLDT)|(VWH[12])|(WH[34][EW])|(WP1[ESN]) - CC11 CC11
-CC[13]1|a{21}[23][EO][123][Es][12]a{15}aa[34][EW]aaaaaaa[X]a - CC11 CC11
-Char \([a-z0-9_]*\)\[.* b Char xyz[k Char xyz[k xyz
-a?b - ab ab
--\{0,1\}[0-9]*$ b -5 -5
-a*a*a*a*a*a*a* & aaaaaa aaaaaa
-(\b){0} - x @x -
-\(\b\)\{0,0\} b abc @abc -
-a(\b){0}c - ac ac -
-a(.*)b(\1){0}c - abc abc @bc,-
-a(.*)b(\1){0}c - axbc axbc x,-
-
-a\(\(b*\)\)c\1d b abbcbbd abbcbbd bb,bb
-a\(\([bc]\)\)\2d b abcdabbd abbd b,b
-a\(\(\(\([bc]\)\)\3\)\)*d b abbccd abbccd cc,cc,c,c
-a(b)(c)d - abcd abcd b,c
-a(((b)))c - abc abc b,b,b
-a(((b|(((c))))))d - abd abd b,b,b,-,-,-
-a(((b*|c|e)))d - abbd abbd bb,bb,bb
-a((b|c)){0,0}d - ad ad -,-
-a((b|c)){0,1}d - abd abd b,b
-a((b|c)){0,2}d - abcd abcd c,c
-a((b+|((c)*)))+d - abd abd b,b,-,-
-a((b+|((c)*)))+d - abcd abcd c,c,c,c
-(((\b))){0} - x @x -,-,-
-a(((.*)))b((\2)){0}c - abc abc @bc,@bc,@bc,-,-
-a(((.*)))b((\1)){0}c - axbc axbc x,x,x,-,-
-
-\b & SaT @aT
-\b & aT @aT
-a.*\b & abT ab
-\b & STSS
-\B & abc @bc
-\B & aSbTc
-\B & SaT @SaT
-\B & aSTSb @TSb
-
-o$($|.) - oN
-o$($|.) - op
-o$($|.) - o o
diff --git a/sources/host-tools/sed-4.2.1/testsuite/allsub.good b/sources/host-tools/sed-4.2.1/testsuite/allsub.good
deleted file mode 100644
index 234e159..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/allsub.good
+++ /dev/null
@@ -1 +0,0 @@
-bar bar fo oo f oo bar bar bar bar bar bar bar bar bar bar bar bar bar
diff --git a/sources/host-tools/sed-4.2.1/testsuite/allsub.inp b/sources/host-tools/sed-4.2.1/testsuite/allsub.inp
deleted file mode 100644
index f75655f..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/allsub.inp
+++ /dev/null
@@ -1 +0,0 @@
-foo foo fo oo f oo foo foo foo foo foo foo foo foo foo foo foo foo foo
diff --git a/sources/host-tools/sed-4.2.1/testsuite/allsub.sed b/sources/host-tools/sed-4.2.1/testsuite/allsub.sed
deleted file mode 100644
index 8aa29c1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/allsub.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/foo/bar/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/appquit.good b/sources/host-tools/sed-4.2.1/testsuite/appquit.good
deleted file mode 100644
index 0742c8e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/appquit.good
+++ /dev/null
@@ -1,2 +0,0 @@
-doh
-ok
diff --git a/sources/host-tools/sed-4.2.1/testsuite/appquit.inp b/sources/host-tools/sed-4.2.1/testsuite/appquit.inp
deleted file mode 100644
index a2300c9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/appquit.inp
+++ /dev/null
@@ -1 +0,0 @@
-doh
diff --git a/sources/host-tools/sed-4.2.1/testsuite/appquit.sed b/sources/host-tools/sed-4.2.1/testsuite/appquit.sed
deleted file mode 100644
index fc11774..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/appquit.sed
+++ /dev/null
@@ -1,4 +0,0 @@
-# Test appending quit
-a\
-ok
-q
diff --git a/sources/host-tools/sed-4.2.1/testsuite/badenc.good b/sources/host-tools/sed-4.2.1/testsuite/badenc.good
deleted file mode 100644
index bf6b206..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/badenc.good
+++ /dev/null
@@ -1,9 +0,0 @@
-abc
-deÐf
-ghi
-jkl
-mno
-pqr
-stu
-vwx
-yz
diff --git a/sources/host-tools/sed-4.2.1/testsuite/badenc.inp b/sources/host-tools/sed-4.2.1/testsuite/badenc.inp
deleted file mode 100644
index bf6b206..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/badenc.inp
+++ /dev/null
@@ -1,9 +0,0 @@
-abc
-deÐf
-ghi
-jkl
-mno
-pqr
-stu
-vwx
-yz
diff --git a/sources/host-tools/sed-4.2.1/testsuite/badenc.sed b/sources/host-tools/sed-4.2.1/testsuite/badenc.sed
deleted file mode 100644
index dc80982..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/badenc.sed
+++ /dev/null
@@ -1 +0,0 @@
-/.*/ { H ; g ; s/\n// ; p ; z ; x }
diff --git a/sources/host-tools/sed-4.2.1/testsuite/binary.good b/sources/host-tools/sed-4.2.1/testsuite/binary.good
deleted file mode 100644
index 788024d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/binary.good
+++ /dev/null
@@ -1,8 +0,0 @@
-192
-168
-1
-0
-192
-168
-1
-255
diff --git a/sources/host-tools/sed-4.2.1/testsuite/binary.inp b/sources/host-tools/sed-4.2.1/testsuite/binary.inp
deleted file mode 100644
index 06bf77c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/binary.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-192.168.1.2 br b8<r b16<r b24< R|R|R| D
-255.255.255.0 br b8<r b16<r b24< R|R|R| D~r
-& DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-| DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
diff --git a/sources/host-tools/sed-4.2.1/testsuite/binary.sed b/sources/host-tools/sed-4.2.1/testsuite/binary.sed
deleted file mode 100644
index 92a6a06..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/binary.sed
+++ /dev/null
@@ -1,189 +0,0 @@
-# A kind of clone of dc geared towards binary operations.
-# by Paolo Bonzini
-#
-# commands available:
-# conversion commands
-# b convert decimal to binary
-# d convert binary to decimal
-#
-# arithmetic commands
-# < shift left binary by decimal number of bits (11 3< gives 11000)
-# > shift right binary by decimal number of bits (1011 2> gives 10)
-# & binary AND (between two binary operands)
-# | binary OR (between two binary operands)
-# ^ binary XOR (between two binary operands)
-# ~ binary NOT (between one binary operand)
-#
-# stack manipulation commands
-# c clear stack
-# P pop stack top
-# D duplicate stack top
-# x exchange top two elements
-# r rotate stack counter-clockwise (second element becomes first)
-# R rotate stack clockwise (last element becomes first)
-#
-# other commands
-# l print stack (stack top is first)
-# p print stack top
-# q quit, print stack top if any (cq is quiet quit)
-#
-# The only shortcoming is that you'd better not attempt conversions of
-# values above 1000 or so.
-#
-# This version does everything in pattern space (a la dc.sed).
-# --------------------------------------------------------------------------
-# This was actually used in a one-disk distribution of Linux to compute
-# netmasks as follows (1 parameter => compute netmask e.g. 24 becomes
-# 255.255.255.0; 2 parameters => given host address and netmask compute
-# network and broadcast addresses):
-#
-# if [ $# = 1 ]; then
-# OUTPUT='$1.$2.$3.$4'
-# set 255.255.255.255 $1
-# else
-# OUTPUT='$1.$2.$3.$4 $5.$6.$7.$8'
-# fi
-#
-# if [ `expr $2 : ".*\\."` -gt 0 ]; then
-# MASK="$2 br b8<r b16<r b24< R|R|R|"
-# else
-# MASK="$2b 31b ^d D
-# 11111111111111111111111111111111 x>1> x<1<"
-# fi
-#
-# set `echo "$1 br b8<r b16<r b24< R|R|R| D # Load address
-# $MASK D ~r # Load mask
-#
-# & DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# | DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# " | sed -f binary.sed`
-#
-# eval echo $OUTPUT
-# --------------------------------------------------------------------------
-
-
-1s/^/%%/
-
-:cmd
-s/\(.*%%\) *\([0-9][0-9]*\)/\2\
-\1/
-tcmd
-s/%% *#.*/%%/
-/%%$/ {
- $b quit
- N
-}
-
-/^.*%%D/ s/^[^\n]*\n/&&/
-/^.*%%P/ s/^[^\n]*\n//
-/^.*%%x/ s/^\([^\n]*\n\)\([^\n]*\n\)/\2\1/
-/^.*%%r/ s/^\([^\n]*\n\)\([^%]*\)/\2\1/
-/^.*%%R/ s/^\([^%]*\n\)\([^\n]*\n\)/\2\1/
-/^.*%%c/ s/^.*%%/%%/
-/^.*%%p/ P
-
-/^.*%%l/ {
- h
- s/.%%.*//
- p
- g
-}
-
-/^.*%%q/ {
- :quit
- /^%%/!P
- d
-}
-
-/^.*%%b/ {
- # Decimal to binary via analog form
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :d2bloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t d2bloop1
- s/-;9876543210aaaaaaaaa/;a01!/
- :d2bloop2
- s/\(a*\)\1\(a\{0,1\}\)\(;\2.\(.\)[^!]*!\)/\1\3\4/
- /^a/b d2bloop2
- s/[^!]*!//
-}
-
-/^.*%%d/ {
- # Binary to decimal via analog form
- s/^\([^\n]*\)/-&;10a/
- :b2dloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\(a*\)\)/\1\1\4-\3/
- t b2dloop1
- s/-;10a/;aaaaaaaaa0123456789!/
- :b2dloop2
- s/\(a*\)\1\1\1\1\1\1\1\1\1\(a\{0,9\}\)\(;\2.\{9\}\(.\)[^!]*!\)/\1\3\4/
- /^a/b b2dloop2
- s/[^!]*!//
-}
-
-/^.*%%&/ {
- # Binary AND
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-111 01000/
- :andloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t andloop
- s/^0*\([^-]*\)-[^\n]*/\1/
- s/^\n/0&/
-}
-
-/^.*%%^/ {
- # Binary XOR
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 01101/
- b orloop
-}
-
-/^.*%%|/ {
- # Binary OR
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 10111/
- :orloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t orloop
- s/\([^-]*\)-\([^-]*\)-\([^-]*\)-[^\n]*/\2\3\1/
-}
-
-/^.*%%~/ {
- # Binary NOT
- s/^\(.\)\([^\n]*\n\)/\1-010-\2/
- :notloop
- s/\(.\)-0\{0,1\}\1\(.\)0\{0,1\}-\([01\n]\)/\2\3-010-/
- t notloop
-
- # If result is 00001..., \3 does not match (it looks for -10) and we just
- # remove the table and leading zeros. If result is 0000...0, \3 matches
- # (it looks for -0), \4 is a zero and we leave a lone zero as top of the
- # stack.
-
- s/0*\(1\{0,1\}\)\([^-]*\)-\(\1\(0\)\)\{0,1\}[^-]*-/\4\1\2/
-}
-
-/^.*%%</ {
- # Left shift, convert to analog and add a binary digit for each analog digit
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :lshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t lshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- s/a/0/g
-}
-
-/^.*%%>/ {
- # Right shift, convert to analog and remove a binary digit for each analog digit
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :rshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t rshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- :rshloop2
- s/.a//
- s/^aa*/0/
- /a\n/b rshloop2
-}
-
-
-s/%%./%%/
-tcmd
diff --git a/sources/host-tools/sed-4.2.1/testsuite/binary2.sed b/sources/host-tools/sed-4.2.1/testsuite/binary2.sed
deleted file mode 100644
index daf7706..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/binary2.sed
+++ /dev/null
@@ -1,226 +0,0 @@
-# A kind of clone of dc geared towards binary operations.
-# by Paolo Bonzini
-#
-# commands available:
-# conversion commands
-# b convert decimal to binary
-# d convert binary to decimal
-#
-# arithmetic commands
-# < shift left binary by decimal number of bits (11 3< gives 11000)
-# > shift right binary by decimal number of bits (1011 2> gives 10)
-# & binary AND (between two binary operands)
-# | binary OR (between two binary operands)
-# ^ binary XOR (between two binary operands)
-# ~ binary NOT (between one binary operand)
-#
-# stack manipulation commands
-# c clear stack
-# P pop stack top
-# D duplicate stack top
-# x exchange top two elements
-# r rotate stack counter-clockwise (second element becomes first)
-# R rotate stack clockwise (last element becomes first)
-#
-# other commands
-# l print stack (stack top is first)
-# p print stack top
-# q quit, print stack top if any (cq is quiet quit)
-#
-# The only shortcoming is that you'd better not attempt conversions of
-# values above 1000 or so.
-#
-# This version keeps the stack in hold space and the command in pattern
-# space; it is the fastest one (though the gap with binary3.sed is small).
-# --------------------------------------------------------------------------
-# This was actually used in a one-disk distribution of Linux to compute
-# netmasks as follows (1 parameter => compute netmask e.g. 24 becomes
-# 255.255.255.0; 2 parameters => given host address and netmask compute
-# network and broadcast addresses):
-#
-# if [ $# = 1 ]; then
-# OUTPUT='$1.$2.$3.$4'
-# set 255.255.255.255 $1
-# else
-# OUTPUT='$1.$2.$3.$4 $5.$6.$7.$8'
-# fi
-#
-# if [ `expr $2 : ".*\\."` -gt 0 ]; then
-# MASK="$2 br b8<r b16<r b24< R|R|R|"
-# else
-# MASK="$2b 31b ^d D
-# 11111111111111111111111111111111 x>1> x<1<"
-# fi
-#
-# set `echo "$1 br b8<r b16<r b24< R|R|R| D # Load address
-# $MASK D ~r # Load mask
-#
-# & DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# | DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# " | sed -f binary.sed`
-#
-# eval echo $OUTPUT
-# --------------------------------------------------------------------------
-
-:cmd
-s/^[\n\t ]*//
-s/^#.*//
-/^$/ {
- $b quit
- N
- t cmd
-}
-/^[0-9][0-9]*/ {
- G
- h
- s/^[0-9][0-9]* *\([^\n]*\).*/\1/
- x
- s/^\([0-9][0-9]*\)[^\n]*/\1/
- x
- t cmd
-}
-
-/^[^DPxrRcplqbd&|^~<>]/b bad
-
-/^D/ {
- x
- s/^[^\n]*\n/&&/
-}
-/^P/ {
- x
- s/^[^\n]*\n//
-}
-/^x/ {
- x
- s/^\([^\n]*\n\)\([^\n]*\n\)/\2\1/
-}
-/^r/ {
- x
- s/^\([^\n]*\n\)\(.*\)/\2\1/
-}
-/^R/ {
- x
- s/^\(.*\n\)\([^\n]*\n\)/\2\1/
-}
-/^c/ {
- x
- s/.*//
-}
-/^p/ {
- x
- P
-}
-
-/^l/ {
- x
- p
-}
-
-/^q/ {
- :quit
- x
- /./P
- d
-}
-
-/^b/ {
- # Decimal to binary via analog form
- x
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :d2bloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t d2bloop1
- s/-;9876543210aaaaaaaaa/;a01!/
- :d2bloop2
- s/\(a*\)\1\(a\{0,1\}\)\(;\2.\(.\)[^!]*!\)/\1\3\4/
- /^a/b d2bloop2
- s/[^!]*!//
-}
-
-/^d/ {
- # Binary to decimal via analog form
- x
- s/^\([^\n]*\)/-&;10a/
- :b2dloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\(a*\)\)/\1\1\4-\3/
- t b2dloop1
- s/-;10a/;aaaaaaaaa0123456789!/
- :b2dloop2
- s/\(a*\)\1\1\1\1\1\1\1\1\1\(a\{0,9\}\)\(;\2.\{9\}\(.\)[^!]*!\)/\1\3\4/
- /^a/b b2dloop2
- s/[^!]*!//
-}
-
-/^&/ {
- # Binary AND
- x
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-111 01000/
- :andloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t andloop
- s/^0*\([^-]*\)-[^\n]*/\1/
- s/^\n/0&/
-}
-
-/^\^/ {
- # Binary XOR
- x
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 01101/
- b orloop
-}
-
-/^|/ {
- # Binary OR
- x
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 10111/
- :orloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t orloop
- s/\([^-]*\)-\([^-]*\)-\([^-]*\)-[^\n]*/\2\3\1/
-}
-
-/^~/ {
- # Binary NOT
- x
- s/^\(.\)\([^\n]*\n\)/\1-010-\2/
- :notloop
- s/\(.\)-0\{0,1\}\1\(.\)0\{0,1\}-\([01\n]\)/\2\3-010-/
- t notloop
-
- # If result is 00001..., \3 does not match (it looks for -10) and we just
- # remove the table and leading zeros. If result is 0000...0, \3 matches
- # (it looks for -0), \4 is a zero and we leave a lone zero as top of the
- # stack.
-
- s/0*\(1\{0,1\}\)\([^-]*\)-\(\1\(0\)\)\{0,1\}[^-]*-/\4\1\2/
-}
-
-/^</ {
- # Left shift, convert to analog and add a binary digit for each analog digit
- x
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :lshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t lshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- s/a/0/g
-}
-
-/^>/ {
- # Right shift, convert to analog and remove a binary digit for each analog digit
- x
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :rshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t rshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- :rshloop2
- s/.a//
- s/^aa*/0/
- /a\n/b rshloop2
-}
-
-x
-:bad
-s/^.//
-tcmd
diff --git a/sources/host-tools/sed-4.2.1/testsuite/binary3.sed b/sources/host-tools/sed-4.2.1/testsuite/binary3.sed
deleted file mode 100644
index b877f14..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/binary3.sed
+++ /dev/null
@@ -1,204 +0,0 @@
-# A kind of clone of dc geared towards binary operations.
-# by Paolo Bonzini
-#
-# commands available:
-# conversion commands
-# b convert decimal to binary
-# d convert binary to decimal
-#
-# arithmetic commands
-# < shift left binary by decimal number of bits (11 3< gives 11000)
-# > shift right binary by decimal number of bits (1011 2> gives 10)
-# & binary AND (between two binary operands)
-# | binary OR (between two binary operands)
-# ^ binary XOR (between two binary operands)
-# ~ binary NOT (between one binary operand)
-#
-# stack manipulation commands
-# c clear stack
-# P pop stack top
-# D duplicate stack top
-# x exchange top two elements
-# r rotate stack counter-clockwise (second element becomes first)
-# R rotate stack clockwise (last element becomes first)
-#
-# other commands
-# l print stack (stack top is first)
-# p print stack top
-# q quit, print stack top if any (cq is quiet quit)
-#
-# The only shortcoming is that you'd better not attempt conversions of
-# values above 1000 or so.
-#
-# This version keeps the stack and the current command in hold space and
-# the commands in pattern space; it is just a bit slower than binary2.sed
-# but more size optimized for broken seds which have a 199-command limit
-# (though binary2.sed does not have this much).
-#
-# --------------------------------------------------------------------------
-# This was actually used in a one-disk distribution of Linux to compute
-# netmasks as follows (1 parameter => compute netmask e.g. 24 becomes
-# 255.255.255.0; 2 parameters => given host address and netmask compute
-# network and broadcast addresses):
-#
-# if [ $# = 1 ]; then
-# OUTPUT='$1.$2.$3.$4'
-# set 255.255.255.255 $1
-# else
-# OUTPUT='$1.$2.$3.$4 $5.$6.$7.$8'
-# fi
-#
-# if [ `expr $2 : ".*\\."` -gt 0 ]; then
-# MASK="$2 br b8<r b16<r b24< R|R|R|"
-# else
-# MASK="$2b 31b ^d D
-# 11111111111111111111111111111111 x>1> x<1<"
-# fi
-#
-# set `echo "$1 br b8<r b16<r b24< R|R|R| D # Load address
-# $MASK D ~r # Load mask
-#
-# & DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# | DDD 24>dpP 16>11111111& dpP 8>11111111& dpP 11111111& dpP
-# " | sed -f binary.sed`
-#
-# eval echo $OUTPUT
-# --------------------------------------------------------------------------
-
-:cmd
-s/^[\n\t ]*//
-s/^#.*//
-/^$/ {
- $b quit
- N
- t cmd
-}
-/^[0-9][0-9]*/ {
- G
- h
- s/^[0-9][0-9]* *\([^\n]*\).*/\1/
- x
- s/^\([0-9][0-9]*\)[^\n]*/\1/
- x
- t cmd
-}
-
-/^[^DPxrRcplqbd&|^~<>]/bbad
-
-H
-x
-s/\(\n[^\n]\)[^\n]*$/\1/
-
-/D$/ s/^[^\n]*\n/&&/
-/P$/ s/^[^\n]*\n//
-/x$/ s/^\([^\n]*\n\)\([^\n]*\n\)/\2\1/
-/r$/ s/^\([^\n]*\n\)\(.*\)\(..\)/\2\1\3/
-/R$/ s/^\(.*\n\)\([^\n]*\n\)\(..\)/\2\1\3/
-/c$/ s/.*//
-/p$/ P
-/l$/ {
- s/...$//
- p
- t cmd
-}
-
-/q$/ {
- :quit
- /.../P
- d
-}
-
-/b$/ {
- # Decimal to binary via analog form
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :d2bloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t d2bloop1
- s/-;9876543210aaaaaaaaa/;a01!/
- :d2bloop2
- s/\(a*\)\1\(a\{0,1\}\)\(;\2.\(.\)[^!]*!\)/\1\3\4/
- /^a/b d2bloop2
- s/[^!]*!//
-}
-
-/d$/ {
- # Binary to decimal via analog form
- s/^\([^\n]*\)/-&;10a/
- :b2dloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\(a*\)\)/\1\1\4-\3/
- t b2dloop1
- s/-;10a/;aaaaaaaaa0123456789!/
- :b2dloop2
- s/\(a*\)\1\1\1\1\1\1\1\1\1\(a\{0,9\}\)\(;\2.\{9\}\(.\)[^!]*!\)/\1\3\4/
- /^a/b b2dloop2
- s/[^!]*!//
-}
-
-/&$/ {
- # Binary AND
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-111 01000/
- :andloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t andloop
- s/^0*\([^-]*\)-[^\n]*/\1/
- s/^\n/0&/
-}
-
-/\^$/ {
- # Binary XOR
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 01101/
- b orloop
-}
-
-/|$/ {
- # Binary OR
- s/\([^\n]*\)\n\([^\n]*\)/-\1-\2-000 10111/
- :orloop
- s/\([^-]*\)-\([^-]*\)\([^-]\)-\([^-]*\)\([^-]\)-\([01 ]*\3\5\([01]\)\)/\7\1-\2-\4-\6/
- t orloop
- s/\([^-]*\)-\([^-]*\)-\([^-]*\)-[^\n]*/\2\3\1/
-}
-
-/~$/ {
- # Binary NOT
- s/^\(.\)\([^\n]*\n\)/\1-010-\2/
- :notloop
- s/\(.\)-0\{0,1\}\1\(.\)0\{0,1\}-\([01\n]\)/\2\3-010-/
- t notloop
-
- # If result is 00001..., \3 does not match (it looks for -10) and we just
- # remove the table and leading zeros. If result is 0000...0, \3 matches
- # (it looks for -0), \4 is a zero and we leave a lone zero as top of the
- # stack.
-
- s/0*\(1\{0,1\}\)\([^-]*\)-\(\1\(0\)\)\{0,1\}[^-]*-/\4\1\2/
-}
-
-/<$/ {
- # Left shift, convert to analog and add a binary digit for each analog digit
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :lshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t lshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- s/a/0/g
-}
-
-/>$/ {
- # Right shift, convert to analog and remove a binary digit for each analog digit
- s/^\([^\n]*\)/-&;9876543210aaaaaaaaa/
- :rshloop1
- s/\(a*\)-\(.\)\([^;]*;[0-9]*\2.\{9\}\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4-\3/
- t rshloop1
- s/^\(a*\)-;9876543210aaaaaaaaa\n\([^\n]*\)/\2\1/
- :rshloop2
- s/.a//
- s/^aa*/0/
- /a\n/b rshloop2
-}
-
-s/..$//
-x
-:bad
-s/^.//
-tcmd
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.good b/sources/host-tools/sed-4.2.1/testsuite/bkslashes.good
deleted file mode 100644
index 770d1e6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.good
+++ /dev/null
@@ -1,2 +0,0 @@
-a\
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.inp b/sources/host-tools/sed-4.2.1/testsuite/bkslashes.inp
deleted file mode 100644
index 7898192..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.inp
+++ /dev/null
@@ -1 +0,0 @@
-a
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.sed b/sources/host-tools/sed-4.2.1/testsuite/bkslashes.sed
deleted file mode 100644
index aa8c66c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bkslashes.sed
+++ /dev/null
@@ -1,3 +0,0 @@
-# bug in sed 4.0b
-s/$/\\\
-/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/brackets.good b/sources/host-tools/sed-4.2.1/testsuite/brackets.good
deleted file mode 100644
index 73f87e7..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/brackets.good
+++ /dev/null
@@ -1 +0,0 @@
-abcdefgh[
diff --git a/sources/host-tools/sed-4.2.1/testsuite/brackets.inp b/sources/host-tools/sed-4.2.1/testsuite/brackets.inp
deleted file mode 100644
index 3cc5802..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/brackets.inp
+++ /dev/null
@@ -1 +0,0 @@
-[[[[[[[[[
diff --git a/sources/host-tools/sed-4.2.1/testsuite/brackets.sed b/sources/host-tools/sed-4.2.1/testsuite/brackets.sed
deleted file mode 100644
index 3c70da8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/brackets.sed
+++ /dev/null
@@ -1,8 +0,0 @@
-s/[[]/a/
-s/[[[]/b/
-s/[[[[]/c/
-s/[[[[[]/d/
-s/[[[[[[]/e/
-s/[[[[[[[]/f/
-s/[[[[[[[[]/g/
-s/[[[[[[[[[]/h/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bsd.good b/sources/host-tools/sed-4.2.1/testsuite/bsd.good
deleted file mode 100644
index 5454daa..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bsd.good
+++ /dev/null
@@ -1,1755 +0,0 @@
-============
-Test 1.1:101
-============
-Testing argument parsing
-First type
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-
-============
-Test 1.2:102
-============
-e1_l1_1
-e1_l1_2
-e1_l1_3
-e1_l1_4
-e1_l1_5
-e1_l1_6
-e1_l1_7
-e1_l1_8
-e1_l1_9
-e1_l1_10
-e1_l1_11
-e1_l1_12
-e1_l1_13
-e1_l1_14
-
-============
-Test 1.3:103
-============
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-
-============
-Test 1.4:104
-============
-e1_l1_1
-e1_l1_2
-e1_l1_3
-e1_l1_4
-e1_l1_5
-e1_l1_6
-e1_l1_7
-e1_l1_8
-e1_l1_9
-e1_l1_10
-e1_l1_11
-e1_l1_12
-e1_l1_13
-e1_l1_14
-Second type
-
-==============
-Test 1.4.1:105
-==============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 1.5:106
-============
-s1_l1_1
-s1_l1_1
-s1_l1_2
-s1_l1_2
-s1_l1_3
-s1_l1_3
-s1_l1_4
-s1_l1_4
-s1_l1_5
-s1_l1_5
-s1_l1_6
-s1_l1_6
-s1_l1_7
-s1_l1_7
-s1_l1_8
-s1_l1_8
-s1_l1_9
-s1_l1_9
-s1_l1_10
-s1_l1_10
-s1_l1_11
-s1_l1_11
-s1_l1_12
-s1_l1_12
-s1_l1_13
-s1_l1_13
-s1_l1_14
-s1_l1_14
-
-============
-Test 1.6:107
-============
-s1_l1_1
-s1_l1_1
-s1_l1_2
-s1_l1_2
-s1_l1_3
-s1_l1_3
-s1_l1_4
-s1_l1_4
-s1_l1_5
-s1_l1_5
-s1_l1_6
-s1_l1_6
-s1_l1_7
-s1_l1_7
-s1_l1_8
-s1_l1_8
-s1_l1_9
-s1_l1_9
-s1_l1_10
-s1_l1_10
-s1_l1_11
-s1_l1_11
-s1_l1_12
-s1_l1_12
-s1_l1_13
-s1_l1_13
-s1_l1_14
-s1_l1_14
-
-============
-Test 1.7:108
-============
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-
-============
-Test 1.8:109
-============
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-
-============
-Test 1.9:110
-============
-s1_l1_1
-s1_l1_2
-s1_l1_3
-s1_l1_4
-s1_l1_5
-s1_l1_6
-s1_l1_7
-s1_l1_8
-s1_l1_9
-s1_l1_10
-s1_l1_11
-s1_l1_12
-s1_l1_13
-s1_l1_14
-
-=============
-Test 1.10:111
-=============
-s1_l1_1
-s1_l1_2
-s1_l1_3
-s1_l1_4
-s1_l1_5
-s1_l1_6
-s1_l1_7
-s1_l1_8
-s1_l1_9
-s1_l1_10
-s1_l1_11
-s1_l1_12
-s1_l1_13
-s1_l1_14
-
-=============
-Test 1.11:112
-=============
-e1_l1_1
-e1_l1_2
-e1_l1_3
-e1_l1_4
-e1_l1_5
-e1_l1_6
-e1_l1_7
-e1_l1_8
-e1_l1_9
-e1_l1_10
-e1_l1_11
-e1_l1_12
-e1_l1_13
-e1_l1_14
-
-=============
-Test 1.12:113
-=============
-e1_l1_1
-e1_l1_2
-e1_l1_3
-e1_l1_4
-e1_l1_5
-e1_l1_6
-e1_l1_7
-e1_l1_8
-e1_l1_9
-e1_l1_10
-e1_l1_11
-e1_l1_12
-e1_l1_13
-e1_l1_14
-
-=============
-Test 1.13:114
-=============
-e1_l1_1
-e2_e1_l1_1
-e2_e1_l1_1
-e1_l1_2
-e2_e1_l1_2
-e2_e1_l1_2
-e1_l1_3
-e2_e1_l1_3
-e2_e1_l1_3
-e1_l1_4
-e2_e1_l1_4
-e2_e1_l1_4
-e1_l1_5
-e2_e1_l1_5
-e2_e1_l1_5
-e1_l1_6
-e2_e1_l1_6
-e2_e1_l1_6
-e1_l1_7
-e2_e1_l1_7
-e2_e1_l1_7
-e1_l1_8
-e2_e1_l1_8
-e2_e1_l1_8
-e1_l1_9
-e2_e1_l1_9
-e2_e1_l1_9
-e1_l1_10
-e2_e1_l1_10
-e2_e1_l1_10
-e1_l1_11
-e2_e1_l1_11
-e2_e1_l1_11
-e1_l1_12
-e2_e1_l1_12
-e2_e1_l1_12
-e1_l1_13
-e2_e1_l1_13
-e2_e1_l1_13
-e1_l1_14
-e2_e1_l1_14
-e2_e1_l1_14
-
-=============
-Test 1.14:115
-=============
-s1_l1_1
-s2_s1_l1_1
-s2_s1_l1_1
-s1_l1_2
-s2_s1_l1_2
-s2_s1_l1_2
-s1_l1_3
-s2_s1_l1_3
-s2_s1_l1_3
-s1_l1_4
-s2_s1_l1_4
-s2_s1_l1_4
-s1_l1_5
-s2_s1_l1_5
-s2_s1_l1_5
-s1_l1_6
-s2_s1_l1_6
-s2_s1_l1_6
-s1_l1_7
-s2_s1_l1_7
-s2_s1_l1_7
-s1_l1_8
-s2_s1_l1_8
-s2_s1_l1_8
-s1_l1_9
-s2_s1_l1_9
-s2_s1_l1_9
-s1_l1_10
-s2_s1_l1_10
-s2_s1_l1_10
-s1_l1_11
-s2_s1_l1_11
-s2_s1_l1_11
-s1_l1_12
-s2_s1_l1_12
-s2_s1_l1_12
-s1_l1_13
-s2_s1_l1_13
-s2_s1_l1_13
-s1_l1_14
-s2_s1_l1_14
-s2_s1_l1_14
-
-=============
-Test 1.15:116
-=============
-e1_l1_1
-s1_e1_l1_1
-s1_e1_l1_1
-e1_l1_2
-s1_e1_l1_2
-s1_e1_l1_2
-e1_l1_3
-s1_e1_l1_3
-s1_e1_l1_3
-e1_l1_4
-s1_e1_l1_4
-s1_e1_l1_4
-e1_l1_5
-s1_e1_l1_5
-s1_e1_l1_5
-e1_l1_6
-s1_e1_l1_6
-s1_e1_l1_6
-e1_l1_7
-s1_e1_l1_7
-s1_e1_l1_7
-e1_l1_8
-s1_e1_l1_8
-s1_e1_l1_8
-e1_l1_9
-s1_e1_l1_9
-s1_e1_l1_9
-e1_l1_10
-s1_e1_l1_10
-s1_e1_l1_10
-e1_l1_11
-s1_e1_l1_11
-s1_e1_l1_11
-e1_l1_12
-s1_e1_l1_12
-s1_e1_l1_12
-e1_l1_13
-s1_e1_l1_13
-s1_e1_l1_13
-e1_l1_14
-s1_e1_l1_14
-s1_e1_l1_14
-
-=============
-Test 1.16:117
-=============
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-e1_l1_1
-e1_l1_1
-e1_l1_2
-e1_l1_2
-e1_l1_3
-e1_l1_3
-e1_l1_4
-e1_l1_4
-e1_l1_5
-e1_l1_5
-e1_l1_6
-e1_l1_6
-e1_l1_7
-e1_l1_7
-e1_l1_8
-e1_l1_8
-e1_l1_9
-e1_l1_9
-e1_l1_10
-e1_l1_10
-e1_l1_11
-e1_l1_11
-e1_l1_12
-e1_l1_12
-e1_l1_13
-e1_l1_13
-e1_l1_14
-e1_l1_14
-
-=============
-Test 1.17:118
-=============
-l1_1
-l1_1
-l1_2
-l1_2
-l1_3
-l1_3
-l1_4
-l1_4
-l1_5
-l1_5
-l1_6
-l1_6
-l1_7
-l1_7
-l1_8
-l1_8
-l1_9
-l1_9
-l1_10
-l1_10
-l1_11
-l1_11
-l1_12
-l1_12
-l1_13
-l1_13
-l1_14
-l1_14
-
-=============
-Test 1.18:119
-=============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-Testing address ranges
-
-============
-Test 2.1:120
-============
-l1_4
-
-============
-Test 2.2:121
-============
-l2_6
-
-============
-Test 2.3:122
-============
-l1_14
-
-============
-Test 2.4:123
-============
-l2_9
-
-============
-Test 2.5:124
-============
-
-============
-Test 2.6:125
-============
-l2_9
-
-============
-Test 2.7:126
-============
-
-============
-Test 2.9:127
-============
-l1_7
-
-=============
-Test 2.10:128
-=============
-l1_7
-
-=============
-Test 2.11:129
-=============
-l1_7
-
-=============
-Test 2.12:130
-=============
-l1_1
-l1_2
-l1_3
-l1_4
-
-=============
-Test 2.13:131
-=============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-
-=============
-Test 2.14:132
-=============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-
-=============
-Test 2.15:133
-=============
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-
-=============
-Test 2.16:134
-=============
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-
-=============
-Test 2.17:135
-=============
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_14
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-
-=============
-Test 2.18:136
-=============
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-
-=============
-Test 2.19:137
-=============
-l1_12
-
-=============
-Test 2.20:138
-=============
-l1_7
-Brace and other grouping
-
-============
-Test 3.1:139
-============
-l1_1
-l1_2
-l1_3
-^l1T4$
-^l1T5$
-^l1T6$
-^l1T7$
-^l1T8$
-^l1T9$
-^l1T10$
-^l1T11$
-^l1T12$
-l1_13
-l1_14
-
-============
-Test 3.2:140
-============
-l1_1
-l1_2
-l1_3
-^l1_4
-^l1_5
-^l1_6$
-^l1_7$
-^l1T8$
-^l1_9$
-^l1_10$
-^l1_11
-^l1_12
-l1_13
-l1_14
-
-============
-Test 3.3:141
-============
-^l1T1$
-^l1T2$
-^l1T3$
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-^l1T13$
-^l1T14$
-
-============
-Test 3.4:142
-============
-^l1_1
-^l1_2
-^l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-^l1_13
-^l1_14
-Testing a c d and i commands
-
-============
-Test 4.1:143
-============
-before_il1_1
-after_ibefore_il1_1
-before_il1_2
-after_ibefore_il1_2
-before_il1_3
-after_ibefore_il1_3
-before_il1_4
-after_ibefore_il1_4
-before_il1_5
-after_ibefore_il1_5
-before_il1_6
-after_ibefore_il1_6
-before_il1_7
-after_ibefore_il1_7
-before_il1_8
-after_ibefore_il1_8
-before_il1_9
-after_ibefore_il1_9
-before_il1_10
-after_ibefore_il1_10
-before_il1_11
-after_ibefore_il1_11
-before_il1_12
-after_ibefore_il1_12
-before_il1_13
-after_ibefore_il1_13
-before_il1_14
-after_ibefore_il1_14
-before_il2_1
-after_ibefore_il2_1
-before_il2_2
-after_ibefore_il2_2
-before_il2_3
-after_ibefore_il2_3
-before_il2_4
-after_ibefore_il2_4
-before_il2_5
-after_ibefore_il2_5
-before_il2_6
-inserted
-after_ibefore_il2_6
-before_il2_7
-after_ibefore_il2_7
-before_il2_8
-after_ibefore_il2_8
-before_il2_9
-after_ibefore_il2_9
-
-============
-Test 4.2:144
-============
-before_al1_1
-after_abefore_al1_1
-before_al1_2
-after_abefore_al1_2
-before_al1_3
-after_abefore_al1_3
-before_al1_4
-after_abefore_al1_4
-before_a5-12l1_5
-after_abefore_a5-12l1_5
-appended
-before_a5-12l1_6
-after_abefore_a5-12l1_6
-appended
-before_a5-12l1_7
-after_abefore_a5-12l1_7
-appended
-before_a5-12l1_8
-after_abefore_a5-12l1_8
-appended
-before_a5-12l1_9
-after_abefore_a5-12l1_9
-appended
-before_a5-12l1_10
-after_abefore_a5-12l1_10
-appended
-before_a5-12l1_11
-after_abefore_a5-12l1_11
-appended
-before_a5-12l1_12
-after_abefore_a5-12l1_12
-appended
-before_al1_13
-after_abefore_al1_13
-before_al1_14
-after_abefore_al1_14
-before_al2_1
-after_abefore_al2_1
-before_al2_2
-after_abefore_al2_2
-before_al2_3
-after_abefore_al2_3
-before_al2_4
-after_abefore_al2_4
-before_al2_5
-after_abefore_al2_5
-before_al2_6
-after_abefore_al2_6
-before_al2_7
-after_abefore_al2_7
-before_al2_8
-after_abefore_al2_8
-before_al2_9
-after_abefore_al2_9
-
-============
-Test 4.3:145
-============
-^l1_1
-^l1_1$
-appended
-^l1_2
-^l1_2$
-appended
-^l1_3
-^l1_3$
-appended
-^l1_4
-^l1_4$
-appended
-^l1_5
-^l1_5$
-appended
-^l1_6
-^l1_6$
-appended
-^l1_7
-^l1_7$
-appended
-^l1_8
-appended
-^l1_8
-l1_9$
-^l1_10
-appended
-^l1_10
-l1_11$
-^l1_12
-^l1_12$
-appended
-^l1_13
-^l1_13$
-appended
-^l1_14
-^l1_14$
-appended
-^l2_1
-^l2_1$
-^l2_2
-^l2_2$
-^l2_3
-^l2_3$
-^l2_4
-^l2_4$
-^l2_5
-^l2_5$
-^l2_6
-^l2_6$
-^l2_7
-^l2_7$
-^l2_8
-^l2_8$
-^l2_9
-^l2_9$
-
-============
-Test 4.4:146
-============
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-hello
-
-============
-Test 4.5:147
-============
-hello
-
-============
-Test 4.6:148
-============
-hello
-
-============
-Test 4.7:149
-============
-hello
-
-============
-Test 4.8:150
-============
-Testing labels and branching
-
-============
-Test 5.1:151
-============
-label2_l1_1
-label3_label2_l1_1
-label1_l1_2
-label1_l1_3
-label1_l1_4
-label1_l1_5
-label1_l1_6
-label1_l1_7
-label1_l1_8
-label1_l1_9
-label1_l1_10
-label1_l1_11
-label1_l1_12
-label2_l1_13
-label3_label2_l1_13
-label2_l1_14
-label3_label2_l1_14
-
-============
-Test 5.2:152
-============
-tested l2_1
-tested l2_2
-tested l2_3
-tested l2_4
-tested l2_5
-tested l2_6
-tested l2_7
-tested l2_8
-tested l2_9
-tested l2_10
-tested l2_11
-tested l2_12
-tested l2_13
-tested l2_14
-
-============
-Test 5.3:153
-============
-^l1_1
-^l1_1$
-^l1_2
-^l1_2$
-^l1_3
-^l1_3$
-^l1_4
-^l1_4$
-l1_5$
-l1_6$
-l1_7$
-l1_8$
-
-============
-Test 5.4:154
-============
-^l1_1$
-^l1_2$
-^l1_3$
-^l1_4$
-^l1_5$
-^l1_6$
-^l1_7$
-^l1_8$
-l1_9$
-l1_10$
-l1_11$
-l1_12$
-l1_13$
-l1_14$
-
-============
-Test 5.5:155
-============
-^l1_1
-^l1_2
-^l1_4
-^l1_6
-^l1_8
-
-============
-Test 5.6:156
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-
-============
-Test 5.7:157
-============
-l1_1
-l1_2
-l1_3
-l1_4
-hello
-l1_5
-
-============
-Test 5.8:158
-============
-m1_1
-m1_2
-m1_3
-m1_4
-m1_5
-m1_6
-m1_7
-m1_8
-m1_9
-m1_10
-m1_11
-m1_12
-m1_13
-m1_14
-Pattern space commands
-
-============
-Test 6.1:159
-============
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-changed
-
-============
-Test 6.2:160
-============
-l1_1
-l1_2
-l1_3
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 6.3:161
-============
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 6.4:162
-============
-l1_1
-l1_2
-l1_3
-l1_2
-l1_3
-l1_5
-l1_2
-l1_3
-l1_2
-l1_3
-l1_6
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 6.5:163
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 6.6:164
-============
-Testing print and file routines
-
-============
-Test 7.1:165
-============
-\001\002\003\004\005\006\a\b\t$
-\v\f\r\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\
-\035\036\037 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX\
-YZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\
-\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\
-\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\
-\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\
-\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\
-\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\
-\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\
-\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\
-\375\376\377$
-$
-
-============
-Test 7.2:166
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-15
-l2_1
-16
-l2_2
-17
-l2_3
-18
-l2_4
-19
-l2_5
-20
-l2_6
-21
-l2_7
-22
-l2_8
-23
-l2_9
-
-============
-Test 7.3:167
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-w results
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-
-============
-Test 7.4:168
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l2_1
-l2_2
-l2_3
-l2_4
-l2_5
-l2_6
-l2_7
-l2_8
-l2_9
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 7.5:169
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 7.6:170
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 7.8:171
-============
-
-Testing substitution commands
-
-============
-Test 8.1:172
-============
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-
-============
-Test 8.2:173
-============
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-
-============
-Test 8.3:174
-============
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-XXXXX
-
-============
-Test 8.4:175
-============
-l1_1
-l1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-============
-Test 8.5:176
-============
-l1X1
-l1X2
-l1X3
-l1X4
-l1X5
-l1X6
-l1X7
-l1X8
-l1X9
-l1X10
-l1X11
-l1X12
-l1X13
-l1X14
-
-============
-Test 8.6:177
-============
-(l)(1)(_)(1)
-(l)(1)(_)(2)
-(l)(1)(_)(3)
-(l)(1)(_)(4)
-(l)(1)(_)(5)
-(l)(1)(_)(6)
-(l)(1)(_)(7)
-(l)(1)(_)(8)
-(l)(1)(_)(9)
-(l)(1)(_)(1)(0)
-(l)(1)(_)(1)(1)
-(l)(1)(_)(1)(2)
-(l)(1)(_)(1)(3)
-(l)(1)(_)(1)(4)
-
-============
-Test 8.7:178
-============
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)
-(&)(&)(&)(&)(&)
-(&)(&)(&)(&)(&)
-(&)(&)(&)(&)(&)
-(&)(&)(&)(&)(&)
-(&)(&)(&)(&)(&)
-
-============
-Test 8.8:179
-============
-x_x1xl1
-x_x1xl2
-x_x1xl3
-x_x1xl4
-x_x1xl5
-x_x1xl6
-x_x1xl7
-x_x1xl8
-x_x1xl9
-x_x1xl10
-x_x1xl11
-x_x1xl12
-x_x1xl13
-x_x1xl14
-
-============
-Test 8.9:180
-============
-l1u0
-u1
-u21
-l1u0
-u1
-u22
-l1u0
-u1
-u23
-l1u0
-u1
-u24
-l1u0
-u1
-u25
-l1u0
-u1
-u26
-l1u0
-u1
-u27
-l1u0
-u1
-u28
-l1u0
-u1
-u29
-l1u0
-u1
-u210
-l1u0
-u1
-u211
-l1u0
-u1
-u212
-l1u0
-u1
-u213
-l1u0
-u1
-u214
-
-=============
-Test 8.10:181
-=============
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X
-l1_X0
-l1_X1
-l1_X2
-l1_X3
-l1_X4
-
-=============
-Test 8.11:182
-=============
-lX_1
-lX_2
-lX_3
-lX_4
-lX_5
-lX_6
-lX_7
-lX_8
-lX_9
-lX_10
-lX_11
-lX_12
-lX_13
-lX_14
-s wfile results
-lX_1
-lX_2
-lX_3
-lX_4
-lX_5
-lX_6
-lX_7
-lX_8
-lX_9
-lX_10
-lX_11
-lX_12
-lX_13
-lX_14
-
-=============
-Test 8.12:183
-=============
-lX_X
-lX_X
-lX_X
-lX_4
-lX_5
-lX_6
-lX_7
-lX_8
-lX_9
-lX_X0
-lX_XX
-lX_XX
-lX_XX
-lX_X4
-
-=============
-Test 8.13:184
-=============
-l8_8
-l8_7
-l8_6
-l8_5
-l8_4
-l8_3
-l8_2
-l8_1
-l8_0
-l8_89
-l8_88
-l8_87
-l8_86
-l8_85
-
-=============
-Test 8.14:185
-=============
-l8_8
-l8_7
-l8_6
-l8_5
-l8_4
-l8_3
-l8_2
-l8_1
-l8_0
-l8_89
-l8_88
-l8_87
-l8_86
-l8_85
-
-=============
-Test 8.15:186
-=============
-l1_1Xl1_2
-l1_3
-l1_4
-l1_5
-l1_6
-l1_7
-l1_8
-l1_9
-l1_10
-l1_11
-l1_12
-l1_13
-l1_14
-
-=============
-Test 8.16:187
-=============
-eeefff
-Xeefff
-XYefff
-XYeYff
-XYeYYf
-XYeYYY
-XYeYYY
-
-=============
-Test 8.17:188
-=============
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&
-&&&&&
-&&&&&
-&&&&&
-&&&&&
-&&&&&
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bsd.sh b/sources/host-tools/sed-4.2.1/testsuite/bsd.sh
deleted file mode 100755
index a7dbcd2..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bsd.sh
+++ /dev/null
@@ -1,435 +0,0 @@
-#!/bin/sh -
-# $NetBSD: sed.test,v 1.3 1997/01/09 20:21:37 tls Exp $
-#
-# Copyright (c) 1992 Diomidis Spinellis.
-# Copyright (c) 1992, 1993
-# The Regents of the University of California. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by the University of
-# California, Berkeley and its contributors.
-# 4. Neither the name of the University nor the names of its contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-# from: @(#)sed.test 8.1 (Berkeley) 6/6/93
-# $NetBSD: sed.test,v 1.3 1997/01/09 20:21:37 tls Exp $
-#
-
-# sed Regression Tests
-
-# Modified by Paolo Bonzini to:
-# - not warn about buggy seds
-# - run tests once instead of comparing them to the system sed
-# - remove most uses of awk
-# - cleanup at exit
-# - comment tests that broke because of extensions
-
-main()
-{
- TEST="${1-../sed/sed}"
- TESTLOG="${2-sed.out}"
- # DICT="${3-/usr/share/dict/words}"
-
- : > lines1
- : > lines2
- for i in 1 2 3 4 5 6 7 8 9; do
- echo l1_$i >> lines1
- echo l2_$i >> lines2
- done
- for i in 10 11 12 13 14; do
- echo l1_$i >> lines1
- done
-
- # Set these flags to get messages about known problems
- tests "$TEST" "$TESTLOG"
-
- rm -f lines[1234] script[12]
-}
-
-tests()
-{
- SED="$1"
- LOG="$2"
- MARK=100
- rm -f "$LOG"
-
- exec 3>&0 4>&1 5>&2
- exec 0</dev/null 1>/dev/null 2>/dev/null
- test_error
- exec 0>&3 1>&4 2>&5
-
- exec 4>&1 5>&2
- test_args
- test_addr
- test_group
- test_acid
- test_branch
- test_pattern
- test_print
- test_subst
- exec 1>&4 2>&5
-}
-
-mark()
-{
- exec 2>&1 >>$LOG
- test $MARK = 100 || echo
- MARK=`expr $MARK + 1`
- echo "Test $1:$MARK" | sed 's/./=/g'
- echo "Test $1:$MARK"
- echo "Test $1:$MARK" | sed 's/./=/g'
-}
-
-test_args()
-{
- mark '1.1'
- echo Testing argument parsing
- echo First type
- $SED 's/^/e1_/p' lines1
- mark '1.2' ; $SED -n 's/^/e1_/p' lines1
- mark '1.3' ; $SED 's/^/e1_/p' <lines1
- mark '1.4' ; $SED -n 's/^/e1_/p' <lines1
- echo Second type
- mark '1.4.1'
- $SED -e '' <lines1
- echo 's/^/s1_/p' >script1
- echo 's/^/s2_/p' >script2
- mark '1.5' ; $SED -f script1 lines1
- mark '1.6' ; $SED -f script1 <lines1
- mark '1.7' ; $SED -e 's/^/e1_/p' lines1
- mark '1.8' ; $SED -e 's/^/e1_/p' <lines1
- mark '1.9' ; $SED -n -f script1 lines1
- mark '1.10' ; $SED -n -f script1 <lines1
- mark '1.11' ; $SED -n -e 's/^/e1_/p' lines1
- mark '1.12' ; $SED -n -e 's/^/e1_/p' <lines1
- mark '1.13' ; $SED -e 's/^/e1_/p' -e 's/^/e2_/p' lines1
- mark '1.14' ; $SED -f script1 -f script2 lines1
- mark '1.15' ; $SED -e 's/^/e1_/p' -f script1 lines1
- mark '1.16' ; $SED -e 's/^/e1_/p' lines1 lines1
- # POSIX D11.2:11251
- mark '1.17' ; $SED p <lines1 lines1
-cat >script1 <<EOF
-#n
-# A comment
-
-p
-EOF
- mark '1.18' ; $SED -f script1 <lines1 lines1
-}
-
-test_addr()
-{
- echo Testing address ranges
- mark '2.1' ; $SED -n -e '4p' lines1
- mark '2.2' ; $SED -n -e '20p' lines1 lines2
- mark '2.3' ; $SED -n -e '$p' lines1
- mark '2.4' ; $SED -n -e '$p' lines1 lines2
- mark '2.5' ; $SED -n -e '$a\
-hello' /dev/null
- mark '2.6' ; $SED -n -e '$p' lines1 /dev/null lines2
- # Should not print anything
- mark '2.7' ; $SED -n -e '20p' lines1
- # Disabled because it is undefined behavior
- # mark '2.8' ; $SED -n -e '0p' lines1
- mark '2.9' ; $SED -n '/l1_7/p' lines1
- mark '2.10' ; $SED -n ' /l1_7/ p' lines1
- mark '2.11' ; $SED -n '\_l1\_7_p' lines1
- mark '2.12' ; $SED -n '1,4p' lines1
- mark '2.13' ; $SED -n '1,$p' lines1 lines2
- mark '2.14' ; $SED -n '1,/l2_9/p' lines1 lines2
- mark '2.15' ; $SED -n '/4/,$p' lines1 lines2
- mark '2.16' ; $SED -n '/4/,20p' lines1 lines2
- mark '2.17' ; $SED -n '/4/,/10/p' lines1 lines2
- mark '2.18' ; $SED -n '/l2_3/,/l1_8/p' lines1 lines2
- mark '2.19' ; $SED -n '12,3p' lines1 lines2
- mark '2.20' ; $SED -n '/l1_7/,3p' lines1 lines2
-}
-
-test_group()
-{
- echo Brace and other grouping
- mark '3.1' ; $SED -e '
-4,12 {
- s/^/^/
- s/$/$/
- s/_/T/
-}' lines1
- mark '3.2' ; $SED -e '
-4,12 {
- s/^/^/
- /6/,/10/ {
- s/$/$/
- /8/ s/_/T/
- }
-}' lines1
- mark '3.3' ; $SED -e '
-4,12 !{
- s/^/^/
- /6/,/10/ !{
- s/$/$/
- /8/ !s/_/T/
- }
-}' lines1
- mark '3.4' ; $SED -e '4,12!s/^/^/' lines1
-}
-
-test_acid()
-{
- echo Testing a c d and i commands
- mark '4.1' ; $SED -n -e '
-s/^/before_i/p
-20i\
-inserted
-s/^/after_i/p
-' lines1 lines2
- mark '4.2' ; $SED -n -e '
-5,12s/^/5-12/
-s/^/before_a/p
-/5-12/a\
-appended
-s/^/after_a/p
-' lines1 lines2
- mark '4.3' ; $SED -n -e '
-s/^/^/p
-/l1_/a\
-appended
-8,10N
-s/$/$/p
-' lines1 lines2
- mark '4.4' ; $SED -n -e '
-c\
-hello
-' lines1
- mark '4.5' ; $SED -n -e '
-8c\
-hello
-' lines1
- mark '4.6' ; $SED -n -e '
-3,14c\
-hello
-' lines1
- mark '4.7' ; $SED -n -e '
-8,3c\
-hello
-' lines1
- mark '4.8' ; $SED d <lines1
-}
-
-test_branch()
-{
- echo Testing labels and branching
- mark '5.1' ; $SED -n -e '
-b label4
-:label3
-s/^/label3_/p
-b end
-:label4
-2,12b label1
-b label2
-:label1
-s/^/label1_/p
-b
-:label2
-s/^/label2_/p
-b label3
-:end
-' lines1
- mark '5.2' ; $SED -n -e '
-s/l1_/l2_/
-t ok
-b
-:ok
-s/^/tested /p
-' lines1 lines2
- mark '5.3' ; $SED -n -e '
-5,8b inside
-1,5 {
- s/^/^/p
- :inside
- s/$/$/p
-}
-' lines1
-# Check that t clears the substitution done flag
- mark '5.4' ; $SED -n -e '
-1,8s/^/^/
-t l1
-:l1
-t l2
-s/$/$/p
-b
-:l2
-s/^/ERROR/
-' lines1
-# Check that reading a line clears the substitution done flag
- mark '5.5' ; $SED -n -e '
-t l2
-1,8s/^/^/p
-2,7N
-b
-:l2
-s/^/ERROR/p
-' lines1
- mark '5.6' ; $SED 5q lines1
- mark '5.7' ; $SED -e '
-5i\
-hello
-5q' lines1
-# Branch across block boundary
- mark '5.8' ; $SED -e '
-{
-:b
-}
-s/l/m/
-tb' lines1
-}
-
-test_pattern()
-{
-echo Pattern space commands
-# Check that the pattern space is deleted
- mark '6.1' ; $SED -n -e '
-c\
-changed
-p
-' lines1
- mark '6.2' ; $SED -n -e '
-4d
-p
-' lines1
- mark '6.3' ; $SED -e '
-N
-N
-N
-D
-P
-4p
-' lines1
- mark '6.4' ; $SED -e '
-2h
-3H
-4g
-5G
-6x
-6p
-6x
-6p
-' lines1
- mark '6.5' ; $SED -e '4n' lines1
- mark '6.6' ; $SED -n -e '4n' lines1
-}
-
-test_print()
-{
- echo Testing print and file routines
- awk 'END {for (i = 1; i < 256; i++) printf("%c", i);print "\n"}' \
- </dev/null >lines3
- mark '7.1' ; $SED -n l lines3
- mark '7.2' ; $SED -e '/l2_/=' lines1 lines2
- rm -f lines4
- mark '7.3' ; $SED -e '3,12w lines4' lines1
- echo w results
- cat lines4
- mark '7.4' ; $SED -e '4r lines2' lines1
- mark '7.5' ; $SED -e '5r /dev/dds' lines1
- mark '7.6' ; $SED -e '6r /dev/null' lines1
- # mark '7.7'
- # sed '200q' $DICT | sed 's$.*$s/^/&/w tmpdir/&$' >script1
- # rm -rf tmpdir
- # mkdir tmpdir
- # $SED -f script1 lines1
- # cat tmpdir/*
- # rm -rf tmpdir
- mark '7.8'
- echo line1 > lines3
- echo "" >> lines3
- $SED -n -e '$p' lines3 /dev/null
-}
-
-test_subst()
-{
- echo Testing substitution commands
- mark '8.1' ; $SED -e 's/./X/g' lines1
- mark '8.2' ; $SED -e 's,.,X,g' lines1
- mark '8.3' ; $SED -e 's.\..X.g' lines1
-# POSIX does not say that this should work
-# mark '8.4' ; $SED -e 's/[/]/Q/' lines1
- mark '8.4' ; $SED -e 's/[\/]/Q/' lines1
- mark '8.5' ; $SED -e 's_\__X_' lines1
- mark '8.6' ; $SED -e 's/./(&)/g' lines1
- mark '8.7' ; $SED -e 's/./(\&)/g' lines1
- mark '8.8' ; $SED -e 's/\(.\)\(.\)\(.\)/x\3x\2x\1/g' lines1
- mark '8.9' ; $SED -e 's/_/u0\
-u1\
-u2/g' lines1
- mark '8.10' ; $SED -e 's/./X/4' lines1
- rm -f lines4
- mark '8.11' ; $SED -e 's/1/X/w lines4' lines1
- echo s wfile results
- cat lines4
- mark '8.12' ; $SED -e 's/[123]/X/g' lines1
- mark '8.13' ; $SED -e 'y/0123456789/9876543210/' lines1
- mark '8.14' ; $SED -e 'y10\123456789198765432\101' lines1
- mark '8.15' ; $SED -e '1N;2y/\n/X/' lines1
- mark '8.16'
- echo 'eeefff' | $SED -e 'p' -e 's/e/X/p' -e ':x' \
- -e 's//Y/p' -e '/f/bx'
- mark '8.17' ; $SED -e 's&.&\&&g' lines1
-}
-
-test_error()
-{
- $SED -x && exit 1
- $SED -f && exit 1
- $SED -e && exit 1
- $SED -f /dev/dds && exit 1
- $SED p /dev/dds && exit 1
- $SED -f /bin/sh && exit 1
- $SED '{' && exit 1
- $SED '{' && exit 1
- $SED '/hello/' && exit 1
- $SED '1,/hello/' && exit 1
- $SED -e '-5p' && exit 1
- $SED '/jj' && exit 1
- # $SED 'a hello' && exit 1
- # $SED 'a \ hello' && exit 1
- $SED 'b foo' && exit 1
- $SED 'd hello' && exit 1
- $SED 's/aa' && exit 1
- $SED 's/aa/' && exit 1
- $SED 's/a/b' && exit 1
- $SED 's/a/b/c/d' && exit 1
- $SED 's/a/b/ 1 2' && exit 1
- # $SED 's/a/b/ 1 g' && exit 1
- $SED 's/a/b/w' && exit 1
- $SED 'y/aa' && exit 1
- $SED 'y/aa/b/' && exit 1
- $SED 'y/aa/' && exit 1
- $SED 'y/a/b' && exit 1
- $SED 'y/a/b/c/d' && exit 1
- $SED '!' && exit 1
- $SED supercalifrangolisticexprialidociussupercalifrangolisticexcius
-}
-
-main ${1+"$@"}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex10.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex10.c
deleted file mode 100644
index 1a21617..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex10.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Test for re_match with non-zero start.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <locale.h>
-#include <stdio.h>
-#include <string.h>
-#include <regex.h>
-
-int
-main (void)
-{
- struct re_pattern_buffer regex;
- struct re_registers regs;
- const char *s;
- int match;
- int result = 0;
-
- regs.num_regs = 1;
- memset (®ex, '\0', sizeof (regex));
- s = re_compile_pattern ("[abc]*d", 7, ®ex);
- if (s != NULL)
- {
- puts ("re_compile_pattern return non-NULL value");
- result = 1;
- }
- else
- {
- match = re_match (®ex, "foacabdxy", 9, 2, ®s);
- if (match != 5)
- {
- printf ("re_match returned %d, expected 5\n", match);
- result = 1;
- }
- else if (regs.start[0] != 2 || regs.end[0] != 7)
- {
- printf ("re_match returned %d..%d, expected 2..7\n",
- regs.start[0], regs.end[0]);
- result = 1;
- }
- puts (" -> OK");
- }
-
- return result;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex11.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex11.c
deleted file mode 100644
index dbfa3f9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex11.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Tests supposed to match. */
-struct
-{
- const char *pattern;
- const char *string;
- int flags, nmatch;
- regmatch_t rm[5];
-} tests[] = {
- /* Test for newline handling in regex. */
- { "[^~]*~", "\nx~y", 0, 2, { { 0, 3 }, { -1, -1 } } },
- /* Other tests. */
- { "a(.*)b", "a b", REG_EXTENDED, 2, { { 0, 3 }, { 1, 2 } } },
- { ".*|\\([KIO]\\)\\([^|]*\\).*|?[KIO]", "10~.~|P|K0|I10|O16|?KSb", 0, 3,
- { { 0, 21 }, { 15, 16 }, { 16, 18 } } },
- { ".*|\\([KIO]\\)\\([^|]*\\).*|?\\1", "10~.~|P|K0|I10|O16|?KSb", 0, 3,
- { { 0, 21 }, { 8, 9 }, { 9, 10 } } },
- { "^\\(a*\\)\\1\\{9\\}\\(a\\{0,9\\}\\)\\([0-9]*;.*[^a]\\2\\([0-9]\\)\\)",
- "a1;;0a1aa2aaa3aaaa4aaaaa5aaaaaa6aaaaaaa7aaaaaaaa8aaaaaaaaa9aa2aa1a0", 0,
- 5, { { 0, 67 }, { 0, 0 }, { 0, 1 }, { 1, 67 }, { 66, 67 } } },
- /* Test for BRE expression anchoring. POSIX says just that this may match;
- in glibc regex it always matched, so avoid changing it. */
- { "\\(^\\|foo\\)bar", "bar", 0, 2, { { 0, 3 }, { -1, -1 } } },
- { "\\(foo\\|^\\)bar", "bar", 0, 2, { { 0, 3 }, { -1, -1 } } },
- /* In ERE this must be treated as an anchor. */
- { "(^|foo)bar", "bar", REG_EXTENDED, 2, { { 0, 3 }, { -1, -1 } } },
- { "(foo|^)bar", "bar", REG_EXTENDED, 2, { { 0, 3 }, { -1, -1 } } },
- /* Here ^ cannot be treated as an anchor according to POSIX. */
- { "(^|foo)bar", "(^|foo)bar", 0, 2, { { 0, 10 }, { -1, -1 } } },
- { "(foo|^)bar", "(foo|^)bar", 0, 2, { { 0, 10 }, { -1, -1 } } },
- /* More tests on backreferences. */
- { "()\\1", "x", REG_EXTENDED, 2, { { 0, 0 }, { 0, 0 } } },
- { "()x\\1", "x", REG_EXTENDED, 2, { { 0, 1 }, { 0, 0 } } },
- { "()\\1*\\1*", "", REG_EXTENDED, 2, { { 0, 0 }, { 0, 0 } } },
- { "([0-9]).*\\1(a*)", "7;7a6", REG_EXTENDED, 3, { { 0, 4 }, { 0, 1 }, { 3, 4 } } },
- { "([0-9]).*\\1(a*)", "7;7a", REG_EXTENDED, 3, { { 0, 4 }, { 0, 1 }, { 3, 4 } } },
- { "(b)()c\\1", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 1 }, { 1, 1 } } },
- { "()(b)c\\2", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 0 }, { 0, 1 } } },
- { "a(b)()c\\1", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 2 }, { 2, 2 } } },
- { "a()(b)c\\2", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 1 }, { 1, 2 } } },
- { "()(b)\\1c\\2", "bcb", REG_EXTENDED, 3, { { 0, 3 }, { 0, 0 }, { 0, 1 } } },
- { "(b())\\2\\1", "bbbb", REG_EXTENDED, 3, { { 0, 2 }, { 0, 1 }, { 1, 1 } } },
- { "a()(b)\\1c\\2", "abcb", REG_EXTENDED, 3, { { 0, 4 }, { 1, 1 }, { 1, 2 } } },
- { "a()d(b)\\1c\\2", "adbcb", REG_EXTENDED, 3, { { 0, 5 }, { 1, 1 }, { 2, 3 } } },
- { "a(b())\\2\\1", "abbbb", REG_EXTENDED, 3, { { 0, 3 }, { 1, 2 }, { 2, 2 } } },
- { "(bb())\\2\\1", "bbbb", REG_EXTENDED, 3, { { 0, 4 }, { 0, 2 }, { 2, 2 } } },
- { "^(.?)(.?)(.?)(.?)(.?).?\\5\\4\\3\\2\\1$",
- "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } },
- { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$",
- "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } },
- { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$",
- "abcdedcba", REG_EXTENDED, 1, { { 0, 9 } } },
-#if 0
- /* XXX Not used since they fail so far. */
- { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$",
- "ababababa", REG_EXTENDED, 1, { { 0, 9 } } },
- { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$",
- "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } },
- { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$",
- "ababababa", REG_EXTENDED, 1, { { 0, 9 } } },
-#endif
-};
-
-int
-main (void)
-{
- regex_t re;
- regmatch_t rm[5];
- size_t i;
- int n, ret = 0;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i)
- {
- n = regcomp (&re, tests[i].pattern, tests[i].flags);
- if (n != 0)
- {
- char buf[500];
- regerror (n, &re, buf, sizeof (buf));
- printf ("%s: regcomp %lu failed: %s\n", tests[i].pattern, i, buf);
- ret = 1;
- continue;
- }
-
- if (regexec (&re, tests[i].string, tests[i].nmatch, rm, 0))
- {
- printf ("%s: regexec %lu failed\n", tests[i].pattern, i);
- ret = 1;
- regfree (&re);
- continue;
- }
-
- for (n = 0; n < tests[i].nmatch; ++n)
- if (rm[n].rm_so != tests[i].rm[n].rm_so
- || rm[n].rm_eo != tests[i].rm[n].rm_eo)
- {
- if (tests[i].rm[n].rm_so == -1 && tests[i].rm[n].rm_eo == -1)
- break;
- printf ("%s: regexec %lu match failure rm[%d] %d..%d\n",
- tests[i].pattern, i, n, rm[n].rm_so, rm[n].rm_eo);
- ret = 1;
- break;
- }
-
- regfree (&re);
- }
-
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex12.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex12.c
deleted file mode 100644
index a4db0cc..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex12.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Tests supposed to not match. */
-struct
-{
- const char *pattern;
- const char *string;
- int flags, nmatch;
-} tests[] = {
- { "^<\\([^~]*\\)\\([^~]\\)[^~]*~\\1\\(.\\).*|=.*\\3.*\\2",
- "<,.8~2,~so-|=-~.0,123456789<><", REG_NOSUB, 0 },
- /* In ERE, all carets must be treated as anchors. */
- { "a^b", "a^b", REG_EXTENDED, 0 }
-};
-
-int
-main (void)
-{
- regex_t re;
- regmatch_t rm[4];
- size_t i;
- int n, ret = 0;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i)
- {
- n = regcomp (&re, tests[i].pattern, tests[i].flags);
- if (n != 0)
- {
- char buf[500];
- regerror (n, &re, buf, sizeof (buf));
- printf ("regcomp %lu failed: %s\n", i, buf);
- ret = 1;
- continue;
- }
-
- if (! regexec (&re, tests[i].string, tests[i].nmatch,
- tests[i].nmatch ? rm : NULL, 0))
- {
- printf ("regexec %lu incorrectly matched\n", i);
- ret = 1;
- }
-
- regfree (&re);
- }
-
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex13.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex13.c
deleted file mode 100644
index a28c5fa..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex13.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-static struct
-{
- int syntax;
- const char *pattern;
- const char *string;
- int start;
-} tests[] = {
- {RE_BACKSLASH_ESCAPE_IN_LISTS, "[0\\-9]", "1", -1}, /* It should not match. */
- {RE_BACKSLASH_ESCAPE_IN_LISTS, "[0\\-9]", "-", 0}, /* It should match. */
- {RE_SYNTAX_POSIX_BASIC, "s1\n.*\ns3", "s1\ns2\ns3", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}c", "abbc", -1},
- /* Nested duplication. */
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{1}c", "ac", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{1}c", "abc", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{1}c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{2}{2}c", "ac", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{2}{2}c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{2}{2}c", "abbbbc", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{2}{2}c", "abbbbbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}{1}c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}{1}c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}{1}c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{0}c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{0}c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{1}{0}c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}*c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}*c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}*c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}?c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}?c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}?c", "abbc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}+c", "ac", 0},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}+c", "abc", -1},
- {RE_SYNTAX_POSIX_EXTENDED, "ab{0}+c", "abbc", -1},
-};
-
-int
-main (void)
-{
- struct re_pattern_buffer regbuf;
- const char *err;
- size_t i;
- int ret = 0;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i)
- {
- int start;
- re_set_syntax (tests[i].syntax);
- memset (®buf, '\0', sizeof (regbuf));
- err = re_compile_pattern (tests[i].pattern, strlen (tests[i].pattern),
- ®buf);
- if (err != NULL)
- {
- printf ("re_compile_pattern failed: %s\n", err);
- ret = 1;
- continue;
- }
-
- start = re_search (®buf, tests[i].string, strlen (tests[i].string),
- 0, strlen (tests[i].string), NULL);
- if (start != tests[i].start)
- {
- printf ("re_search failed %d\n", start);
- ret = 1;
- regfree (®buf);
- continue;
- }
- regfree (®buf);
- }
-
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex14.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex14.c
deleted file mode 100644
index 4b296d8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex14.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Tests re_comp and re_exec.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define _REGEX_RE_COMP
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- const char *err;
- size_t i;
- int ret = 0;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- for (i = 0; i < 100; ++i)
- {
- err = re_comp ("a t.st");
- if (err)
- {
- printf ("re_comp failed: %s\n", err);
- ret = 1;
- }
-
- if (! re_exec ("This is a test."))
- {
- printf ("re_exec failed\n");
- ret = 1;
- }
- }
-
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex15.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex15.c
deleted file mode 100644
index 14707e8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex15.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Test for memory/CPU leak in regcomp. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define TEST_DATA_LIMIT (32 << 20)
-
-int
-main ()
-{
-#ifdef RLIMIT_DATA
- regex_t re;
- int reerr;
-
- /* Try to avoid eating all memory if a test leaks. */
- struct rlimit data_limit;
- if (getrlimit (RLIMIT_DATA, &data_limit) == 0)
- {
- if ((rlim_t) TEST_DATA_LIMIT > data_limit.rlim_max)
- data_limit.rlim_cur = data_limit.rlim_max;
- else if (data_limit.rlim_cur > (rlim_t) TEST_DATA_LIMIT)
- data_limit.rlim_cur = (rlim_t) TEST_DATA_LIMIT;
- if (setrlimit (RLIMIT_DATA, &data_limit) < 0)
- perror ("setrlimit: RLIMIT_DATA");
- }
- else
- perror ("getrlimit: RLIMIT_DATA");
-
- reerr = regcomp (&re, "^6?3?[25]?5?[14]*[25]*[69]*+[58]*87?4?$",
- REG_EXTENDED | REG_NOSUB);
- if (reerr != 0)
- {
- char buf[100];
- regerror (reerr, &re, buf, sizeof buf);
- printf ("regerror %s\n", buf);
- return 1;
- }
-
- return 0;
-#else
- return 77;
-#endif
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex16.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex16.c
deleted file mode 100644
index 7a1d3c8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex16.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Test re_compile_pattern error messages. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <regex.h>
-
-int
-main (void)
-{
- struct re_pattern_buffer re;
- const char *s;
- int ret = 0;
-
- re_set_syntax (RE_SYNTAX_POSIX_EGREP);
- memset (&re, 0, sizeof (re));
- s = re_compile_pattern ("[[.invalid_collating_symbol.]]", 30, &re);
- if (s == NULL || strcmp (s, "Invalid collation character"))
- {
- printf ("re_compile_pattern returned %s\n", s);
- ret = 1;
- }
- s = re_compile_pattern ("[[=invalid_equivalence_class=]]", 31, &re);
- if (s == NULL || strcmp (s, "Invalid collation character"))
- {
- printf ("re_compile_pattern returned %s\n", s);
- ret = 1;
- }
- s = re_compile_pattern ("[[:invalid_character_class:]]", 29, &re);
- if (s == NULL || strcmp (s, "Invalid character class name"))
- {
- printf ("re_compile_pattern returned %s\n", s);
- ret = 1;
- }
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex21.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex21.c
deleted file mode 100644
index 0232876..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex21.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Test for memory leaks in regcomp.
- Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-
-int main (void)
-{
- regex_t re;
- int i;
- int ret = 0;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- for (i = 0; i < 32; ++i)
- {
- if (regcomp (&re, "X-.+:.+Y=\".*\\.(A|B|C|D|E|F|G|H|I",
- REG_EXTENDED | REG_ICASE) == 0)
- {
- puts ("regcomp unexpectedly succeeded");
- ret = 1;
- }
- else
- regfree (&re);
- }
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex27.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex27.c
deleted file mode 100644
index 340ade9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex27.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Test REG_NEWLINE.
- Copyright (C) 2007 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2007.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <config.h>
-#include <regex.h>
-#include <stdio.h>
-#include <string.h>
-
-struct tests
-{
- const char *regex;
- const char *string;
- int cflags;
- int retval;
-} tests[] = {
- { "a.b", "a\nb", REG_EXTENDED | REG_NEWLINE, REG_NOMATCH },
- { "a.b", "a\nb", REG_EXTENDED, 0 },
- { "a[^x]b", "a\nb", REG_EXTENDED | REG_NEWLINE, REG_NOMATCH },
- { "a[^x]b", "a\nb", REG_EXTENDED, 0 }
-};
-
-int
-main (void)
-{
- regex_t r;
- size_t i;
- int ret = 0;
-
- for (i = 0; i < sizeof (tests) / sizeof (tests[i]); ++i)
- {
- memset (&r, 0, sizeof (r));
- if (regcomp (&r, tests[i].regex, tests[i].cflags))
- {
- printf ("regcomp %lu failed\n", i);
- ret = 1;
- continue;
- }
- int rv = regexec (&r, tests[i].string, 0, NULL, 0);
- if (rv != tests[i].retval)
- {
- printf ("regexec %lu unexpected value %d != %d\n",
- i, rv, tests[i].retval);
- ret = 1;
- }
- regfree (&r);
- }
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex28.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex28.c
deleted file mode 100644
index f546b35..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex28.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Test RE_HAT_LISTS_NOT_NEWLINE and RE_DOT_NEWLINE.
- Copyright (C) 2007 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2007.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <config.h>
-#include <regex.h>
-#include <stdio.h>
-#include <string.h>
-
-struct tests
-{
- const char *regex;
- const char *string;
- reg_syntax_t syntax;
- int retval;
-} tests[] = {
-#define EGREP RE_SYNTAX_EGREP
-#define EGREP_NL (RE_SYNTAX_EGREP | RE_DOT_NEWLINE) & ~RE_HAT_LISTS_NOT_NEWLINE
- { "a.b", "a\nb", EGREP, -1 },
- { "a.b", "a\nb", EGREP_NL, 0 },
- { "a[^x]b", "a\nb", EGREP, -1 },
- { "a[^x]b", "a\nb", EGREP_NL, 0 },
- /* While \S and \W are internally handled as [^[:space:]] and [^[:alnum:]_],
- RE_HAT_LISTS_NOT_NEWLINE did not make any difference, so ensure
- it doesn't change. */
- { "a\\Sb", "a\nb", EGREP, -1 },
- { "a\\Sb", "a\nb", EGREP_NL, -1 },
- { "a\\Wb", "a\nb", EGREP, 0 },
- { "a\\Wb", "a\nb", EGREP_NL, 0 }
-};
-
-int
-main (void)
-{
- struct re_pattern_buffer r;
- size_t i;
- int ret = 0;
-
- for (i = 0; i < sizeof (tests) / sizeof (tests[i]); ++i)
- {
- re_set_syntax (tests[i].syntax);
- memset (&r, 0, sizeof (r));
- if (re_compile_pattern (tests[i].regex, strlen (tests[i].regex), &r))
- {
- printf ("re_compile_pattern %lu failed\n", i);
- ret = 1;
- continue;
- }
- size_t len = strlen (tests[i].string);
- int rv = re_search (&r, tests[i].string, len, 0, len, NULL);
- if (rv != tests[i].retval)
- {
- printf ("re_search %lu unexpected value %d != %d\n",
- i, rv, tests[i].retval);
- ret = 1;
- }
- regfree (&r);
- }
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex7.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex7.c
deleted file mode 100644
index 2051985..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex7.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Test for regs allocation in re_search and re_match.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Stepan Kasal <kasal@math.cas.cz>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <regex.h>
-
-
-int
-main (void)
-{
- struct re_pattern_buffer regex;
- struct re_registers regs;
- const char *s;
- int match, n;
- int result = 0;
-
- memset (®ex, '\0', sizeof (regex));
- regs.start = regs.end = NULL;
- regs.num_regs = 0;
- s = re_compile_pattern ("a", 1, ®ex);
- if (s != NULL)
- {
- puts ("failed to compile pattern \"a\"");
- result = 1;
- }
- else
- {
- match = re_search (®ex, "baobab", 6, 0, 6, ®s);
- n = 1;
- if (match != 1)
- {
- printf ("re_search returned %d, expected 1\n", match);
- result = 1;
- }
- else if (regs.num_regs <= n || regs.start[n] != -1 || regs.end[n] != -1)
- {
- puts ("re_search failed to fill the -1 sentinel");
- result = 1;
- }
- }
-
- free (regex.buffer);
- memset (®ex, '\0', sizeof (regex));
-
- s = re_compile_pattern ("\\(\\(\\(a\\)\\)\\)", 13, ®ex);
- if (s != NULL)
- {
- puts ("failed to compile pattern /\\(\\(\\(a\\)\\)\\)/");
- result = 1;
- }
- else
- {
- match = re_match (®ex, "apl", 3, 0, ®s);
- n = 4;
- if (match != 1)
- {
- printf ("re_match returned %d, expected 1\n", match);
- result = 1;
- }
- else if (regs.num_regs <= n || regs.start[n] != -1 || regs.end[n] != -1)
- {
- puts ("re_match failed to fill the -1 sentinel");
- result = 1;
- }
- }
-
- if (result == 0)
- puts (" -> OK");
-
- return result;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex8.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex8.c
deleted file mode 100644
index e39ad59..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex8.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Test for the STOP parameter of re_match_2 and re_search_2.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Stepan Kasal <kasal@math.cas.cz>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <regex.h>
-
-
-int
-main (void)
-{
- struct re_pattern_buffer regex;
- const char *s;
- int match[4];
-
- memset (®ex, '\0', sizeof (regex));
-
- s = re_compile_pattern ("xy$", 3, ®ex);
- if (s != NULL)
- {
- puts ("failed to compile pattern \"xy$\"");
- return 1;
- }
- else
- match[0] = re_match_2(®ex,"xyz",3,NULL,0,0,NULL,2);
-
- free (regex.buffer);
- memset (®ex, '\0', sizeof (regex));
-
- s = re_compile_pattern ("xy\\>", 4, ®ex);
- if (s != NULL)
- {
- puts ("failed to compile pattern \"xy\\>\"");
- return 1;
- }
- else
- match[1] = re_search_2(®ex,"xyz",3,NULL,0,0,2,NULL,2);
-
- free (regex.buffer);
- memset (®ex, '\0', sizeof (regex));
-
- s = re_compile_pattern ("xy \\<", 5, ®ex);
- if (s != NULL)
- {
- puts ("failed to compile pattern \"xy \\<\"");
- return 1;
- }
- else
- {
- match[2] = re_match_2(®ex,"xy ",4,NULL,0,0,NULL,3);
- match[3] = re_match_2(®ex,"xy z",4,NULL,0,0,NULL,3);
- }
-
- if (match[0] != -1 || match[1] != -1 || match[2] != -1 || match[3] != 3)
- {
- printf ("re_{match,search}_2 returned %d,%d,%d,%d, expected -1,-1,-1,3\n",
- match[0], match[1], match[2], match[3]);
- return 1;
- }
-
- puts (" -> OK");
-
- return 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/bug-regex9.c b/sources/host-tools/sed-4.2.1/testsuite/bug-regex9.c
deleted file mode 100644
index c0e9e18..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/bug-regex9.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Test for memory handling in regex.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-static const char text[] = "#! /bin/sh";
-
-int
-main (void)
-{
- regex_t re;
- regmatch_t rm[2];
- int n;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- n = regcomp (&re, "^#! */.*/(k|ba||pdk|z)sh", REG_EXTENDED);
- if (n != 0)
- {
- char buf[500];
- regerror (n, &re, buf, sizeof (buf));
- printf ("regcomp failed: %s\n", buf);
- exit (1);
- }
-
- for (n = 0; n < 20; ++n)
- {
- if (regexec (&re, text, 2, rm, 0))
- {
- puts ("regexec failed");
- exit (2);
- }
- if (rm[0].rm_so != 0 || rm[0].rm_eo != 10
- || rm[1].rm_so != 8 || rm[1].rm_eo != 8)
- {
- printf ("regexec match failure: %d %d %d %d\n",
- rm[0].rm_so, rm[0].rm_eo, rm[1].rm_so, rm[1].rm_eo);
- exit (3);
- }
- }
-
- regfree (&re);
-
- return 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/classes.good b/sources/host-tools/sed-4.2.1/testsuite/classes.good
deleted file mode 100644
index 58f96f4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/classes.good
+++ /dev/null
@@ -1,4 +0,0 @@
-: ${_cv_='emptyvar'}
-: ${ac_cv_prog/RANLIB='/usr/bin/ranlib'}
-: ${ac_cv_prog/CC='/usr/unsupported/\ \ /lib/_cv_/cc'}
-: ${a/c_cv_prog/CPP='/usr/bin/cpp'}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/classes.inp b/sources/host-tools/sed-4.2.1/testsuite/classes.inp
deleted file mode 100644
index f1314b6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/classes.inp
+++ /dev/null
@@ -1,6 +0,0 @@
-_cv_=emptyvar
-ac_cv_prog/RANLIB=/usr/bin/ranlib
-ac_cv_prog/CC=/usr/unsupported/\ \ /lib/_cv_/cc
-a/c_cv_prog/CPP=/usr/bin/cpp
-SHELL=bash
-GNU=GNU!UNIX
diff --git a/sources/host-tools/sed-4.2.1/testsuite/classes.sed b/sources/host-tools/sed-4.2.1/testsuite/classes.sed
deleted file mode 100644
index 897651f..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/classes.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# inspired by an autoconf generated configure script.
-s/^\([/[:lower:]A-Z0-9]*_cv_[[:lower:][:upper:]/[:digit:]]*\)=\(.*\)/: \${\1='\2'}/p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.good b/sources/host-tools/sed-4.2.1/testsuite/cv-vars.good
deleted file mode 100644
index 14707bf..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.good
+++ /dev/null
@@ -1,4 +0,0 @@
-: ${_cv_='emptyvar'}
-: ${ac_cv_prog_RANLIB='/usr/bin/ranlib'}
-: ${ac_cv_prog_CC='/usr/unsupported/\ \ /lib/_cv_/cc'}
-: ${ac_cv_prog_CPP='/usr/bin/cpp'}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.inp b/sources/host-tools/sed-4.2.1/testsuite/cv-vars.inp
deleted file mode 100644
index 5e92b1c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.inp
+++ /dev/null
@@ -1,6 +0,0 @@
-_cv_=emptyvar
-ac_cv_prog_RANLIB=/usr/bin/ranlib
-ac_cv_prog_CC=/usr/unsupported/\ \ /lib/_cv_/cc
-ac_cv_prog_CPP=/usr/bin/cpp
-SHELL=bash
-GNU=GNU!UNIX
diff --git a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.sed b/sources/host-tools/sed-4.2.1/testsuite/cv-vars.sed
deleted file mode 100644
index e49c73e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/cv-vars.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# inspired by an autoconf generated configure script.
-s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dc.good b/sources/host-tools/sed-4.2.1/testsuite/dc.good
deleted file mode 100644
index 7604d56..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dc.good
+++ /dev/null
@@ -1,3 +0,0 @@
-31
-March 2002
-1.6A09E667A
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dc.inp b/sources/host-tools/sed-4.2.1/testsuite/dc.inp
deleted file mode 100644
index e4b731b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dc.inp
+++ /dev/null
@@ -1,14 +0,0 @@
-# Compute Easter of 2002...
-# usage: (echo YEAR; cat easter.dc) | dc
-
-2002
-
-[ddsf[lfp[too early
-]Pq]s@1583>@
-ddd19%1+sg100/1+d3*4/12-sx8*5+25/5-sz5*4/lx-10-sdlg11*20+lz+lx-30%
-d[30+]s@0>@d[[1+]s@lg11<@]s@25=@d[1+]s@24=@se44le-d[30+]s@21>@dld+7%-7+
-[March ]smd[31-[April ]sm]s@31<@psnlmPpsn1z>p]splpx
-
-# Compute square root of 2
-
-16oAk2vpq
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dc.sed b/sources/host-tools/sed-4.2.1/testsuite/dc.sed
deleted file mode 100644
index 5267589..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dc.sed
+++ /dev/null
@@ -1,322 +0,0 @@
-#!/bin/sed -nf
-# dc.sed - an arbitrary precision RPN calculator
-# Created by Greg Ubben <gsu@romulus.ncsc.mil> early 1995, late 1996
-#
-# Dedicated to MAC's memory of the IBM 1620 ("CADET") computer.
-# @(#)GSU dc.sed 1.1 06-Mar-1999 [non-explanatory]
-#
-# Examples:
-# sqrt(2) to 10 digits: echo "10k 2vp" | dc.sed
-# 20 factorial: echo "[d1-d1<!*]s! 20l!xp" | dc.sed
-# sin(ln(7)): echo "s(l(7))" | bc -c /usr/lib/lib.b | dc.sed
-# hex to base 60: echo "60o16i 6B407.CAFE p" | dc.sed
-# tests most of dc.sed: echo 16oAk2vp | dc.sed
-#
-# To debug or analyze, give the dc Y command as input or add it to
-# embedded dc routines, or add the sed p command to the beginning of
-# the main loop or at various points in the low-level sed routines.
-# If you need to allow [|~] characters in the input, filter this
-# script through "tr '|~' '\36\37'" first (or use dc.pl).
-#
-# Not implemented: ! \
-# But implemented: K Y t # !< !> != fractional-bases
-# SunOS limits: 199/199 commands (though could pack in 10-20 more)
-# Limitations: scale <= 999; |obase| >= 1; input digits in [0..F]
-# Completed: 1am Feb 4, 1997
-
-s/^/|P|K0|I10|O10|?~/
-
-: next
-s/|?./|?/
-s/|?#[ -}]*/|?/
-/|?!*[lLsS;:<>=]\{0,1\}$/N
-/|?!*[-+*/%^<>=]/b binop
-/^|.*|?[dpPfQXZvxkiosStT;:]/b binop
-/|?[_0-9A-F.]/b number
-/|?\[/b string
-/|?l/b load
-/|?L/b Load
-/|?[sS]/b save
-/|?c/ s/[^|]*//
-/|?d/ s/[^~]*~/&&/
-/|?f/ s//&[pSbz0<aLb]dSaxsaLa/
-/|?x/ s/\([^~]*~\)\(.*|?x\)~*/\2\1/
-/|?[KIO]/ s/.*|\([KIO]\)\([^|]*\).*|?\1/\2~&/
-/|?T/ s/\.*0*~/~/
-# a slow, non-stackable array implementation in dc, just for completeness
-# A fast, stackable, associative array implementation could be done in sed
-# (format: {key}value{key}value...), but would be longer, like load & save.
-/|?;/ s/|?;\([^{}]\)/|?~[s}s{L{s}q]S}[S}l\1L}1-d0>}s\1L\1l{xS\1]dS{xL}/
-/|?:/ s/|?:\([^{}]\)/|?~[s}L{s}L{s}L}s\1q]S}S}S{[L}1-d0>}S}l\1s\1L\1l{xS\1]dS{x/
-/|?[ ~ cdfxKIOT]/b next
-/|?\n/b next
-/|?[pP]/b print
-/|?k/ s/^\([0-9]\{1,3\}\)\([.~].*|K\)[^|]*/\2\1/
-/|?i/ s/^\(-\{0,1\}[0-9]*\.\{0,1\}[0-9]\{1,\}\)\(~.*|I\)[^|]*/\2\1/
-/|?o/ s/^\(-\{0,1\}[1-9][0-9]*\.\{0,1\}[0-9]*\)\(~.*|O\)[^|]*/\2\1/
-/|?[kio]/b pop
-/|?t/b trunc
-/|??/b input
-/|?Q/b break
-/|?q/b quit
-h
-/|?[XZz]/b count
-/|?v/b sqrt
-s/.*|?\([^Y]\).*/\1 is unimplemented/
-s/\n/\\n/g
-l
-g
-b next
-
-: print
-/^-\{0,1\}[0-9]*\.\{0,1\}[0-9]\{1,\}~.*|?p/!b Print
-/|O10|/b Print
-
-# Print a number in a non-decimal output base. Uses registers a,b,c,d.
-# Handles fractional output bases (O<-1 or O>=1), unlike other dc's.
-# Converts the fraction correctly on negative output bases, unlike
-# UNIX dc. Also scales the fraction more accurately than UNIX dc.
-#
-s,|?p,&KSa0kd[[-]Psa0la-]Sad0>a[0P]sad0=a[A*2+]saOtd0>a1-ZSd[[[[ ]P]sclb1\
-!=cSbLdlbtZ[[[-]P0lb-sb]sclb0>c1+]sclb0!<c[0P1+dld>c]scdld>cscSdLbP]q]Sb\
-[t[1P1-d0<c]scd0<c]ScO_1>bO1!<cO[16]<bOX0<b[[q]sc[dSbdA>c[A]sbdA=c[B]sbd\
-B=c[C]sbdC=c[D]sbdD=c[E]sbdE=c[F]sb]xscLbP]~Sd[dtdZOZ+k1O/Tdsb[.5]*[.1]O\
-X^*dZkdXK-1+ktsc0kdSb-[Lbdlb*lc+tdSbO*-lb0!=aldx]dsaxLbsb]sad1!>a[[.]POX\
-+sb1[SbO*dtdldx-LbO*dZlb!<a]dsax]sadXd0<asbsasaLasbLbscLcsdLdsdLdLak[]pP,
-b next
-
-: Print
-/|?p/s/[^~]*/&\
-~&/
-s/\(.*|P\)\([^|]*\)/\
-\2\1/
-s/\([^~]*\)\n\([^~]*\)\(.*|P\)/\1\3\2/
-h
-s/~.*//
-/./{ s/.//; p; }
-# Just s/.//p would work if we knew we were running under the -n option.
-# Using l vs p would kind of do \ continuations, but would break strings.
-g
-
-: pop
-s/[^~]*~//
-b next
-
-: load
-s/\(.*|?.\)\(.\)/\20~\1/
-s/^\(.\)0\(.*|r\1\([^~|]*\)~\)/\1\3\2/
-s/.//
-b next
-
-: Load
-s/\(.*|?.\)\(.\)/\2\1/
-s/^\(.\)\(.*|r\1\)\([^~|]*~\)/|\3\2/
-/^|/!i\
-register empty
-s/.//
-b next
-
-: save
-s/\(.*|?.\)\(.\)/\2\1/
-/^\(.\).*|r\1/ !s/\(.\).*|/&r\1|/
-/|?S/ s/\(.\).*|r\1/&~/
-s/\(.\)\([^~]*~\)\(.*|r\1\)[^~|]*~\{0,1\}/\3\2/
-b next
-
-: quit
-t quit
-s/|?[^~]*~[^~]*~/|?q/
-t next
-# Really should be using the -n option to avoid printing a final newline.
-s/.*|P\([^|]*\).*/\1/
-q
-
-: break
-s/[0-9]*/&;987654321009;/
-: break1
-s/^\([^;]*\)\([1-9]\)\(0*\)\([^1]*\2\(.\)[^;]*\3\(9*\).*|?.\)[^~]*~/\1\5\6\4/
-t break1
-b pop
-
-: input
-N
-s/|??\(.*\)\(\n.*\)/|?\2~\1/
-b next
-
-: count
-/|?Z/ s/~.*//
-/^-\{0,1\}[0-9]*\.\{0,1\}[0-9]\{1,\}$/ s/[-.0]*\([^.]*\)\.*/\1/
-/|?X/ s/-*[0-9A-F]*\.*\([0-9A-F]*\).*/\1/
-s/|.*//
-/~/ s/[^~]//g
-
-s/./a/g
-: count1
- s/a\{10\}/b/g
- s/b*a*/&a9876543210;/
- s/a.\{9\}\(.\).*;/\1/
- y/b/a/
-/a/b count1
-G
-/|?z/ s/\n/&~/
-s/\n[^~]*//
-b next
-
-: trunc
-# for efficiency, doesn't pad with 0s, so 10k 2 5/ returns just .40
-# The X* here and in a couple other places works around a SunOS 4.x sed bug.
-s/\([^.~]*\.*\)\(.*|K\([^|]*\)\)/\3;9876543210009909:\1,\2/
-: trunc1
- s/^\([^;]*\)\([1-9]\)\(0*\)\([^1]*\2\(.\)[^:]*X*\3\(9*\)[^,]*\),\([0-9]\)/\1\5\6\4\7,/
-t trunc1
-s/[^:]*:\([^,]*\)[^~]*/\1/
-b normal
-
-: number
-s/\(.*|?\)\(_\{0,1\}[0-9A-F]*\.\{0,1\}[0-9A-F]*\)/\2~\1~/
-s/^_/-/
-/^[^A-F~]*~.*|I10|/b normal
-/^[-0.]*~/b normal
-s:\([^.~]*\)\.*\([^~]*\):[Ilb^lbk/,\1\2~0A1B2C3D4E5F1=11223344556677889900;.\2:
-: digit
- s/^\([^,]*\),\(-*\)\([0-F]\)\([^;]*\(.\)\3[^1;]*\(1*\)\)/I*+\1\2\6\5~,\2\4/
-t digit
-s:...\([^/]*.\)\([^,]*\)[^.]*\(.*|?.\):\2\3KSb[99]k\1]SaSaXSbLalb0<aLakLbktLbk:
-b next
-
-: string
-/|?[^]]*$/N
-s/\(|?[^]]*\)\[\([^]]*\)]/\1|{\2|}/
-/|?\[/b string
-s/\(.*|?\)|{\(.*\)|}/\2~\1[/
-s/|{/[/g
-s/|}/]/g
-b next
-
-: binop
-/^[^~|]*~[^|]/ !i\
-stack empty
-//!b next
-/^-\{0,1\}[0-9]*\.\{0,1\}[0-9]\{1,\}~/ !s/[^~]*\(.*|?!*[^!=<>]\)/0\1/
-/^[^~]*~-\{0,1\}[0-9]*\.\{0,1\}[0-9]\{1,\}~/ !s/~[^~]*\(.*|?!*[^!=<>]\)/~0\1/
-h
-/|?\*/b mul
-/|?\//b div
-/|?%/b rem
-/|?^/b exp
-
-/|?[+-]/ s/^\(-*\)\([^~]*~\)\(-*\)\([^~]*~\).*|?\(-\{0,1\}\).*/\2\4s\3o\1\3\5/
-s/\([^.~]*\)\([^~]*~[^.~]*\)\(.*\)/<\1,\2,\3|=-~.0,123456789<></
-/^<\([^,]*,[^~]*\)\.*0*~\1\.*0*~/ s/</=/
-: cmp1
- s/^\(<[^,]*\)\([0-9]\),\([^,]*\)\([0-9]\),/\1,\2\3,\4/
-t cmp1
-/^<\([^~]*\)\([^~]\)[^~]*~\1\(.\).*|=.*\3.*\2/ s/</>/
-/|?/{
- s/^\([<>]\)\(-[^~]*~-.*\1\)\(.\)/\3\2/
- s/^\(.\)\(.*|?!*\)\1/\2!\1/
- s/|?![^!]\(.\)/&l\1x/
- s/[^~]*~[^~]*~\(.*|?\)!*.\(.*\)|=.*/\1\2/
- b next
-}
-s/\(-*\)\1|=.*/;9876543210;9876543210/
-/o-/ s/;9876543210/;0123456789/
-s/^>\([^~]*~\)\([^~]*~\)s\(-*\)\(-*o\3\(-*\)\)/>\2\1s\5\4/
-
-s/,\([0-9]*\)\.*\([^,]*\),\([0-9]*\)\.*\([0-9]*\)/\1,\2\3.,\4;0/
-: right1
- s/,\([0-9]\)\([^,]*\),;*\([0-9]\)\([0-9]*\);*0*/\1,\2\3,\4;0/
-t right1
-s/.\([^,]*\),~\(.*\);0~s\(-*\)o-*/\1~\30\2~/
-
-: addsub1
- s/\(.\{0,1\}\)\(~[^,]*\)\([0-9]\)\(\.*\),\([^;]*\)\(;\([^;]*\(\3[^;]*\)\).*X*\1\(.*\)\)/\2,\4\5\9\8\7\6/
- s/,\([^~]*~\).\{10\}\(.\)[^;]\{0,9\}\([^;]\{0,1\}\)[^;]*/,\2\1\3/
-# could be done in one s/// if we could have >9 back-refs...
-/^~.*~;/!b addsub1
-
-: endbin
-s/.\([^,]*\),\([0-9.]*\).*/\1\2/
-G
-s/\n[^~]*~[^~]*//
-
-: normal
-s/^\(-*\)0*\([0-9.]*[0-9]\)[^~]*/\1\2/
-s/^[^1-9~]*~/0~/
-b next
-
-: mul
-s/\(-*\)\([0-9]*\)\.*\([0-9]*\)~\(-*\)\([0-9]*\)\.*\([0-9]*\).*|K\([^|]*\).*/\1\4\2\5.!\3\6,|\2<\3~\5>\6:\7;9876543210009909/
-
-: mul1
- s/![0-9]\([^<]*\)<\([0-9]\{0,1\}\)\([^>]*\)>\([0-9]\{0,1\}\)/0!\1\2<\3\4>/
- /![0-9]/ s/\(:[^;]*\)\([1-9]\)\(0*\)\([^0]*\2\(.\).*X*\3\(9*\)\)/\1\5\6\4/
-/<~[^>]*>:0*;/!t mul1
-
-s/\(-*\)\1\([^>]*\).*/;\2^>:9876543210aaaaaaaaa/
-
-: mul2
- s/\([0-9]~*\)^/^\1/
- s/<\([0-9]*\)\(.*[~^]\)\([0-9]*\)>/\1<\2>\3/
-
- : mul3
- s/>\([0-9]\)\(.*\1.\{9\}\(a*\)\)/\1>\2;9\38\37\36\35\34\33\32\31\30/
- s/\(;[^<]*\)\([0-9]\)<\([^;]*\).*\2[0-9]*\(.*\)/\4\1<\2\3/
- s/a[0-9]/a/g
- s/a\{10\}/b/g
- s/b\{10\}/c/g
- /|0*[1-9][^>]*>0*[1-9]/b mul3
-
- s/;/a9876543210;/
- s/a.\{9\}\(.\)[^;]*\([^,]*\)[0-9]\([.!]*\),/\2,\1\3/
- y/cb/ba/
-/|<^/!b mul2
-b endbin
-
-: div
-# CDDET
-/^[-.0]*[1-9]/ !i\
-divide by 0
-//!b pop
-s/\(-*\)\([0-9]*\)\.*\([^~]*~-*\)\([0-9]*\)\.*\([^~]*\)/\2.\3\1;0\4.\5;0/
-: div1
- s/^\.0\([^.]*\)\.;*\([0-9]\)\([0-9]*\);*0*/.\1\2.\3;0/
- s/^\([^.]*\)\([0-9]\)\.\([^;]*;\)0*\([0-9]*\)\([0-9]\)\./\1.\2\30\4.\5/
-t div1
-s/~\(-*\)\1\(-*\);0*\([^;]*[0-9]\)[^~]*/~123456789743222111~\2\3/
-s/\(.\(.\)[^~]*\)[^9]*\2.\{8\}\(.\)[^~]*/\3~\1/
-s,|?.,&SaSadSaKdlaZ+LaX-1+[sb1]Sbd1>bkLatsbLa[dSa2lbla*-*dLa!=a]dSaxsakLasbLb*t,
-b next
-
-: rem
-s,|?%,&Sadla/LaKSa[999]k*Lak-,
-b next
-
-: exp
-# This decimal method is just a little faster than the binary method done
-# totally in dc: 1LaKLb [kdSb*LbK]Sb [[.5]*d0ktdSa<bkd*KLad1<a]Sa d1<a kk*
-/^[^~]*\./i\
-fraction in exponent ignored
-s,[^-0-9].*,;9d**dd*8*d*d7dd**d*6d**d5d*d*4*d3d*2lbd**1lb*0,
-: exp1
- s/\([0-9]\);\(.*\1\([d*]*\)[^l]*\([^*]*\)\(\**\)\)/;dd*d**d*\4\3\5\2/
-t exp1
-G
-s,-*.\{9\}\([^9]*\)[^0]*0.\(.*|?.\),\2~saSaKdsaLb0kLbkK*+k1\1LaktsbkLax,
-s,|?.,&SadSbdXSaZla-SbKLaLadSb[0Lb-d1lb-*d+K+0kkSb[1Lb/]q]Sa0>a[dk]sadK<a[Lb],
-b next
-
-: sqrt
-# first square root using sed: 8k2v at 1:30am Dec 17, 1996
-/^-/i\
-square root of negative number
-/^[-0]/b next
-s/~.*//
-/^\./ s/0\([0-9]\)/\1/g
-/^\./ !s/[0-9][0-9]/7/g
-G
-s/\n/~/
-s,|?.,&K1+k KSbSb[dk]SadXdK<asadlb/lb+[.5]*[sbdlb/lb+[.5]*dlb>a]dsaxsasaLbsaLatLbk K1-kt,
-b next
-
-# END OF GSU dc.sed
diff --git a/sources/host-tools/sed-4.2.1/testsuite/distrib.good b/sources/host-tools/sed-4.2.1/testsuite/distrib.good
deleted file mode 100644
index a6a8426..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/distrib.good
+++ /dev/null
@@ -1,29 +0,0 @@
-Path: mailnewsgateway
-From crash@cygnus.com Wed Mar 8 18: 02:42 1995
-From: crash@cygnus.com (Jason Molenda)
-Message-ID: <9503090202.AA06931.alt.buddha.fat.short.guy@phydeaux.cygnus.com>
-Subject: Note for sed testsuite
-Original-To: molenda@msi.umn.edu
-Date: Wed, 8 Mar 1995 18:02:24 -0800 (PST)
-X-Mailer: ELM [version 2.4 PL23]
-Newsgroups: alt.buddha.short.fat.guy
-Distribution: world
-Sender: news@cygnus.com
-Approved: alt.buddha.short.fat.guy@cygnus.com
-
- _Summum Bonum_
-
- All the breath and the bloom of the
- year in the bag of one bee:
- All the wonder and wealth of the mine in
- the heart of one gem:
- In the core of one pearl all the shade and the
- shine of the sea:
- Breath and bloom, shade and shine, -- wonder,
- wealth, and -- how far above them --
- Truth, thats brighter than gem,
- Trust, that's purer than pearl, --
- Brightest truth, purest trust in the universe --
- all were for me
- In the kiss of one girl.
- -- Robert Browning
diff --git a/sources/host-tools/sed-4.2.1/testsuite/distrib.inp b/sources/host-tools/sed-4.2.1/testsuite/distrib.inp
deleted file mode 100644
index ceaecec..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/distrib.inp
+++ /dev/null
@@ -1,28 +0,0 @@
-From crash@cygnus.com Wed Mar 8 18:02:42 1995
-Received: from s1.msi.umn.edu (s1.msi.umn.edu [128.101.24.1]) by cygnus.com (8.6.9/8.6.9) with ESMTP id SAA21692 for <crash@cygnus.com>; Wed, 8 Mar 1995 18:02:41 -0800
-Received: from cygint.cygnus.com (cygint.cygnus.com [140.174.1.1]) by s1.msi.umn.edu (8.6.10/8.6.9) with ESMTP id TAA13398 for <molenda@msi.umn.edu>; Wed, 8 Mar 1995 19:59:18 -0600
-Received: from phydeaux.cygnus.com (phydeaux.cygnus.com [140.174.1.85]) by cygnus.com (8.6.9/8.6.9) with SMTP id SAA21688 for <molenda@msi.umn.edu>; Wed, 8 Mar 1995 18:02:33 -0800
-From: Jason Molenda <crash@cygnus.com>
-Received: by phydeaux.cygnus.com (5.65/4.7) id AA06931; Wed, 8 Mar 1995 18:02:28 -0800
-Message-Id: <9503090202.AA06931@phydeaux.cygnus.com>
-Subject: Note for sed testsuite
-To: molenda@msi.umn.edu
-Date: Wed, 8 Mar 1995 18:02:24 -0800 (PST)
-X-Mailer: ELM [version 2.4 PL23]
-
- _Summum Bonum_
-
- All the breath and the bloom of the
- year in the bag of one bee:
- All the wonder and wealth of the mine in
- the heart of one gem:
- In the core of one pearl all the shade and the
- shine of the sea:
- Breath and bloom, shade and shine, -- wonder,
- wealth, and -- how far above them --
- Truth, thats brighter than gem,
- Trust, that's purer than pearl, --
- Brightest truth, purest trust in the universe --
- all were for me
- In the kiss of one girl.
- -- Robert Browning
diff --git a/sources/host-tools/sed-4.2.1/testsuite/distrib.sed b/sources/host-tools/sed-4.2.1/testsuite/distrib.sed
deleted file mode 100644
index 918b30f..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/distrib.sed
+++ /dev/null
@@ -1,56 +0,0 @@
-# This is straight out of C News
-#
-#
-# All this does is massage the headers so they look like what news
-# software expects. To:, Cc: and Resent-*: headers are masked.
-# Reply-To: is turned into references, which is questionable (could
-# just as well be dropped.
-#
-# The From: line is rewritten to use the "address (comments)" form
-# instead of "phrase <route>" form our mailer uses. Also, addresses
-# with no "@domainname" are assumed to originate locally, and so are
-# given a domain.
-#
-# The Sender: field below reflects the address of the person who
-# maintains our mailing lists. The Approved: field is in a special
-# form, so that we can do bidirectional gatewaying. Any message
-# in a newsgroup that bears this stamp will not be fed into the
-# matching mailing list.
-
-1i\
-Path: mailnewsgateway
- :a
- /^[Rr]eceived:/b r
- /^[Nn]ewsgroups:/b r
- /^[Pp]ath:/b r
- /^[Tt][Oo]:/s/^/Original-/
- /^[Cc][Cc]:/s/^/Original-/
- /^[Rr][Ee][Ss][Ee][Nn][Tt]-.*/s/^/Original-/
- /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:/s/@/.alt.buddha.fat.short.guy@/
- s/^[Ii]n-[Rr]eply-[Tt]o:/References:/
- /^From:/{
- s/<\([^@]*\)>$/<\1@$thissite>/
- s/^From:[ ][ ]*\(.*\) *<\(.*\)>$/From: \2 (\1)/
- }
- s/-[Ii]d:/-ID:/
- s/^[Ss][Uu][Bb][Jj][Ee][Cc][Tt]:[ ]*$/Subject: (none)/
- s/^\([^:]*:\)[ ]*/\1 /
- /^$/{i\
-Newsgroups: alt.buddha.short.fat.guy\
-Distribution: world\
-Sender: news@cygnus.com\
-Approved: alt.buddha.short.fat.guy@cygnus.com
- b e
- }
- p
- n
- b a
- :r
- s/.*//g
- n
- /^[ ]/b r
- b a
- :e
- p
- n
- b e
diff --git a/sources/host-tools/sed-4.2.1/testsuite/distrib.sh b/sources/host-tools/sed-4.2.1/testsuite/distrib.sh
deleted file mode 100644
index dbadbdc..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/distrib.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-#
-# This is stolen from C News
-#
-
-
-#
-# All this does is massage the headers so they look like what news
-# software expects. To:, Cc: and Resent-*: headers are masked.
-# Reply-To: is turned into references, which is questionable (could
-# just as well be dropped.
-#
-# The From: line is rewritten to use the "address (comments)" form
-# instead of "phrase <route>" form our mailer uses. Also, addresses
-# with no "@domainname" are assumed to originate locally, and so are
-# given a domain.
-#
-# The Sender: field below reflects the address of the person who
-# maintains our mailing lists. The Approved: field is in a special
-# form, so that we can do bidirectional gatewaying. Any message
-# in a newsgroup that bears this stamp will not be fed into the
-# matching mailing list.
-
-sed=${1-sed}
-
-$sed -n -e "1{i\\
-Path: mailnewsgateway
- }" \
- -e ":a
- /^[Rr]eceived:/b r
- /^[Nn]ewsgroups:/b r
- /^[Pp]ath:/b r
- /^[Tt][Oo]:/s/^/Original-/
- /^[Cc][Cc]:/s/^/Original-/
- /^[Rr][Ee][Ss][Ee][Nn][Tt]-.*/s/^/Original-/
- /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:/s/@/.alt.buddha.fat.short.guy@/
- s/^[Ii]n-[Rr]eply-[Tt]o:/References:/
- /^From:/{
- s/<\([^@]*\)>\$/<\1@$thissite>/
- s/^From:[ ][ ]*\(.*\) *<\(.*\)>\$/From: \2 (\1)/
- }
- s/-[Ii]d:/-ID:/
- s/^[Ss][Uu][Bb][Jj][Ee][Cc][Tt]:[ ]*$/Subject: (none)/
- s/^\([^:]*:\)[ ]*/\1 /
- /^\$/{i\\
-Newsgroups: alt.buddha.short.fat.guy\\
-Distribution: world\\
-Sender: news@cygnus.com\\
-Approved: alt.buddha.short.fat.guy@cygnus.com
- b e
- }
- p
- n
- b a
- :r
- s/.*//g
- n
- /^[ ]/b r
- b a
- :e
- p
- n
- b e"
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dollar.good b/sources/host-tools/sed-4.2.1/testsuite/dollar.good
deleted file mode 100644
index 23e072a..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dollar.good
+++ /dev/null
@@ -1,4 +0,0 @@
-I can't quite remember where I heard it,
-but I can't seem to get out of my head
-the phrase
-space the final frontier
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dollar.inp b/sources/host-tools/sed-4.2.1/testsuite/dollar.inp
deleted file mode 100644
index 9267e98..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dollar.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-I can't quite remember where I heard it,
-but I can't seem to get out of my head
-the phrase
-the final frontier
diff --git a/sources/host-tools/sed-4.2.1/testsuite/dollar.sed b/sources/host-tools/sed-4.2.1/testsuite/dollar.sed
deleted file mode 100644
index 5fbb35c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/dollar.sed
+++ /dev/null
@@ -1 +0,0 @@
-$s/^/space /
diff --git a/sources/host-tools/sed-4.2.1/testsuite/empty.good b/sources/host-tools/sed-4.2.1/testsuite/empty.good
deleted file mode 100644
index 07e1a15..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/empty.good
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/empty.inp b/sources/host-tools/sed-4.2.1/testsuite/empty.inp
deleted file mode 100644
index 07e1a15..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/empty.inp
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/empty.sed b/sources/host-tools/sed-4.2.1/testsuite/empty.sed
deleted file mode 100644
index b35aed6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/empty.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/^ *//
diff --git a/sources/host-tools/sed-4.2.1/testsuite/enable.good b/sources/host-tools/sed-4.2.1/testsuite/enable.good
deleted file mode 100644
index c6588ba..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/enable.good
+++ /dev/null
@@ -1,3 +0,0 @@
-targets
-x11-testing
-wollybears-in-minnesota
diff --git a/sources/host-tools/sed-4.2.1/testsuite/enable.inp b/sources/host-tools/sed-4.2.1/testsuite/enable.inp
deleted file mode 100644
index 4509a8d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/enable.inp
+++ /dev/null
@@ -1,3 +0,0 @@
---enable-targets=sparc-sun-sunos4.1.3,srec
---enable-x11-testing=on
---enable-wollybears-in-minnesota=yes-id-like-that
diff --git a/sources/host-tools/sed-4.2.1/testsuite/enable.sed b/sources/host-tools/sed-4.2.1/testsuite/enable.sed
deleted file mode 100644
index 0d2a208..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/enable.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# inspired by an autoconf generated configure script.
-s/-*enable-//;s/=.*//
diff --git a/sources/host-tools/sed-4.2.1/testsuite/eval.good b/sources/host-tools/sed-4.2.1/testsuite/eval.good
deleted file mode 100644
index 6fd021b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/eval.good
+++ /dev/null
@@ -1,40 +0,0 @@
-abcd
----
-abcd
----
-abcd
----
-17380: 2 2 5 11 79
-cpu
----
-17380: 2 2 5 11 79
-cpu
----
-17380: 2 2 5 11 79
-cpu
----
- abcd
----
- abcd
----
- abcd
----
-17380: 2 2 5 11 79
- cpu
----
-17380: 2 2 5 11 79
- cpu
----
-17380: 2 2 5 11 79
- cpu
----
-Doing some more tests -----------------------
-17380: 2 2 5 11 79
----
-../sed/sed 1q eval.in2
----
-17380: 2 2 5 11 79
----
-../sed/sed 1q eval.in2
----
-../sed/sed 1q eval.in2
diff --git a/sources/host-tools/sed-4.2.1/testsuite/eval.inp b/sources/host-tools/sed-4.2.1/testsuite/eval.inp
deleted file mode 100644
index 4e30989..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/eval.inp
+++ /dev/null
@@ -1,5 +0,0 @@
-17380: 2 2 5 11 79
-abcd
-cpu
- abcd
- cpu
diff --git a/sources/host-tools/sed-4.2.1/testsuite/eval.sed b/sources/host-tools/sed-4.2.1/testsuite/eval.sed
deleted file mode 100644
index 5734786..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/eval.sed
+++ /dev/null
@@ -1,46 +0,0 @@
-1d
-
- #Try eval command
- /cpu/!b2
- e../sed/sed 1q eval.in2
-
-:2
-p
-i---
-h
-
- #Try eval option
- s,.* *cpu *,../sed/sed 1q eval.in2; echo "&",e
-
-:3
-p
-g
-i---
-
- h
- #Try eval option with print
- s,.* *cpu.*,../sed/sed 1q eval.in2,ep
- g
-
-
-:4
-p
-i---
-
-$!d
-
-#Do some more tests
-s/.*/Doing some more tests -----------------------/p
-s,.*,../sed/sed 1q eval.in2,ep
-i---
-s,.*,../sed/sed 1q eval.in2,pe
-i---
-s,.*,../sed/sed 1q eval.in2,
-h
-e
-p
-g
-i---
-s/^/echo /ep
-i---
-s/^fubar$/echo wozthis/e
diff --git a/sources/host-tools/sed-4.2.1/testsuite/factor.good b/sources/host-tools/sed-4.2.1/testsuite/factor.good
deleted file mode 100644
index c703182..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/factor.good
+++ /dev/null
@@ -1,15 +0,0 @@
-2
-3
-2
-2
-5
-2
-2
-2
-11
-2
-2
-2
-2
-13
-11
diff --git a/sources/host-tools/sed-4.2.1/testsuite/factor.inp b/sources/host-tools/sed-4.2.1/testsuite/factor.inp
deleted file mode 100644
index 1c2e796..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/factor.inp
+++ /dev/null
@@ -1,8 +0,0 @@
-2
-3
-4
-5
-8
-11
-16
-143
diff --git a/sources/host-tools/sed-4.2.1/testsuite/factor.sed b/sources/host-tools/sed-4.2.1/testsuite/factor.sed
deleted file mode 100644
index 4416e35..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/factor.sed
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /bin/sed -nf
-
-s/.*/&;9aaaaaaaaa8aaaaaaaa7aaaaaaa6aaaaaa5aaaaa4aaaa3aaa2aa1a0/
-:encode
-s/\(a*\)\([0-9]\)\([0-9]*;.*\2\(a*\)\)/\1\1\1\1\1\1\1\1\1\1\4\3/
-tencode
-s/;.*//
-
-# Compute a few common factors for speed. Clear the subst flag
-t7a
-
-# These are placed here to make the flow harder to understand :-)
-:2
-a\
-2
-b2a
-:3
-a\
-3
-b3a
-:5
-a\
-5
-b5a
-:7
-a\
-7
-
-:7a
-s/^\(aa*\)\1\{6\}$/\1/
-t7
-:5a
-s/^\(aa*\)\1\{4\}$/\1/
-t5
-:3a
-s/^\(aa*\)\1\1$/\1/
-t3
-:2a
-s/^\(aa*\)\1$/\1/
-t2
-
-/^a$/b
-
-# The quotient of dividing by 11 is a limit to the remaining prime factors
-s/^\(aa*\)\1\{10\}/\1=&/
-
-# Pattern space looks like CANDIDATE\nNUMBER. When a candidate is valid,
-# the number is divided and the candidate is tried again
-:factor
-/^\(a\{7,\}\)=\1\1*$/! {
- # Decrement CANDIDATE, and search again if it is still >1
- s/^a//
- /^aa/b factor
-
- # Print the last remaining factor: since it is stored in the NUMBER
- # rather than in the CANDIDATE, swap 'em: now NUMBER=1
- s/\(.*\)=\(.*\)/\2=\1/
-}
-
-# We have a prime factor in CANDIDATE! Print it
-h
-s/=.*/;;0a1aa2aaa3aaaa4aaaaa5aaaaaa6aaaaaaa7aaaaaaaa8aaaaaaaaa9/
-
-:decode
-s/^\(a*\)\1\{9\}\(a\{0,9\}\)\([0-9]*;.*[^a]\2\([0-9]\)\)/\1\4\3/
-/^a/tdecode
-s/;.*//p
-
-g
-:divide
-s/^\(a*\)\(=b*\)\1/\1\2b/
-tdivide
-y/b/a/
-
-# If NUMBER = 1, we don't have any more factors
-/aa$/bfactor
diff --git a/sources/host-tools/sed-4.2.1/testsuite/fasts.good b/sources/host-tools/sed-4.2.1/testsuite/fasts.good
deleted file mode 100644
index d1c7e4a..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/fasts.good
+++ /dev/null
@@ -1,14 +0,0 @@
-aaaaaabbbbbbaaaaaaa
-bbbbbb
-aaaaaabbbbbbaaaaaaa
-aaaaaabbbbbbaaaaaaa
-aaaaaaabbbbbbaaaaaaa
-aaaaaabbbbbbaaaaaaa
-aaaaaaabbbbbbaaaaaa
-bbbbbbbbbbbbbbbbbbb
-
-bbbbbbbbbbbbbbbbbbb
-bbbbbbbbbbbbbbbbbbb
-bbbbbbbbbbbbbbbbbbb
-bbbbbbbbbbbbbbbbbbb
-bbbbbbbbbbbbbbbbbbbb
diff --git a/sources/host-tools/sed-4.2.1/testsuite/fasts.inp b/sources/host-tools/sed-4.2.1/testsuite/fasts.inp
deleted file mode 100644
index 361e17b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/fasts.inp
+++ /dev/null
@@ -1 +0,0 @@
-aaaaaaabbbbbbaaaaaaa
diff --git a/sources/host-tools/sed-4.2.1/testsuite/fasts.sed b/sources/host-tools/sed-4.2.1/testsuite/fasts.sed
deleted file mode 100644
index 5e482f7..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/fasts.sed
+++ /dev/null
@@ -1,46 +0,0 @@
-# test `fast' substitutions
-
-h
-s/a//
-p
-g
-s/a//g
-p
-g
-s/^a//p
-g
-s/^a//g
-p
-g
-s/not present//g
-p
-g
-s/^[a-z]//g
-p
-g
-s/a$//
-p
-g
-
-y/a/b/
-h
-s/b//
-p
-g
-s/b//g
-p
-g
-s/^b//p
-g
-s/^b//g
-p
-g
-s/^[a-z]//g
-p
-g
-s/b$//
-p
-g
-
-
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/flipcase.good b/sources/host-tools/sed-4.2.1/testsuite/flipcase.good
deleted file mode 100644
index 9fcffa2..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/flipcase.good
+++ /dev/null
@@ -1,25 +0,0 @@
-09 - 02 - 2002 00.00 Tg La7 La7 -
-09 - 02 - 2002 00.00 Brand New Tmc 2 -
-09 - 02 - 2002 00.10 Tg1 Notte Rai Uno -
-09 - 02 - 2002 00.15 Tg Parlamento Rai Due -
-09 - 02 - 2002 00.15 Kung Fu - La Leggenda Continua La7 -
-09 - 02 - 2002 00.20 Berserk - La Confessione Di Gatz Italia 1 Cartoon
-09 - 02 - 2002 00.20 Tg3 - Tg3 Meteo Rai Tre -
-09 - 02 - 2002 00.25 Meteo 2 Rai Due -
-09 - 02 - 2002 00.30 Appuntamento Al Cinema Rai Due -
-09 - 02 - 2002 00.30 Rai Educational - Mediamente Rai Tre -
-09 - 02 - 2002 00.35 Profiler Rai Due -
-09 - 02 - 2002 00.35 Stampa Oggi - Che Tempo Fa Rai Uno -
-09 - 02 - 2002 00.45 Rai Educational - Babele: Euro Rai Uno -
-09 - 02 - 2002 00.45 Bollettino Della Neve Rete 4 News
-09 - 02 - 2002 00.50 Studio Aperto - La Giornata Italia 1 News
-09 - 02 - 2002 00.50 Bocca A Bocca - 2 Tempo Rete 4 Film
-09 - 02 - 2002 01.00 Appuntamento Al Cinema Rai Tre -
-09 - 02 - 2002 01.00 Music Non Stop Tmc 2 -
-09 - 02 - 2002 01.00 Studio Sport Italia 1 Sport
-09 - 02 - 2002 01.00 Tg 5 - Notte Canale 5 News
-09 - 02 - 2002 01.05 Fuori Orario. Cose (Mai) Viste Rai Tre -
-09 - 02 - 2002 01.15 Rainotte Rai Due -
-09 - 02 - 2002 01.15 Sottovoce Rai Uno -
-09 - 02 - 2002 01.15 Giochi Olimpici Invernali - Cerimonia Di Apertura Rai Tre -
-09 - 02 - 2002 01.17 Italia Interroga Rai Due -
diff --git a/sources/host-tools/sed-4.2.1/testsuite/flipcase.inp b/sources/host-tools/sed-4.2.1/testsuite/flipcase.inp
deleted file mode 100644
index f91ec11..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/flipcase.inp
+++ /dev/null
@@ -1,25 +0,0 @@
-09 - 02 - 2002 00.00 Tg La7 La7 -
-09 - 02 - 2002 00.00 Brand New Tmc 2 -
-09 - 02 - 2002 00.10 Tg1 Notte Rai Uno -
-09 - 02 - 2002 00.15 Tg Parlamento Rai Due -
-09 - 02 - 2002 00.15 Kung Fu - La Leggenda Continua La7 -
-09 - 02 - 2002 00.20 Berserk - La CoNFESSIONE Di Gatz Italia 1 Cartoon
-09 - 02 - 2002 00.20 Tg3 - Tg3 Meteo Rai TrE -
-09 - 02 - 2002 00.25 Meteo 2 Rai Due -
-09 - 02 - 2002 00.30 Appuntamento Al CinEMA RaI Due -
-09 - 02 - 2002 00.30 Rai Educational - Mediamente Rai Tre -
-09 - 02 - 2002 00.35 Profiler Rai Due -
-09 - 02 - 2002 00.35 Stampa OggI - Che Tempo Fa Rai Uno -
-09 - 02 - 2002 00.45 Rai Educational - Babele: Euro Rai Uno -
-09 - 02 - 2002 00.45 BollettINO Della NEVE RETE 4 News
-09 - 02 - 2002 00.50 STUDIO Aperto - La Giornata Italia 1 News
-09 - 02 - 2002 00.50 BOCCA A Bocca - 2 Tempo Rete 4 Film
-09 - 02 - 2002 01.00 AppuntAMENTO Al Cinema Rai Tre -
-09 - 02 - 2002 01.00 Music NoN Stop Tmc 2 -
-09 - 02 - 2002 01.00 Studio SpORT Italia 1 SporT
-09 - 02 - 2002 01.00 Tg 5 - Notte Canale 5 News
-09 - 02 - 2002 01.05 Fuori Orario. CosE (Mai) Viste Rai Tre -
-09 - 02 - 2002 01.15 RAINOTTE Rai Due -
-09 - 02 - 2002 01.15 Sottovoce Rai Uno -
-09 - 02 - 2002 01.15 GiOCHI Olimpici InVERNALI - CERIMONIA Di Apertura Rai Tre -
-09 - 02 - 2002 01.17 Italia Interroga Rai Due -
diff --git a/sources/host-tools/sed-4.2.1/testsuite/flipcase.sed b/sources/host-tools/sed-4.2.1/testsuite/flipcase.sed
deleted file mode 100644
index 211d0d0..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/flipcase.sed
+++ /dev/null
@@ -1 +0,0 @@
-s,\([^A-Za-z]*\)\([A-Za-z]*\),\1\L\u\2,g
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/head.good b/sources/host-tools/sed-4.2.1/testsuite/head.good
deleted file mode 100644
index 6392831..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/head.good
+++ /dev/null
@@ -1,3 +0,0 @@
- "...by imposing a tiny bit of order in a communication you are
- translating, you are carving out a little bit of order in the
- universe. You will never succeed. Everything will fail and come
diff --git a/sources/host-tools/sed-4.2.1/testsuite/head.inp b/sources/host-tools/sed-4.2.1/testsuite/head.inp
deleted file mode 100644
index 5c4b4a4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/head.inp
+++ /dev/null
@@ -1,9 +0,0 @@
- "...by imposing a tiny bit of order in a communication you are
- translating, you are carving out a little bit of order in the
- universe. You will never succeed. Everything will fail and come
- to an end finally. But you have a chance to carve a little bit
- of order and maybe even beauty out of the raw materials that
- surround you everywhere, and I think there is no greater meaning
- in life."
-
- Donald L. Philippi, Oct 1930 - Jan 1993
diff --git a/sources/host-tools/sed-4.2.1/testsuite/head.sed b/sources/host-tools/sed-4.2.1/testsuite/head.sed
deleted file mode 100644
index d8ea37d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/head.sed
+++ /dev/null
@@ -1 +0,0 @@
-3q
diff --git a/sources/host-tools/sed-4.2.1/testsuite/inclib.good b/sources/host-tools/sed-4.2.1/testsuite/inclib.good
deleted file mode 100644
index 6b1279a..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/inclib.good
+++ /dev/null
@@ -1,34 +0,0 @@
- /usr/X11R6/include
- /usr/X11R5/include
- /usr/X11R4/include
-
- /usr/include/X11R6
- /usr/include/X11R5
- /usr/include/X11R4
-
- /usr/local/X11R6/include
- /usr/local/X11R5/include
- /usr/local/X11R4/include
-
- /usr/local/include/X11R6
- /usr/local/include/X11R5
- /usr/local/include/X11R4
-
- /usr/X11/include
- /usr/include/X11
- /usr/local/X11/include
- /usr/local/include/X11
-
- /usr/X386/include
- /usr/x386/include
- /usr/XFree86/include/X11
-
- /usr/include
- /usr/local/include
- /usr/unsupported/include
- /usr/athena/include
- /usr/local/x11r5/include
- /usr/lpp/Xamples/include
-
- /usr/openwin/include
- /usr/openwin/share/include
diff --git a/sources/host-tools/sed-4.2.1/testsuite/inclib.inp b/sources/host-tools/sed-4.2.1/testsuite/inclib.inp
deleted file mode 100644
index 552e9e2..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/inclib.inp
+++ /dev/null
@@ -1,34 +0,0 @@
- /usr/X11R6/lib
- /usr/X11R5/lib
- /usr/X11R4/lib
-
- /usr/lib/X11R6
- /usr/lib/X11R5
- /usr/lib/X11R4
-
- /usr/local/X11R6/lib
- /usr/local/X11R5/lib
- /usr/local/X11R4/lib
-
- /usr/local/lib/X11R6
- /usr/local/lib/X11R5
- /usr/local/lib/X11R4
-
- /usr/X11/lib
- /usr/lib/X11
- /usr/local/X11/lib
- /usr/local/lib/X11
-
- /usr/X386/lib
- /usr/x386/lib
- /usr/XFree86/lib/X11
-
- /usr/lib
- /usr/local/lib
- /usr/unsupported/lib
- /usr/athena/lib
- /usr/local/x11r5/lib
- /usr/lpp/Xamples/lib
-
- /usr/openwin/lib
- /usr/openwin/share/lib
diff --git a/sources/host-tools/sed-4.2.1/testsuite/inclib.sed b/sources/host-tools/sed-4.2.1/testsuite/inclib.sed
deleted file mode 100644
index 528f158..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/inclib.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# inspired by an autoconf generated configure script.
-s;lib;include;
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insens.good b/sources/host-tools/sed-4.2.1/testsuite/insens.good
deleted file mode 100644
index 6fd1bc1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insens.good
+++ /dev/null
@@ -1,2 +0,0 @@
-1.2.3
-1.2.3
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insens.inp b/sources/host-tools/sed-4.2.1/testsuite/insens.inp
deleted file mode 100644
index baefc12..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insens.inp
+++ /dev/null
@@ -1 +0,0 @@
-Version: 1.2.3
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insens.sed b/sources/host-tools/sed-4.2.1/testsuite/insens.sed
deleted file mode 100644
index afab9fa..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insens.sed
+++ /dev/null
@@ -1,4 +0,0 @@
-h
-s/Version: *//p
-g
-s/version: *//Ip
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insert.good b/sources/host-tools/sed-4.2.1/testsuite/insert.good
deleted file mode 100644
index 5b6d250..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insert.good
+++ /dev/null
@@ -1,3 +0,0 @@
-bar
-
-foo
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insert.inp b/sources/host-tools/sed-4.2.1/testsuite/insert.inp
deleted file mode 100644
index 1289765..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insert.inp
+++ /dev/null
@@ -1,2 +0,0 @@
-bar
-foo
diff --git a/sources/host-tools/sed-4.2.1/testsuite/insert.sed b/sources/host-tools/sed-4.2.1/testsuite/insert.sed
deleted file mode 100644
index 5f7e611..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/insert.sed
+++ /dev/null
@@ -1 +0,0 @@
-/foo/i\
diff --git a/sources/host-tools/sed-4.2.1/testsuite/khadafy.good b/sources/host-tools/sed-4.2.1/testsuite/khadafy.good
deleted file mode 100644
index e719f4e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/khadafy.good
+++ /dev/null
@@ -1,32 +0,0 @@
-1) Muammar Qaddafi
-2) Mo'ammar Gadhafi
-3) Muammar Kaddafi
-4) Muammar Qadhafi
-5) Moammar El Kadhafi
-6) Muammar Gadafi
-7) Mu'ammar al-Qadafi
-8) Moamer El Kazzafi
-9) Moamar al-Gaddafi
-10) Mu'ammar Al Qathafi
-11) Muammar Al Qathafi
-12) Mo'ammar el-Gadhafi
-13) Moamar El Kadhafi
-14) Muammar al-Qadhafi
-15) Mu'ammar al-Qadhdhafi
-16) Mu'ammar Qadafi
-17) Moamar Gaddafi
-18) Mu'ammar Qadhdhafi
-19) Muammar Khaddafi
-20) Muammar al-Khaddafi
-21) Mu'amar al-Kadafi
-22) Muammar Ghaddafy
-23) Muammar Ghadafi
-24) Muammar Ghaddafi
-25) Muamar Kaddafi
-26) Muammar Quathafi
-27) Muammar Gheddafi
-28) Muamar Al-Kaddafi
-29) Moammar Khadafy
-30) Moammar Qudhafi
-31) Mu'ammar al-Qaddafi
-32) Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi
diff --git a/sources/host-tools/sed-4.2.1/testsuite/khadafy.inp b/sources/host-tools/sed-4.2.1/testsuite/khadafy.inp
deleted file mode 100644
index e719f4e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/khadafy.inp
+++ /dev/null
@@ -1,32 +0,0 @@
-1) Muammar Qaddafi
-2) Mo'ammar Gadhafi
-3) Muammar Kaddafi
-4) Muammar Qadhafi
-5) Moammar El Kadhafi
-6) Muammar Gadafi
-7) Mu'ammar al-Qadafi
-8) Moamer El Kazzafi
-9) Moamar al-Gaddafi
-10) Mu'ammar Al Qathafi
-11) Muammar Al Qathafi
-12) Mo'ammar el-Gadhafi
-13) Moamar El Kadhafi
-14) Muammar al-Qadhafi
-15) Mu'ammar al-Qadhdhafi
-16) Mu'ammar Qadafi
-17) Moamar Gaddafi
-18) Mu'ammar Qadhdhafi
-19) Muammar Khaddafi
-20) Muammar al-Khaddafi
-21) Mu'amar al-Kadafi
-22) Muammar Ghaddafy
-23) Muammar Ghadafi
-24) Muammar Ghaddafi
-25) Muamar Kaddafi
-26) Muammar Quathafi
-27) Muammar Gheddafi
-28) Muamar Al-Kaddafi
-29) Moammar Khadafy
-30) Moammar Qudhafi
-31) Mu'ammar al-Qaddafi
-32) Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi
diff --git a/sources/host-tools/sed-4.2.1/testsuite/khadafy.sed b/sources/host-tools/sed-4.2.1/testsuite/khadafy.sed
deleted file mode 100644
index 8ac81c0..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/khadafy.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# The Khadafy test is brought to you by Scott Anderson . . .
-/M[ou]'\{0,1\}am\{1,2\}[ae]r .*\([AEae]l[- ]\)\{0,1\}[GKQ]h\{0,1\}[aeu]\{1,\}\([dtz][dhz]\{0,1\}\)\{1,\}af[iy]/!d
diff --git a/sources/host-tools/sed-4.2.1/testsuite/linecnt.good b/sources/host-tools/sed-4.2.1/testsuite/linecnt.good
deleted file mode 100644
index 3cc1bd6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/linecnt.good
+++ /dev/null
@@ -1,110 +0,0 @@
-1
-A dialogue on poverty
-2
-
-3
- On the night when the rain beats,
-4
- Driven by the wind,
-5
- On the night when the snowflakes mingle
-6
- With a sleety rain,
-7
- I feel so helplessly cold.
-8
- I nibble at a lump of salt,
-9
- Sip the hot, oft-diluted dregs of _sake_;
-10
- And coughing, snuffling,
-11
- And stroking my scanty beard,
-12
- I say in my pride,
-13
- "There's none worthy, save I!"
-14
- But I shiver still with cold.
-15
- I pull up my hempen bedclothes,
-16
- Wear what few sleeveless clothes I have,
-17
- But cold and bitter is the night!
-18
- As for those poorer than myself,
-19
- Their parents must be cold and hungry,
-20
- Their wives and children beg and cry.
-21
- Then, how do you struggle through life?
-22
-
-23
- Wide as they call the heaven and earth,
-24
- For me they have shrunk quite small;
-25
- Bright though they call the sun and moon,
-26
- They never shine for me.
-27
- Is it the same with all men,
-28
- Or for me alone?
-29
- By rare chance I was born a man
-30
- And no meaner than my fellows,
-31
- But, wearing unwadded sleeveless clothes
-32
- In tatters, like weeds waving in the sea,
-33
- Hanging from my shoulders,
-34
- And under the sunken roof,
-35
- Within the leaning walls,
-36
- Here I lie on straw
-37
- Spread on bare earth,
-38
- With my parents at my pillow,
-39
- And my wife and children at my feet,
-40
- All huddled in grief and tears.
-41
- No fire sends up smoke
-42
- At the cooking-place,
-43
- And in the cauldron
-44
- A spider spins its web.
-45
- With not a grain to cook,
-46
- We moan like the night thrush.
-47
- Then, "to cut," as the saying is,
-48
- "The ends of what is already too short,"
-49
- The village headman comes,
-50
- With rod in hand, to our sleeping place,
-51
- Growling for his dues.
-52
- Must it be so hopeless --
-53
- The way of this world?
-54
-
-55
- -- Yamanoue Okura
diff --git a/sources/host-tools/sed-4.2.1/testsuite/linecnt.inp b/sources/host-tools/sed-4.2.1/testsuite/linecnt.inp
deleted file mode 100644
index 9eb6070..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/linecnt.inp
+++ /dev/null
@@ -1,55 +0,0 @@
-A dialogue on poverty
-
- On the night when the rain beats,
- Driven by the wind,
- On the night when the snowflakes mingle
- With a sleety rain,
- I feel so helplessly cold.
- I nibble at a lump of salt,
- Sip the hot, oft-diluted dregs of _sake_;
- And coughing, snuffling,
- And stroking my scanty beard,
- I say in my pride,
- "There's none worthy, save I!"
- But I shiver still with cold.
- I pull up my hempen bedclothes,
- Wear what few sleeveless clothes I have,
- But cold and bitter is the night!
- As for those poorer than myself,
- Their parents must be cold and hungry,
- Their wives and children beg and cry.
- Then, how do you struggle through life?
-
- Wide as they call the heaven and earth,
- For me they have shrunk quite small;
- Bright though they call the sun and moon,
- They never shine for me.
- Is it the same with all men,
- Or for me alone?
- By rare chance I was born a man
- And no meaner than my fellows,
- But, wearing unwadded sleeveless clothes
- In tatters, like weeds waving in the sea,
- Hanging from my shoulders,
- And under the sunken roof,
- Within the leaning walls,
- Here I lie on straw
- Spread on bare earth,
- With my parents at my pillow,
- And my wife and children at my feet,
- All huddled in grief and tears.
- No fire sends up smoke
- At the cooking-place,
- And in the cauldron
- A spider spins its web.
- With not a grain to cook,
- We moan like the night thrush.
- Then, "to cut," as the saying is,
- "The ends of what is already too short,"
- The village headman comes,
- With rod in hand, to our sleeping place,
- Growling for his dues.
- Must it be so hopeless --
- The way of this world?
-
- -- Yamanoue Okura
diff --git a/sources/host-tools/sed-4.2.1/testsuite/linecnt.sed b/sources/host-tools/sed-4.2.1/testsuite/linecnt.sed
deleted file mode 100644
index 3134d36..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/linecnt.sed
+++ /dev/null
@@ -1 +0,0 @@
-=
diff --git a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.good b/sources/host-tools/sed-4.2.1/testsuite/mac-mf.good
deleted file mode 100644
index 9be165d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.good
+++ /dev/null
@@ -1,200 +0,0 @@
-## config:mac-pre.in
-## common Macintosh prefix for all Makefile.in in the Kerberos V5 tree
-
-#
-# MPW-style lines for the MakeFile
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-#
-# This first part is long enough that NFS:Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make
-
-#
-# End of MPW-style lines for MakeFile
-#
-
-WHAT = mac
-
-# Directory syntax Ä
-R=
-C=
-S=:
-U=:
-
-BUILDTOP = :::
-srcdir =
-
-# FIXME Ä This doesn't translate to MPW yet, srcdir must be same as objdir
-# File in object dir can come from either the current dir or srcdir
-#
-# . Ä . "{srcdir}"
-
-# Default rule that puts each file into separate segment
-
-.c.o Ä .c
- {CC} {DepDir}{Default}.c {CFLAGS} -s {Default} -o {TargDir}{Default}.c.o
-
-CPPFLAGS = -i {SRCTOP}:include -i {BUILDTOP}:include -i {SRCTOP}:include:krb5 -i {BUILDTOP}:include:krb5 -i {CIncludes}
-DEFS = {CPPFLAGS}
-CC = c
-LD = link
-# The funny quoting in the LDFLAGS is to avoid xxx.c.o being mangled by
-# mac-mf.sed into xxx.c.o
-LDFLAGS=-t MPST -c "MPS " -sym on {Libraries}"Runtime."o {CLibraries}"StdClib."o {Libraries}"ToolLibs."o {Libraries}"Interface."o
-CCOPTS =
-LIBS =
-KRB5ROOT= @KRB5ROOT@
-KRB4=@KRB4@
-INSTALL=Duplicate -y
-INSTALL_PROGRAM=Duplicate -y
-INSTALL_DATA=Duplicate -y
-INSTALL_SETUID=Duplicate -y
-
-KRB5MANROOT = {KRB5ROOT}{S}man
-ADMIN_BINDIR = {KRB5ROOT}{S}admin
-SERVER_BINDIR = {KRB5ROOT}{S}sbin
-CLIENT_BINDIR = {KRB5ROOT}{S}bin
-ADMIN_MANDIR = {KRB5MANROOT}{S}man8
-SERVER_MANDIR = {KRB5MANROOT}{S}man8
-CLIENT_MANDIR = {KRB5MANROOT}{S}man1
-FILE_MANDIR = {KRB5MANROOT}{S}man5
-KRB5_LIBDIR = {KRB5ROOT}{S}lib
-KRB5_INCDIR = {KRB5ROOT}{S}include
-KRB5_INCSUBDIRS = ¶
- {KRB5_INCDIR}{S}krb5 ¶
- {KRB5_INCDIR}{S}asn.1 ¶
- {KRB5_INCDIR}{S}kerberosIV
-
-
-RM = Delete -y -i
-CP = Duplicate -y
-MV = mv -f
-CHMOD=chmod
-RANLIB = @RANLIB@
-ARCHIVE = @ARCHIVE@
-ARADD = @ARADD@
-LN = @LN_S@
-AWK = @AWK@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-YACC = @YACC@
-
-# FIXME Ä This won't work for srcdir != objdir. But on the Mac, there
-# is no easy way to build a relative or absolute path, because Ä means
-# both the path separator, and the "go up a directory" indicator
-#SRCTOP = {srcdir}{S}{BUILDTOP}
-SRCTOP = {BUILDTOP}
-SUBDIRS = @subdirs@
-
-TOPLIBD = {BUILDTOP}{S}lib
-
-OBJEXT = c.o
-LIBEXT = a
-EXEEXT =
-
-all ÄÄ
-# Generated automatically from Makefile.in by configure
-CFLAGS = {CCOPTS} {DEFS} -i ::des
-
-##DOSBUILDTOP = ..\..\:
-##DOSLIBNAME=..\crypto.lib
-##DOS!include {BUILDTOP}\config\windows.in
-
-OBJS= md5.{OBJEXT} md5glue.{OBJEXT} md5crypto.{OBJEXT}
-
-SRCS= md5.c md5glue.c md5crypto.c
-
-all ÄÄ {OBJS}
-
-t_mddriver Ä t_mddriver.c.o md5.c.o
- Link {LDFLAGS} -o t_mddriver t_mddriver.c.o md5.c.o
-
-t_mddriver.exe Ä
- {CC} {CFLAGS2} -o t_mddriver.exe t_mddriver.c md5.c
-
-check ÄÄ t_mddriver{EXEEXT}
- {C}t_mddriver{EXEEXT} -x
-
-clean ÄÄ
- {RM} t_mddriver{EXEEXT} t_mddriver.{OBJEXT}
-# config:post.in
-# put all ÄÄ first just in case no other rules occur here
-#
-all ÄÄ
-
-check ÄÄ
-
-clean ÄÄ clean-{WHAT}
- {RM} config.log pre.c.out post.c.out Makefile.c.out
-
-clean-unix ÄÄ
- if test -n "{OBJS}" ; then {RM} {OBJS}; else Ä ; fi
-
-clean-windows ÄÄ
- {RM} Å.{OBJEXT}
- {RM} msvc.pdb Å.err
diff --git a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.inp b/sources/host-tools/sed-4.2.1/testsuite/mac-mf.inp
deleted file mode 100644
index 3adaee2..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.inp
+++ /dev/null
@@ -1,200 +0,0 @@
-## config/mac-pre.in
-## common Macintosh prefix for all Makefile.in in the Kerberos V5 tree.
-
-#
-# MPW-style lines for the MakeFile.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-#
-# This first part is long enough that NFS/Share doesn't notice the non-ASCII
-# characters in the rest of the file, so it claims that the file is type
-# TEXT, which is what we want. The non-ASCII chars are necessary for MPW
-# Make.
-
-#
-# End of MPW-style lines for MakeFile.
-#
-
-WHAT = mac
-
-# Directory syntax:
-R=
-C=
-S=:
-U=:
-
-BUILDTOP = ../../..
-srcdir = .
-
-# FIXME: This doesn't translate to MPW yet, srcdir must be same as objdir.
-# File in object dir can come from either the current dir or srcdir.
-#
-# . : . "{srcdir}"
-
-# Default rule that puts each file into separate segment.
-
-.c.o: .c
- {CC} {DepDir}{Default}.c {CFLAGS} -s {Default} -o {TargDir}{Default}.c.o
-
-CPPFLAGS = -I$(SRCTOP)/include -I$(BUILDTOP)/include -I$(SRCTOP)/include/krb5 -I$(BUILDTOP)/include/krb5 -i {CIncludes}
-DEFS = $(CPPFLAGS)
-CC = c
-LD = link
-# The funny quoting in the LDFLAGS is to avoid xxx.o being mangled by
-# mac-mf.sed into xxx.c.o.
-LDFLAGS=-t MPST -c "MPS " -sym on {Libraries}"Runtime."o {CLibraries}"StdClib."o {Libraries}"ToolLibs."o {Libraries}"Interface."o
-CCOPTS =
-LIBS =
-KRB5ROOT= @KRB5ROOT@
-KRB4=@KRB4@
-INSTALL=Duplicate -y
-INSTALL_PROGRAM=Duplicate -y
-INSTALL_DATA=Duplicate -y
-INSTALL_SETUID=Duplicate -y
-
-KRB5MANROOT = $(KRB5ROOT)$(S)man
-ADMIN_BINDIR = $(KRB5ROOT)$(S)admin
-SERVER_BINDIR = $(KRB5ROOT)$(S)sbin
-CLIENT_BINDIR = $(KRB5ROOT)$(S)bin
-ADMIN_MANDIR = $(KRB5MANROOT)$(S)man8
-SERVER_MANDIR = $(KRB5MANROOT)$(S)man8
-CLIENT_MANDIR = $(KRB5MANROOT)$(S)man1
-FILE_MANDIR = $(KRB5MANROOT)$(S)man5
-KRB5_LIBDIR = $(KRB5ROOT)$(S)lib
-KRB5_INCDIR = $(KRB5ROOT)$(S)include
-KRB5_INCSUBDIRS = \
- $(KRB5_INCDIR)$(S)krb5 \
- $(KRB5_INCDIR)$(S)asn.1 \
- $(KRB5_INCDIR)$(S)kerberosIV
-
-
-RM = Delete -y -i
-CP = Duplicate -y
-MV = mv -f
-CHMOD=chmod
-RANLIB = @RANLIB@
-ARCHIVE = @ARCHIVE@
-ARADD = @ARADD@
-LN = @LN_S@
-AWK = @AWK@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-YACC = @YACC@
-
-# FIXME: This won't work for srcdir != objdir. But on the Mac, there
-# is no easy way to build a relative or absolute path, because : means
-# both the path separator, and the "go up a directory" indicator.
-#SRCTOP = $(srcdir)$(S)$(BUILDTOP)
-SRCTOP = $(BUILDTOP)
-SUBDIRS = @subdirs@
-
-TOPLIBD = $(BUILDTOP)$(S)lib
-
-OBJEXT = c.o
-LIBEXT = a
-EXEEXT =
-
-all::
-# Generated automatically from Makefile.in by configure.
-CFLAGS = $(CCOPTS) $(DEFS) -I$(srcdir)/../des
-
-##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
-##DOS!include $(BUILDTOP)\config\windows.in
-
-OBJS= md5.$(OBJEXT) md5glue.$(OBJEXT) md5crypto.$(OBJEXT)
-
-SRCS= $(srcdir)/md5.c $(srcdir)/md5glue.c $(srcdir)/md5crypto.c
-
-all:: $(OBJS)
-
-t_mddriver: t_mddriver.o md5.o
- $(CC) $(CFLAGS) $(LDFLAGS) -o t_mddriver t_mddriver.o md5.o
-
-t_mddriver.exe:
- $(CC) $(CFLAGS2) -o t_mddriver.exe t_mddriver.c md5.c
-
-check:: t_mddriver$(EXEEXT)
- $(C)t_mddriver$(EXEEXT) -x
-
-clean::
- $(RM) t_mddriver$(EXEEXT) t_mddriver.$(OBJEXT)
-# config/post.in
-# put all:: first just in case no other rules occur here
-#
-all::
-
-check::
-
-clean:: clean-$(WHAT)
- $(RM) config.log pre.out post.out Makefile.out
-
-clean-unix::
- if test -n "$(OBJS)" ; then $(RM) $(OBJS); else :; fi
-
-clean-windows::
- $(RM) *.$(OBJEXT)
- $(RM) msvc.pdb *.err
diff --git a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.sed b/sources/host-tools/sed-4.2.1/testsuite/mac-mf.sed
deleted file mode 100644
index 9b08e60..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/mac-mf.sed
+++ /dev/null
@@ -1,154 +0,0 @@
-# Rewrite default rules from .c.o: to .c.o: .c
-/^\./s/^\(\.[a-z]*\)\(\.[a-z]*\)\( *: *\)$/\1\2\3 \1/
-
-# Change dependency char.
-/::/s/::/ \\Option-f\\Option-f /g
-/:/s/:/ \\Option-f /g
-/^[SU]=/s/ \\Option-f /:/g
-
-# Change syntax of Makefile vars.
-/\$/s/\${\([a-zA-Z0-9_]*\)}/{\1}/g
-/\$/s/\$(\([a-zA-Z0-9_]*\))/{\1}/g
-
-# Change $@ to {targ}
-/\$@/s/\$@/{targ}/g
-
-# Change pathname syntax.
-#
-# If line ends with .. then assume it sets a variable that will
-# be used to prefix something else -- eliminate one colon, assuming
-# that a slash after the ${name} will turn into the missing colon.
-# Mac pathname conventions are IRREGULAR and UGLY!
-/\./s,\.\./\.\.$,::,
-/\./s,\.\.$,:,
-# Same if it ends with . (a single dot); turn it into nothing.
-/\./s,\.$,,g
-# Rules for .. and . elsewhere in the line
-# Convert ../: to ::, recur to get whole paths.
-/\./s,\.\./:,::,g
-# Convert ../../ to :::
-/\./s,\.\./\.\./,:::,g
-/\./s,\.\./,::,g
-/\.\//s,\./,:,g
-/\//s,/,:,g
-
-/=/s/ = \.$/ = :/
-
-# Comment out any explicit srcdir setting.
-# /srcdir/s/^srcdir/# srcdir/
-
-/version/s/^version=/# version=/
-
-/BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"/
-/{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g
-# The original lines screw up -I$(srcdir)/../des by eliminating a colon.
-# Proposed fix: Eliminate srcdir prefixes totally.
-#/{srcdir}:/s/{srcdir}:/"{srcdir}"/g
-/{srcdir}:/s/{srcdir}://g
-#/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g
-
-# Comment out settings of anything set by mpw host config.
-##/CC/s/^CC *=/#CC =/
-##/CFLAGS/s/^CFLAGS *=/#CFLAGS =/
-##/LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/
-
-# Change -I usage.
-/-I/s/-I\./-i :/g
-/-I/s/-I::bfd/-i ::bfd:/g
-/-I/s/-I::include/-i ::include:/g
-/-I/s/-I/-i /g
-
-# Change -D usage.
-/-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g
-
-# Change continuation char.
-/\\$/s/\\$/\\Option-d/
-
-# Change wildcard char.
-/^[^#]/s/\*/\\Option-x/g
-
-# Change path of various types of source files.
-#/\.[chly]/s/\([ ><=]\)\([-a-zA-Z0-9_$:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g
-#/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/g
-# Skip the {s} and {o} business for now...
-# Fix some overenthusiasms.
-#/{s}/s/"{s}""{srcdir}"/"{srcdir}"/g
-#/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g
-#/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g
-#/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g
-#/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g
-#/{s}/s/"{s}":/:/g
-#/{s}/s/^"{s}"//g
-#/^\./s/"{s}"\././g
-
-# Change extension and path of objects, except in the OBJEXT line.
-#/^OBJEXT/!s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g
-#/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/g
-# Skip the {o} stuff for now...
-/^OBJEXT/!s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1\2.c.o/g
-/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/\1.c.o/g
-# Clean up.
-#/\.o/s/"{o}""{o}"/"{o}"/g
-#/{o}/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/g
-
-# Change extension of libs.
-# /\.a/s/lib\([a-z]*\)\.a/lib\1.o/g
-
-# Remove non-echo option.
-/^ -/s/^ -/ /
-
-# Change cp to duplicate.
-# /cp/s/^\([ ]*\)cp /\1Duplicate -d -y /
-# Change mv to rename.
-# /mv/s/^\([ ]*\)mv /\1Rename -y /
-# /Rename/s/^\([ ]*\)Rename -y -f/\1Rename -y/
-# Change rm to delete.
-/^RM=/s/rm -f/Delete -i -y/
-# /rm/s/^\([ ]*\)rm /\1Delete -y /
-# /Delete/s/^\([ ]*\)Delete -y -f/\1Delete -y/
-# Comment out symlinking.
-# /ln/s/^\([ ]*\)ln /\1# ln /
-
-# Remove -c from explicit compiler calls.
-# /-c/s/{CC}\(.*\) -c \(.*\)\([-a-z]*\)\.c/{CC}\1 \2\3.c -o "{o}"\3.c.o/g
-# Don't ask... prev subst seems to omit the second filename.
-# /-o/s/\([-a-z]*\)\.c -o "{o}".c.o/\1\.c -o "{o}"\1.c.o/
-
-# Change linking cc to link.
-/LDFLAGS/ s/{CC} \(.*\){CFLAGS}\(.*\){LDFLAGS}/Link \1 \2 {LDFLAGS}/
-/CFLAGS_LINK/s/{CC} \(.*\){CFLAGS_LINK}\(.*\){LDFLAGS}/Link \1 \2 {LDFLAGS}/
-
-# Comment out .PHONY rules.
-/\.PHONY/s/^\.PHONY/# \.PHONY/
-# Comment out .SUFFIXES rules.
-/\.SUFFIXES/s/^\.SUFFIXES/# \.SUFFIXES/
-# Comment out .PRECIOUS rules.
-/\.PRECIOUS/s/^\.PRECIOUS/# \.PRECIOUS/
-## Comment out default rules.
-##/^\./s/^\(\.[a-z]*\.[a-z]* \)/# \1/
-
-#
-# End of original hack-mf.sed
-#
-# Begin original hack-mf2.sed
-#
-# Transform expressions.
-
-# Set the install program appropriate.
-# /INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/
-
-# Include from the extra-include dir.
-# /^INCLUDES = /s/^INCLUDES = /INCLUDES = -i "{srcroot}"extra-include /
-
-# Yuck - remove unconverted autoconf things.
-# /@/s/@[^ ]*@//g
-
-# Hackery, pure and simple
-# To speed up compiles, remove duplicated -i options.
-/-i/s/\(-i [^ ]*\) \1 /\1 /g
-
-# Note! There are 8-bit characters in the three lines below:
-# 0xc4, 0xb6, 0xc5.
-/Option/s/\\Option-f/Ä/g
-/Option/s/\\Option-d/¶/g
-/Option/s/\\Option-x/Å/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/madding.good b/sources/host-tools/sed-4.2.1/testsuite/madding.good
deleted file mode 100644
index 537ab50..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/madding.good
+++ /dev/null
@@ -1 +0,0 @@
-The girl on the summit of the load sat motionless, surrounded by tables and chairs with their legs upwards, backed by an oak settle, and ornamented in front by pots of geraniums, myrtles, and cactuses, together with a caged canary -- all probably from the windows of the house just vacated. There was also a cat in a willow basket, from the partly-opened lid of which she gazed with half-closed eyes, and affectionately-surveyed the small birds around. The handsome girl waited for some time idly in her place, and the only sound heard in the stillness was the hopping of the canary up and down the perches of its prison. Then she looked attentively downwards. It was not at the bird, nor at the cat; it was at an oblong package tied in paper, and lying between them. She turned her head to learn if the waggoner were coming. He was not yet in sight; and her eyes crept back to the package, her thoughts seeming to run upon what was inside it. At length she drew the article into her lap, and untied the paper covering; a small swing looking- glass was disclosed, in which she proceeded to survey herself attentively. She parted her lips and smiled. It was a fine morning, and the sun lighted up to a scarlet glow the crimson jacket she wore, and painted a soft lustre upon her bright face and dark hair. The myrtles, geraniums, and cactuses packed around her were fresh and green, and at such a leafless season they invested the whole concern of horses, waggon, furniture, and girl with a peculiar vernal charm. What possessed her to indulge in such a performance in the sight of the sparrows, blackbirds, and unperceived farmer who were alone its spectators, -- whether the smile began as a factitious one, to test her capacity in that art, -- nobody knows; it ended certainly in a real smile. She blushed at herself, and seeing her reflection blush, blushed the more. The change from the customary spot and necessary occasion of such an act -- from the dressing hour in a bedroom to a time of travelling out of doors -- lent to the idle deed a novelty it did not intrinsically possess. The picture was a delicate one. Woman's prescriptive infirmity had stalked into the sunlight, which had clothed it in the freshness of an originality. A cynical inference was irresistible by Gabriel Oak as he regarded the scene, generous though he fain would have been. There was no necessity whatever for her looking in the glass. She did not adjust her hat, or pat her hair, or press a dimple into shape, or do one thing to signify that any such intention had been her motive in taking up the glass. She simply observed herself as a fair product of Nature in the feminine kind, her thoughts seeming to glide into far-off though likely dramas in which men would play a part -- vistas of probable triumphs -- the smiles being of a phase suggesting that hearts were imagined as lost and won. Still, this was but conjecture, and the whole series of actions was so idly put forth as to make it rash to assert that intention had any part in them at all. The waggoner's steps were heard returning. She put the glass in the paper, and the whole again into its place. When the waggon had passed on, Gabriel withdrew from his point of espial, and descending into the road, followed the vehicle to the turnpike-gate some way beyond the bottom of the hill, where the object of his contemplation now halted for the payment of toll. About twenty steps still remained between him and the gate, when he heard a dispute. It was a difference concerning twopence between the persons with the waggon and the man at the toll-bar. "Mis'ess's niece is upon the top of the things, and she says that's enough that I've offered ye, you great miser, and she won't pay any more." These were the waggoner's words. "Very well; then mis'ess's niece can't pass," said the turnpike-keeper, closing the gate. Oak looked from one to the other of the disputants, and fell into a reverie. There was something in the tone of twopence remarkably insignificant. Threepence had a definite value as money -- it was an appreciable infringement on a day's wages, and, as such, a higgling matter; but twopence -- "Here," he said, stepping forward and handing twopence to the gatekeeper; "let the young woman pass." He looked up at her then; she heard his words, and looked down. Gabriel's features adhered throughout their form so exactly to the middle line between the beauty of St. John and the ugliness of Judas Iscariot, as represented in a window of the church he attended, that not a single lineament could be selected and called worthy either of distinction or notoriety. The red-jacketed and dark-haired maiden seemed to think so too, for she carelessly glanced over him, and told her man to drive on. She might have looked her thanks to Gabriel on a minute scale, but she did not speak them; more probably she felt none, for in gaining her a passage he had lost her her point, and we know how women take a favour of that kind. The gatekeeper surveyed the retreating vehicle. "That's a handsome maid," he said to Oak. "But she has her faults," said Gabriel. "True, farmer." "And the greatest of them is -- well, what it is always." "Beating people down? ay, 'tis so." "O no." "What, then?" Gabriel, perhaps a little piqued by the comely traveller's indifference, glanced back to where he had witnessed her performance over the hedge, and said, "Vanity, dude."
diff --git a/sources/host-tools/sed-4.2.1/testsuite/madding.inp b/sources/host-tools/sed-4.2.1/testsuite/madding.inp
deleted file mode 100644
index 2367bc8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/madding.inp
+++ /dev/null
@@ -1 +0,0 @@
-The girl on the summit of the load sat motionless, surrounded by tables and chairs with their legs upwards, backed by an oak settle, and ornamented in front by pots of geraniums, myrtles, and cactuses, together with a caged canary -- all probably from the windows of the house just vacated. There was also a cat in a willow basket, from the partly-opened lid of which she gazed with half-closed eyes, and affectionately-surveyed the small birds around. The handsome girl waited for some time idly in her place, and the only sound heard in the stillness was the hopping of the canary up and down the perches of its prison. Then she looked attentively downwards. It was not at the bird, nor at the cat; it was at an oblong package tied in paper, and lying between them. She turned her head to learn if the waggoner were coming. He was not yet in sight; and her eyes crept back to the package, her thoughts seeming to run upon what was inside it. At length she drew the article into her lap, and untied the paper covering; a small swing looking- glass was disclosed, in which she proceeded to survey herself attentively. She parted her lips and smiled. It was a fine morning, and the sun lighted up to a scarlet glow the crimson jacket she wore, and painted a soft lustre upon her bright face and dark hair. The myrtles, geraniums, and cactuses packed around her were fresh and green, and at such a leafless season they invested the whole concern of horses, waggon, furniture, and girl with a peculiar vernal charm. What possessed her to indulge in such a performance in the sight of the sparrows, blackbirds, and unperceived farmer who were alone its spectators, -- whether the smile began as a factitious one, to test her capacity in that art, -- nobody knows; it ended certainly in a real smile. She blushed at herself, and seeing her reflection blush, blushed the more. The change from the customary spot and necessary occasion of such an act -- from the dressing hour in a bedroom to a time of travelling out of doors -- lent to the idle deed a novelty it did not intrinsically possess. The picture was a delicate one. Woman's prescriptive infirmity had stalked into the sunlight, which had clothed it in the freshness of an originality. A cynical inference was irresistible by Gabriel Oak as he regarded the scene, generous though he fain would have been. There was no necessity whatever for her looking in the glass. She did not adjust her hat, or pat her hair, or press a dimple into shape, or do one thing to signify that any such intention had been her motive in taking up the glass. She simply observed herself as a fair product of Nature in the feminine kind, her thoughts seeming to glide into far-off though likely dramas in which men would play a part -- vistas of probable triumphs -- the smiles being of a phase suggesting that hearts were imagined as lost and won. Still, this was but conjecture, and the whole series of actions was so idly put forth as to make it rash to assert that intention had any part in them at all. The waggoner's steps were heard returning. She put the glass in the paper, and the whole again into its place. When the waggon had passed on, Gabriel withdrew from his point of espial, and descending into the road, followed the vehicle to the turnpike-gate some way beyond the bottom of the hill, where the object of his contemplation now halted for the payment of toll. About twenty steps still remained between him and the gate, when he heard a dispute. It was a difference concerning twopence between the persons with the waggon and the man at the toll-bar. "Mis'ess's niece is upon the top of the things, and she says that's enough that I've offered ye, you great miser, and she won't pay any more." These were the waggoner's words. "Very well; then mis'ess's niece can't pass," said the turnpike-keeper, closing the gate. Oak looked from one to the other of the disputants, and fell into a reverie. There was something in the tone of twopence remarkably insignificant. Threepence had a definite value as money -- it was an appreciable infringement on a day's wages, and, as such, a higgling matter; but twopence -- "Here," he said, stepping forward and handing twopence to the gatekeeper; "let the young woman pass." He looked up at her then; she heard his words, and looked down. Gabriel's features adhered throughout their form so exactly to the middle line between the beauty of St. John and the ugliness of Judas Iscariot, as represented in a window of the church he attended, that not a single lineament could be selected and called worthy either of distinction or notoriety. The red-jacketed and dark-haired maiden seemed to think so too, for she carelessly glanced over him, and told her man to drive on. She might have looked her thanks to Gabriel on a minute scale, but she did not speak them; more probably she felt none, for in gaining her a passage he had lost her her point, and we know how women take a favour of that kind. The gatekeeper surveyed the retreating vehicle. "That's a handsome maid," he said to Oak. "But she has her faults," said Gabriel. "True, farmer." "And the greatest of them is -- well, what it is always." "Beating people down? ay, 'tis so." "O no." "What, then?" Gabriel, perhaps a little piqued by the comely traveller's indifference, glanced back to where he had witnessed her performance over the hedge, and said, "Vanity."
diff --git a/sources/host-tools/sed-4.2.1/testsuite/madding.sed b/sources/host-tools/sed-4.2.1/testsuite/madding.sed
deleted file mode 100644
index 5494f2b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/madding.sed
+++ /dev/null
@@ -1,8 +0,0 @@
-# this is from Thomas Hardy's _Far From the Madding Crowd_.
-#
-# cf ftp://ftp.cdrom.com/pub/gutenberg/etext94/crowd10a.txt
-#
-# the point of this test, in case it isn't obvious, is to overfill fixed
-# buffers wherever they might be.
-#
-s/The girl on the summit of the load sat motionless, surrounded by tables and chairs with their legs upwards, backed by an oak settle, and ornamented in front by pots of geraniums, myrtles, and cactuses, together with a caged canary -- all probably from the windows of the house just vacated. There was also a cat in a willow basket, from the partly-opened lid of which she gazed with half-closed eyes, and affectionately-surveyed the small birds around. The handsome girl waited for some time idly in her place, and the only sound heard in the stillness was the hopping of the canary up and down the perches of its prison. Then she looked attentively downwards. It was not at the bird, nor at the cat; it was at an oblong package tied in paper, and lying between them. She turned her head to learn if the waggoner were coming. He was not yet in sight; and her eyes crept back to the package, her thoughts seeming to run upon what was inside it. At length she drew the article into her lap, and untied the paper covering; a small swing looking- glass was disclosed, in which she proceeded to survey herself attentively. She parted her lips and smiled. It was a fine morning, and the sun lighted up to a scarlet glow the crimson jacket she wore, and painted a soft lustre upon her bright face and dark hair. The myrtles, geraniums, and cactuses packed around her were fresh and green, and at such a leafless season they invested the whole concern of horses, waggon, furniture, and girl with a peculiar vernal charm. What possessed her to indulge in such a performance in the sight of the sparrows, blackbirds, and unperceived farmer who were alone its spectators, -- whether the smile began as a factitious one, to test her capacity in that art, -- nobody knows; it ended certainly in a real smile. She blushed at herself, and seeing her reflection blush, blushed the more. The change from the customary spot and necessary occasion of such an act -- from the dressing hour in a bedroom to a time of travelling out of doors -- lent to the idle deed a novelty it did not intrinsically possess. The picture was a delicate one. Woman's prescriptive infirmity had stalked into the sunlight, which had clothed it in the freshness of an originality. A cynical inference was irresistible by Gabriel Oak as he regarded the scene, generous though he fain would have been. There was no necessity whatever for her looking in the glass. She did not adjust her hat, or pat her hair, or press a dimple into shape, or do one thing to signify that any such intention had been her motive in taking up the glass. She simply observed herself as a fair product of Nature in the feminine kind, her thoughts seeming to glide into far-off though likely dramas in which men would play a part -- vistas of probable triumphs -- the smiles being of a phase suggesting that hearts were imagined as lost and won. Still, this was but conjecture, and the whole series of actions was so idly put forth as to make it rash to assert that intention had any part in them at all. The waggoner's steps were heard returning. She put the glass in the paper, and the whole again into its place. When the waggon had passed on, Gabriel withdrew from his point of espial, and descending into the road, followed the vehicle to the turnpike-gate some way beyond the bottom of the hill, where the object of his contemplation now halted for the payment of toll. About twenty steps still remained between him and the gate, when he heard a dispute. It was a difference concerning twopence between the persons with the waggon and the man at the toll-bar. "Mis'ess's niece is upon the top of the things, and she says that's enough that I've offered ye, you great miser, and she won't pay any more." These were the waggoner's words. "Very well; then mis'ess's niece can't pass," said the turnpike-keeper, closing the gate. Oak looked from one to the other of the disputants, and fell into a reverie. There was something in the tone of twopence remarkably insignificant. Threepence had a definite value as money -- it was an appreciable infringement on a day's wages, and, as such, a higgling matter; but twopence -- "Here," he said, stepping forward and handing twopence to the gatekeeper; "let the young woman pass." He looked up at her then; she heard his words, and looked down. Gabriel's features adhered throughout their form so exactly to the middle line between the beauty of St. John and the ugliness of Judas Iscariot, as represented in a window of the church he attended, that not a single lineament could be selected and called worthy either of distinction or notoriety. The red-jacketed and dark-haired maiden seemed to think so too, for she carelessly glanced over him, and told her man to drive on. She might have looked her thanks to Gabriel on a minute scale, but she did not speak them; more probably she felt none, for in gaining her a passage he had lost her her point, and we know how women take a favour of that kind. The gatekeeper surveyed the retreating vehicle. "That's a handsome maid," he said to Oak. "But she has her faults," said Gabriel. "True, farmer." "And the greatest of them is -- well, what it is always." "Beating people down? ay, 'tis so." "O no." "What, then?" Gabriel, perhaps a little piqued by the comely traveller's indifference, glanced back to where he had witnessed her performance over the hedge, and said, "Vanity."/The girl on the summit of the load sat motionless, surrounded by tables and chairs with their legs upwards, backed by an oak settle, and ornamented in front by pots of geraniums, myrtles, and cactuses, together with a caged canary -- all probably from the windows of the house just vacated. There was also a cat in a willow basket, from the partly-opened lid of which she gazed with half-closed eyes, and affectionately-surveyed the small birds around. The handsome girl waited for some time idly in her place, and the only sound heard in the stillness was the hopping of the canary up and down the perches of its prison. Then she looked attentively downwards. It was not at the bird, nor at the cat; it was at an oblong package tied in paper, and lying between them. She turned her head to learn if the waggoner were coming. He was not yet in sight; and her eyes crept back to the package, her thoughts seeming to run upon what was inside it. At length she drew the article into her lap, and untied the paper covering; a small swing looking- glass was disclosed, in which she proceeded to survey herself attentively. She parted her lips and smiled. It was a fine morning, and the sun lighted up to a scarlet glow the crimson jacket she wore, and painted a soft lustre upon her bright face and dark hair. The myrtles, geraniums, and cactuses packed around her were fresh and green, and at such a leafless season they invested the whole concern of horses, waggon, furniture, and girl with a peculiar vernal charm. What possessed her to indulge in such a performance in the sight of the sparrows, blackbirds, and unperceived farmer who were alone its spectators, -- whether the smile began as a factitious one, to test her capacity in that art, -- nobody knows; it ended certainly in a real smile. She blushed at herself, and seeing her reflection blush, blushed the more. The change from the customary spot and necessary occasion of such an act -- from the dressing hour in a bedroom to a time of travelling out of doors -- lent to the idle deed a novelty it did not intrinsically possess. The picture was a delicate one. Woman's prescriptive infirmity had stalked into the sunlight, which had clothed it in the freshness of an originality. A cynical inference was irresistible by Gabriel Oak as he regarded the scene, generous though he fain would have been. There was no necessity whatever for her looking in the glass. She did not adjust her hat, or pat her hair, or press a dimple into shape, or do one thing to signify that any such intention had been her motive in taking up the glass. She simply observed herself as a fair product of Nature in the feminine kind, her thoughts seeming to glide into far-off though likely dramas in which men would play a part -- vistas of probable triumphs -- the smiles being of a phase suggesting that hearts were imagined as lost and won. Still, this was but conjecture, and the whole series of actions was so idly put forth as to make it rash to assert that intention had any part in them at all. The waggoner's steps were heard returning. She put the glass in the paper, and the whole again into its place. When the waggon had passed on, Gabriel withdrew from his point of espial, and descending into the road, followed the vehicle to the turnpike-gate some way beyond the bottom of the hill, where the object of his contemplation now halted for the payment of toll. About twenty steps still remained between him and the gate, when he heard a dispute. It was a difference concerning twopence between the persons with the waggon and the man at the toll-bar. "Mis'ess's niece is upon the top of the things, and she says that's enough that I've offered ye, you great miser, and she won't pay any more." These were the waggoner's words. "Very well; then mis'ess's niece can't pass," said the turnpike-keeper, closing the gate. Oak looked from one to the other of the disputants, and fell into a reverie. There was something in the tone of twopence remarkably insignificant. Threepence had a definite value as money -- it was an appreciable infringement on a day's wages, and, as such, a higgling matter; but twopence -- "Here," he said, stepping forward and handing twopence to the gatekeeper; "let the young woman pass." He looked up at her then; she heard his words, and looked down. Gabriel's features adhered throughout their form so exactly to the middle line between the beauty of St. John and the ugliness of Judas Iscariot, as represented in a window of the church he attended, that not a single lineament could be selected and called worthy either of distinction or notoriety. The red-jacketed and dark-haired maiden seemed to think so too, for she carelessly glanced over him, and told her man to drive on. She might have looked her thanks to Gabriel on a minute scale, but she did not speak them; more probably she felt none, for in gaining her a passage he had lost her her point, and we know how women take a favour of that kind. The gatekeeper surveyed the retreating vehicle. "That's a handsome maid," he said to Oak. "But she has her faults," said Gabriel. "True, farmer." "And the greatest of them is -- well, what it is always." "Beating people down? ay, 'tis so." "O no." "What, then?" Gabriel, perhaps a little piqued by the comely traveller's indifference, glanced back to where he had witnessed her performance over the hedge, and said, "Vanity, dude."/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/manis.good b/sources/host-tools/sed-4.2.1/testsuite/manis.good
deleted file mode 100644
index f349b76..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/manis.good
+++ /dev/null
@@ -1,22 +0,0 @@
-s%@CFLAGS@%%g
-s%@CPPFLAGS@%-I/%g
-s%@CXXFLAGS@%-x c++%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%-L/usr/lib%g
-s%@LIBS@%-lgnu -lbfd%g
-s%@exec_prefix@%%g
-s%@prefix@%$prefix%g
-s%@RANLIB@%$RANLIB%g
-s%@CC@%/usr/local/bin/gcc%g
-s%@CPP@%$CPP%g
-s%@XCFLAGS@%$XCFLAGS%g
-s%@XINCLUDES@%$XINCLUDES%g
-s%@XLIBS@%$XLIBS%g
-s%@XPROGS@%$XPROGS%g
-s%@TCLHDIR@%$TCLHDIR%g
-s%@TCLLIB@%$TCLLIB%g
-s%@TKHDIR@%$TKHDIR%g
-s%@TKLIB@%$TKLIB%g
-s%@PTY_TYPE@%$PTY_TYPE%g
-s%@EVENT_TYPE@%$EVENT_TYPE%g
-s%@SETUID@%$SETUID%g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/manis.inp b/sources/host-tools/sed-4.2.1/testsuite/manis.inp
deleted file mode 100644
index f349b76..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/manis.inp
+++ /dev/null
@@ -1,22 +0,0 @@
-s%@CFLAGS@%%g
-s%@CPPFLAGS@%-I/%g
-s%@CXXFLAGS@%-x c++%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%-L/usr/lib%g
-s%@LIBS@%-lgnu -lbfd%g
-s%@exec_prefix@%%g
-s%@prefix@%$prefix%g
-s%@RANLIB@%$RANLIB%g
-s%@CC@%/usr/local/bin/gcc%g
-s%@CPP@%$CPP%g
-s%@XCFLAGS@%$XCFLAGS%g
-s%@XINCLUDES@%$XINCLUDES%g
-s%@XLIBS@%$XLIBS%g
-s%@XPROGS@%$XPROGS%g
-s%@TCLHDIR@%$TCLHDIR%g
-s%@TCLLIB@%$TCLLIB%g
-s%@TKHDIR@%$TKHDIR%g
-s%@TKLIB@%$TKLIB%g
-s%@PTY_TYPE@%$PTY_TYPE%g
-s%@EVENT_TYPE@%$EVENT_TYPE%g
-s%@SETUID@%$SETUID%g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/manis.sed b/sources/host-tools/sed-4.2.1/testsuite/manis.sed
deleted file mode 100644
index 5017845..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/manis.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-# straight out of an autoconf-generated configure.
-# The input should look just like the input after this is run.
-#
-# Protect against being on the right side of a sed subst in config.status.
-s/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/middle.good b/sources/host-tools/sed-4.2.1/testsuite/middle.good
deleted file mode 100644
index 71f33c1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/middle.good
+++ /dev/null
@@ -1,3 +0,0 @@
- universe. You will never succeed. Everything will fail and come
- to an end finally. But you have a chance to carve a little bit
- of order and maybe even beauty out of the raw materials that
diff --git a/sources/host-tools/sed-4.2.1/testsuite/middle.inp b/sources/host-tools/sed-4.2.1/testsuite/middle.inp
deleted file mode 100644
index 5c4b4a4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/middle.inp
+++ /dev/null
@@ -1,9 +0,0 @@
- "...by imposing a tiny bit of order in a communication you are
- translating, you are carving out a little bit of order in the
- universe. You will never succeed. Everything will fail and come
- to an end finally. But you have a chance to carve a little bit
- of order and maybe even beauty out of the raw materials that
- surround you everywhere, and I think there is no greater meaning
- in life."
-
- Donald L. Philippi, Oct 1930 - Jan 1993
diff --git a/sources/host-tools/sed-4.2.1/testsuite/middle.sed b/sources/host-tools/sed-4.2.1/testsuite/middle.sed
deleted file mode 100644
index 3471789..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/middle.sed
+++ /dev/null
@@ -1 +0,0 @@
-3,5p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/modulo.good b/sources/host-tools/sed-4.2.1/testsuite/modulo.good
deleted file mode 100644
index b42f1ab..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/modulo.good
+++ /dev/null
@@ -1,22 +0,0 @@
-1
-s%@CFLAGS@%%g
-3
-s%@CXXFLAGS@%-x c++%g
-5
-s%@LDFLAGS@%-L/usr/lib%g
-7
-s%@exec_prefix@%%g
-9
-s%@RANLIB@%$RANLIB%g
-11
-s%@CPP@%$CPP%g
-13
-s%@XINCLUDES@%$XINCLUDES%g
-15
-s%@XPROGS@%$XPROGS%g
-17
-s%@TCLLIB@%$TCLLIB%g
-19
-s%@TKLIB@%$TKLIB%g
-21
-s%@EVENT_TYPE@%$EVENT_TYPE%g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/modulo.inp b/sources/host-tools/sed-4.2.1/testsuite/modulo.inp
deleted file mode 100644
index f349b76..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/modulo.inp
+++ /dev/null
@@ -1,22 +0,0 @@
-s%@CFLAGS@%%g
-s%@CPPFLAGS@%-I/%g
-s%@CXXFLAGS@%-x c++%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%-L/usr/lib%g
-s%@LIBS@%-lgnu -lbfd%g
-s%@exec_prefix@%%g
-s%@prefix@%$prefix%g
-s%@RANLIB@%$RANLIB%g
-s%@CC@%/usr/local/bin/gcc%g
-s%@CPP@%$CPP%g
-s%@XCFLAGS@%$XCFLAGS%g
-s%@XINCLUDES@%$XINCLUDES%g
-s%@XLIBS@%$XLIBS%g
-s%@XPROGS@%$XPROGS%g
-s%@TCLHDIR@%$TCLHDIR%g
-s%@TCLLIB@%$TCLLIB%g
-s%@TKHDIR@%$TKHDIR%g
-s%@TKLIB@%$TKLIB%g
-s%@PTY_TYPE@%$PTY_TYPE%g
-s%@EVENT_TYPE@%$EVENT_TYPE%g
-s%@SETUID@%$SETUID%g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/modulo.sed b/sources/host-tools/sed-4.2.1/testsuite/modulo.sed
deleted file mode 100644
index 68b4930..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/modulo.sed
+++ /dev/null
@@ -1 +0,0 @@
-0~2d;=
diff --git a/sources/host-tools/sed-4.2.1/testsuite/newjis.good b/sources/host-tools/sed-4.2.1/testsuite/newjis.good
deleted file mode 100644
index 4de16b0..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/newjis.good
+++ /dev/null
@@ -1,4 +0,0 @@
-$B$H$J$j$NM9JX6I$K(B
-$B$?$F$+$1$?$N$O(B
-$B$?$F$+$1$?$+$C$?$+$i(B
-$B$?$F$+$1$?!#(B
diff --git a/sources/host-tools/sed-4.2.1/testsuite/newjis.inp b/sources/host-tools/sed-4.2.1/testsuite/newjis.inp
deleted file mode 100644
index fc710f6..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/newjis.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-$B$H$J$j$N$?$1$,$-$K(B
-$B$?$F$+$1$?$N$O(B
-$B$?$F$+$1$?$+$C$?$+$i(B
-$B$?$F$+$1$?!#(B
diff --git a/sources/host-tools/sed-4.2.1/testsuite/newjis.sed b/sources/host-tools/sed-4.2.1/testsuite/newjis.sed
deleted file mode 100644
index 1bc941d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/newjis.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/$?$1$,$-/M9JX6I/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeol.good b/sources/host-tools/sed-4.2.1/testsuite/noeol.good
deleted file mode 100644
index fa5fc0e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeol.good
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is uniquewakuwaku
-in that it doeswakuwaku
-end in a newline.wakuwaku
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeol.inp b/sources/host-tools/sed-4.2.1/testsuite/noeol.inp
deleted file mode 100644
index c4cf6a1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeol.inp
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is unique
-in that it does
-end in a newline.
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeol.sed b/sources/host-tools/sed-4.2.1/testsuite/noeol.sed
deleted file mode 100644
index bea7110..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeol.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/$/wakuwaku/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeolw.1good b/sources/host-tools/sed-4.2.1/testsuite/noeolw.1good
deleted file mode 100644
index f0f44d9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeolw.1good
+++ /dev/null
@@ -1,7 +0,0 @@
-This file is unique
-in that it does
-end in a newline.
-This file is unique
-in that it does
-end in a newline.
-in that it does
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeolw.2good b/sources/host-tools/sed-4.2.1/testsuite/noeolw.2good
deleted file mode 100644
index c4cf6a1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeolw.2good
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is unique
-in that it does
-end in a newline.
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeolw.good b/sources/host-tools/sed-4.2.1/testsuite/noeolw.good
deleted file mode 100644
index e76509a..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeolw.good
+++ /dev/null
@@ -1,12 +0,0 @@
-This file is unique
-This file is unique
-in that it does
-in that it does
-end in a newline.
-end in a newline.
-This file is unique
-This file is unique
-in that it does
-in that it does
-end in a newline.
-end in a newline.
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/noeolw.sed b/sources/host-tools/sed-4.2.1/testsuite/noeolw.sed
deleted file mode 100644
index 0924619..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/noeolw.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-w noeolw.1out
-$ {
- x
- w noeolw.1out
- x
-}
-h
-1,3w noeolw.2out
-p
-p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub.good b/sources/host-tools/sed-4.2.1/testsuite/numsub.good
deleted file mode 100644
index 9bdaaef..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub.good
+++ /dev/null
@@ -1 +0,0 @@
-foo foo fo oo f oo foo foo foo foo foo foo foo bar foo foo foo foo foo
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub.inp b/sources/host-tools/sed-4.2.1/testsuite/numsub.inp
deleted file mode 100644
index 6924c98..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub.inp
+++ /dev/null
@@ -1,2 +0,0 @@
-foo foo fo oo f oo foo foo foo foo foo foo foo foo foo foo foo foo foo
-foo foo fo oo f oo foo foo foo foo foo foo foo foo foo foo foo foo foo
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub.sed b/sources/host-tools/sed-4.2.1/testsuite/numsub.sed
deleted file mode 100644
index 4a96cad..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub.sed
+++ /dev/null
@@ -1,7 +0,0 @@
-# the first one matches, the second doesn't
-1s/foo/bar/10
-2s/foo/bar/20
-
-# The second line should be deleted. ssed 3.55-3.58 do not.
-t
-d
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub2.good b/sources/host-tools/sed-4.2.1/testsuite/numsub2.good
deleted file mode 100644
index e69de29..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub2.good
+++ /dev/null
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub2.inp b/sources/host-tools/sed-4.2.1/testsuite/numsub2.inp
deleted file mode 100644
index 8b13789..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub2.inp
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub2.sed b/sources/host-tools/sed-4.2.1/testsuite/numsub2.sed
deleted file mode 100644
index dddead9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub2.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/a*/b/2
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub3.good b/sources/host-tools/sed-4.2.1/testsuite/numsub3.good
deleted file mode 100644
index e69de29..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub3.good
+++ /dev/null
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub3.inp b/sources/host-tools/sed-4.2.1/testsuite/numsub3.inp
deleted file mode 100644
index 8b13789..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub3.inp
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub3.sed b/sources/host-tools/sed-4.2.1/testsuite/numsub3.sed
deleted file mode 100644
index 0ea96a4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub3.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/^a*/b/2
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub4.good b/sources/host-tools/sed-4.2.1/testsuite/numsub4.good
deleted file mode 100644
index e69de29..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub4.good
+++ /dev/null
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub4.inp b/sources/host-tools/sed-4.2.1/testsuite/numsub4.inp
deleted file mode 100644
index b680253..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub4.inp
+++ /dev/null
@@ -1 +0,0 @@
-z
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub4.sed b/sources/host-tools/sed-4.2.1/testsuite/numsub4.sed
deleted file mode 100644
index e76c5bf..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub4.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/^a*/b/2p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub5.good b/sources/host-tools/sed-4.2.1/testsuite/numsub5.good
deleted file mode 100644
index e69de29..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub5.good
+++ /dev/null
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub5.inp b/sources/host-tools/sed-4.2.1/testsuite/numsub5.inp
deleted file mode 100644
index b680253..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub5.inp
+++ /dev/null
@@ -1 +0,0 @@
-z
diff --git a/sources/host-tools/sed-4.2.1/testsuite/numsub5.sed b/sources/host-tools/sed-4.2.1/testsuite/numsub5.sed
deleted file mode 100644
index d8ecda2..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/numsub5.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/a*/b/3p
diff --git a/sources/host-tools/sed-4.2.1/testsuite/ptestcases.h b/sources/host-tools/sed-4.2.1/testsuite/ptestcases.h
deleted file mode 100644
index 506b1cc..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/ptestcases.h
+++ /dev/null
@@ -1,326 +0,0 @@
- { 0, 0, "2.8.2 Regular Expression General Requirement", NULL, },
- { 2, 4, "bb*", "abbbc", },
- { 2, 2, "bb*", "ababbbc", },
- { 7, 9, "A#*::", "A:A#:qA::qA#::qA##::q", },
- { 1, 5, "A#*::", "A##::A#::qA::qA#:q", },
- { 0, 0, "2.8.3.1.2 BRE Special Characters", NULL, },
- { 0, 0, "GA108", NULL, },
- { 2, 2, "\\.", "a.c", },
- { 2, 2, "\\[", "a[c", },
- { 2, 2, "\\\\", "a\\c", },
- { 2, 2, "\\*", "a*c", },
- { 2, 2, "\\^", "a^c", },
- { 2, 2, "\\$", "a$c", },
- { 7, 11, "X\\*Y\\*8", "Y*8X*8X*Y*8", },
- { 0, 0, "GA109", NULL, },
- { 2, 2, "[.]", "a.c", },
- { 2, 2, "[[]", "a[c", },
- { -1, -1, "[[]", "ac", },
- { 2, 2, "[\\]", "a\\c", },
- { 1, 1, "[\\a]", "abc", },
- { 2, 2, "[\\.]", "a\\.c", },
- { 2, 2, "[\\.]", "a.\\c", },
- { 2, 2, "[*]", "a*c", },
- { 2, 2, "[$]", "a$c", },
- { 2, 2, "[X*Y8]", "7*8YX", },
- { 0, 0, "GA110", NULL, },
- { 2, 2, "*", "a*c", },
- { 3, 4, "*a", "*b*a*c", },
- { 1, 5, "**9=", "***9=9", },
- { 0, 0, "GA111", NULL, },
- { 1, 1, "^*", "*bc", },
- { -1, -1, "^*", "a*c", },
- { -1, -1, "^*", "^*ab", },
- { 1, 5, "^**9=", "***9=", },
- { -1, -1, "^*5<*9", "5<9*5<*9", },
- { 0, 0, "GA112", NULL, },
- { 2, 3, "\\(*b\\)", "a*b", },
- { -1, -1, "\\(*b\\)", "ac", },
- { 1, 6, "A\\(**9\\)=", "A***9=79", },
- { 0, 0, "GA113(1)", NULL, },
- { 1, 3, "\\(^*ab\\)", "*ab", },
- { -1, -1, "\\(^*ab\\)", "^*ab", },
- { -1, -1, "\\(^*b\\)", "a*b", },
- { -1, -1, "\\(^*b\\)", "^*b", },
- { 0, 0, "GA114", NULL, },
- { 1, 3, "a^b", "a^b", },
- { 1, 3, "a\\^b", "a^b", },
- { 1, 1, "^^", "^bc", },
- { 2, 2, "\\^", "a^c", },
- { 1, 1, "[c^b]", "^abc", },
- { 1, 1, "[\\^ab]", "^ab", },
- { 2, 2, "[\\^ab]", "c\\d", },
- { -1, -1, "[^^]", "^", },
- { 1, 3, "\\(a^b\\)", "a^b", },
- { 1, 3, "\\(a\\^b\\)", "a^b", },
- { 2, 2, "\\(\\^\\)", "a^b", },
- { 0, 0, "GA115", NULL, },
- { 3, 3, "$$", "ab$", },
- { -1, -1, "$$", "$ab", },
- { 2, 3, "$c", "a$c", },
- { 2, 2, "[$]", "a$c", },
- { 1, 2, "\\$a", "$a", },
- { 3, 3, "\\$$", "ab$", },
- { 2, 6, "A\\([34]$[34]\\)B", "XA4$3BY", },
- { 0, 0, "2.8.3.1.3 Periods in BREs", NULL, },
- { 0, 0, "GA116", NULL, },
- { 1, 1, ".", "abc", },
- { -1, -1, ".ab", "abc", },
- { 1, 3, "ab.", "abc", },
- { 1, 3, "a.b", "a,b", },
- { -1, -1, ".......", "PqRs6", },
- { 1, 7, ".......", "PqRs6T8", },
- { 0, 0, "2.8.3.2 RE Bracket Expression", NULL, },
- { 0, 0, "GA118", NULL, },
- { 2, 2, "[abc]", "xbyz", },
- { -1, -1, "[abc]", "xyz", },
- { 2, 2, "[abc]", "xbay", },
- { 0, 0, "GA119", NULL, },
- { 2, 2, "[^a]", "abc", },
- { 4, 4, "[^]cd]", "cd]ef", },
- { 2, 2, "[^abc]", "axyz", },
- { -1, -1, "[^abc]", "abc", },
- { 3, 3, "[^[.a.]b]", "abc", },
- { 3, 3, "[^[=a=]b]", "abc", },
- { 2, 2, "[^-ac]", "abcde-", },
- { 2, 2, "[^ac-]", "abcde-", },
- { 3, 3, "[^a-b]", "abcde", },
- { 3, 3, "[^a-bd-e]", "dec", },
- { 2, 2, "[^---]", "-ab", },
- { 16, 16, "[^a-zA-Z0-9]", "pqrstVWXYZ23579#", },
- { 0, 0, "GA120(1)", NULL, },
- { 3, 3, "[]a]", "cd]ef", },
- { 1, 1, "[]-a]", "a_b", },
- { 3, 3, "[][.-.]-0]", "ab0-]", },
- { 1, 1, "[]^a-z]", "string", },
- { 0, 0, "GA120(2)", NULL, },
- { 4, 4, "[^]cd]", "cd]ef", },
- { 0, 0, "[^]]*", "]]]]]]]]X", },
- { 0, 0, "[^]]*", "]]]]]]]]", },
- { 9, 9, "[^]]\\{1,\\}", "]]]]]]]]X", },
- { -1, -1, "[^]]\\{1,\\}", "]]]]]]]]", },
- { 0, 0, "GA120(3)", NULL, },
- { 3, 3, "[c[.].]d]", "ab]cd", },
- { 2, 8, "[a-z]*[[.].]][A-Z]*", "Abcd]DEFg", },
- { 0, 0, "GA121", NULL, },
- { 2, 2, "[[.a.]b]", "Abc", },
- { 1, 1, "[[.a.]b]", "aBc", },
- { -1, -1, "[[.a.]b]", "ABc", },
- { 3, 3, "[^[.a.]b]", "abc", },
- { 3, 3, "[][.-.]-0]", "ab0-]", },
- { 3, 3, "[A-[.].]c]", "ab]!", },
- { 0, 0, "GA122", NULL, },
- { -2, -2, "[[.ch.]]", "abc", },
- { -2, -2, "[[.ab.][.CD.][.EF.]]", "yZabCDEFQ9", },
- { 0, 0, "GA125", NULL, },
- { 2, 2, "[[=a=]b]", "Abc", },
- { 1, 1, "[[=a=]b]", "aBc", },
- { -1, -1, "[[=a=]b]", "ABc", },
- { 3, 3, "[^[=a=]b]", "abc", },
- { 0, 0, "GA126", NULL, },
- { 0, 0, NULL, "the expected result for [[:alnum:]]* is 2-7 which is wrong" },
- { 0, 0, "[[:alnum:]]*", " aB28gH", },
- { 2, 7, "[[:alnum:]][[:alnum:]]*", " aB28gH", },
- { 0, 0, NULL, "the expected result for [^[:alnum:]]* is 2-5 which is wrong" },
- { 0, 0, "[^[:alnum:]]*", "2 ,a", },
- { 2, 5, "[^[:alnum:]][^[:alnum:]]*", "2 ,a", },
- { 0, 0, NULL, "the expected result for [[:alpha:]]* is 2-5 which is wrong" },
- { 0, 0, "[[:alpha:]]*", " aBgH2", },
- { 2, 5, "[[:alpha:]][[:alpha:]]*", " aBgH2", },
- { 1, 6, "[^[:alpha:]]*", "2 8,a", },
- { 1, 2, "[[:blank:]]*", " \r", },
- { 1, 8, "[^[:blank:]]*", "aB28gH, ", },
- { 1, 2, "[[:cntrl:]]*", " ", },
- { 1, 8, "[^[:cntrl:]]*", "aB2 8gh,", },
- { 0, 0, NULL, "the expected result for [[:digit:]]* is 2-3 which is wrong" },
- { 0, 0, "[[:digit:]]*", "a28", },
- { 2, 3, "[[:digit:]][[:digit:]]*", "a28", },
- { 1, 8, "[^[:digit:]]*", "aB gH,", },
- { 1, 7, "[[:graph:]]*", "aB28gH, ", },
- { 1, 3, "[^[:graph:]]*", " ,", },
- { 1, 2, "[[:lower:]]*", "agB", },
- { 1, 8, "[^[:lower:]]*", "B2 8H,a", },
- { 1, 8, "[[:print:]]*", "aB2 8gH, ", },
- { 1, 2, "[^[:print:]]*", " ", },
- { 0, 0, NULL, "the expected result for [[:punct:]]* is 2-2 which is wrong" },
- { 0, 0, "[[:punct:]]*", "a,2", },
- { 2, 3, "[[:punct:]][[:punct:]]*", "a,,2", },
- { 1, 9, "[^[:punct:]]*", "aB2 8gH", },
- { 1, 3, "[[:space:]]*", " \r", },
- { 0, 0, NULL, "the expected result for [^[:space:]]* is 2-9 which is wrong" },
- { 0, 0, "[^[:space:]]*", " aB28gH, ", },
- { 2, 9, "[^[:space:]][^[:space:]]*", " aB28gH, ", },
- { 0, 0, NULL, "the expected result for [[:upper:]]* is 2-3 which is wrong" },
- { 0, 0, "[[:upper:]]*", "aBH2", },
- { 2, 3, "[[:upper:]][[:upper:]]*", "aBH2", },
- { 1, 8, "[^[:upper:]]*", "a2 8g,B", },
- { 0, 0, NULL, "the expected result for [[:xdigit:]]* is 2-5 which is wrong" },
- { 0, 0, "[[:xdigit:]]*", "gaB28h", },
- { 2, 5, "[[:xdigit:]][[:xdigit:]]*", "gaB28h", },
- { 0, 0, NULL, "the expected result for [^[:xdigit:]]* is 2-7 which is wrong" },
- { 2, 7, "[^[:xdigit:]][^[:xdigit:]]*", "a gH,2", },
- { 0, 0, "GA127", NULL, },
- { -2, -2, "[b-a]", "abc", },
- { 1, 1, "[a-c]", "bbccde", },
- { 2, 2, "[a-b]", "-bc", },
- { 3, 3, "[a-z0-9]", "AB0", },
- { 3, 3, "[^a-b]", "abcde", },
- { 3, 3, "[^a-bd-e]", "dec", },
- { 1, 1, "[]-a]", "a_b", },
- { 2, 2, "[+--]", "a,b", },
- { 2, 2, "[--/]", "a.b", },
- { 2, 2, "[^---]", "-ab", },
- { 3, 3, "[][.-.]-0]", "ab0-]", },
- { 3, 3, "[A-[.].]c]", "ab]!", },
- { 2, 6, "bc[d-w]xy", "abchxyz", },
- { 0, 0, "GA129", NULL, },
- { 1, 1, "[a-cd-f]", "dbccde", },
- { -1, -1, "[a-ce-f]", "dBCCdE", },
- { 2, 4, "b[n-zA-M]Y", "absY9Z", },
- { 2, 4, "b[n-zA-M]Y", "abGY9Z", },
- { 0, 0, "GA130", NULL, },
- { 3, 3, "[-xy]", "ac-", },
- { 2, 4, "c[-xy]D", "ac-D+", },
- { 2, 2, "[--/]", "a.b", },
- { 2, 4, "c[--/]D", "ac.D+b", },
- { 2, 2, "[^-ac]", "abcde-", },
- { 1, 3, "a[^-ac]c", "abcde-", },
- { 3, 3, "[xy-]", "zc-", },
- { 2, 4, "c[xy-]7", "zc-786", },
- { 2, 2, "[^ac-]", "abcde-", },
- { 2, 4, "a[^ac-]c", "5abcde-", },
- { 2, 2, "[+--]", "a,b", },
- { 2, 4, "a[+--]B", "Xa,By", },
- { 2, 2, "[^---]", "-ab", },
- { 4, 6, "X[^---]Y", "X-YXaYXbY", },
- { 0, 0, "2.8.3.3 BREs Matching Multiple Characters", NULL, },
- { 0, 0, "GA131", NULL, },
- { 3, 4, "cd", "abcdeabcde", },
- { 1, 2, "ag*b", "abcde", },
- { -1, -1, "[a-c][e-f]", "abcdef", },
- { 3, 4, "[a-c][e-f]", "acbedf", },
- { 4, 8, "abc*XYZ", "890abXYZ#*", },
- { 4, 9, "abc*XYZ", "890abcXYZ#*", },
- { 4, 15, "abc*XYZ", "890abcccccccXYZ#*", },
- { -1, -1, "abc*XYZ", "890abc*XYZ#*", },
- { 0, 0, "GA132", NULL, },
- { 2, 4, "\\(*bc\\)", "a*bc", },
- { 1, 2, "\\(ab\\)", "abcde", },
- { 1, 10, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", },
- { 3, 8, "43\\(2\\(6\\)*0\\)AB", "654320ABCD", },
- { 3, 9, "43\\(2\\(7\\)*0\\)AB", "6543270ABCD", },
- { 3, 12, "43\\(2\\(7\\)*0\\)AB", "6543277770ABCD", },
- { 0, 0, "GA133", NULL, },
- { 1, 10, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", },
- { -1, -1, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(k\\)\\)\\)\\)\\)\\)\\)\\)", "abcdefghijk", },
- { 0, 0, "GA134", NULL, },
- { 2, 4, "\\(bb*\\)", "abbbc", },
- { 2, 2, "\\(bb*\\)", "ababbbc", },
- { 1, 6, "a\\(.*b\\)", "ababbbc", },
- { 1, 2, "a\\(b*\\)", "ababbbc", },
- { 1, 20, "a\\(.*b\\)c", "axcaxbbbcsxbbbbbbbbc", },
- { 0, 0, "GA135", NULL, },
- { 1, 7, "\\(a\\(b\\(c\\(d\\(e\\)\\)\\)\\)\\)\\4", "abcdededede", },
- { 0, 0, NULL, "POSIX does not really specify whether a\\(b\\)*c\\1 matches acb." },
- { 0, 0, NULL, "back references are supposed to expand to the last match, but what" },
- { 0, 0, NULL, "if there never was a match as in this case?" },
- { -1, -1, "a\\(b\\)*c\\1", "acb", },
- { 1, 11, "\\(a\\(b\\(c\\(d\\(e\\(f\\(g\\)h\\(i\\(j\\)\\)\\)\\)\\)\\)\\)\\)\\9", "abcdefghijjk", },
- { 0, 0, "GA136", NULL, },
- { 0, 0, NULL, "These two tests have the same problem as the test in GA135. No match" },
- { 0, 0, NULL, "of a subexpression, why should the back reference be usable?" },
- { 0, 0, NULL, "1 2 a\\(b\\)*c\\1 acb" },
- { 0, 0, NULL, "4 7 a\\(b\\(c\\(d\\(f\\)*\\)\\)\\)\\4¦xYzabcdePQRST" },
- { -1, -1, "a\\(b\\)*c\\1", "acb", },
- { -1, -1, "a\\(b\\(c\\(d\\(f\\)*\\)\\)\\)\\4", "xYzabcdePQRST", },
- { 0, 0, "GA137", NULL, },
- { -2, -2, "\\(a\\(b\\)\\)\\3", "foo", },
- { -2, -2, "\\(a\\(b\\)\\)\\(a\\(b\\)\\)\\5", "foo", },
- { 0, 0, "GA138", NULL, },
- { 1, 2, "ag*b", "abcde", },
- { 1, 10, "a.*b", "abababvbabc", },
- { 2, 5, "b*c", "abbbcdeabbbbbbcde", },
- { 2, 5, "bbb*c", "abbbcdeabbbbbbcde", },
- { 1, 5, "a\\(b\\)*c\\1", "abbcbbb", },
- { -1, -1, "a\\(b\\)*c\\1", "abbdbd", },
- { 0, 0, "\\([a-c]*\\)\\1", "abcacdef", },
- { 1, 6, "\\([a-c]*\\)\\1", "abcabcabcd", },
- { 1, 2, "a^*b", "ab", },
- { 1, 5, "a^*b", "a^^^b", },
- { 0, 0, "GA139", NULL, },
- { 1, 2, "a\\{2\\}", "aaaa", },
- { 1, 7, "\\([a-c]*\\)\\{0,\\}", "aabcaab", },
- { 1, 2, "\\(a\\)\\1\\{1,2\\}", "aabc", },
- { 1, 3, "\\(a\\)\\1\\{1,2\\}", "aaaabc", },
- { 0, 0, NULL, "the expression \\(\\(a\\)\\1\\)\\{1,2\\} is ill-formed, using \\2" },
- { 1, 4, "\\(\\(a\\)\\2\\)\\{1,2\\}", "aaaabc", },
- { 0, 0, "GA140", NULL, },
- { 1, 2, "a\\{2\\}", "aaaa", },
- { -1, -1, "a\\{2\\}", "abcd", },
- { 0, 0, "a\\{0\\}", "aaaa", },
- { 1, 64, "a\\{64\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", },
- { 0, 0, "GA141", NULL, },
- { 1, 7, "\\([a-c]*\\)\\{0,\\}", "aabcaab", },
- { 0, 0, NULL, "the expected result for \\([a-c]*\\)\\{2,\\} is failure which isn't correct" },
- { 1, 3, "\\([a-c]*\\)\\{2,\\}", "abcdefg", },
- { 1, 3, "\\([a-c]*\\)\\{1,\\}", "abcdefg", },
- { -1, -1, "a\\{64,\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", },
- { 0, 0, "GA142", NULL, },
- { 1, 3, "a\\{2,3\\}", "aaaa", },
- { -1, -1, "a\\{2,3\\}", "abcd", },
- { 0, 0, "\\([a-c]*\\)\\{0,0\\}", "foo", },
- { 1, 63, "a\\{1,63\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", },
- { 0, 0, "2.8.3.4 BRE Precedence", NULL, },
- { 0, 0, "GA143", NULL, },
- { 0, 0, NULL, "There are numerous bugs in the original version." },
- { 2, 19, "\\^\\[[[.].]]\\\\(\\\\1\\\\)\\*\\\\{1,2\\\\}\\$", "a^[]\\(\\1\\)*\\{1,2\\}$b", },
- { 1, 6, "[[=*=]][[=\\=]][[=]=]][[===]][[...]][[:punct:]]", "*\\]=.;", },
- { 1, 6, "[$\\(*\\)^]*", "$\\()*^", },
- { 1, 1, "[\\1]", "1", },
- { 1, 1, "[\\{1,2\\}]", "{", },
- { 0, 0, NULL, "the expected result for \\(*\\)*\\1* is 2-2 which isn't correct" },
- { 0, 0, "\\(*\\)*\\1*", "a*b*11", },
- { 2, 3, "\\(*\\)*\\1*b", "a*b*11", },
- { 0, 0, NULL, "the expected result for \\(a\\(b\\{1,2\\}\\)\\{1,2\\}\\) is 1-5 which isn't correct" },
- { 1, 3, "\\(a\\(b\\{1,2\\}\\)\\{1,2\\}\\)", "abbab", },
- { 1, 5, "\\(a\\(b\\{1,2\\}\\)\\)\\{1,2\\}", "abbab", },
- { 1, 1, "^\\(^\\(^a$\\)$\\)$", "a", },
- { 1, 2, "\\(a\\)\\1$", "aa", },
- { 1, 3, "ab*", "abb", },
- { 1, 4, "ab\\{2,4\\}", "abbbc", },
- { 0, 0, "2.8.3.5 BRE Expression Anchoring", NULL, },
- { 0, 0, "GA144", NULL, },
- { 1, 1, "^a", "abc", },
- { -1, -1, "^b", "abc", },
- { -1, -1, "^[a-zA-Z]", "99Nine", },
- { 1, 4, "^[a-zA-Z]*", "Nine99", },
- { 0, 0, "GA145(1)", NULL, },
- { 1, 2, "\\(^a\\)\\1", "aabc", },
- { -1, -1, "\\(^a\\)\\1", "^a^abc", },
- { 1, 2, "\\(^^a\\)", "^a", },
- { 1, 1, "\\(^^\\)", "^^", },
- { 1, 3, "\\(^abc\\)", "abcdef", },
- { -1, -1, "\\(^def\\)", "abcdef", },
- { 0, 0, "GA146", NULL, },
- { 3, 3, "a$", "cba", },
- { -1, -1, "a$", "abc", },
- { 5, 7, "[a-z]*$", "99ZZxyz", },
- { 0, 0, NULL, "the expected result for [a-z]*$ is failure which isn't correct" },
- { 10, 9, "[a-z]*$", "99ZZxyz99", },
- { 3, 3, "$$", "ab$", },
- { -1, -1, "$$", "$ab", },
- { 3, 3, "\\$$", "ab$", },
- { 0, 0, "GA147(1)", NULL, },
- { -1, -1, "\\(a$\\)\\1", "bcaa", },
- { -1, -1, "\\(a$\\)\\1", "ba$", },
- { -1, -1, "\\(ab$\\)", "ab$", },
- { 1, 2, "\\(ab$\\)", "ab", },
- { 4, 6, "\\(def$\\)", "abcdef", },
- { -1, -1, "\\(abc$\\)", "abcdef", },
- { 0, 0, "GA148", NULL, },
- { 0, 0, "^$", "", },
- { 1, 3, "^abc$", "abc", },
- { -1, -1, "^xyz$", "^xyz^", },
- { -1, -1, "^234$", "^234$", },
- { 1, 9, "^[a-zA-Z0-9]*$", "2aA3bB9zZ", },
- { -1, -1, "^[a-z0-9]*$", "2aA3b#B9zZ", },
diff --git a/sources/host-tools/sed-4.2.1/testsuite/readin.good b/sources/host-tools/sed-4.2.1/testsuite/readin.good
deleted file mode 100644
index 479a444..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/readin.good
+++ /dev/null
@@ -1,19 +0,0 @@
-``Democracy will not come today, this year,
- nor ever through compromise and fear.
-MOO
- I have as much right as the other fellow has
- to stand on my two feet and own the land.
-MOO
- I tire so of hearing people say
- let things take their course,
- tomorrow is another day.
-MOO
- I do not need my freedom when I'm dead.
-MOO
- I cannot live on tomorrow's bread.
-MOO
- Freedom is a strong seed
- planted in a great need.
-MOO
- I live here, too.
-MOO
diff --git a/sources/host-tools/sed-4.2.1/testsuite/readin.inp b/sources/host-tools/sed-4.2.1/testsuite/readin.inp
deleted file mode 100644
index 95fb969..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/readin.inp
+++ /dev/null
@@ -1,14 +0,0 @@
-``Democracy will not come today, this year,
- nor ever through compromise and fear.
- I have as much right as the other fellow has
- to stand on my two feet and own the land.
- I tire so of hearing people say
- let things take their course,
- tomorrow is another day.
- I do not need my freedom when I'm dead.
- I cannot live on tomorrow's bread.
- Freedom is a strong seed
- planted in a great need.
- I live here, too.
- I want freedom just as you.''
- ``The Weary Blues'', Langston Hughes
diff --git a/sources/host-tools/sed-4.2.1/testsuite/readin.sed b/sources/host-tools/sed-4.2.1/testsuite/readin.sed
deleted file mode 100644
index fac07a4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/readin.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-/\.$/r readin.in2
-/too\.$/q
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall.good b/sources/host-tools/sed-4.2.1/testsuite/recall.good
deleted file mode 100644
index 230cc08..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall.good
+++ /dev/null
@@ -1,7 +0,0 @@
-eeefff
-Xeefff
-XYefff
-XYeYff
-XYeYYf
-XYeYYY
-XYeYYY
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall.inp b/sources/host-tools/sed-4.2.1/testsuite/recall.inp
deleted file mode 100644
index ef34b7e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall.inp
+++ /dev/null
@@ -1 +0,0 @@
-eeefff
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall.sed b/sources/host-tools/sed-4.2.1/testsuite/recall.sed
deleted file mode 100644
index c1d7f9c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall.sed
+++ /dev/null
@@ -1,7 +0,0 @@
-# Check that the empty regex recalls the last *executed* regex,
-# not the last *compiled* regex
-p
-s/e/X/p
-:x
-s//Y/p
-/f/bx
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall2.good b/sources/host-tools/sed-4.2.1/testsuite/recall2.good
deleted file mode 100644
index 74c01ea..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall2.good
+++ /dev/null
@@ -1 +0,0 @@
->abb<||>abbbb<
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall2.inp b/sources/host-tools/sed-4.2.1/testsuite/recall2.inp
deleted file mode 100644
index 9046d59..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall2.inp
+++ /dev/null
@@ -1 +0,0 @@
-ababb||abbbabbbb
diff --git a/sources/host-tools/sed-4.2.1/testsuite/recall2.sed b/sources/host-tools/sed-4.2.1/testsuite/recall2.sed
deleted file mode 100644
index f668773..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/recall2.sed
+++ /dev/null
@@ -1,5 +0,0 @@
-# Starting from sed 4.1.3, regexes are compiled with REG_NOSUB
-# if they are used in an address, so that the matcher does not
-# have to obey leftmost-longest. The tricky part is to recompile
-# them if they are then used in a substitution.
-/\(ab*\)\+/ s//>\1</g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/runptests.c b/sources/host-tools/sed-4.2.1/testsuite/runptests.c
deleted file mode 100644
index cbe61cc..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/runptests.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* POSIX regex testsuite from IEEE 2003.2.
- Copyright (C) 1998, 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <regex.h>
-#include <stdio.h>
-#include <string.h>
-
-/* Data structure to describe the tests. */
-struct test
-{
- int start;
- int end;
- const char *reg;
- const char *str;
- int options;
-} tests[] =
-{
-#include "ptestcases.h"
-};
-
-
-int
-main (int argc, char *argv[])
-{
- size_t cnt;
- int errors = 0;
-
- for (cnt = 0; cnt < sizeof (tests) / sizeof (tests[0]); ++cnt)
- if (tests[cnt].str == NULL)
- {
- printf ("\n%s\n%.*s\n", tests[cnt].reg,
- (int) strlen (tests[cnt].reg),
- "-----------------------------------------------------");
- }
- else if (tests[cnt].reg == NULL)
- printf ("!!! %s\n", tests[cnt].str);
- else
- {
- regex_t re;
- regmatch_t match[20];
- int err;
-
- printf ("regexp: \"%s\", string: \"%s\" -> ", tests[cnt].reg,
- tests[cnt].str);
-
- /* Compile the expression. */
- err = regcomp (&re, tests[cnt].reg, tests[cnt].options);
- if (err != 0)
- {
- if (tests[cnt].start == -2)
- puts ("compiling failed, OK");
- else
- {
- char buf[100];
- regerror (err, &re, buf, sizeof (buf));
- printf ("FAIL: %s\n", buf);
- ++errors;
- }
-
- continue;
- }
- else if (tests[cnt].start == -2)
- {
- puts ("compiling suceeds, FAIL");
- errors++;
- continue;
- }
-
- /* Run the actual test. */
- err = regexec (&re, tests[cnt].str, 20, match, 0);
-
- if (err != 0)
- {
- if (tests[cnt].start == -1)
- puts ("no match, OK");
- else
- {
- puts ("no match, FAIL");
- ++errors;
- }
- }
- else
- {
- if (match[0].rm_so == 0 && tests[cnt].start == 0
- && match[0].rm_eo == 0 && tests[cnt].end == 0)
- puts ("match, OK");
- else if (match[0].rm_so + 1 == tests[cnt].start
- && match[0].rm_eo == tests[cnt].end)
- puts ("match, OK");
- else
- {
- printf ("wrong match (%d to %d): FAIL\n",
- match[0].rm_so, match[0].rm_eo);
- ++errors;
- }
- }
-
- /* Free all resources. */
- regfree (&re);
- }
-
- printf ("\n%u tests, %d errors\n", (int) cnt, errors);
-
- return errors != 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/runtest b/sources/host-tools/sed-4.2.1/testsuite/runtest
deleted file mode 100755
index 80ce903..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/runtest
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-: ${MAKE=make}
-: ${srcdir=.}
-: ${SED="../sed/sed"}
-
-makefile="$srcdir/Makefile.tests"
-test=`echo "$@"| sed 's,.*/,,'`
-
-# As a convenience, suppress the output of make if the test passes
-if $MAKE SED="$SED" srcdir="$srcdir" -f "$makefile" $test > $test.test 2>&1; then
- exitcode=0
- rm -f $test.test
-else
- exitcode=$?
-fi
-if test -f $test.skip; then
- exitcode=77
-else
- test -f $test.test && cat $test.test
-fi
-rm -f $test.test $test.skip
-exit $exitcode
diff --git a/sources/host-tools/sed-4.2.1/testsuite/runtests.c b/sources/host-tools/sed-4.2.1/testsuite/runtests.c
deleted file mode 100644
index 2f62315..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/runtests.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/***********************************************************
-
-Copyright 1995 by Tom Lord
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of the copyright holder not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-Tom Lord DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL TOM LORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-******************************************************************/
-
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-
-struct a_test
-{
- int expected;
- const char * pattern;
- const unsigned char * data;
-};
-
-static const struct a_test the_tests[] =
-{
-#include "testcases.h"
- {-1, 0, 0}
-};
-
-
-
-
-static int
-run_a_test (int id, const struct a_test * t)
-{
- static const char * last_pattern = 0;
- static regex_t r;
- int err;
- char errmsg[100];
- int x;
- regmatch_t regs[10];
-
- if (!last_pattern || strcmp (last_pattern, t->pattern))
- {
- if (last_pattern)
- regfree (&r);
- last_pattern = t->pattern;
- err = regcomp (&r, t->pattern, REG_EXTENDED);
- if (err)
- {
- if (t->expected == 2)
- {
- puts (" OK.");
- return 0;
- }
- if (last_pattern)
- regfree (&r);
- last_pattern = NULL;
- regerror (err, &r, errmsg, 100);
- printf (" FAIL: %s.\n", errmsg);
- return 1;
- }
- else if (t->expected == 2)
- {
- printf ("test %d\n", id);
- printf ("pattern \"%s\" successfull compilation not expected\n",
- t->pattern);
- return 1;
- }
- }
-
- for (x = 0; x < 10; ++x)
- regs[x].rm_so = regs[x].rm_eo = -1;
-
- err = regexec (&r, t->data, 10, regs, 0);
-
- if (err != t->expected)
- {
- printf ("test %d\n", id);
- printf ("pattern \"%s\" data \"%s\" wanted %d got %d\n",
- t->pattern, t->data, t->expected, err);
- for (x = 0; x < 10; ++x)
- if (regs[x].rm_so != -1)
- printf ("reg %d == (%d, %d) %.*s\n",
- x,
- regs[x].rm_so,
- regs[x].rm_eo,
- regs[x].rm_eo - regs[x].rm_so,
- t->data + regs[x].rm_so);
- return 1;
- }
- puts (" OK.");
- return 0;
-}
-
-
-
-int
-main (int argc, char * argv[])
-{
- int x;
- int lo;
- int hi;
- int res = 0;
-
- lo = 0;
- hi = (sizeof (the_tests) / sizeof (the_tests[0])) - 1;
-
- if (argc > 1)
- {
- lo = atoi (argv[1]);
- hi = lo + 1;
-
- if (argc > 2)
- hi = atoi (argv[2]);
- }
-
- for (x = lo; x < hi; ++x)
- {
- printf ("#%d:", x);
- res |= run_a_test (x, &the_tests[x]);
- }
- return res != 0;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/sep.good b/sources/host-tools/sed-4.2.1/testsuite/sep.good
deleted file mode 100644
index 7db0e1e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/sep.good
+++ /dev/null
@@ -1,3 +0,0 @@
-
-///
-//
diff --git a/sources/host-tools/sed-4.2.1/testsuite/sep.inp b/sources/host-tools/sed-4.2.1/testsuite/sep.inp
deleted file mode 100644
index 5795f4b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/sep.inp
+++ /dev/null
@@ -1,3 +0,0 @@
-miss mary mack mack//mack/ran down/the track track track
-slashes\aren't%used enough/in/casual-conversation///
-possibly sentences would be more attractive if they ended in two slashes//
diff --git a/sources/host-tools/sed-4.2.1/testsuite/sep.sed b/sources/host-tools/sed-4.2.1/testsuite/sep.sed
deleted file mode 100644
index 4864b81..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/sep.sed
+++ /dev/null
@@ -1,4 +0,0 @@
-# inspired by an autoconf generated configure script.
-s%/[^/][^/]*$%%
-s%[\/][^\/][^\/]*$%%
-s,.*[^\/],,
diff --git a/sources/host-tools/sed-4.2.1/testsuite/space.good b/sources/host-tools/sed-4.2.1/testsuite/space.good
deleted file mode 100644
index 9b267aa..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/space.good
+++ /dev/null
@@ -1,2 +0,0 @@
-Hello_World_!
-SecondXXine__of_tests
diff --git a/sources/host-tools/sed-4.2.1/testsuite/space.inp b/sources/host-tools/sed-4.2.1/testsuite/space.inp
deleted file mode 100644
index 83b0adb..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/space.inp
+++ /dev/null
@@ -1,2 +0,0 @@
-Hello World !
-Second_line_ of tests
diff --git a/sources/host-tools/sed-4.2.1/testsuite/space.sed b/sources/host-tools/sed-4.2.1/testsuite/space.sed
deleted file mode 100644
index 0bfa522..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/space.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/_\S/XX/g;s/\s/_/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/subwrite.inp b/sources/host-tools/sed-4.2.1/testsuite/subwrite.inp
deleted file mode 100644
index 3e910cc..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/subwrite.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-Not some church, and not the state,
-Not some dark capricious fate.
-Who you are, and when you lose,
-Comes only from the things you choose.
diff --git a/sources/host-tools/sed-4.2.1/testsuite/subwrite.sed b/sources/host-tools/sed-4.2.1/testsuite/subwrite.sed
deleted file mode 100644
index 1a4a01d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/subwrite.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/you/YoU/w subwrite.wout
diff --git a/sources/host-tools/sed-4.2.1/testsuite/subwrt1.good b/sources/host-tools/sed-4.2.1/testsuite/subwrt1.good
deleted file mode 100644
index 560b698..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/subwrt1.good
+++ /dev/null
@@ -1,4 +0,0 @@
-Not some church, and not the state,
-Not some dark capricious fate.
-Who YoU are, and when you lose,
-Comes only from the things YoU choose.
diff --git a/sources/host-tools/sed-4.2.1/testsuite/subwrt2.good b/sources/host-tools/sed-4.2.1/testsuite/subwrt2.good
deleted file mode 100644
index c87bb68..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/subwrt2.good
+++ /dev/null
@@ -1,2 +0,0 @@
-Who YoU are, and when you lose,
-Comes only from the things YoU choose.
diff --git a/sources/host-tools/sed-4.2.1/testsuite/testcases.h b/sources/host-tools/sed-4.2.1/testsuite/testcases.h
deleted file mode 100644
index 834f530..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/testcases.h
+++ /dev/null
@@ -1,167 +0,0 @@
- {0, "(.*)*\\1", "xx"},
- {0, "^", ""},
- {0, "$", ""},
- {0, "^$", ""},
- {0, "^a$", "a"},
- {0, "abc", "abc"},
- {1, "abc", "xbc"},
- {1, "abc", "axc"},
- {1, "abc", "abx"},
- {0, "abc", "xabcy"},
- {0, "abc", "ababc"},
- {0, "ab*c", "abc"},
- {0, "ab*bc", "abc"},
- {0, "ab*bc", "abbc"},
- {0, "ab*bc", "abbbbc"},
- {0, "ab+bc", "abbc"},
- {1, "ab+bc", "abc"},
- {1, "ab+bc", "abq"},
- {0, "ab+bc", "abbbbc"},
- {0, "ab?bc", "abbc"},
- {0, "ab?bc", "abc"},
- {1, "ab?bc", "abbbbc"},
- {0, "ab?c", "abc"},
- {0, "^abc$", "abc"},
- {1, "^abc$", "abcc"},
- {0, "^abc", "abcc"},
- {1, "^abc$", "aabc"},
- {0, "abc$", "aabc"},
- {0, "^", "abc"},
- {0, "$", "abc"},
- {0, "a.c", "abc"},
- {0, "a.c", "axc"},
- {0, "a.*c", "axyzc"},
- {1, "a.*c", "axyzd"},
- {1, "a[bc]d", "abc"},
- {0, "a[bc]d", "abd"},
- {1, "a[b-d]e", "abd"},
- {0, "a[b-d]e", "ace"},
- {0, "a[b-d]", "aac"},
- {0, "a[-b]", "a-"},
- {0, "a[b-]", "a-"},
- {2, "a[b-a]", "-"},
- {2, "a[]b", "-"},
- {2, "a[", "-"},
- {0, "a]", "a]"},
- {0, "a[]]b", "a]b"},
- {0, "a[^bc]d", "aed"},
- {1, "a[^bc]d", "abd"},
- {0, "a[^-b]c", "adc"},
- {1, "a[^-b]c", "a-c"},
- {1, "a[^]b]c", "a]c"},
- {0, "a[^]b]c", "adc"},
- {0, "ab|cd", "abc"},
- {0, "ab|cd", "abcd"},
- {0, "()ef", "def"},
- {0, "()*", "-"},
- {2, "*a", "-"},
- {2, "^*", "-"},
- {2, "$*", "-"},
- {2, "(*)b", "-"},
- {1, "$b", "b"},
- {2, "a\\", "-"},
- {0, "a\\(b", "a(b"},
- {0, "a\\(*b", "ab"},
- {0, "a\\(*b", "a((b"},
- {1, "a\\x", "a\\x"},
- {1, "abc)", "-"},
- {2, "(abc", "-"},
- {0, "((a))", "abc"},
- {0, "(a)b(c)", "abc"},
- {0, "a+b+c", "aabbabc"},
- {0, "a**", "-"},
- {0, "a*?", "-"},
- {0, "(a*)*", "-"},
- {0, "(a*)+", "-"},
- {0, "(a|)*", "-"},
- {0, "(a*|b)*", "-"},
- {0, "(a+|b)*", "ab"},
- {0, "(a+|b)+", "ab"},
- {0, "(a+|b)?", "ab"},
- {0, "[^ab]*", "cde"},
- {0, "(^)*", "-"},
- {0, "(ab|)*", "-"},
- {2, ")(", "-"},
- {1, "abc", ""},
- {1, "abc", ""},
- {0, "a*", ""},
- {0, "([abc])*d", "abbbcd"},
- {0, "([abc])*bcd", "abcd"},
- {0, "a|b|c|d|e", "e"},
- {0, "(a|b|c|d|e)f", "ef"},
- {0, "((a*|b))*", "-"},
- {0, "abcd*efg", "abcdefg"},
- {0, "ab*", "xabyabbbz"},
- {0, "ab*", "xayabbbz"},
- {0, "(ab|cd)e", "abcde"},
- {0, "[abhgefdc]ij", "hij"},
- {1, "^(ab|cd)e", "abcde"},
- {0, "(abc|)ef", "abcdef"},
- {0, "(a|b)c*d", "abcd"},
- {0, "(ab|ab*)bc", "abc"},
- {0, "a([bc]*)c*", "abc"},
- {0, "a([bc]*)(c*d)", "abcd"},
- {0, "a([bc]+)(c*d)", "abcd"},
- {0, "a([bc]*)(c+d)", "abcd"},
- {0, "a[bcd]*dcdcde", "adcdcde"},
- {1, "a[bcd]+dcdcde", "adcdcde"},
- {0, "(ab|a)b*c", "abc"},
- {0, "((a)(b)c)(d)", "abcd"},
- {0, "[A-Za-z_][A-Za-z0-9_]*", "alpha"},
- {0, "^a(bc+|b[eh])g|.h$", "abh"},
- {0, "(bc+d$|ef*g.|h?i(j|k))", "effgz"},
- {0, "(bc+d$|ef*g.|h?i(j|k))", "ij"},
- {1, "(bc+d$|ef*g.|h?i(j|k))", "effg"},
- {1, "(bc+d$|ef*g.|h?i(j|k))", "bcdd"},
- {0, "(bc+d$|ef*g.|h?i(j|k))", "reffgz"},
- {1, "((((((((((a))))))))))", "-"},
- {0, "(((((((((a)))))))))", "a"},
- {1, "multiple words of text", "uh-uh"},
- {0, "multiple words", "multiple words, yeah"},
- {0, "(.*)c(.*)", "abcde"},
- {1, "\\((.*),", "(.*)\\)"},
- {1, "[k]", "ab"},
- {0, "abcd", "abcd"},
- {0, "a(bc)d", "abcd"},
- {0, "a[-]?c", "ac"},
- {0, "(....).*\\1", "beriberi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Qaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mo'ammar Gadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Kaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Qadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar El Kadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Gadafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qadafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamer El Kazzafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar al-Gaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Al Qathafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Al Qathafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mo'ammar el-Gadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar El Kadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar al-Qadhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qadhdhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Qadafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moamar Gaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar Qadhdhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Khaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar al-Khaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'amar al-Kadafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghaddafy"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghadafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Ghaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muamar Kaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Quathafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muammar Gheddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Muamar Al-Kaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar Khadafy "},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Moammar Qudhafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mu'ammar al-Qaddafi"},
- {0, "M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy]", "Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi"},
- {0, "[[:digit:]]+", "01234"},
- {1, "[[:alpha:]]+", "01234"},
- {0, "^[[:digit:]]*$", "01234"},
- {1, "^[[:digit:]]*$", "01234a"},
- {0, "^[[:alnum:]]*$", "01234a"},
- {0, "^[[:xdigit:]]*$", "01234a"},
- {1, "^[[:xdigit:]]*$", "01234g"},
- {0, "^[[:alnum:][:space:]]*$", "Hello world"},
diff --git a/sources/host-tools/sed-4.2.1/testsuite/tst-boost.c b/sources/host-tools/sed-4.2.1/testsuite/tst-boost.c
deleted file mode 100644
index b38a620..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/tst-boost.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-void
-frob_escapes (char *src, int pattern)
-{
- char *dst;
-
- for (dst = src; *src != '\0'; dst++, src++)
- {
- if (*src == '\\')
- {
- switch (src[1])
- {
- case 't':
- src++;
- *dst = '\t';
- continue;
- case 'n':
- src++;
- *dst = '\n';
- continue;
- case 'r':
- src++;
- *dst = '\r';
- continue;
- case '\\':
- case '^':
- case '{':
- case '|':
- case '}':
- if (!pattern)
- {
- src++;
- *dst = *src;
- continue;
- }
- break;
- }
- }
- if (src != dst)
- *dst = *src;
- }
- *dst = '\0';
-}
-
-int
-main (int argc, char **argv)
-{
- int ret = 0, n;
- char *line = NULL;
- size_t line_len = 0;
- ssize_t len;
- FILE *f;
- char *pattern, *string;
- int flags = REG_EXTENDED;
- int eflags = 0;
- regex_t re;
- regmatch_t rm[20];
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- if (argc < 2)
- {
- fprintf (stderr, "Missing test filename\n");
- return 1;
- }
-
- f = fopen (argv[1], "r");
- if (f == NULL)
- {
- fprintf (stderr, "Couldn't open %s\n", argv[1]);
- return 1;
- }
-
- while ((len = getline (&line, &line_len, f)) > 0)
- {
- char *p, *q;
- int i;
-
- if (line[len - 1] == '\n')
- line[--len] = '\0';
-
- puts (line);
-
- if (line[0] == ';')
- continue;
-
- if (line[0] == '\0')
- continue;
-
- if (line[0] == '-')
- {
- if (strstr (line, "REG_BASIC"))
- flags = 0;
- else
- flags = REG_EXTENDED;
- if (strstr (line, "REG_ICASE"))
- flags |= REG_ICASE;
- if (strstr (line, "REG_NEWLINE"))
- flags |= REG_NEWLINE;
- eflags = 0;
- if (strstr (line, "REG_NOTBOL"))
- eflags |= REG_NOTBOL;
- if (strstr (line, "REG_NOTEOL"))
- eflags |= REG_NOTEOL;
- continue;
- }
-
- pattern = line + strspn (line, " \t");
- if (*pattern == '\0')
- continue;
- p = pattern + strcspn (pattern, " \t");
- if (*p == '\0')
- continue;
- *p++ = '\0';
-
- string = p + strspn (p, " \t");
- if (*string == '\0')
- continue;
- if (*string == '"')
- {
- string++;
- p = strchr (string, '"');
- if (p == NULL)
- continue;
- *p++ = '\0';
- }
- else
- {
- p = string + strcspn (string, " \t");
- if (*string == '!')
- string = NULL;
- else if (*p == '\0')
- continue;
- else
- *p++ = '\0';
- }
-
- frob_escapes (pattern, 1);
- if (string != NULL)
- frob_escapes (string, 0);
-
- n = regcomp (&re, pattern, flags);
- if (n != 0)
- {
- if (string != NULL)
- {
- char buf[500];
- regerror (n, &re, buf, sizeof (buf));
- printf ("FAIL regcomp unexpectedly failed: %s\n",
- buf);
- ret = 1;
- }
- continue;
- }
- else if (string == NULL)
- {
- regfree (&re);
- puts ("FAIL regcomp unpexpectedly succeeded");
- ret = 1;
- continue;
- }
-
- if (regexec (&re, string, 20, rm, eflags))
- {
- for (i = 0; i < 20; ++i)
- {
- rm[i].rm_so = -1;
- rm[i].rm_eo = -1;
- }
- }
-
- regfree (&re);
-
- for (i = 0; i < 20 && *p != '\0'; ++i)
- {
- int rm_so, rm_eo;
-
- rm_so = strtol (p, &q, 10);
- if (p == q)
- break;
- p = q;
-
- rm_eo = strtol (p, &q, 10);
- if (p == q)
- break;
- p = q;
-
- if (rm[i].rm_so != rm_so || rm[i].rm_eo != rm_eo)
- {
- printf ("FAIL rm[%d] %d..%d != expected %d..%d\n",
- i, rm[i].rm_so, rm[i].rm_eo, rm_so, rm_eo);
- ret = 1;
- break;
- }
- }
- }
-
- free (line);
- fclose (f);
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/tst-pcre.c b/sources/host-tools/sed-4.2.1/testsuite/tst-pcre.c
deleted file mode 100644
index e8c6a0b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/tst-pcre.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-main (int argc, char **argv)
-{
- int ret = 0;
- char *line = NULL;
- size_t line_len = 0;
- ssize_t len;
- FILE *f;
- char *pattern = NULL, *string = NULL;
- regmatch_t rm[20];
- size_t pattern_alloced = 0, string_alloced = 0;
- int ignorecase = 0;
- int pattern_valid = 0, rm_valid = 0;
- size_t linenum;
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- if (argc < 2)
- {
- fprintf (stderr, "Missing test filename\n");
- return 1;
- }
-
- f = fopen (argv[1], "r");
- if (f == NULL)
- {
- fprintf (stderr, "Couldn't open %s\n", argv[1]);
- return 1;
- }
-
- if ((len = getline (&line, &line_len, f)) <= 0
- || strncmp (line, "# PCRE", 6) != 0)
- {
- fprintf (stderr, "Not a PCRE test file\n");
- fclose (f);
- free (line);
- return 1;
- }
-
- linenum = 1;
-
- while ((len = getline (&line, &line_len, f)) > 0)
- {
- char *p;
- unsigned long num;
-
- ++linenum;
-
- if (line[len - 1] == '\n')
- line[--len] = '\0';
-
- if (line[0] == '#')
- continue;
-
- if (line[0] == '\0')
- {
- /* End of test. */
- ignorecase = 0;
- pattern_valid = 0;
- rm_valid = 0;
- continue;
- }
-
- if (line[0] == '/')
- {
- /* Pattern. */
- p = strrchr (line + 1, '/');
-
- pattern_valid = 0;
- rm_valid = 0;
- if (p == NULL)
- {
- printf ("%lu: Invalid pattern line: %s\n", linenum, line);
- ret = 1;
- continue;
- }
-
- if (p[1] == 'i' && p[2] == '\0')
- ignorecase = 1;
- else if (p[1] != '\0')
- {
- printf ("%lu: Invalid pattern line: %s\n", linenum, line);
- ret = 1;
- continue;
- }
-
- if (pattern_alloced < (size_t) (p - line))
- {
- pattern = realloc (pattern, p - line);
- if (pattern == NULL)
- {
- printf ("%lu: Cannot record pattern: %m\n", linenum);
- ret = 1;
- break;
- }
- pattern_alloced = p - line;
- }
-
- memcpy (pattern, line + 1, p - line - 1);
- pattern[p - line - 1] = '\0';
- pattern_valid = 1;
- continue;
- }
-
- if (strncmp (line, " ", 4) == 0)
- {
- regex_t re;
- int n;
-
- if (!pattern_valid)
- {
- printf ("%lu: No previous valid pattern %s\n", linenum, line);
- continue;
- }
-
- if (string_alloced < (size_t) (len - 3))
- {
- string = realloc (string, len - 3);
- if (string == NULL)
- {
- printf ("%lu: Cannot record search string: %m\n", linenum);
- ret = 1;
- break;
- }
- string_alloced = len - 3;
- }
-
- memcpy (string, line + 4, len - 3);
-
- n = regcomp (&re, pattern,
- REG_EXTENDED | (ignorecase ? REG_ICASE : 0));
- if (n != 0)
- {
- char buf[500];
- regerror (n, &re, buf, sizeof (buf));
- printf ("%lu: regcomp failed for %s: %s\n",
- linenum, pattern, buf);
- ret = 1;
- continue;
- }
-
- if (regexec (&re, string, 20, rm, 0))
- {
- rm[0].rm_so = -1;
- rm[0].rm_eo = -1;
- }
-
- regfree (&re);
- rm_valid = 1;
- continue;
- }
-
- if (!rm_valid)
- {
- printf ("%lu: No preceeding pattern or search string\n", linenum);
- ret = 1;
- continue;
- }
-
- if (strcmp (line, "No match") == 0)
- {
- if (rm[0].rm_so != -1 || rm[0].rm_eo != -1)
- {
- printf ("%lu: /%s/ on %s unexpectedly matched %d..%d\n",
- linenum, pattern, string, rm[0].rm_so, rm[0].rm_eo);
- ret = 1;
- }
-
- continue;
- }
-
- p = line;
- if (*p == ' ')
- ++p;
-
- num = strtoul (p, &p, 10);
- if (num >= 20 || *p != ':' || p[1] != ' ')
- {
- printf ("%lu: Invalid line %s\n", linenum, line);
- ret = 1;
- continue;
- }
-
- if (rm[num].rm_so == -1 || rm[num].rm_eo == -1)
- {
- if (strcmp (p + 2, "<unset>") != 0)
- {
- printf ("%lu: /%s/ on %s unexpectedly failed to match register %ld %d..%d\n",
- linenum, pattern, string, num,
- rm[num].rm_so, rm[num].rm_eo);
- ret = 1;
- }
- continue;
- }
-
- if (rm[num].rm_eo < rm[num].rm_so
- || rm[num].rm_eo - rm[num].rm_so != len - (p + 2 - line)
- || strncmp (p + 2, string + rm[num].rm_so,
- rm[num].rm_eo - rm[num].rm_so) != 0)
- {
- printf ("%lu: /%s/ on %s unexpectedly failed to match %s for register %ld %d..%d\n",
- linenum, pattern, string, p + 2, num,
- rm[num].rm_so, rm[num].rm_eo);
- ret = 1;
- continue;
- }
- }
-
- free (pattern);
- free (string);
- free (line);
- fclose (f);
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/tst-regex2.c b/sources/host-tools/sed-4.2.1/testsuite/tst-regex2.c
deleted file mode 100644
index 1dc14ad..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/tst-regex2.c
+++ /dev/null
@@ -1,209 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <errno.h>
-#include <fcntl.h>
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-int
-main (int argc, char *argv[])
-{
- struct stat st;
- static const char *pat[] = {
- ".?.?.?.?.?.?.?argc",
- "(.?)(.?)(.?)(.?)(.?)(.?)(.?)argc",
- "((((((((((.?))))))))))((((((((((.?))))))))))((((((((((.?))))))))))"
- "((((((((((.?))))))))))((((((((((.?))))))))))((((((((((.?))))))))))"
- "((((((((((.?))))))))))argc" };
-
- size_t len;
- int fd;
- int testno, i, j, k, l;
- char *string;
- char *buf;
-
- if (argc < 2)
- abort ();
-
- fd = open (argv[1], O_RDONLY);
- if (fd < 0)
- {
- printf ("Couldn't open %s: %s\n", argv[1], strerror (errno));
- abort ();
- }
-
- if (fstat (fd, &st) < 0)
- {
- printf ("Couldn't fstat %s: %s\n", argv[1], strerror (errno));
- abort ();
- }
-
- buf = malloc (st.st_size + 1);
- if (buf == NULL)
- {
- printf ("Couldn't allocate buffer: %s\n", strerror (errno));
- abort ();
- }
-
- if (read (fd, buf, st.st_size) != (ssize_t) st.st_size)
- {
- printf ("Couldn't read %s", argv[1]);
- abort ();
- }
-
- close (fd);
- buf[st.st_size] = '\0';
-
- string = buf;
- len = st.st_size;
-
- for (testno = 0; testno < 4; ++testno)
- for (i = 0; i < sizeof (pat) / sizeof (pat[0]); ++i)
- {
- regex_t rbuf;
- struct re_pattern_buffer rpbuf;
- int err;
-
- printf ("test %d pattern %d", testno, i);
- if (testno < 2)
- {
- err = regcomp (&rbuf, pat[i],
- REG_EXTENDED | (testno ? REG_NOSUB : 0));
- if (err != 0)
- {
- char errstr[300];
- putchar ('\n');
- regerror (err, &rbuf, errstr, sizeof (errstr));
- puts (errstr);
- return err;
- }
- }
- else
- {
- const char *s;
- re_set_syntax (RE_SYNTAX_POSIX_EGREP
- | (testno == 3 ? RE_NO_SUB : 0));
-
- memset (&rpbuf, 0, sizeof (rpbuf));
- s = re_compile_pattern (pat[i], strlen (pat[i]), &rpbuf);
- if (s != NULL)
- {
- printf ("\n%s\n", s);
- abort ();
- }
-
- /* Just so that this can be tested with earlier glibc as well. */
- if (testno == 3)
- rpbuf.no_sub = 1;
- }
-
- if (testno < 2)
- {
- regmatch_t pmatch[71];
- err = regexec (&rbuf, string, 71, pmatch, 0);
- if (err == REG_NOMATCH)
- {
- puts ("\nregexec failed");
- abort ();
- }
-
- if (testno == 0)
- {
- if (pmatch[0].rm_eo != pmatch[0].rm_so + 11
- || pmatch[0].rm_eo > len
- || string + pmatch[0].rm_so >= strchr (string, 'R')
- || strncmp (string + pmatch[0].rm_so,
- "n (int argc",
- sizeof "n (int argc" - 1)
- != 0)
- {
- puts ("\nregexec without REG_NOSUB did not find the correct match");
- abort ();
- }
-
- if (i > 0)
- for (j = 0, l = 1; j < 7; ++j)
- for (k = 0; k < (i == 1 ? 1 : 10); ++k, ++l)
- if (pmatch[l].rm_so != pmatch[0].rm_so + j
- || pmatch[l].rm_eo != pmatch[l].rm_so + 1)
- {
- printf ("\npmatch[%d] incorrect\n", l);
- abort ();
- }
- }
- }
- else
- {
- struct re_registers regs;
- int match;
-
- memset (®s, 0, sizeof (regs));
- match = re_search (&rpbuf, string, len, 0, len,
- ®s);
- if (match < 0)
- {
- puts ("\nre_search failed");
- abort ();
- }
-
- if (match + 11 > len
- || string + match >= strchr (string, 'R')
- || strncmp (string + match,
- "n (int argc",
- sizeof "n (int argc" - 1)
- != 0)
- {
- puts ("\nre_search did not find the correct match");
- abort ();
- }
-
- if (testno == 2)
- {
- if (regs.num_regs != 2 + (i == 0 ? 0 : i == 1 ? 7 : 70))
- {
- printf ("\nincorrect num_regs %d\n", regs.num_regs);
- abort ();
- }
-
- if (regs.start[0] != match || regs.end[0] != match + 11)
- {
- printf ("\nincorrect regs.{start,end}[0] = { %d, %d}\n",
- regs.start[0], regs.end[0]);
- abort ();
- }
-
- if (regs.start[regs.num_regs - 1] != -1
- || regs.end[regs.num_regs - 1] != -1)
- {
- puts ("\nincorrect regs.{start,end}[num_regs - 1]");
- abort ();
- }
-
- if (i > 0)
- for (j = 0, l = 1; j < 7; ++j)
- for (k = 0; k < (i == 1 ? 1 : 10); ++k, ++l)
- if (regs.start[l] != match + j
- || regs.end[l] != regs.start[l] + 1)
- {
- printf ("\nregs.{start,end}[%d] incorrect\n", l);
- abort ();
- }
- }
- }
-
- putchar ('\n');
-
- if (testno < 2)
- regfree (&rbuf);
- else
- regfree (&rpbuf);
- }
-
- exit (0);
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/tst-rxspencer.c b/sources/host-tools/sed-4.2.1/testsuite/tst-rxspencer.c
deleted file mode 100644
index 758fc04..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/tst-rxspencer.c
+++ /dev/null
@@ -1,560 +0,0 @@
-/* Regular expression tests.
- Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#ifdef HAVE_MCHECK_H
-#include <mcheck.h>
-#endif
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <locale.h>
-#include <getopt.h>
-
-static void
-replace_special_chars (char *str)
-{
- for (; (str = strpbrk (str, "NTSZ")) != NULL; ++str)
- switch (*str)
- {
- case 'N': *str = '\n'; break;
- case 'T': *str = '\t'; break;
- case 'S': *str = ' '; break;
- case 'Z': *str = '\0'; break;
- }
-}
-
-static void
-glibc_re_syntax (char *str)
-{
- char *p, *end = strchr (str, '\0') + 1;
-
- /* Replace [[:<:]] with \< and [[:>:]] with \>. */
- for (p = str; (p = strstr (p, "[[:")) != NULL; )
- if ((p[3] == '<' || p[3] == '>') && strncmp (p + 4, ":]]", 3) == 0)
- {
- p[0] = '\\';
- p[1] = p[3];
- memmove (p + 2, p + 7, end - p - 7);
- end -= 5;
- p += 2;
- }
- else
- p += 3;
-}
-
-static char *
-mb_replace (char *dst, const char c)
-{
- switch (c)
- {
- /* Replace a with \'a and A with \'A. */
- case 'a':
- *dst++ = '\xc3';
- *dst++ = '\xa1';
- break;
- case 'A':
- *dst++ = '\xc3';
- *dst++ = '\x81';
- break;
- /* Replace b with \v{c} and B with \v{C}. */
- case 'b':
- *dst++ = '\xc4';
- *dst++ = '\x8d';
- break;
- case 'B':
- *dst++ = '\xc4';
- *dst++ = '\x8c';
- break;
- /* Replace c with \v{d} and C with \v{D}. */
- case 'c':
- *dst++ = '\xc4';
- *dst++ = '\x8f';
- break;
- case 'C':
- *dst++ = '\xc4';
- *dst++ = '\x8e';
- break;
- /* Replace d with \'e and D with \'E. */
- case 'd':
- *dst++ = '\xc3';
- *dst++ = '\xa9';
- break;
- case 'D':
- *dst++ = '\xc3';
- *dst++ = '\x89';
- break;
- }
- return dst;
-}
-
-static char *
-mb_frob_string (const char *str, const char *letters)
-{
- char *ret, *dst;
- const char *src;
-
- if (str == NULL)
- return NULL;
-
- ret = malloc (2 * strlen (str) + 1);
- if (ret == NULL)
- return NULL;
-
- for (src = str, dst = ret; *src; ++src)
- if (strchr (letters, *src))
- dst = mb_replace (dst, *src);
- else
- *dst++ = *src;
- *dst = '\0';
- return ret;
-}
-
-/* Like mb_frob_string, but don't replace anything between
- [: and :], [. and .] or [= and =]. */
-
-static char *
-mb_frob_pattern (const char *str, const char *letters)
-{
- char *ret, *dst;
- const char *src;
- int in_class = 0;
-
- if (str == NULL)
- return NULL;
-
- ret = malloc (2 * strlen (str) + 1);
- if (ret == NULL)
- return NULL;
-
- for (src = str, dst = ret; *src; ++src)
- if (!in_class && strchr (letters, *src))
- dst = mb_replace (dst, *src);
- else
- {
- if (!in_class && *src == '[' && strchr (":.=", src[1]))
- in_class = 1;
- else if (in_class && *src == ']' && strchr (":.=", src[-1]))
- in_class = 0;
- *dst++ = *src;
- }
- *dst = '\0';
- return ret;
-}
-
-static int
-check_match (regmatch_t *rm, int idx, const char *string,
- const char *match, const char *fail)
-{
- if (match[0] == '-' && match[1] == '\0')
- {
- if (rm[idx].rm_so == -1 && rm[idx].rm_eo == -1)
- return 0;
- printf ("%s rm[%d] unexpectedly matched\n", fail, idx);
- return 1;
- }
-
- if (rm[idx].rm_so == -1 || rm[idx].rm_eo == -1)
- {
- printf ("%s rm[%d] unexpectedly did not match\n", fail, idx);
- return 1;
- }
-
- if (match[0] == '@')
- {
- if (rm[idx].rm_so != rm[idx].rm_eo)
- {
- printf ("%s rm[%d] not empty\n", fail, idx);
- return 1;
- }
-
- if (strncmp (string + rm[idx].rm_so, match + 1, strlen (match + 1)
- ? strlen (match + 1) : 1))
- {
- printf ("%s rm[%d] not matching %s\n", fail, idx, match);
- return 1;
- }
- return 0;
- }
-
- if (rm[idx].rm_eo - rm[idx].rm_so != strlen (match)
- || strncmp (string + rm[idx].rm_so, match,
- rm[idx].rm_eo - rm[idx].rm_so))
- {
- printf ("%s rm[%d] not matching %s\n", fail, idx, match);
- return 1;
- }
-
- return 0;
-}
-
-static int
-test (const char *pattern, int cflags, const char *string, int eflags,
- char *expect, char *matches, const char *fail)
-{
- regex_t re;
- regmatch_t rm[10];
- int n, ret = 0;
-
- n = regcomp (&re, pattern, cflags);
- if (n != 0)
- {
- char buf[500];
- if (eflags == -1)
- {
- static struct { reg_errcode_t code; const char *name; } codes []
-#define C(x) { REG_##x, #x }
- = { C(NOERROR), C(NOMATCH), C(BADPAT), C(ECOLLATE),
- C(ECTYPE), C(EESCAPE), C(ESUBREG), C(EBRACK),
- C(EPAREN), C(EBRACE), C(BADBR), C(ERANGE),
- C(ESPACE), C(BADRPT) };
-
- int i;
- for (i = 0; i < sizeof (codes) / sizeof (codes[0]); ++i)
- if (n == codes[i].code)
- {
- if (strcmp (string, codes[i].name))
- {
- printf ("%s regcomp returned REG_%s (expected REG_%s)\n",
- fail, codes[i].name, string);
- return 1;
- }
- return 0;
- }
-
- printf ("%s regcomp return value REG_%d\n", fail, n);
- return 1;
- }
-
- regerror (n, &re, buf, sizeof (buf));
- printf ("%s regcomp failed: %s\n", fail, buf);
- return 1;
- }
-
- if (eflags == -1)
- {
- regfree (&re);
-
- /* The test case file assumes something only guaranteed by the
- rxspencer regex implementation. Namely that for empty
- expressions regcomp() return REG_EMPTY. This is not the case
- for us and so we ignore this error. */
- if (strcmp (string, "EMPTY") == 0)
- return 0;
-
- printf ("%s regcomp unexpectedly succeeded\n", fail);
- return 1;
- }
-
- if (regexec (&re, string, 10, rm, eflags))
- {
- regfree (&re);
- if (expect == NULL)
- return 0;
- printf ("%s regexec failed\n", fail);
- return 1;
- }
-
- regfree (&re);
-
- if (expect == NULL)
- {
- printf ("%s regexec unexpectedly succeeded\n", fail);
- return 1;
- }
-
- if (cflags & REG_NOSUB)
- return 0;
-
- ret = check_match (rm, 0, string, expect, fail);
- if (matches == NULL)
- return ret;
-
- for (n = 1; ret == 0 && n < 10; ++n)
- {
- char *p = NULL;
-
- if (matches)
- {
- p = strchr (matches, ',');
- if (p != NULL)
- *p = '\0';
- }
- ret = check_match (rm, n, string, matches ? matches : "-", fail);
- if (p)
- {
- *p = ',';
- matches = p + 1;
- }
- else
- matches = NULL;
- }
-
- return ret;
-}
-
-static int
-mb_test (const char *pattern, int cflags, const char *string, int eflags,
- char *expect, const char *matches, const char *letters,
- const char *fail)
-{
- char *pattern_mb = mb_frob_pattern (pattern, letters);
- const char *string_mb
- = eflags == -1 ? string : mb_frob_string (string, letters);
- char *expect_mb = mb_frob_string (expect, letters);
- char *matches_mb = mb_frob_string (matches, letters);
- int ret = 0;
-
- if (!pattern_mb || !string_mb
- || (expect && !expect_mb) || (matches && !matches_mb))
- {
- printf ("%s %m", fail);
- ret = 1;
- }
- else
- ret = test (pattern_mb, cflags, string_mb, eflags, expect_mb,
- matches_mb, fail);
-
- free (matches_mb);
- free (expect_mb);
- if (string_mb != string)
- free ((char *) string_mb);
- free (pattern_mb);
- return ret;
-}
-
-static int
-mb_tests (const char *pattern, int cflags, const char *string, int eflags,
- char *expect, const char *matches)
-{
- int ret = 0;
- int i;
- char letters[9], fail[20];
-
- /* The tests aren't supposed to work with xdigit, since a-dA-D are
- hex digits while \'a \'A \v{c}\v{C}\v{d}\v{D}\'e \'E are not. */
- if (strstr (pattern, "[:xdigit:]"))
- return 0;
-
- /* XXX: regex ATM handles only single byte equivalence classes. */
- if (strstr (pattern, "[[=b=]]"))
- return 0;
-
- for (i = 1; i < 16; ++i)
- {
- char *p = letters;
- if (i & 1)
- {
- if (!strchr (pattern, 'a') && !strchr (string, 'a')
- && !strchr (pattern, 'A') && !strchr (string, 'A'))
- continue;
- *p++ = 'a', *p++ = 'A';
- }
- if (i & 2)
- {
- if (!strchr (pattern, 'b') && !strchr (string, 'b')
- && !strchr (pattern, 'B') && !strchr (string, 'B'))
- continue;
- *p++ = 'b', *p++ = 'B';
- }
- if (i & 4)
- {
- if (!strchr (pattern, 'c') && !strchr (string, 'c')
- && !strchr (pattern, 'C') && !strchr (string, 'C'))
- continue;
- *p++ = 'c', *p++ = 'C';
- }
- if (i & 8)
- {
- if (!strchr (pattern, 'd') && !strchr (string, 'd')
- && !strchr (pattern, 'D') && !strchr (string, 'D'))
- continue;
- *p++ = 'd', *p++ = 'D';
- }
- *p++ = '\0';
- sprintf (fail, "UTF-8 %s FAIL", letters);
- ret |= mb_test (pattern, cflags, string, eflags, expect, matches,
- letters, fail);
- }
- return ret;
-}
-
-int
-main (int argc, char **argv)
-{
- int ret = 0;
- char *line = NULL;
- size_t line_len = 0;
- ssize_t len;
- FILE *f;
- static int test_utf8 = 0;
- static const struct option options[] =
- {
- {"utf8", no_argument, &test_utf8, 1},
- {NULL, 0, NULL, 0 }
- };
-
-#ifdef HAVE_MCHECK_H
- mtrace ();
-#endif
-
- while (getopt_long (argc, argv, "", options, NULL) >= 0);
-
- if (optind + 1 != argc)
- {
- fprintf (stderr, "Missing test filename\n");
- return 1;
- }
-
- f = fopen (argv[optind], "r");
- if (f == NULL)
- {
- fprintf (stderr, "Couldn't open %s\n", argv[optind]);
- return 1;
- }
-
- while ((len = getline (&line, &line_len, f)) > 0)
- {
- char *pattern, *flagstr, *string, *expect, *matches, *p;
- int cflags = REG_EXTENDED, eflags = 0, try_bre_ere = 0;
-
- if (line[len - 1] == '\n')
- line[len - 1] = '\0';
-
- /* Skip comments and empty lines. */
- if (*line == '#' || *line == '\0')
- continue;
-
- puts (line);
- fflush (stdout);
-
- pattern = strtok (line, "\t");
- if (pattern == NULL)
- continue;
-
- if (strcmp (pattern, "\"\"") == 0)
- pattern += 2;
-
- flagstr = strtok (NULL, "\t");
- if (flagstr == NULL)
- continue;
-
- string = strtok (NULL, "\t");
- if (string == NULL)
- continue;
-
- if (strcmp (string, "\"\"") == 0)
- string += 2;
-
- for (p = flagstr; *p; ++p)
- switch (*p)
- {
- case '-':
- break;
- case 'b':
- cflags &= ~REG_EXTENDED;
- break;
- case '&':
- try_bre_ere = 1;
- break;
- case 'C':
- eflags = -1;
- break;
- case 'i':
- cflags |= REG_ICASE;
- break;
- case 's':
- cflags |= REG_NOSUB;
- break;
- case 'n':
- cflags |= REG_NEWLINE;
- break;
- case '^':
- eflags |= REG_NOTBOL;
- break;
- case '$':
- eflags |= REG_NOTEOL;
- break;
- case 'm':
- case 'p':
- case '#':
- /* Not supported. */
- flagstr = NULL;
- break;
- }
-
- if (flagstr == NULL)
- continue;
-
- replace_special_chars (pattern);
- glibc_re_syntax (pattern);
- if (eflags != -1)
- replace_special_chars (string);
-
- expect = strtok (NULL, "\t");
- matches = NULL;
- if (expect != NULL)
- {
- replace_special_chars (expect);
- matches = strtok (NULL, "\t");
- if (matches != NULL)
- replace_special_chars (matches);
- }
-
- if (setlocale (LC_ALL, "C") == NULL)
- {
- puts ("setlocale C failed");
- ret = 1;
- }
- if (test (pattern, cflags, string, eflags, expect, matches, "FAIL")
- || (try_bre_ere
- && test (pattern, cflags & ~REG_EXTENDED, string, eflags,
- expect, matches, "FAIL")))
- ret = 1;
- else if (test_utf8)
- {
- if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL)
- {
- puts ("setlocale cs_CZ.UTF-8 failed");
- ret = 1;
- }
- else if (test (pattern, cflags, string, eflags, expect, matches,
- "UTF-8 FAIL")
- || (try_bre_ere
- && test (pattern, cflags & ~REG_EXTENDED, string,
- eflags, expect, matches, "UTF-8 FAIL")))
- ret = 1;
- else if (mb_tests (pattern, cflags, string, eflags, expect, matches)
- || (try_bre_ere
- && mb_tests (pattern, cflags & ~REG_EXTENDED, string,
- eflags, expect, matches)))
- ret = 1;
- }
- }
-
- free (line);
- fclose (f);
- return ret;
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/uniq.good b/sources/host-tools/sed-4.2.1/testsuite/uniq.good
deleted file mode 100644
index 2941bec..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/uniq.good
+++ /dev/null
@@ -1,874 +0,0 @@
-
-#define DPRINTF(p) /*nothing */
-#define DPRINTF(p) printf p
-#define GETCHAR(c, eptr) c = *eptr;
-#define GETCHARINC(c, eptr) c = *eptr++;
-#define class pcre_class
-#define match_condassert 0x01 /* Called to check a condition assertion */
-#define match_isgroup 0x02 /* Set if start of bracketed group */
-#else
-#endif
-#ifdef DEBUG /* Sigh. Some compilers never learn. */
-#ifdef DEBUG
-#ifdef __cplusplus
-#include "internal.h"
-&& length - re->max_match_size > start_offset)
-((*ecode++ == OP_BEG_WORD) ? prev_is_word : cur_is_word))
-((md->ctypes[*eptr] & ctype_word) != 0);
-((md->ctypes[eptr[-1]] & ctype_word) != 0);
-(eptr == md->end_subject - 1 && *eptr != '\n'))
-(i.e. keep it out of the loop). Also we can test that there are at least
-(md->ctypes[*eptr++] & ctype_digit) != 0)
-(md->ctypes[*eptr++] & ctype_digit) == 0)
-(md->ctypes[*eptr++] & ctype_space) != 0)
-(md->ctypes[*eptr++] & ctype_space) == 0)
-(md->ctypes[*eptr++] & ctype_word) != 0)
-(md->ctypes[*eptr++] & ctype_word) == 0)
-(offsetcount - 2) * sizeof (int));
-(offsets == NULL && offsetcount > 0))
-(pcre_free) (match_block.offset_vector);
-(pcre_free) (save);
-(re->tables + fcc_offset)[req_char] : req_char;
-* Match a back-reference *
-* Execute a Regular Expression *
-* Match from current position *
-* Debugging function to print chars *
-* Perl-Compatible Regular Expressions *
-* Macros and tables for character handling *
-*************************************************/
-*/
-*iptr = -1;
-*iptr++ = -1;
-*prev == OP_ASSERTBACK || *prev == OP_ASSERTBACK_NOT ||
-*prev == OP_ONCE)
------------------------------------------------------------------------------
--1 => failed to match
-/*
-/* "Once" brackets are like assertion brackets except that after a match,
-/* ... else fall through */
-/* Advance to a possible match for an initial string after study */
-/* Allow compilation as C++ source code, should anybody want to do that. */
-/* Always fail if not enough characters left */
-/* An alternation is the end of a branch; scan along to find the end of the
-/* Assert before internal newline if multiline, or before a terminating
-/* Assertion brackets. Check the alternative branches in turn - the
-/* At the start of a bracketed group, add the current subject pointer to the
-/* BRAZERO and BRAMINZERO occur just before a bracket group, indicating
-/* Caseful comparisons */
-/* Change option settings */
-/* Common code for all repeated single character type matches */
-/* Common code for all repeated single-character matches. We can give
-/* Compute the minimum number of offsets that we need to reset each time. Doing
-/* Conditional group: compilation checked that there are no more than
-/* Continue as from after the assertion, updating the offsets high water
-/* Continue from after the assertion, updating the offsets high water
-/* Control never gets here */
-/* Control never reaches here */
-/* Copy the offset information from temporary store if necessary */
-/* Do a single test if no case difference is set up */
-/* Do not stick any code in here without much thought; it is assumed
-/* End of a group, repeated or non-repeating. If we are at the end of
-/* End of subject assertion (\z) */
-/* End of subject or ending \n assertion (\Z) */
-/* End of the pattern. If PCRE_NOTEMPTY is set, fail if we have matched
-/* First, ensure the minimum number of matches are present. */
-/* First, ensure the minimum number of matches are present. Use inline
-/* First, ensure the minimum number of matches are present. We get back
-/* Flag bits for the match() function */
-/* For a non-repeating ket, just continue at this level. This also
-/* For anchored or unanchored matches, there may be a "last known required
-/* For extended extraction brackets (large number), we have to fish out
-/* For extended extraction brackets (large number), we have to fish out the
-/* For matches anchored to the end of the pattern, we can often avoid
-/* If a back reference hasn't been set, the length that is passed is greater
-/* If checking an assertion for a condition, return TRUE. */
-/* If hit the end of the group (which could be repeated), fail */
-/* If max == min we can continue with the main loop without the
-/* If maximizing it is worth using inline code for speed, doing the type
-/* If maximizing, find the longest possible run, then work backwards. */
-/* If maximizing, find the longest string and work backwards */
-/* If min = max, continue at the same level without recursing */
-/* If min = max, continue at the same level without recursion.
-/* If minimizing, keep testing the rest of the expression and advancing
-/* If minimizing, keep trying and advancing the pointer */
-/* If minimizing, we have to test the rest of the pattern before each
-/* If req_char is set, we know that that character must appear in the subject
-/* If the expression has got more back references than the offsets supplied can
-/* If the length of the reference is zero, just continue with the
-/* If the reference is unset, set the length to be longer than the amount
-/* If we can't find the required character, break the matching loop */
-/* If we have found the required character, save the point where we
-/* In all other cases except a conditional group we have to check the
-/* In case the recursion has set more capturing values, save the final
-/* Include the internals header, which itself includes Standard C headers plus
-/* Insufficient room for saving captured contents */
-/* Loop for handling unanchored repeated matching attempts; for anchored regexs
-/* Match a back reference, possibly repeatedly. Look past the end of the
-/* Match a character class, possibly repeatedly. Look past the end of the
-/* Match a negated single character */
-/* Match a negated single character repeatedly. This is almost a repeat of
-/* Match a run of characters */
-/* Match a single character repeatedly; different opcodes share code. */
-/* Match a single character type repeatedly; several different opcodes
-/* Match a single character type; inline for speed */
-/* Min and max values for the common repeats; for the maxima, 0 => infinity */
-/* Move the subject pointer back. This occurs only at the start of
-/* Negative assertion: all branches must fail to match */
-/* Now start processing the operations. */
-/* OP_KETRMAX */
-/* On entry ecode points to the first opcode, and eptr to the first character
-/* Opening capturing bracket. If there is space in the offset vector, save
-/* Or to a non-unique first char after study */
-/* Or to a unique first char if possible */
-/* Or to just after \n for a multiline match if possible */
-/* Other types of node can be handled by a switch */
-/* Otherwise test for either case */
-/* Print a sequence of chars in printable format, stopping at the end of the
-/* Recursion matches the current regex, nested. If there are any capturing
-/* Reset the maximum number of extractions we might see. */
-/* Reset the value of the ims flags, in case they got changed during
-/* Reset the working variable associated with each extraction. These should
-/* Separate the caselesss case for speed */
-/* Set up for repetition, or handle the non-repeated case */
-/* Set up the first character to match, if available. The first_char value is
-/* Skip over conditional reference data or large extraction number data if
-/* Start of subject assertion */
-/* Start of subject unless notbol, or after internal newline if multiline */
-/* Structure for building a chain of data that actually lives on the
-/* The code is duplicated for the caseless and caseful cases, for speed,
-/* The condition is an assertion. Call match() to evaluate it - setting
-/* The ims options can vary during the matching as a result of the presence
-/* The repeating kets try the rest of the pattern or restart from the
-/* There's been some horrible disaster. */
-/* This "while" is the end of the "do" above */
-/* This function applies a compiled re to a subject string and picks out
-/* Use a macro for debugging printing, 'cause that limits the use of #ifdef
-/* We don't need to repeat the search if we haven't yet reached the
-/* When a match occurs, substrings will be set for all internal extractions;
-/* Word boundary assertions */
-/*************************************************
-1. This software is distributed in the hope that it will be useful,
-2. The origin of this software must not be misrepresented, either by
-3. Altered versions must be plainly marked as such, and must not be
-4. If PCRE is embedded in any software that is released under the GNU
-5.005. If there is an options reset, it will get obeyed in the normal
-6 : 3 + (ecode[1] << 8) + ecode[2]),
-< -1 => some kind of unexpected problem
-= 0 => success, but offsets is not big enough
-Arguments:
-BOOL anchored;
-BOOL cur_is_word = (eptr < md->end_subject) &&
-BOOL is_subject;
-BOOL minimize = FALSE;
-BOOL prev_is_word = (eptr != md->start_subject) &&
-BOOL rc;
-BOOL startline;
-BOOL using_temporary_offsets = FALSE;
-Copyright (c) 1997-2000 University of Cambridge
-DPRINTF ((">>>> returning %d\n", match_block.errorcode));
-DPRINTF ((">>>> returning %d\n", rc));
-DPRINTF (("Copied offsets from temporary memory\n"));
-DPRINTF (("Freeing temporary memory\n"));
-DPRINTF (("Got memory to hold back references\n"));
-DPRINTF (("Unknown opcode %d\n", *ecode));
-DPRINTF (("bracket %d failed\n", number));
-DPRINTF (("bracket 0 failed\n"));
-DPRINTF (("ims reset to %02lx\n", ims));
-DPRINTF (("ims set to %02lx at group repeat\n", ims));
-DPRINTF (("ims set to %02lx\n", ims));
-DPRINTF (("matching %c{%d,%d} against subject %.*s\n", c, min, max,
-DPRINTF (("negative matching %c{%d,%d} against subject %.*s\n", c, min, max,
-DPRINTF (("saving %d %d %d\n", save_offset1, save_offset2, save_offset3));
-DPRINTF (("start bracket 0\n"));
-GETCHAR (c, eptr) /* Get character */
-GETCHARINC (c, eptr) /* Get character; increment eptr */
-General Purpose Licence (GPL), then the terms of that licence shall
-However, if the referenced string is the empty string, always treat
-If the bracket fails to match, we need to restore this value and also the
-If there isn't enough space in the offset vector, treat this as if it were a
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-Otherwise, we can use the vector supplied, rounding down its size to a multiple
-Permission is granted to anyone to use this software for any purpose on any
-REPEATCHAR:
-REPEATNOTCHAR:
-REPEATTYPE:
-Returns: > 0 => success; value is the number of elements filled in
-Returns: TRUE if matched
-Returns: TRUE if matched
-Returns: nothing
-They are not both allowed to be zero. */
-This is a library of functions to support regular expressions whose syntax
-This is the forcible breaking of infinite loops as implemented in Perl
-Writing separate code makes it go faster, as does using an autoincrement and
-Written by: Philip Hazel <ph10@cam.ac.uk>
-a move back into the brackets. Check the alternative branches in turn - the
-address of eptr, so that eptr can be a register variable. */
-an assertion "group", stop matching and return TRUE, but record the
-an empty string - recursion will then try other alternatives, if any. */
-an error. Save the top 15 values on the stack, and accept that the rest
-an unanchored pattern, of course. If there's no first char and the pattern was
-analyzing most of the pattern. length > re->max_match_size is
-anchored = ((re->options | options) & PCRE_ANCHORED) != 0;
-and advance one byte in the pattern code. */
-and reinstate them after the recursion. However, we don't know how many
-and semantics are as close as possible to those of the Perl 5 language. See
-and the required character in fact is caseful. */
-at run time, so we have to test for anchoring. The first char may be unset for
-avoid duplicate testing (which takes significant time). This covers the vast
-backing off on a match. */
-bmtable = extra->data.bmtable;
-both cases of the character. Otherwise set the two values the same, which will
-bracketed group and go to there. */
-brackets - for testing for empty matches
-brackets started but not finished, we have to save their starting points
-break;
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-c != md->lcc[*eptr++])
-c = *ecode++ - OP_CRSTAR;
-c = *ecode++ - OP_NOTSTAR;
-c = *ecode++ - OP_STAR;
-c = *ecode++ - OP_TYPESTAR;
-c = *ecode++;
-c = *eptr++;
-c = 15;
-c = max - min;
-c = md->end_subject - eptr;
-c = md->lcc[c];
-c = md->offset_max;
-c == md->lcc[*eptr++])
-can't just fail here, because of the possibility of quantifiers with zero
-case OP_ALT:
-case OP_ANY:
-case OP_ASSERT:
-case OP_ASSERTBACK:
-case OP_ASSERTBACK_NOT:
-case OP_ASSERT_NOT:
-case OP_BEG_WORD:
-case OP_BRA: /* Non-capturing bracket: optimized */
-case OP_BRAMINZERO:
-case OP_BRANUMBER:
-case OP_BRAZERO:
-case OP_CHARS:
-case OP_CIRC:
-case OP_CLASS:
-case OP_COND:
-case OP_CREF:
-case OP_CRMINPLUS:
-case OP_CRMINQUERY:
-case OP_CRMINRANGE:
-case OP_CRMINSTAR:
-case OP_CRPLUS:
-case OP_CRQUERY:
-case OP_CRRANGE:
-case OP_CRSTAR:
-case OP_DIGIT:
-case OP_DOLL:
-case OP_END:
-case OP_END_WORD:
-case OP_EOD:
-case OP_EODN:
-case OP_EXACT:
-case OP_KET:
-case OP_KETRMAX:
-case OP_KETRMIN:
-case OP_MINPLUS:
-case OP_MINQUERY:
-case OP_MINSTAR:
-case OP_MINUPTO:
-case OP_NOT:
-case OP_NOTEXACT:
-case OP_NOTMINPLUS:
-case OP_NOTMINQUERY:
-case OP_NOTMINSTAR:
-case OP_NOTMINUPTO:
-case OP_NOTPLUS:
-case OP_NOTQUERY:
-case OP_NOTSTAR:
-case OP_NOTUPTO:
-case OP_NOT_DIGIT:
-case OP_NOT_WHITESPACE:
-case OP_NOT_WORDCHAR:
-case OP_NOT_WORD_BOUNDARY:
-case OP_ONCE:
-case OP_OPT:
-case OP_PLUS:
-case OP_QUERY:
-case OP_RECURSE:
-case OP_REF:
-case OP_REVERSE:
-case OP_SOD:
-case OP_STAR:
-case OP_TYPEEXACT:
-case OP_TYPEMINPLUS:
-case OP_TYPEMINQUERY:
-case OP_TYPEMINSTAR:
-case OP_TYPEMINUPTO:
-case OP_TYPEPLUS:
-case OP_TYPEQUERY:
-case OP_TYPESTAR:
-case OP_TYPEUPTO:
-case OP_UPTO:
-case OP_WHITESPACE:
-case OP_WORDCHAR:
-case OP_WORD_BOUNDARY:
-case matching may be when this character is hit, so test for it in both its
-caselessly, or if there are any changes of this flag within the regex, set up
-cases if necessary. However, the different cased versions will not be set up
-character" set. If the PCRE_CASELESS is set, implying that the match starts
-characters and work backwards. */
-code for maximizing the speed, and do the type test once at the start
-code to character type repeats - written out again for speed. */
-commoning these up that doesn't require a test of the positive/negative
-computer system, and to redistribute it freely, subject to the following
-const char *subject;
-const pcre *re;
-const pcre_extra *extra;
-const uschar *bmtable = NULL;
-const uschar *data = ecode + 1; /* Save for matching */
-const uschar *end_subject;
-const uschar *next = ecode + 1;
-const uschar *p = md->start_subject + md->offset_vector[offset];
-const uschar *p;
-const uschar *pp = eptr;
-const uschar *prev = ecode - (ecode[1] << 8) - ecode[2];
-const uschar *prev = ecode;
-const uschar *req_char_ptr = start_match - 1;
-const uschar *saved_eptr = eptr;
-const uschar *saved_eptr = eptrb->saved_eptr;
-const uschar *saved_eptr;
-const uschar *start_bits = NULL;
-const uschar *start_match = (const uschar *) subject + start_offset;
-continue; /* With the main loop */
-continue;
-course of events. */
-ctype = *ecode++; /* Code for the character type */
-cur_is_word == prev_is_word : cur_is_word != prev_is_word)
-current high water mark for use by positive assertions. Do this also
-default: /* No repeat follows */
-default:
-do
-each branch of a lookbehind assertion. If we are too close to the start to
-each substring: the offsets to the start and end of the substring.
-ecode position in code
-ecode + ((offset < offset_top && md->offset_vector[offset] >= 0) ?
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += 2;
-ecode += 3 + (ecode[4] << 8) + ecode[5];
-ecode += 33; /* Advance past the item */
-ecode += 3; /* Advance past the item */
-ecode += 3;
-ecode += 5;
-ecode = next + 3;
-ecode++;
-else
-else if ((extra->options & PCRE_STUDY_BM) != 0)
-else if (first_char >= 0)
-else if (start_bits != NULL)
-else if (startline)
-encountered */
-end_subject = match_block.end_subject;
-eptr pointer in subject
-eptr points into the subject
-eptr += c;
-eptr += length;
-eptr += min;
-eptr -= (ecode[1] << 8) + ecode[2];
-eptr -= length;
-eptr = md->end_match_ptr;
-eptr++;
-eptrb pointer to chain of blocks containing eptr at start of
-eptrb = &newptrb;
-eptrb = eptrb->prev; /* Back up the stack of bracket start pointers */
-eptrblock *eptrb;
-eptrblock newptrb;
-eptrblock;
-exactly what going to the ket would do. */
-explicit claim or by omission.
-external_extra points to "hints" from pcre_study() or is NULL
-external_re points to the compiled expression
-extraction by setting the offsets and bumping the high water mark. */
-first_char = match_block.lcc[first_char];
-first_char = re->first_char;
-flags can contain
-for (;;)
-for (i = 1; i <= c; i++)
-for (i = 1; i <= min; i++)
-for (i = min; i < max; i++)
-for (i = min;; i++)
-for the "once" (not-backup up) groups. */
-for the match to succeed. If the first character is set, req_char must be
-found it, so that we don't search again next time round the loop if
-from a previous iteration of this group, and be referred to by a reference
-goto REPEATCHAR;
-goto REPEATNOTCHAR;
-goto REPEATTYPE;
-group number back at the start and if necessary complete handling an
-happens for a repeating ket if no characters were matched in the group.
-here; that is handled in the code for KET. */
-hold, we get a temporary bit of working store to use during the matching.
-i.e. it could be ()* or ()? in the pattern. Brackets with fixed upper
-if (!anchored)
-if (!match (start_match, re->code, 2, &match_block, ims, NULL, match_isgroup))
-if (!match_ref (offset, eptr, length, md, ims))
-if (!md->endonly)
-if (!rc)
-if (!startline && extra != NULL)
-if ((*ecode++ == OP_WORD_BOUNDARY) ?
-if ((data[c / 8] & (1 << (c & 7))) != 0)
-if ((data[c / 8] & (1 << (c & 7))) == 0)
-if ((extra->options & PCRE_STUDY_MAPPED) != 0)
-if ((flags & match_condassert) != 0)
-if ((flags & match_isgroup) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_DOTALL) == 0 && c == '\n')
-if ((ims & PCRE_DOTALL) == 0 && eptr < md->end_subject && *eptr == '\n')
-if ((ims & PCRE_DOTALL) == 0)
-if ((ims & PCRE_MULTILINE) != 0)
-if ((md->ctypes[*eptr++] & ctype_digit) != 0)
-if ((md->ctypes[*eptr++] & ctype_digit) == 0)
-if ((md->ctypes[*eptr++] & ctype_space) != 0)
-if ((md->ctypes[*eptr++] & ctype_space) == 0)
-if ((md->ctypes[*eptr++] & ctype_word) != 0)
-if ((md->ctypes[*eptr++] & ctype_word) == 0)
-if ((md->ctypes[c] & ctype_digit) != 0)
-if ((md->ctypes[c] & ctype_digit) == 0)
-if ((md->ctypes[c] & ctype_space) != 0)
-if ((md->ctypes[c] & ctype_space) == 0)
-if ((md->ctypes[c] & ctype_word) != 0)
-if ((md->ctypes[c] & ctype_word) == 0)
-if ((options & ~PUBLIC_EXEC_OPTIONS) != 0)
-if ((re->options & PCRE_FIRSTSET) != 0)
-if ((re->options & PCRE_REQCHSET) != 0)
-if ((start_bits[c / 8] & (1 << (c & 7))) == 0)
-if (*ecode != OP_ONCE && *ecode != OP_ALT)
-if (*ecode == OP_KET || eptr == saved_eptr)
-if (*ecode == OP_KET)
-if (*ecode == OP_KETRMIN)
-if (*ecode++ != *eptr++)
-if (*ecode++ == *eptr++)
-if (*eptr != '\n')
-if (*eptr++ == '\n')
-if (*p++ != *eptr++)
-if (*p++ == req_char)
-if (*prev != OP_COND)
-if (*prev == OP_ASSERT || *prev == OP_ASSERT_NOT ||
-if (bmtable != NULL)
-if (bmtable[*start_match])
-if (c != *eptr++)
-if (c != md->lcc[*eptr++])
-if (c < 16)
-if (c == *eptr++)
-if (c == md->lcc[*eptr++])
-if (c > md->end_subject - eptr)
-if (cur_is_word == prev_is_word ||
-if (ecode[3] == OP_CREF) /* Condition is extraction test */
-if (ecode[3] == OP_OPT)
-if (eptr != md->start_subject && eptr[-1] != '\n')
-if (eptr != md->start_subject)
-if (eptr < md->end_subject - 1 ||
-if (eptr < md->end_subject)
-if (eptr < md->start_subject)
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) == 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) == 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) == 0)
-if (eptr >= md->end_subject || *eptr == '\n')
-if (eptr >= md->end_subject || c != *eptr)
-if (eptr >= md->end_subject || c != md->lcc[*eptr])
-if (eptr >= md->end_subject || c == *eptr)
-if (eptr >= md->end_subject || c == md->lcc[*eptr])
-if (eptr >= md->end_subject)
-if (eptr++ >= md->end_subject)
-if (i >= max || !match_ref (offset, eptr, length, md, ims))
-if (i >= max || eptr >= md->end_subject ||
-if (i >= max || eptr >= md->end_subject || c != *eptr++)
-if (i >= max || eptr >= md->end_subject || c == *eptr++)
-if (i >= max || eptr >= md->end_subject)
-if (is_subject && length > md->end_subject - p)
-if (isprint (c = *(p++)))
-if (length == 0)
-if (length > md->end_subject - eptr)
-if (match (eptr, ecode + 3, offset_top, md, ims, NULL,
-if (match (eptr, ecode + 3, offset_top, md, ims, NULL, match_isgroup))
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0) ||
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, next + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, next, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup) ||
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match_block.end_offset_top > offsetcount)
-if (match_block.offset_vector != NULL)
-if (match_block.offset_vector == NULL)
-if (max == 0)
-if (md->lcc[*ecode++] != md->lcc[*eptr++])
-if (md->lcc[*ecode++] == md->lcc[*eptr++])
-if (md->lcc[*p++] != md->lcc[*eptr++])
-if (md->notbol && eptr == md->start_subject)
-if (md->notempty && eptr == md->start_match)
-if (md->noteol)
-if (min == max)
-if (min > 0)
-if (min > md->end_subject - eptr)
-if (minimize)
-if (number > 0)
-if (number > EXTRACT_BASIC_MAX)
-if (offset < md->offset_max)
-if (offset >= md->offset_max)
-if (offset_top <= offset)
-if (offsetcount < 2)
-if (offsetcount >= 4)
-if (op > OP_BRA)
-if (p > req_char_ptr)
-if (p >= end_subject)
-if (pp == req_char || pp == req_char2)
-if (re == NULL || subject == NULL ||
-if (re->magic_number != MAGIC_NUMBER)
-if (re->max_match_size >= 0
-if (re->top_backref > 0 && re->top_backref >= ocount / 3)
-if (req_char == req_char2)
-if (req_char >= 0)
-if (resetcount > offsetcount)
-if (save != stacksave)
-if (save == NULL)
-if (skipped_chars)
-if (start_match + bmtable[256] > end_subject)
-if (start_match > match_block.start_subject + start_offset)
-if (using_temporary_offsets)
-if certain parts of the pattern were not used. */
-if the malloc fails ... there is no way of returning to the top level with
-implied in the second condition, because start_offset > 0. */
-ims current /i, /m, and /s options
-ims the ims flags
-ims = (ims & ~PCRE_IMS) | ecode[4];
-ims = ecode[1];
-ims = original_ims;
-ims = re->options & (PCRE_CASELESS | PCRE_MULTILINE | PCRE_DOTALL);
-in the pattern. */
-in the subject string, while eptrb holds the value of eptr at the start of the
-initialize them to avoid reading uninitialized locations. */
-inline, and there are *still* stupid compilers about that don't like indented
-inside the group.
-int
-int *offsets;
-int *save;
-int c;
-int first_char = -1;
-int flags;
-int length;
-int min, max, ctype;
-int number = *prev - OP_BRA;
-int number = op - OP_BRA;
-int offset = (ecode[1] << 9) | (ecode[2] << 1); /* Doubled reference number */
-int offset = (ecode[4] << 9) | (ecode[5] << 1); /* Doubled reference number */
-int offset;
-int offset_top;
-int offsetcount;
-int op = (int) *ecode;
-int options;
-int rc;
-int req_char = -1;
-int req_char2 = -1;
-int resetcount, ocount;
-int save_offset1 = md->offset_vector[offset];
-int save_offset2 = md->offset_vector[offset + 1];
-int save_offset3 = md->offset_vector[md->offset_end - number];
-int skipped_chars = 0;
-int stacksave[15];
-int start_offset;
-is a bit large to put on the stack, but using malloc for small numbers
-is_subject TRUE if printing from within md->start_subject
-it as matched, any number of times (otherwise there could be infinite
-item to see if there is repeat information following. The code is similar
-item to see if there is repeat information following. Then obey similar
-last bracketed group - used for breaking infinite loops matching zero-length
-later in the subject; otherwise the test starts at the match point. This
-length length of subject string (may contain binary zeros)
-length length to be matched
-length number to print
-length = (offset >= offset_top || md->offset_vector[offset] < 0) ?
-length = md->end_subject - p;
-level without recursing. Otherwise, if minimizing, keep trying the rest of
-loop. */
-loops). */
-main loop. */
-majority of cases. It will be suboptimal when the case flag changes in a regex
-mark, since extracts may have been taken during the assertion. */
-mark, since extracts may have been taken. */
-match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0))
-match (eptr, ecode, offset_top, md, ims, eptrb, flags)
-match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup))
-match_block.ctypes = re->tables + ctypes_offset;
-match_block.end_subject = match_block.start_subject + length;
-match_block.endonly = (re->options & PCRE_DOLLAR_ENDONLY) != 0;
-match_block.errorcode = PCRE_ERROR_NOMATCH; /* Default error */
-match_block.errorcode == PCRE_ERROR_NOMATCH &&
-match_block.lcc = re->tables + lcc_offset;
-match_block.lcc[*start_match] != first_char)
-match_block.notbol = (options & PCRE_NOTBOL) != 0;
-match_block.notempty = (options & PCRE_NOTEMPTY) != 0;
-match_block.noteol = (options & PCRE_NOTEOL) != 0;
-match_block.offset_end = ocount;
-match_block.offset_max = (2 * ocount) / 3;
-match_block.offset_overflow = FALSE;
-match_block.offset_overflow = TRUE;
-match_block.offset_vector = (int *) (pcre_malloc) (ocount * sizeof (int));
-match_block.offset_vector = offsets;
-match_block.start_match = start_match;
-match_block.start_pattern = re->code;
-match_block.start_subject = (const uschar *) subject;
-match_condassert - this is an assertion condition
-match_condassert | match_isgroup))
-match_data *md;
-match_data match_block;
-match_isgroup - this is the start of a bracketed group
-match_isgroup);
-match_ref (offset, eptr, length, md, ims)
-matches, we carry on as at the end of a normal bracket, leaving the subject
-matching won't pass the KET for an assertion. If any one branch matches,
-matching won't pass the KET for this kind of subpattern. If any one branch
-max = (ecode[1] << 8) + ecode[2];
-max = (ecode[3] << 8) + ecode[4];
-max = INT_MAX;
-max = rep_max[c]; /* zero for max => infinity */
-max, eptr));
-maximum. Alternatively, if maximizing, find the maximum number of
-may be wrong. */
-md pointer to "static" info for the match
-md pointer to matching data block, if is_subject is TRUE
-md points to match data block
-md->end_match_ptr = eptr; /* For ONCE */
-md->end_match_ptr = eptr; /* Record where we ended */
-md->end_offset_top = offset_top; /* and how many extracts were taken */
-md->end_offset_top = offset_top;
-md->end_subject - eptr + 1 :
-md->errorcode = PCRE_ERROR_UNKNOWN_NODE;
-md->offset_overflow = TRUE;
-md->offset_vector[md->offset_end - i] = save[i];
-md->offset_vector[md->offset_end - number] = eptr - md->start_subject;
-md->offset_vector[md->offset_end - number] = save_offset3;
-md->offset_vector[md->offset_end - number];
-md->offset_vector[offset + 1] - md->offset_vector[offset];
-md->offset_vector[offset + 1] = eptr - md->start_subject;
-md->offset_vector[offset + 1] = save_offset2;
-md->offset_vector[offset] =
-md->offset_vector[offset] = save_offset1;
-memcpy (offsets + 2, match_block.offset_vector + 2,
-min = (ecode[1] << 8) + ecode[2];
-min = 0;
-min = max = (ecode[1] << 8) + ecode[2];
-min = max = 1;
-min = rep_min[c]; /* Pick up values from tables; */
-minima. */
-minimize = (*ecode == OP_CRMINRANGE);
-minimize = (c & 1) != 0;
-minimize = *ecode == OP_MINUPTO;
-minimize = *ecode == OP_NOTMINUPTO;
-minimize = *ecode == OP_TYPEMINUPTO;
-minimize = TRUE;
-minimum number of matches are present. If min = max, continue at the same
-misrepresented as being the original software.
-move back, this match function fails. */
-mustn't change the current values of the data slot, because they may be set
-need to recurse. */
-never be used unless previously set, but they get saved and restored, and so we
-never set for an anchored regular expression, but the anchoring may be forced
-newline unless endonly is set, else end of subject unless noteol is set. */
-newptrb.prev = eptrb;
-newptrb.saved_eptr = eptr;
-next += (next[1] << 8) + next[2];
-non-capturing bracket. Don't worry about setting the flag for the error case
-number = (ecode[4] << 8) | ecode[5];
-number = (prev[4] << 8) | prev[5];
-number from a dummy opcode at the start. */
-number, then move along the subject till after the recursive match,
-ocount = offsetcount - (offsetcount % 3);
-ocount = re->top_backref * 3 + 3;
-of (?ims) items in the pattern. They are kept in a local variable so that
-of 3. */
-of subject left; this ensures that every attempt at a match fails. We
-offset index into the offset vector
-offset = number << 1;
-offset_top current top pointer
-offset_top = md->end_offset_top;
-offset_top = offset + 2;
-offset_top, md, ims, eptrb, match_isgroup);
-offsetcount the number of elements in the vector
-offsets points to a vector of ints to be filled in with offsets
-offsets[0] = start_match - match_block.start_subject;
-offsets[1] = match_block.end_match_ptr - match_block.start_subject;
-op = OP_BRA;
-opcode. */
-optimization can save a huge amount of backtracking in patterns with nested
-option for each character match. Maybe that wouldn't add very much to the
-options option bits
-p points to characters
-p--;
-past the end if there is only one branch, but that's OK because that is
-pchars (ecode, length, FALSE, md);
-pchars (eptr, 16, TRUE, md);
-pchars (eptr, length, TRUE, md);
-pchars (p, length, FALSE, md);
-pchars (p, length, is_subject, md)
-pchars (start_match, end_subject - start_match, TRUE, &match_block);
-pcre_exec (re, extra, subject, length, start_offset, options, offsets, offsetcount)
-place we found it at last time. */
-pointer. */
-portions of the string if it matches. Two elements in the vector are set for
-pre-processor statements. I suppose it's only been 10 years... */
-preceded by BRAZERO or BRAMINZERO. */
-preceding bracket, in the appropriate order. */
-preceding bracket, in the appropriate order. We need to reset any options
-printf (" against backref ");
-printf (" against pattern ");
-printf ("%c", c);
-printf (">>>> Match against: ");
-printf (">>>>> Skipped %d chars to reach first character\n",
-printf ("\\x%02x", c);
-printf ("\n");
-printf ("end bracket %d", number);
-printf ("matching subject ");
-printf ("matching subject <null> against pattern ");
-printf ("matching subject <null>");
-printf ("start bracket %d subject=", number);
-rc = 0;
-rc = match (eptr, md->start_pattern, offset_top, md, ims, eptrb,
-rc = match_block.offset_overflow ? 0 : match_block.end_offset_top / 2;
-register const uschar *ecode;
-register const uschar *eptr;
-register const uschar *p = start_match + ((first_char >= 0) ? 1 : 0);
-register int *iend = iptr + resetcount;
-register int *iend = iptr - resetcount / 2 + 1;
-register int *iptr = match_block.offset_vector + ocount;
-register int *iptr = match_block.offset_vector;
-register int c = *start_match;
-register int c;
-register int i;
-register int length = ecode[1];
-register int pp = *p++;
-repeat it in the interests of efficiency. */
-repeat limits are compiled as a number of copies, with the optional ones
-req_char = re->req_char;
-req_char2 = ((re->options & (PCRE_CASELESS | PCRE_ICHANGED)) != 0) ?
-req_char_ptr = p;
-resetcount = 2 + re->top_bracket * 2;
-resetcount = ocount;
-restoring at the exit of a group is easy. */
-restrictions:
-return FALSE;
-return PCRE_ERROR_BADMAGIC;
-return PCRE_ERROR_BADOPTION;
-return PCRE_ERROR_NOMATCH;
-return PCRE_ERROR_NOMEMORY;
-return PCRE_ERROR_NULL;
-return TRUE;
-return match (eptr,
-return match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup);
-return match_block.errorcode;
-return rc;
-save = (int *) (pcre_malloc) ((c + 1) * sizeof (int));
-save = stacksave;
-save[i] = md->offset_vector[md->offset_end - i];
-seems expensive. As a compromise, the stack is used when there are fewer
-share code. This is very similar to the code for single characters, but we
-similar code to character type repeats - written out again for speed.
-since matching characters is likely to be quite common. First, ensure the
-skipped_chars += bmtable[*start_match],
-skipped_chars += bmtable[256] - 1;
-skipped_chars -= bmtable[256] - 1;
-skipped_chars);
-skipped_chars++,
-stack of such pointers, to be re-instated at the end of the group when we hit
-stack, for holding the values of the subject pointer at the start of each
-start of each branch to move the current point backwards, so the code at
-start_bits = extra->data.start_bits;
-start_match += bmtable[*start_match];
-start_match += bmtable[256] - 1;
-start_match -= bmtable[256] - 1;
-start_match = (const uschar *) subject + length - re->max_match_size;
-start_match++ < end_subject);
-start_match++;
-start_offset where to start in the subject string
-startline = (re->options & PCRE_STARTLINE) != 0;
-static BOOL
-static const char rep_max[] =
-static const char rep_min[] =
-static void
-strings.
-struct eptrblock *prev;
-studied, there may be a bitmap of possible first characters. */
-subject points to the subject string
-subject if the requested.
-subpattern - to break infinite loops. */
-subpattern, so as to detect when an empty string has been matched by a
-subsequent match. */
-such there are (offset_top records the completed total) so we just have
-supersede any condition above with which it is incompatible.
-switch (*ecode)
-switch (ctype)
-switch (op)
-test once at the start (i.e. keep it out of the loop). */
-than 16 values to store; otherwise malloc is used. A problem is what to do
-than the number of characters left in the string, so the match fails.
-that "continue" in the code above comes out to here to repeat the main
-that changed within the bracket before re-running it, so check the next
-that it may occur zero times. It may repeat infinitely, or not at all -
-the assertion is true. Lookbehind assertions have an OP_REVERSE item at the
-the closing ket. When match() is called in other circumstances, we don't add to
-the code for a repeated single character, but I haven't found a nice way of
-the current subject position in the working slot at the top of the vector. We
-the expression and advancing one matching character if failing, up to the
-the external pcre header. */
-the file Tech.Notes for some information on the internals.
-the final argument TRUE causes it to stop at the end of an assertion. */
-the group. */
-the length of the reference string explicitly rather than passing the
-the loop runs just once. */
-the minimum number of bytes before we start. */
-the number from a dummy opcode at the start. */
-the point in the subject string is not moved back. Thus there can never be
-the pointer while it matches the class. */
-the same bracket.
-the stack. */
-the start hasn't passed this character yet. */
-the subject. */
-there were too many extractions, set the return code to zero. In the case
-this level is identical to the lookahead case. */
-this makes a huge difference to execution time when there aren't many brackets
-those back references that we can. In this case there need not be overflow
-time taken, but character matching *is* what this is all about... */
-to save all the potential data. There may be up to 99 such values, which
-to that for character classes, but repeated for efficiency. Then obey
-two branches. If the condition is false, skipping the first branch takes us
-typedef struct eptrblock
-unless PCRE_CASELESS was given or the casing state changes within the regex.
-unlimited repeats that aren't going to match. We don't know what the state of
-unsigned long int ims = 0;
-unsigned long int ims;
-unsigned long int original_ims = ims; /* Save for resetting on ')' */
-up quickly if there are fewer than the minimum number of characters left in
-using_temporary_offsets = TRUE;
-values of the final offsets, in case they were set by a previous iteration of
-we just need to set up the whole thing as substring 0 before returning. If
-where we had to get some local store to hold offsets for backreferences, copy
-while (!anchored &&
-while (*ecode == OP_ALT)
-while (*ecode == OP_ALT);
-while (*next == OP_ALT);
-while (--iptr >= iend)
-while (eptr >= pp)
-while (iptr < iend)
-while (length-- > 0)
-while (p < end_subject)
-while (start_match < end_subject &&
-while (start_match < end_subject && *start_match != first_char)
-while (start_match < end_subject && start_match[-1] != '\n')
-while (start_match < end_subject)
-{
-{0, 0, 0, 0, 1, 1};
-{0, 0, 1, 1, 0, 0};
-} /* End of main loop */
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/uniq.inp b/sources/host-tools/sed-4.2.1/testsuite/uniq.inp
deleted file mode 100644
index b1eddf3..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/uniq.inp
+++ /dev/null
@@ -1,2058 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define DPRINTF(p) /*nothing */
-#define DPRINTF(p) printf p
-#define GETCHAR(c, eptr) c = *eptr;
-#define GETCHARINC(c, eptr) c = *eptr++;
-#define class pcre_class
-#define match_condassert 0x01 /* Called to check a condition assertion */
-#define match_isgroup 0x02 /* Set if start of bracketed group */
-#else
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#ifdef DEBUG /* Sigh. Some compilers never learn. */
-#ifdef DEBUG /* Sigh. Some compilers never learn. */
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef DEBUG
-#ifdef __cplusplus
-#include "internal.h"
-&& length - re->max_match_size > start_offset)
-((*ecode++ == OP_BEG_WORD) ? prev_is_word : cur_is_word))
-((md->ctypes[*eptr] & ctype_word) != 0);
-((md->ctypes[*eptr] & ctype_word) != 0);
-((md->ctypes[eptr[-1]] & ctype_word) != 0);
-((md->ctypes[eptr[-1]] & ctype_word) != 0);
-(eptr == md->end_subject - 1 && *eptr != '\n'))
-(eptr == md->end_subject - 1 && *eptr != '\n'))
-(i.e. keep it out of the loop). Also we can test that there are at least
-(md->ctypes[*eptr++] & ctype_digit) != 0)
-(md->ctypes[*eptr++] & ctype_digit) == 0)
-(md->ctypes[*eptr++] & ctype_space) != 0)
-(md->ctypes[*eptr++] & ctype_space) == 0)
-(md->ctypes[*eptr++] & ctype_word) != 0)
-(md->ctypes[*eptr++] & ctype_word) == 0)
-(offsetcount - 2) * sizeof (int));
-(offsets == NULL && offsetcount > 0))
-(pcre_free) (match_block.offset_vector);
-(pcre_free) (match_block.offset_vector);
-(pcre_free) (save);
-(re->tables + fcc_offset)[req_char] : req_char;
-* Match a back-reference *
-* Execute a Regular Expression *
-* Match from current position *
-* Debugging function to print chars *
-* Perl-Compatible Regular Expressions *
-* Macros and tables for character handling *
-*************************************************/
-*************************************************/
-*************************************************/
-*************************************************/
-*************************************************/
-*************************************************/
-*/
-*/
-*/
-*/
-*/
-*iptr = -1;
-*iptr++ = -1;
-*prev == OP_ASSERTBACK || *prev == OP_ASSERTBACK_NOT ||
-*prev == OP_ONCE)
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--1 => failed to match
-/*
-/* "Once" brackets are like assertion brackets except that after a match,
-/* ... else fall through */
-/* ... else fall through */
-/* Advance to a possible match for an initial string after study */
-/* Allow compilation as C++ source code, should anybody want to do that. */
-/* Always fail if not enough characters left */
-/* An alternation is the end of a branch; scan along to find the end of the
-/* Assert before internal newline if multiline, or before a terminating
-/* Assertion brackets. Check the alternative branches in turn - the
-/* At the start of a bracketed group, add the current subject pointer to the
-/* BRAZERO and BRAMINZERO occur just before a bracket group, indicating
-/* Caseful comparisons */
-/* Caseful comparisons */
-/* Change option settings */
-/* Common code for all repeated single character type matches */
-/* Common code for all repeated single-character matches. We can give
-/* Common code for all repeated single-character matches. We can give
-/* Compute the minimum number of offsets that we need to reset each time. Doing
-/* Conditional group: compilation checked that there are no more than
-/* Continue as from after the assertion, updating the offsets high water
-/* Continue from after the assertion, updating the offsets high water
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never gets here */
-/* Control never reaches here */
-/* Control never reaches here */
-/* Copy the offset information from temporary store if necessary */
-/* Do a single test if no case difference is set up */
-/* Do not stick any code in here without much thought; it is assumed
-/* End of a group, repeated or non-repeating. If we are at the end of
-/* End of subject assertion (\z) */
-/* End of subject or ending \n assertion (\Z) */
-/* End of the pattern. If PCRE_NOTEMPTY is set, fail if we have matched
-/* First, ensure the minimum number of matches are present. */
-/* First, ensure the minimum number of matches are present. Use inline
-/* First, ensure the minimum number of matches are present. We get back
-/* Flag bits for the match() function */
-/* For a non-repeating ket, just continue at this level. This also
-/* For a non-repeating ket, just continue at this level. This also
-/* For anchored or unanchored matches, there may be a "last known required
-/* For extended extraction brackets (large number), we have to fish out
-/* For extended extraction brackets (large number), we have to fish out the
-/* For matches anchored to the end of the pattern, we can often avoid
-/* If a back reference hasn't been set, the length that is passed is greater
-/* If checking an assertion for a condition, return TRUE. */
-/* If hit the end of the group (which could be repeated), fail */
-/* If max == min we can continue with the main loop without the
-/* If maximizing it is worth using inline code for speed, doing the type
-/* If maximizing, find the longest possible run, then work backwards. */
-/* If maximizing, find the longest string and work backwards */
-/* If min = max, continue at the same level without recursing */
-/* If min = max, continue at the same level without recursion.
-/* If minimizing, keep testing the rest of the expression and advancing
-/* If minimizing, keep trying and advancing the pointer */
-/* If minimizing, we have to test the rest of the pattern before each
-/* If req_char is set, we know that that character must appear in the subject
-/* If the expression has got more back references than the offsets supplied can
-/* If the length of the reference is zero, just continue with the
-/* If the reference is unset, set the length to be longer than the amount
-/* If we can't find the required character, break the matching loop */
-/* If we have found the required character, save the point where we
-/* In all other cases except a conditional group we have to check the
-/* In case the recursion has set more capturing values, save the final
-/* Include the internals header, which itself includes Standard C headers plus
-/* Insufficient room for saving captured contents */
-/* Loop for handling unanchored repeated matching attempts; for anchored regexs
-/* Match a back reference, possibly repeatedly. Look past the end of the
-/* Match a character class, possibly repeatedly. Look past the end of the
-/* Match a negated single character */
-/* Match a negated single character repeatedly. This is almost a repeat of
-/* Match a run of characters */
-/* Match a single character repeatedly; different opcodes share code. */
-/* Match a single character type repeatedly; several different opcodes
-/* Match a single character type; inline for speed */
-/* Min and max values for the common repeats; for the maxima, 0 => infinity */
-/* Move the subject pointer back. This occurs only at the start of
-/* Negative assertion: all branches must fail to match */
-/* Now start processing the operations. */
-/* OP_KETRMAX */
-/* OP_KETRMAX */
-/* On entry ecode points to the first opcode, and eptr to the first character
-/* Opening capturing bracket. If there is space in the offset vector, save
-/* Or to a non-unique first char after study */
-/* Or to a unique first char if possible */
-/* Or to just after \n for a multiline match if possible */
-/* Other types of node can be handled by a switch */
-/* Otherwise test for either case */
-/* Print a sequence of chars in printable format, stopping at the end of the
-/* Recursion matches the current regex, nested. If there are any capturing
-/* Reset the maximum number of extractions we might see. */
-/* Reset the value of the ims flags, in case they got changed during
-/* Reset the working variable associated with each extraction. These should
-/* Separate the caselesss case for speed */
-/* Set up for repetition, or handle the non-repeated case */
-/* Set up the first character to match, if available. The first_char value is
-/* Skip over conditional reference data or large extraction number data if
-/* Start of subject assertion */
-/* Start of subject unless notbol, or after internal newline if multiline */
-/* Structure for building a chain of data that actually lives on the
-/* The code is duplicated for the caseless and caseful cases, for speed,
-/* The code is duplicated for the caseless and caseful cases, for speed,
-/* The condition is an assertion. Call match() to evaluate it - setting
-/* The ims options can vary during the matching as a result of the presence
-/* The repeating kets try the rest of the pattern or restart from the
-/* The repeating kets try the rest of the pattern or restart from the
-/* There's been some horrible disaster. */
-/* This "while" is the end of the "do" above */
-/* This function applies a compiled re to a subject string and picks out
-/* Use a macro for debugging printing, 'cause that limits the use of #ifdef
-/* We don't need to repeat the search if we haven't yet reached the
-/* When a match occurs, substrings will be set for all internal extractions;
-/* Word boundary assertions */
-/*************************************************
-/*************************************************
-/*************************************************
-/*************************************************
-/*************************************************
-/*************************************************
-1. This software is distributed in the hope that it will be useful,
-2. The origin of this software must not be misrepresented, either by
-3. Altered versions must be plainly marked as such, and must not be
-4. If PCRE is embedded in any software that is released under the GNU
-5.005. If there is an options reset, it will get obeyed in the normal
-5.005. If there is an options reset, it will get obeyed in the normal
-6 : 3 + (ecode[1] << 8) + ecode[2]),
-< -1 => some kind of unexpected problem
-= 0 => success, but offsets is not big enough
-Arguments:
-Arguments:
-Arguments:
-Arguments:
-BOOL anchored;
-BOOL cur_is_word = (eptr < md->end_subject) &&
-BOOL cur_is_word = (eptr < md->end_subject) &&
-BOOL is_subject;
-BOOL minimize = FALSE;
-BOOL prev_is_word = (eptr != md->start_subject) &&
-BOOL prev_is_word = (eptr != md->start_subject) &&
-BOOL rc;
-BOOL startline;
-BOOL using_temporary_offsets = FALSE;
-Copyright (c) 1997-2000 University of Cambridge
-DPRINTF ((">>>> returning %d\n", match_block.errorcode));
-DPRINTF ((">>>> returning %d\n", rc));
-DPRINTF (("Copied offsets from temporary memory\n"));
-DPRINTF (("Freeing temporary memory\n"));
-DPRINTF (("Freeing temporary memory\n"));
-DPRINTF (("Got memory to hold back references\n"));
-DPRINTF (("Unknown opcode %d\n", *ecode));
-DPRINTF (("bracket %d failed\n", number));
-DPRINTF (("bracket 0 failed\n"));
-DPRINTF (("ims reset to %02lx\n", ims));
-DPRINTF (("ims set to %02lx at group repeat\n", ims));
-DPRINTF (("ims set to %02lx\n", ims));
-DPRINTF (("matching %c{%d,%d} against subject %.*s\n", c, min, max,
-DPRINTF (("negative matching %c{%d,%d} against subject %.*s\n", c, min, max,
-DPRINTF (("saving %d %d %d\n", save_offset1, save_offset2, save_offset3));
-DPRINTF (("start bracket 0\n"));
-GETCHAR (c, eptr) /* Get character */
-GETCHARINC (c, eptr) /* Get character; increment eptr */
-GETCHARINC (c, eptr) /* Get character; increment eptr */
-General Purpose Licence (GPL), then the terms of that licence shall
-However, if the referenced string is the empty string, always treat
-If the bracket fails to match, we need to restore this value and also the
-If there isn't enough space in the offset vector, treat this as if it were a
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-Otherwise, we can use the vector supplied, rounding down its size to a multiple
-Permission is granted to anyone to use this software for any purpose on any
-REPEATCHAR:
-REPEATNOTCHAR:
-REPEATTYPE:
-Returns: > 0 => success; value is the number of elements filled in
-Returns: TRUE if matched
-Returns: TRUE if matched
-Returns: nothing
-They are not both allowed to be zero. */
-This is a library of functions to support regular expressions whose syntax
-This is the forcible breaking of infinite loops as implemented in Perl
-This is the forcible breaking of infinite loops as implemented in Perl
-Writing separate code makes it go faster, as does using an autoincrement and
-Written by: Philip Hazel <ph10@cam.ac.uk>
-a move back into the brackets. Check the alternative branches in turn - the
-address of eptr, so that eptr can be a register variable. */
-an assertion "group", stop matching and return TRUE, but record the
-an empty string - recursion will then try other alternatives, if any. */
-an error. Save the top 15 values on the stack, and accept that the rest
-an unanchored pattern, of course. If there's no first char and the pattern was
-analyzing most of the pattern. length > re->max_match_size is
-anchored = ((re->options | options) & PCRE_ANCHORED) != 0;
-and advance one byte in the pattern code. */
-and reinstate them after the recursion. However, we don't know how many
-and semantics are as close as possible to those of the Perl 5 language. See
-and the required character in fact is caseful. */
-at run time, so we have to test for anchoring. The first char may be unset for
-avoid duplicate testing (which takes significant time). This covers the vast
-backing off on a match. */
-bmtable = extra->data.bmtable;
-both cases of the character. Otherwise set the two values the same, which will
-bracketed group and go to there. */
-brackets - for testing for empty matches
-brackets started but not finished, we have to save their starting points
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-break;
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-c != md->lcc[*eptr++])
-c = *ecode++ - OP_CRSTAR;
-c = *ecode++ - OP_CRSTAR;
-c = *ecode++ - OP_NOTSTAR;
-c = *ecode++ - OP_STAR;
-c = *ecode++ - OP_TYPESTAR;
-c = *ecode++;
-c = *ecode++;
-c = *eptr++;
-c = 15;
-c = max - min;
-c = md->end_subject - eptr;
-c = md->lcc[c];
-c = md->lcc[c];
-c = md->offset_max;
-c == md->lcc[*eptr++])
-can't just fail here, because of the possibility of quantifiers with zero
-case OP_ALT:
-case OP_ANY:
-case OP_ANY:
-case OP_ANY:
-case OP_ANY:
-case OP_ASSERT:
-case OP_ASSERTBACK:
-case OP_ASSERTBACK_NOT:
-case OP_ASSERT_NOT:
-case OP_BEG_WORD:
-case OP_BRA: /* Non-capturing bracket: optimized */
-case OP_BRAMINZERO:
-case OP_BRANUMBER:
-case OP_BRAZERO:
-case OP_CHARS:
-case OP_CIRC:
-case OP_CLASS:
-case OP_COND:
-case OP_CREF:
-case OP_CRMINPLUS:
-case OP_CRMINPLUS:
-case OP_CRMINQUERY:
-case OP_CRMINQUERY:
-case OP_CRMINRANGE:
-case OP_CRMINRANGE:
-case OP_CRMINSTAR:
-case OP_CRMINSTAR:
-case OP_CRPLUS:
-case OP_CRPLUS:
-case OP_CRQUERY:
-case OP_CRQUERY:
-case OP_CRRANGE:
-case OP_CRRANGE:
-case OP_CRSTAR:
-case OP_CRSTAR:
-case OP_DIGIT:
-case OP_DIGIT:
-case OP_DIGIT:
-case OP_DIGIT:
-case OP_DOLL:
-case OP_END:
-case OP_END_WORD:
-case OP_EOD:
-case OP_EODN:
-case OP_EXACT:
-case OP_KET:
-case OP_KETRMAX:
-case OP_KETRMIN:
-case OP_MINPLUS:
-case OP_MINQUERY:
-case OP_MINSTAR:
-case OP_MINUPTO:
-case OP_NOT:
-case OP_NOTEXACT:
-case OP_NOTMINPLUS:
-case OP_NOTMINQUERY:
-case OP_NOTMINSTAR:
-case OP_NOTMINUPTO:
-case OP_NOTPLUS:
-case OP_NOTQUERY:
-case OP_NOTSTAR:
-case OP_NOTUPTO:
-case OP_NOT_DIGIT:
-case OP_NOT_DIGIT:
-case OP_NOT_DIGIT:
-case OP_NOT_DIGIT:
-case OP_NOT_WHITESPACE:
-case OP_NOT_WHITESPACE:
-case OP_NOT_WHITESPACE:
-case OP_NOT_WHITESPACE:
-case OP_NOT_WORDCHAR:
-case OP_NOT_WORDCHAR:
-case OP_NOT_WORDCHAR:
-case OP_NOT_WORDCHAR:
-case OP_NOT_WORD_BOUNDARY:
-case OP_ONCE:
-case OP_OPT:
-case OP_PLUS:
-case OP_QUERY:
-case OP_RECURSE:
-case OP_REF:
-case OP_REVERSE:
-case OP_SOD:
-case OP_STAR:
-case OP_TYPEEXACT:
-case OP_TYPEMINPLUS:
-case OP_TYPEMINQUERY:
-case OP_TYPEMINSTAR:
-case OP_TYPEMINUPTO:
-case OP_TYPEPLUS:
-case OP_TYPEQUERY:
-case OP_TYPESTAR:
-case OP_TYPEUPTO:
-case OP_UPTO:
-case OP_WHITESPACE:
-case OP_WHITESPACE:
-case OP_WHITESPACE:
-case OP_WHITESPACE:
-case OP_WORDCHAR:
-case OP_WORDCHAR:
-case OP_WORDCHAR:
-case OP_WORDCHAR:
-case OP_WORD_BOUNDARY:
-case matching may be when this character is hit, so test for it in both its
-caselessly, or if there are any changes of this flag within the regex, set up
-cases if necessary. However, the different cased versions will not be set up
-character" set. If the PCRE_CASELESS is set, implying that the match starts
-characters and work backwards. */
-characters and work backwards. */
-code for maximizing the speed, and do the type test once at the start
-code to character type repeats - written out again for speed. */
-commoning these up that doesn't require a test of the positive/negative
-computer system, and to redistribute it freely, subject to the following
-const char *subject;
-const pcre *re;
-const pcre_extra *extra;
-const uschar *bmtable = NULL;
-const uschar *data = ecode + 1; /* Save for matching */
-const uschar *end_subject;
-const uschar *next = ecode + 1;
-const uschar *next = ecode + 1;
-const uschar *p = md->start_subject + md->offset_vector[offset];
-const uschar *p;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *pp = eptr;
-const uschar *prev = ecode - (ecode[1] << 8) - ecode[2];
-const uschar *prev = ecode;
-const uschar *req_char_ptr = start_match - 1;
-const uschar *saved_eptr = eptr;
-const uschar *saved_eptr = eptrb->saved_eptr;
-const uschar *saved_eptr;
-const uschar *start_bits = NULL;
-const uschar *start_match = (const uschar *) subject + start_offset;
-continue; /* With the main loop */
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-continue;
-course of events. */
-course of events. */
-ctype = *ecode++; /* Code for the character type */
-cur_is_word == prev_is_word : cur_is_word != prev_is_word)
-current high water mark for use by positive assertions. Do this also
-default: /* No repeat follows */
-default: /* No repeat follows */
-default:
-do
-do
-do
-do
-do
-do
-do
-do
-do
-do
-do
-each branch of a lookbehind assertion. If we are too close to the start to
-each substring: the offsets to the start and end of the substring.
-ecode position in code
-ecode + ((offset < offset_top && md->offset_vector[offset] >= 0) ?
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += (ecode[1] << 8) + ecode[2];
-ecode += 2;
-ecode += 2;
-ecode += 3 + (ecode[4] << 8) + ecode[5];
-ecode += 33; /* Advance past the item */
-ecode += 3; /* Advance past the item */
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 3;
-ecode += 5;
-ecode += 5;
-ecode = next + 3;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-ecode++;
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else
-else if ((extra->options & PCRE_STUDY_BM) != 0)
-else if (first_char >= 0)
-else if (start_bits != NULL)
-else if (startline)
-encountered */
-end_subject = match_block.end_subject;
-eptr pointer in subject
-eptr points into the subject
-eptr += c;
-eptr += length;
-eptr += length;
-eptr += length;
-eptr += length;
-eptr += min;
-eptr -= (ecode[1] << 8) + ecode[2];
-eptr -= length;
-eptr = md->end_match_ptr;
-eptr = md->end_match_ptr;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptr++;
-eptrb pointer to chain of blocks containing eptr at start of
-eptrb = &newptrb;
-eptrb = eptrb->prev; /* Back up the stack of bracket start pointers */
-eptrblock *eptrb;
-eptrblock newptrb;
-eptrblock;
-exactly what going to the ket would do. */
-explicit claim or by omission.
-external_extra points to "hints" from pcre_study() or is NULL
-external_re points to the compiled expression
-extraction by setting the offsets and bumping the high water mark. */
-first_char = match_block.lcc[first_char];
-first_char = re->first_char;
-flags can contain
-for (;;)
-for (i = 1; i <= c; i++)
-for (i = 1; i <= c; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = 1; i <= min; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min; i < max; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for (i = min;; i++)
-for the "once" (not-backup up) groups. */
-for the match to succeed. If the first character is set, req_char must be
-found it, so that we don't search again next time round the loop if
-from a previous iteration of this group, and be referred to by a reference
-goto REPEATCHAR;
-goto REPEATCHAR;
-goto REPEATNOTCHAR;
-goto REPEATNOTCHAR;
-goto REPEATTYPE;
-goto REPEATTYPE;
-group number back at the start and if necessary complete handling an
-happens for a repeating ket if no characters were matched in the group.
-happens for a repeating ket if no characters were matched in the group.
-here; that is handled in the code for KET. */
-hold, we get a temporary bit of working store to use during the matching.
-i.e. it could be ()* or ()? in the pattern. Brackets with fixed upper
-if (!anchored)
-if (!match (start_match, re->code, 2, &match_block, ims, NULL, match_isgroup))
-if (!match_ref (offset, eptr, length, md, ims))
-if (!match_ref (offset, eptr, length, md, ims))
-if (!match_ref (offset, eptr, length, md, ims))
-if (!md->endonly)
-if (!rc)
-if (!startline && extra != NULL)
-if ((*ecode++ == OP_WORD_BOUNDARY) ?
-if ((data[c / 8] & (1 << (c & 7))) != 0)
-if ((data[c / 8] & (1 << (c & 7))) != 0)
-if ((data[c / 8] & (1 << (c & 7))) == 0)
-if ((extra->options & PCRE_STUDY_MAPPED) != 0)
-if ((flags & match_condassert) != 0)
-if ((flags & match_condassert) != 0)
-if ((flags & match_isgroup) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_CASELESS) != 0)
-if ((ims & PCRE_DOTALL) == 0 && c == '\n')
-if ((ims & PCRE_DOTALL) == 0 && eptr < md->end_subject && *eptr == '\n')
-if ((ims & PCRE_DOTALL) == 0)
-if ((ims & PCRE_DOTALL) == 0)
-if ((ims & PCRE_MULTILINE) != 0)
-if ((ims & PCRE_MULTILINE) != 0)
-if ((md->ctypes[*eptr++] & ctype_digit) != 0)
-if ((md->ctypes[*eptr++] & ctype_digit) == 0)
-if ((md->ctypes[*eptr++] & ctype_space) != 0)
-if ((md->ctypes[*eptr++] & ctype_space) == 0)
-if ((md->ctypes[*eptr++] & ctype_word) != 0)
-if ((md->ctypes[*eptr++] & ctype_word) == 0)
-if ((md->ctypes[c] & ctype_digit) != 0)
-if ((md->ctypes[c] & ctype_digit) == 0)
-if ((md->ctypes[c] & ctype_space) != 0)
-if ((md->ctypes[c] & ctype_space) == 0)
-if ((md->ctypes[c] & ctype_word) != 0)
-if ((md->ctypes[c] & ctype_word) == 0)
-if ((options & ~PUBLIC_EXEC_OPTIONS) != 0)
-if ((re->options & PCRE_FIRSTSET) != 0)
-if ((re->options & PCRE_REQCHSET) != 0)
-if ((start_bits[c / 8] & (1 << (c & 7))) == 0)
-if (*ecode != OP_ONCE && *ecode != OP_ALT)
-if (*ecode == OP_KET || eptr == saved_eptr)
-if (*ecode == OP_KET || eptr == saved_eptr)
-if (*ecode == OP_KET)
-if (*ecode == OP_KETRMIN)
-if (*ecode == OP_KETRMIN)
-if (*ecode++ != *eptr++)
-if (*ecode++ == *eptr++)
-if (*eptr != '\n')
-if (*eptr++ == '\n')
-if (*p++ != *eptr++)
-if (*p++ == req_char)
-if (*prev != OP_COND)
-if (*prev == OP_ASSERT || *prev == OP_ASSERT_NOT ||
-if (bmtable != NULL)
-if (bmtable[*start_match])
-if (c != *eptr++)
-if (c != md->lcc[*eptr++])
-if (c < 16)
-if (c == *eptr++)
-if (c == md->lcc[*eptr++])
-if (c > md->end_subject - eptr)
-if (cur_is_word == prev_is_word ||
-if (ecode[3] == OP_CREF) /* Condition is extraction test */
-if (ecode[3] == OP_OPT)
-if (eptr != md->start_subject && eptr[-1] != '\n')
-if (eptr != md->start_subject)
-if (eptr < md->end_subject - 1 ||
-if (eptr < md->end_subject - 1 ||
-if (eptr < md->end_subject)
-if (eptr < md->end_subject)
-if (eptr < md->start_subject)
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject ||
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) == 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) == 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) != 0)
-if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) == 0)
-if (eptr >= md->end_subject || *eptr == '\n')
-if (eptr >= md->end_subject || c != *eptr)
-if (eptr >= md->end_subject || c != md->lcc[*eptr])
-if (eptr >= md->end_subject || c == *eptr)
-if (eptr >= md->end_subject || c == md->lcc[*eptr])
-if (eptr >= md->end_subject)
-if (eptr >= md->end_subject)
-if (eptr >= md->end_subject)
-if (eptr >= md->end_subject)
-if (eptr >= md->end_subject)
-if (eptr++ >= md->end_subject)
-if (i >= max || !match_ref (offset, eptr, length, md, ims))
-if (i >= max || eptr >= md->end_subject ||
-if (i >= max || eptr >= md->end_subject ||
-if (i >= max || eptr >= md->end_subject || c != *eptr++)
-if (i >= max || eptr >= md->end_subject || c == *eptr++)
-if (i >= max || eptr >= md->end_subject)
-if (i >= max || eptr >= md->end_subject)
-if (is_subject && length > md->end_subject - p)
-if (isprint (c = *(p++)))
-if (length == 0)
-if (length > md->end_subject - eptr)
-if (length > md->end_subject - eptr)
-if (match (eptr, ecode + 3, offset_top, md, ims, NULL,
-if (match (eptr, ecode + 3, offset_top, md, ims, NULL, match_isgroup))
-if (match (eptr, ecode + 3, offset_top, md, ims, NULL, match_isgroup))
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0) ||
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0) ||
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr, next + 3, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, next, offset_top, md, ims, eptrb, match_isgroup))
-if (match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup) ||
-if (match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup) ||
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match (eptr--, ecode, offset_top, md, ims, eptrb, 0))
-if (match_block.end_offset_top > offsetcount)
-if (match_block.offset_vector != NULL)
-if (match_block.offset_vector == NULL)
-if (max == 0)
-if (max == 0)
-if (max == 0)
-if (max == 0)
-if (max == 0)
-if (max == 0)
-if (max == 0)
-if (md->lcc[*ecode++] != md->lcc[*eptr++])
-if (md->lcc[*ecode++] == md->lcc[*eptr++])
-if (md->lcc[*p++] != md->lcc[*eptr++])
-if (md->notbol && eptr == md->start_subject)
-if (md->notempty && eptr == md->start_match)
-if (md->noteol)
-if (md->noteol)
-if (min == max)
-if (min == max)
-if (min == max)
-if (min == max)
-if (min == max)
-if (min == max)
-if (min == max)
-if (min > 0)
-if (min > md->end_subject - eptr)
-if (min > md->end_subject - eptr)
-if (min > md->end_subject - eptr)
-if (minimize)
-if (minimize)
-if (minimize)
-if (minimize)
-if (minimize)
-if (minimize)
-if (minimize)
-if (number > 0)
-if (number > EXTRACT_BASIC_MAX)
-if (number > EXTRACT_BASIC_MAX)
-if (offset < md->offset_max)
-if (offset >= md->offset_max)
-if (offset_top <= offset)
-if (offsetcount < 2)
-if (offsetcount >= 4)
-if (op > OP_BRA)
-if (p > req_char_ptr)
-if (p >= end_subject)
-if (pp == req_char || pp == req_char2)
-if (re == NULL || subject == NULL ||
-if (re->magic_number != MAGIC_NUMBER)
-if (re->max_match_size >= 0
-if (re->top_backref > 0 && re->top_backref >= ocount / 3)
-if (req_char == req_char2)
-if (req_char >= 0)
-if (resetcount > offsetcount)
-if (save != stacksave)
-if (save == NULL)
-if (skipped_chars)
-if (start_match + bmtable[256] > end_subject)
-if (start_match > match_block.start_subject + start_offset)
-if (using_temporary_offsets)
-if (using_temporary_offsets)
-if certain parts of the pattern were not used. */
-if the malloc fails ... there is no way of returning to the top level with
-implied in the second condition, because start_offset > 0. */
-ims current /i, /m, and /s options
-ims the ims flags
-ims = (ims & ~PCRE_IMS) | ecode[4];
-ims = ecode[1];
-ims = original_ims;
-ims = re->options & (PCRE_CASELESS | PCRE_MULTILINE | PCRE_DOTALL);
-in the pattern. */
-in the subject string, while eptrb holds the value of eptr at the start of the
-initialize them to avoid reading uninitialized locations. */
-inline, and there are *still* stupid compilers about that don't like indented
-inside the group.
-int
-int *offsets;
-int *save;
-int c;
-int first_char = -1;
-int flags;
-int length;
-int length;
-int length;
-int length;
-int min, max, ctype;
-int number = *prev - OP_BRA;
-int number = op - OP_BRA;
-int offset = (ecode[1] << 9) | (ecode[2] << 1); /* Doubled reference number */
-int offset = (ecode[4] << 9) | (ecode[5] << 1); /* Doubled reference number */
-int offset;
-int offset;
-int offset;
-int offset_top;
-int offsetcount;
-int op = (int) *ecode;
-int options;
-int rc;
-int req_char = -1;
-int req_char2 = -1;
-int resetcount, ocount;
-int save_offset1 = md->offset_vector[offset];
-int save_offset2 = md->offset_vector[offset + 1];
-int save_offset3 = md->offset_vector[md->offset_end - number];
-int skipped_chars = 0;
-int stacksave[15];
-int start_offset;
-is a bit large to put on the stack, but using malloc for small numbers
-is_subject TRUE if printing from within md->start_subject
-it as matched, any number of times (otherwise there could be infinite
-item to see if there is repeat information following. The code is similar
-item to see if there is repeat information following. Then obey similar
-last bracketed group - used for breaking infinite loops matching zero-length
-later in the subject; otherwise the test starts at the match point. This
-length length of subject string (may contain binary zeros)
-length length to be matched
-length number to print
-length = (offset >= offset_top || md->offset_vector[offset] < 0) ?
-length = md->end_subject - p;
-level without recursing. Otherwise, if minimizing, keep trying the rest of
-level without recursing. Otherwise, if minimizing, keep trying the rest of
-loop. */
-loops). */
-main loop. */
-majority of cases. It will be suboptimal when the case flag changes in a regex
-mark, since extracts may have been taken during the assertion. */
-mark, since extracts may have been taken. */
-match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0))
-match (eptr, ecode + 3, offset_top, md, ims, eptrb, 0))
-match (eptr, ecode, offset_top, md, ims, eptrb, flags)
-match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup))
-match (eptr, prev, offset_top, md, ims, eptrb, match_isgroup))
-match_block.ctypes = re->tables + ctypes_offset;
-match_block.end_subject = match_block.start_subject + length;
-match_block.endonly = (re->options & PCRE_DOLLAR_ENDONLY) != 0;
-match_block.errorcode = PCRE_ERROR_NOMATCH; /* Default error */
-match_block.errorcode == PCRE_ERROR_NOMATCH &&
-match_block.lcc = re->tables + lcc_offset;
-match_block.lcc[*start_match] != first_char)
-match_block.notbol = (options & PCRE_NOTBOL) != 0;
-match_block.notempty = (options & PCRE_NOTEMPTY) != 0;
-match_block.noteol = (options & PCRE_NOTEOL) != 0;
-match_block.offset_end = ocount;
-match_block.offset_max = (2 * ocount) / 3;
-match_block.offset_overflow = FALSE;
-match_block.offset_overflow = TRUE;
-match_block.offset_vector = (int *) (pcre_malloc) (ocount * sizeof (int));
-match_block.offset_vector = offsets;
-match_block.start_match = start_match;
-match_block.start_pattern = re->code;
-match_block.start_subject = (const uschar *) subject;
-match_condassert - this is an assertion condition
-match_condassert | match_isgroup))
-match_data *md;
-match_data *md;
-match_data *md;
-match_data match_block;
-match_isgroup - this is the start of a bracketed group
-match_isgroup);
-match_ref (offset, eptr, length, md, ims)
-matches, we carry on as at the end of a normal bracket, leaving the subject
-matching won't pass the KET for an assertion. If any one branch matches,
-matching won't pass the KET for this kind of subpattern. If any one branch
-max = (ecode[1] << 8) + ecode[2];
-max = (ecode[1] << 8) + ecode[2];
-max = (ecode[1] << 8) + ecode[2];
-max = (ecode[3] << 8) + ecode[4];
-max = (ecode[3] << 8) + ecode[4];
-max = INT_MAX;
-max = INT_MAX;
-max = INT_MAX;
-max = INT_MAX;
-max = INT_MAX;
-max = INT_MAX;
-max = INT_MAX;
-max = rep_max[c]; /* zero for max => infinity */
-max = rep_max[c]; /* zero for max => infinity */
-max = rep_max[c]; /* zero for max => infinity */
-max = rep_max[c]; /* zero for max => infinity */
-max = rep_max[c]; /* zero for max => infinity */
-max, eptr));
-max, eptr));
-maximum. Alternatively, if maximizing, find the maximum number of
-maximum. Alternatively, if maximizing, find the maximum number of
-may be wrong. */
-md pointer to "static" info for the match
-md pointer to matching data block, if is_subject is TRUE
-md points to match data block
-md->end_match_ptr = eptr; /* For ONCE */
-md->end_match_ptr = eptr; /* Record where we ended */
-md->end_offset_top = offset_top; /* and how many extracts were taken */
-md->end_offset_top = offset_top;
-md->end_subject - eptr + 1 :
-md->errorcode = PCRE_ERROR_UNKNOWN_NODE;
-md->offset_overflow = TRUE;
-md->offset_vector[md->offset_end - i] = save[i];
-md->offset_vector[md->offset_end - number] = eptr - md->start_subject;
-md->offset_vector[md->offset_end - number] = save_offset3;
-md->offset_vector[md->offset_end - number];
-md->offset_vector[offset + 1] - md->offset_vector[offset];
-md->offset_vector[offset + 1] = eptr - md->start_subject;
-md->offset_vector[offset + 1] = save_offset2;
-md->offset_vector[offset] =
-md->offset_vector[offset] = save_offset1;
-memcpy (offsets + 2, match_block.offset_vector + 2,
-min = (ecode[1] << 8) + ecode[2];
-min = (ecode[1] << 8) + ecode[2];
-min = 0;
-min = 0;
-min = 0;
-min = max = (ecode[1] << 8) + ecode[2];
-min = max = (ecode[1] << 8) + ecode[2];
-min = max = (ecode[1] << 8) + ecode[2];
-min = max = 1;
-min = rep_min[c]; /* Pick up values from tables; */
-min = rep_min[c]; /* Pick up values from tables; */
-min = rep_min[c]; /* Pick up values from tables; */
-min = rep_min[c]; /* Pick up values from tables; */
-min = rep_min[c]; /* Pick up values from tables; */
-minima. */
-minimize = (*ecode == OP_CRMINRANGE);
-minimize = (*ecode == OP_CRMINRANGE);
-minimize = (c & 1) != 0;
-minimize = (c & 1) != 0;
-minimize = (c & 1) != 0;
-minimize = (c & 1) != 0;
-minimize = (c & 1) != 0;
-minimize = *ecode == OP_MINUPTO;
-minimize = *ecode == OP_NOTMINUPTO;
-minimize = *ecode == OP_TYPEMINUPTO;
-minimize = TRUE;
-minimum number of matches are present. If min = max, continue at the same
-minimum number of matches are present. If min = max, continue at the same
-misrepresented as being the original software.
-move back, this match function fails. */
-mustn't change the current values of the data slot, because they may be set
-need to recurse. */
-never be used unless previously set, but they get saved and restored, and so we
-never set for an anchored regular expression, but the anchoring may be forced
-newline unless endonly is set, else end of subject unless noteol is set. */
-newptrb.prev = eptrb;
-newptrb.saved_eptr = eptr;
-next += (next[1] << 8) + next[2];
-next += (next[1] << 8) + next[2];
-non-capturing bracket. Don't worry about setting the flag for the error case
-number = (ecode[4] << 8) | ecode[5];
-number = (prev[4] << 8) | prev[5];
-number from a dummy opcode at the start. */
-number, then move along the subject till after the recursive match,
-ocount = offsetcount - (offsetcount % 3);
-ocount = re->top_backref * 3 + 3;
-of (?ims) items in the pattern. They are kept in a local variable so that
-of 3. */
-of subject left; this ensures that every attempt at a match fails. We
-offset index into the offset vector
-offset = number << 1;
-offset = number << 1;
-offset_top current top pointer
-offset_top = md->end_offset_top;
-offset_top = md->end_offset_top;
-offset_top = md->end_offset_top;
-offset_top = offset + 2;
-offset_top, md, ims, eptrb, match_isgroup);
-offsetcount the number of elements in the vector
-offsets points to a vector of ints to be filled in with offsets
-offsets[0] = start_match - match_block.start_subject;
-offsets[1] = match_block.end_match_ptr - match_block.start_subject;
-op = OP_BRA;
-opcode. */
-optimization can save a huge amount of backtracking in patterns with nested
-option for each character match. Maybe that wouldn't add very much to the
-options option bits
-p points to characters
-p--;
-p--;
-past the end if there is only one branch, but that's OK because that is
-pchars (ecode, length, FALSE, md);
-pchars (eptr, 16, TRUE, md);
-pchars (eptr, length, TRUE, md);
-pchars (eptr, length, TRUE, md);
-pchars (p, length, FALSE, md);
-pchars (p, length, is_subject, md)
-pchars (start_match, end_subject - start_match, TRUE, &match_block);
-pcre_exec (re, extra, subject, length, start_offset, options, offsets, offsetcount)
-place we found it at last time. */
-pointer. */
-portions of the string if it matches. Two elements in the vector are set for
-pre-processor statements. I suppose it's only been 10 years... */
-preceded by BRAZERO or BRAMINZERO. */
-preceding bracket, in the appropriate order. */
-preceding bracket, in the appropriate order. We need to reset any options
-printf (" against backref ");
-printf (" against pattern ");
-printf ("%c", c);
-printf (">>>> Match against: ");
-printf (">>>>> Skipped %d chars to reach first character\n",
-printf ("\\x%02x", c);
-printf ("\n");
-printf ("\n");
-printf ("\n");
-printf ("\n");
-printf ("\n");
-printf ("end bracket %d", number);
-printf ("matching subject ");
-printf ("matching subject ");
-printf ("matching subject <null> against pattern ");
-printf ("matching subject <null>");
-printf ("start bracket %d subject=", number);
-rc = 0;
-rc = match (eptr, md->start_pattern, offset_top, md, ims, eptrb,
-rc = match_block.offset_overflow ? 0 : match_block.end_offset_top / 2;
-register const uschar *ecode;
-register const uschar *eptr;
-register const uschar *eptr;
-register const uschar *p = start_match + ((first_char >= 0) ? 1 : 0);
-register int *iend = iptr + resetcount;
-register int *iend = iptr - resetcount / 2 + 1;
-register int *iptr = match_block.offset_vector + ocount;
-register int *iptr = match_block.offset_vector;
-register int c = *start_match;
-register int c;
-register int i;
-register int length = ecode[1];
-register int pp = *p++;
-repeat it in the interests of efficiency. */
-repeat limits are compiled as a number of copies, with the optional ones
-req_char = re->req_char;
-req_char2 = ((re->options & (PCRE_CASELESS | PCRE_ICHANGED)) != 0) ?
-req_char_ptr = p;
-resetcount = 2 + re->top_bracket * 2;
-resetcount = ocount;
-restoring at the exit of a group is easy. */
-restrictions:
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return FALSE;
-return PCRE_ERROR_BADMAGIC;
-return PCRE_ERROR_BADOPTION;
-return PCRE_ERROR_NOMATCH;
-return PCRE_ERROR_NOMEMORY;
-return PCRE_ERROR_NULL;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return TRUE;
-return match (eptr,
-return match (eptr, ecode + 3, offset_top, md, ims, eptrb, match_isgroup);
-return match_block.errorcode;
-return rc;
-save = (int *) (pcre_malloc) ((c + 1) * sizeof (int));
-save = stacksave;
-save = stacksave;
-save[i] = md->offset_vector[md->offset_end - i];
-seems expensive. As a compromise, the stack is used when there are fewer
-share code. This is very similar to the code for single characters, but we
-similar code to character type repeats - written out again for speed.
-since matching characters is likely to be quite common. First, ensure the
-since matching characters is likely to be quite common. First, ensure the
-skipped_chars += bmtable[*start_match],
-skipped_chars += bmtable[256] - 1;
-skipped_chars -= bmtable[256] - 1;
-skipped_chars);
-skipped_chars++,
-skipped_chars++,
-skipped_chars++,
-skipped_chars++,
-stack of such pointers, to be re-instated at the end of the group when we hit
-stack, for holding the values of the subject pointer at the start of each
-start of each branch to move the current point backwards, so the code at
-start_bits = extra->data.start_bits;
-start_match += bmtable[*start_match];
-start_match += bmtable[256] - 1;
-start_match -= bmtable[256] - 1;
-start_match = (const uschar *) subject + length - re->max_match_size;
-start_match++ < end_subject);
-start_match++;
-start_match++;
-start_match++;
-start_match++;
-start_offset where to start in the subject string
-startline = (re->options & PCRE_STARTLINE) != 0;
-static BOOL
-static BOOL
-static const char rep_max[] =
-static const char rep_min[] =
-static void
-strings.
-struct eptrblock *prev;
-studied, there may be a bitmap of possible first characters. */
-subject points to the subject string
-subject if the requested.
-subpattern - to break infinite loops. */
-subpattern, so as to detect when an empty string has been matched by a
-subsequent match. */
-such there are (offset_top records the completed total) so we just have
-supersede any condition above with which it is incompatible.
-switch (*ecode)
-switch (*ecode)
-switch (ctype)
-switch (ctype)
-switch (ctype)
-switch (op)
-test once at the start (i.e. keep it out of the loop). */
-than 16 values to store; otherwise malloc is used. A problem is what to do
-than the number of characters left in the string, so the match fails.
-that "continue" in the code above comes out to here to repeat the main
-that changed within the bracket before re-running it, so check the next
-that it may occur zero times. It may repeat infinitely, or not at all -
-the assertion is true. Lookbehind assertions have an OP_REVERSE item at the
-the closing ket. When match() is called in other circumstances, we don't add to
-the code for a repeated single character, but I haven't found a nice way of
-the current subject position in the working slot at the top of the vector. We
-the expression and advancing one matching character if failing, up to the
-the expression and advancing one matching character if failing, up to the
-the external pcre header. */
-the file Tech.Notes for some information on the internals.
-the final argument TRUE causes it to stop at the end of an assertion. */
-the group. */
-the length of the reference string explicitly rather than passing the
-the loop runs just once. */
-the minimum number of bytes before we start. */
-the number from a dummy opcode at the start. */
-the point in the subject string is not moved back. Thus there can never be
-the pointer while it matches the class. */
-the same bracket.
-the stack. */
-the start hasn't passed this character yet. */
-the subject. */
-the subject. */
-there were too many extractions, set the return code to zero. In the case
-this level is identical to the lookahead case. */
-this makes a huge difference to execution time when there aren't many brackets
-those back references that we can. In this case there need not be overflow
-time taken, but character matching *is* what this is all about... */
-to save all the potential data. There may be up to 99 such values, which
-to that for character classes, but repeated for efficiency. Then obey
-two branches. If the condition is false, skipping the first branch takes us
-typedef struct eptrblock
-unless PCRE_CASELESS was given or the casing state changes within the regex.
-unlimited repeats that aren't going to match. We don't know what the state of
-unsigned long int ims = 0;
-unsigned long int ims;
-unsigned long int ims;
-unsigned long int original_ims = ims; /* Save for resetting on ')' */
-up quickly if there are fewer than the minimum number of characters left in
-up quickly if there are fewer than the minimum number of characters left in
-using_temporary_offsets = TRUE;
-values of the final offsets, in case they were set by a previous iteration of
-we just need to set up the whole thing as substring 0 before returning. If
-where we had to get some local store to hold offsets for backreferences, copy
-while (!anchored &&
-while (*ecode == OP_ALT)
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*ecode == OP_ALT);
-while (*next == OP_ALT);
-while (*next == OP_ALT);
-while (--iptr >= iend)
-while (eptr >= pp)
-while (eptr >= pp)
-while (eptr >= pp)
-while (eptr >= pp)
-while (eptr >= pp)
-while (eptr >= pp)
-while (eptr >= pp)
-while (iptr < iend)
-while (length-- > 0)
-while (length-- > 0)
-while (length-- > 0)
-while (length-- > 0)
-while (length-- > 0)
-while (p < end_subject)
-while (p < end_subject)
-while (start_match < end_subject &&
-while (start_match < end_subject && *start_match != first_char)
-while (start_match < end_subject && start_match[-1] != '\n')
-while (start_match < end_subject)
-while (start_match < end_subject)
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{
-{0, 0, 0, 0, 1, 1};
-{0, 0, 1, 1, 0, 0};
-} /* End of main loop */
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/uniq.sed b/sources/host-tools/sed-4.2.1/testsuite/uniq.sed
deleted file mode 100644
index 7ec66c4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/uniq.sed
+++ /dev/null
@@ -1,20 +0,0 @@
-h
-
-:b
-# On the last line, print and exit
-$b
-N
-/^\(.*\)\n\1$/ {
- # The two lines are identical. Undo the effect of
- # the n command.
- g
- bb
-}
-
-# If the @code{N} command had added the last line, print and exit
-$b
-
-# The lines are different; print the first and go
-# back working on the second.
-P
-D
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.good b/sources/host-tools/sed-4.2.1/testsuite/utf8-1.good
deleted file mode 100644
index a48dac8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.good
+++ /dev/null
@@ -1 +0,0 @@
-Да Д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.inp b/sources/host-tools/sed-4.2.1/testsuite/utf8-1.inp
deleted file mode 100644
index 6e84e16..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.inp
+++ /dev/null
@@ -1 +0,0 @@
-да д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.sed b/sources/host-tools/sed-4.2.1/testsuite/utf8-1.sed
deleted file mode 100644
index be00919..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-1.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/д/\U&/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.good b/sources/host-tools/sed-4.2.1/testsuite/utf8-2.good
deleted file mode 100644
index a48dac8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.good
+++ /dev/null
@@ -1 +0,0 @@
-Да Д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.inp b/sources/host-tools/sed-4.2.1/testsuite/utf8-2.inp
deleted file mode 100644
index 6e84e16..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.inp
+++ /dev/null
@@ -1 +0,0 @@
-да д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.sed b/sources/host-tools/sed-4.2.1/testsuite/utf8-2.sed
deleted file mode 100644
index c921a4e..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-2.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/д/\u&/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.good b/sources/host-tools/sed-4.2.1/testsuite/utf8-3.good
deleted file mode 100644
index 4b90af9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.good
+++ /dev/null
@@ -1 +0,0 @@
-Да д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.inp b/sources/host-tools/sed-4.2.1/testsuite/utf8-3.inp
deleted file mode 100644
index 6e84e16..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.inp
+++ /dev/null
@@ -1 +0,0 @@
-да д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.sed b/sources/host-tools/sed-4.2.1/testsuite/utf8-3.sed
deleted file mode 100644
index ce90319..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-3.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/д.*/\u&/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.good b/sources/host-tools/sed-4.2.1/testsuite/utf8-4.good
deleted file mode 100644
index 760353b..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.good
+++ /dev/null
@@ -1 +0,0 @@
-ДА Д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.inp b/sources/host-tools/sed-4.2.1/testsuite/utf8-4.inp
deleted file mode 100644
index 6e84e16..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.inp
+++ /dev/null
@@ -1 +0,0 @@
-да д
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.sed b/sources/host-tools/sed-4.2.1/testsuite/utf8-4.sed
deleted file mode 100644
index 8b8fdf4..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/utf8-4.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/д.*/\U&/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/version.gin b/sources/host-tools/sed-4.2.1/testsuite/version.gin
deleted file mode 100644
index 10da5e8..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/version.gin
+++ /dev/null
@@ -1,10 +0,0 @@
-GNU sed version @VERSION@
-Copyright (C) @COPYRIGHT_YEAR@ Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
-to the extent permitted by law.
-
-GNU sed home page: <http://www.gnu.org/software/sed/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-E-mail bug reports to: <@PACKAGE_BUGREPORT@>.
-Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
diff --git a/sources/host-tools/sed-4.2.1/testsuite/writeout.inp b/sources/host-tools/sed-4.2.1/testsuite/writeout.inp
deleted file mode 100644
index 1cfceaf..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/writeout.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-Facts are simple and facts are straight
-Facts are lazy and facts are late
-Facts all come with points of view
-Facts don't do what I want them to
diff --git a/sources/host-tools/sed-4.2.1/testsuite/writeout.sed b/sources/host-tools/sed-4.2.1/testsuite/writeout.sed
deleted file mode 100644
index f925a4d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/writeout.sed
+++ /dev/null
@@ -1 +0,0 @@
-/^Facts ar/w writeout.wout
diff --git a/sources/host-tools/sed-4.2.1/testsuite/wrtout1.good b/sources/host-tools/sed-4.2.1/testsuite/wrtout1.good
deleted file mode 100644
index 1cfceaf..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/wrtout1.good
+++ /dev/null
@@ -1,4 +0,0 @@
-Facts are simple and facts are straight
-Facts are lazy and facts are late
-Facts all come with points of view
-Facts don't do what I want them to
diff --git a/sources/host-tools/sed-4.2.1/testsuite/wrtout2.good b/sources/host-tools/sed-4.2.1/testsuite/wrtout2.good
deleted file mode 100644
index 2ef3f50..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/wrtout2.good
+++ /dev/null
@@ -1,2 +0,0 @@
-Facts are simple and facts are straight
-Facts are lazy and facts are late
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xabcx.good b/sources/host-tools/sed-4.2.1/testsuite/xabcx.good
deleted file mode 100644
index 3f8bc81..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xabcx.good
+++ /dev/null
@@ -1,4 +0,0 @@
-roses are red
-violets are blue
-my feet are cold
-your feet are too
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xabcx.inp b/sources/host-tools/sed-4.2.1/testsuite/xabcx.inp
deleted file mode 100644
index f2e2b38..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xabcx.inp
+++ /dev/null
@@ -1,4 +0,0 @@
-roses are red
-violets are blue
-my feet are cold
-your feet are blue
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xabcx.sed b/sources/host-tools/sed-4.2.1/testsuite/xabcx.sed
deleted file mode 100644
index 2a872fb..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xabcx.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# from the ChangeLog (Fri May 21 1993)
-\xfeetxs/blue/too/
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.good b/sources/host-tools/sed-4.2.1/testsuite/xbxcx.good
deleted file mode 100644
index 9eadcd0..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.good
+++ /dev/null
@@ -1,7 +0,0 @@
-x
-xbx
-xbxcx
-xbxcx
-xbxcx
-xbxcx
-xbxcx
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.inp b/sources/host-tools/sed-4.2.1/testsuite/xbxcx.inp
deleted file mode 100644
index 792d120..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.inp
+++ /dev/null
@@ -1,7 +0,0 @@
-
-b
-bc
-bac
-baac
-baaac
-baaaac
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.sed b/sources/host-tools/sed-4.2.1/testsuite/xbxcx.sed
deleted file mode 100644
index e6a9c3d..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx.sed
+++ /dev/null
@@ -1,2 +0,0 @@
-# from the ChangeLog (Wed Sep 5 2001)
-s/a*/x/g
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.good b/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.good
deleted file mode 100644
index 072a680..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.good
+++ /dev/null
@@ -1,7 +0,0 @@
-
-b
-bcx
-bacx
-baacx
-baaacx
-baaaacx
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.inp b/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.inp
deleted file mode 100644
index cac4334..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.inp
+++ /dev/null
@@ -1,7 +0,0 @@
-
-b
-bc
-bac
-baac
-baaac
-baaaac
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.sed b/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.sed
deleted file mode 100644
index 759483c..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xbxcx3.sed
+++ /dev/null
@@ -1 +0,0 @@
-s/a*/x/3
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xemacs.good b/sources/host-tools/sed-4.2.1/testsuite/xemacs.good
deleted file mode 100644
index 9fce4f1..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xemacs.good
+++ /dev/null
@@ -1,67 +0,0 @@
-#Makefile.in generated automatically by automake 1.5 from Makefile.am.
-
-#Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#Free Software Foundation, Inc.
-#This Makefile.in is free software; the Free Software Foundation
-#gives unlimited permission to copy and/or distribute it,
-#with or without modifications, as long as this notice is preserved.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-#even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-#PARTICULAR PURPOSE.
-
-"@SET_MAKE@"
-
-#Automake requirements
-
-"SHELL = @SHELL@"
-
-"PACKAGE = sed"
-
-"EXTRA_DIST = BUGS THANKS README.boot bootstrap.sh dc.sed autogen \\"
-" m4/codeset.m4 m4/gettext.m4 m4/iconv.m4 m4/lcmessage.m4 \\"
-" m4/getline.m4 m4/glibc21.m4 m4/isc-posix.m4 m4/progtest.m4 \\"
-" m4/obstack.m4"
-
-"subdir = ."
-"ACLOCAL_M4 = $(top_srcdir)/aclocal.m4"
-"mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs"
-"CONFIG_HEADER = config.h"
-"CONFIG_CLEAN_FILES = bootstrap.sh intl/Makefile"
-"DIST_SOURCES ="
-"DATA = $(noinst_DATA)"
-
-"HEADERS = $(noinst_HEADERS)"
-
-
-"RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \\"
-" uninstall-info-recursive all-recursive install-data-recursive \\"
-" install-exec-recursive installdirs-recursive install-recursive \\"
-" uninstall-recursive check-recursive installcheck-recursive"
-"DIST_COMMON = README $(noinst_HEADERS) ./stamp-h.in ABOUT-NLS AUTHORS \\"
-" COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS THANKS \\"
-" TODO acconfig.h aclocal.m4 bootstrap.sh.in config.guess \\"
-" config.sub config_h.in configure configure.ac depcomp \\"
-" install-sh missing mkinstalldirs"
-"DIST_SUBDIRS = $(SUBDIRS)"
-"all: config.h"
-" $(MAKE) $(AM_MAKEFLAGS) all-recursive"
-
-".SUFFIXES:"
-"$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)"
-" cd $(top_srcdir) && \\"
-" $(AUTOMAKE) --gnu Makefile"
-"Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status"
-" cd $(top_builddir) && \\"
-" CONFIG_HEADERS= CONFIG_LINKS= \\"
-" CONFIG_FILES=$@ $(SHELL) ./config.status"
-
-"$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)"
-" $(SHELL) ./config.status --recheck"
-"$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)"
-" cd $(srcdir) && $(AUTOCONF)"
-
-"$(ACLOCAL_M4): configure.ac m4/codeset.m4 m4/getline.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/obstack.m4 m4/progtest.m4"
-" cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)"
-"config.h: stamp-h"
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xemacs.inp b/sources/host-tools/sed-4.2.1/testsuite/xemacs.inp
deleted file mode 100644
index 0fc0414..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xemacs.inp
+++ /dev/null
@@ -1,67 +0,0 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Automake requirements
-
-SHELL = @SHELL@
-
-PACKAGE = sed
-
-EXTRA_DIST = BUGS THANKS README.boot bootstrap.sh dc.sed autogen \
- m4/codeset.m4 m4/gettext.m4 m4/iconv.m4 m4/lcmessage.m4 \
- m4/getline.m4 m4/glibc21.m4 m4/isc-posix.m4 m4/progtest.m4 \
- m4/obstack.m4
-
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = bootstrap.sh intl/Makefile
-DIST_SOURCES =
-DATA = $(noinst_DATA)
-
-HEADERS = $(noinst_HEADERS)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
- uninstall-info-recursive all-recursive install-data-recursive \
- install-exec-recursive installdirs-recursive install-recursive \
- uninstall-recursive check-recursive installcheck-recursive
-DIST_COMMON = README $(noinst_HEADERS) ./stamp-h.in ABOUT-NLS AUTHORS \
- COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS THANKS \
- TODO acconfig.h aclocal.m4 bootstrap.sh.in config.guess \
- config.sub config_h.in configure configure.ac depcomp \
- install-sh missing mkinstalldirs
-DIST_SUBDIRS = $(SUBDIRS)
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && \
- CONFIG_HEADERS= CONFIG_LINKS= \
- CONFIG_FILES=$@ $(SHELL) ./config.status
-
-$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-$(ACLOCAL_M4): configure.ac m4/codeset.m4 m4/getline.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/obstack.m4 m4/progtest.m4
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-config.h: stamp-h
\ No newline at end of file
diff --git a/sources/host-tools/sed-4.2.1/testsuite/xemacs.sed b/sources/host-tools/sed-4.2.1/testsuite/xemacs.sed
deleted file mode 100644
index ee2f744..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/xemacs.sed
+++ /dev/null
@@ -1,16 +0,0 @@
-# Inspired by xemacs' config.status script
-# submitted by John Fremlin (john@fremlin.de)
-
-/^# Generated/d
-s%/\*\*/#.*%%
-s/^ *# */#/
-/^##/d
-/^#/ {
- p
- d
-}
-/./ {
- s/\([\"]\)/\\\1/g
- s/^/"/
- s/$/"/
-}
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.good b/sources/host-tools/sed-4.2.1/testsuite/y-bracket.good
deleted file mode 100644
index 278fee9..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.good
+++ /dev/null
@@ -1 +0,0 @@
-Are you sure (y/n)? y]
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.inp b/sources/host-tools/sed-4.2.1/testsuite/y-bracket.inp
deleted file mode 100644
index fe6124f..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.inp
+++ /dev/null
@@ -1 +0,0 @@
-Are you sure (y/n)? [y]
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.sed b/sources/host-tools/sed-4.2.1/testsuite/y-bracket.sed
deleted file mode 100644
index 79f3b61..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-bracket.sed
+++ /dev/null
@@ -1 +0,0 @@
-y/[/ /
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-newline.good b/sources/host-tools/sed-4.2.1/testsuite/y-newline.good
deleted file mode 100644
index b0f2bfe..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-newline.good
+++ /dev/null
@@ -1 +0,0 @@
-Are Sou Yure (S/n)? [S] $$Are Sou Yure (S/n)? [S]
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-newline.inp b/sources/host-tools/sed-4.2.1/testsuite/y-newline.inp
deleted file mode 100644
index fe6124f..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-newline.inp
+++ /dev/null
@@ -1 +0,0 @@
-Are you sure (y/n)? [y]
diff --git a/sources/host-tools/sed-4.2.1/testsuite/y-newline.sed b/sources/host-tools/sed-4.2.1/testsuite/y-newline.sed
deleted file mode 100644
index 3e1dbea..0000000
--- a/sources/host-tools/sed-4.2.1/testsuite/y-newline.sed
+++ /dev/null
@@ -1,3 +0,0 @@
-H
-G
-y/Ss\nYy/yY$sS/