Index: ABOUT-NLS diff -u -r -N sharutils-4.3.78/ABOUT-NLS sharutils-4.3.79/ABOUT-NLS --- sharutils-4.3.78/ABOUT-NLS 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/ABOUT-NLS 2005-04-25 20:07:25.000000000 -0700 @@ -1,10 +1,11 @@ -Notes on the Free Translation Project -************************************* +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 will gradually become able to speak many languages. -A few packages already provide translations for their messages. +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, @@ -15,17 +16,17 @@ 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 at translations should contact the appropriate team. +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. -Quick configuration advice -========================== +1.1 Quick configuration advice +============================== - If you want to exploit the full power of internationalization, you +If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext @@ -45,37 +46,37 @@ you have installed a recent copy of the GNU gettext package with the included `libintl'. -INSTALL Matters -=============== +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'. +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 GNU `gettext' own -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: +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 +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 be not what is 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 +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 @@ -86,7 +87,7 @@ emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. - Internationalized packages have usually many `po/LL.po' files, where + 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 @@ -95,10 +96,10 @@ `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. -Using This Package -================== +1.3 Using This Package +====================== - As a user, if your language has been installed for this package, you +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 @@ -131,16 +132,23 @@ 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. -Translating Teams -================= +1.4 Translating Teams +===================== - For the Free Translation Project to be a success, we need interested +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 @@ -167,233 +175,779 @@ the terminology in use. Proven linguistic skill are praised more than programming skill, here. -Available Packages -================== +1.5 Available Packages +====================== - Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of July -2002. The matrix shows, in regard of each package, for which languages +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of April +2005. 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 be bg ca cs da de el en eo es et fi fr - +----------------------------------------+ - a2ps | [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] [] | - clisp | [] [] [] [] | - clisp | | - clisplow | | - cpio | [] [] [] [] | - darkstat | () | - diffutils | [] [] [] [] [] [] | - enscript | [] [] | - error | [] [] [] | - fetchmail | [] () [] [] [] () | - fileutils | [] [] [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - gas | [] [] | - gawk | [] [] [] | - gcal | [] [] | - gcc | [] [] | - gettext | [] [] [] [] [] | - gnupg | [] [] [] [] [] [] [] | - gprof | [] [] | - gpsdrive | () () () () () | - grep | [] [] [] [] [] [] [] | - gretl | [] | - gthumb | () () () | - hello | [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] | - indent | [] [] [] [] [] | - jpilot | () [] [] [] | - jwhois | [] [] | - kbd | [] [] [] | - ld | [] [] | - libc | [] [] [] [] [] [] [] | - libiconv | [] [] [] [] | - lifelines | () () | - lilypond | [] [] [] | - lingoteach | [] [] | - lingoteach_lessons| () () | - lynx | [] [] [] [] [] | - m4 | [] [] [] [] [] | - make | [] [] [] [] | - man-db | [] () () [] () () | - mysecretdiary | [] [] [] | - nano | [] () [] [] [] [] | - nano_1_0 | [] () [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - ptx | [] [] [] [] [] [] [] | - python | | - recode | [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] [] | - sharutils | [] [] [] [] [] [] | - sketch | () [] () | - soundtracker | [] [] [] | - sp | [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] [] [] | - textutils | [] [] [] [] [] | - util-linux | [] [] [] [] [] [] | - vorbis-tools | [] | - wastesedge | | - wdiff | [] [] [] [] [] [] | - wget | [] [] [] [] [] [] [] [] [] [] | - +----------------------------------------+ - be bg ca cs da de el en eo es et fi fr - 0 2 19 10 30 44 9 1 12 45 16 3 53 - - gl he hr hu id it ja ko lv nb nl nn - +-------------------------------------+ - a2ps | () () [] | - bash | [] | - bfd | [] | - binutils | [] | - bison | [] [] [] [] | - clisp | [] | - clisp | | - clisplow | | - cpio | [] [] [] [] | - darkstat | () | - diffutils | [] [] [] [] [] | - enscript | [] [] | - error | [] | - fetchmail | [] | - fileutils | [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] | - gas | | - gawk | [] | - gcal | | - gcc | [] | - gettext | [] [] | - gnupg | [] [] [] [] | - gprof | | - gpsdrive | [] () () | - grep | [] [] [] [] [] [] [] | - gretl | | - gthumb | () () | - hello | [] [] [] [] [] [] [] [] [] [] [] [] | - id-utils | [] [] | - indent | [] [] [] [] | - jpilot | () () | - jwhois | [] [] | - kbd | | - ld | | - libc | [] [] [] [] | - libiconv | [] [] [] | - lifelines | | - lilypond | [] [] | - lingoteach | [] | - lingoteach_lessons| | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - make | [] [] [] [] [] [] | - man-db | () () | - mysecretdiary | [] | - nano | [] [] [] [] [] [] | - nano_1_0 | [] [] [] [] [] | - opcodes | [] [] | - parted | [] [] [] | - ptx | [] [] [] [] [] | - python | | - recode | [] [] [] | - sed | [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] | - sharutils | [] [] [] | - sketch | () | - soundtracker | [] [] | - sp | | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - textutils | [] [] [] | - util-linux | () [] | - vorbis-tools | | - wastesedge | | - wdiff | [] [] [] | - wget | [] [] [] [] [] [] | - +-------------------------------------+ - gl he hr hu id it ja ko lv nb nl nn - 23 9 12 18 14 13 26 9 1 8 19 4 - - no pl pt pt_BR ru sk sl sv tr uk zh_TW - +----------------------------------------+ - a2ps | () () () [] [] [] [] [] | 10 - bash | [] | 6 - bfd | [] [] | 5 - binutils | [] [] | 5 - bison | [] [] [] | 11 - clisp | | 5 - clisp | | 0 - clisplow | | 0 - cpio | [] [] [] [] | 12 - darkstat | [] () | 1 - diffutils | [] [] [] [] [] [] | 17 - enscript | [] [] [] [] | 8 - error | [] [] [] | 7 - fetchmail | () () [] | 6 - fileutils | [] [] [] [] [] | 13 - findutils | [] [] [] [] [] [] [] | 21 - flex | [] [] [] | 9 - gas | [] | 3 - gawk | [] [] | 6 - gcal | [] [] | 4 - gcc | [] | 4 - gettext | [] [] [] [] [] [] | 13 - gnupg | [] [] [] | 14 - gprof | [] [] | 4 - gpsdrive | [] [] () | 3 - grep | [] [] [] [] | 18 - gretl | | 1 - gthumb | () () [] | 1 - hello | [] [] [] [] [] [] [] | 28 - id-utils | [] [] [] [] | 9 - indent | [] [] [] [] [] | 14 - jpilot | () () [] | 4 - jwhois | [] () () [] [] | 7 - kbd | [] [] | 5 - ld | [] [] | 4 - libc | [] [] [] [] [] [] | 17 - libiconv | [] [] [] [] | 11 - lifelines | [] | 1 - lilypond | [] | 6 - lingoteach | [] [] | 5 - lingoteach_lessons| | 0 - lynx | [] [] [] [] | 13 - m4 | [] [] [] | 12 - make | [] [] [] [] | 14 - man-db | | 3 - mysecretdiary | [] [] [] | 7 - nano | [] [] [] [] | 15 - nano_1_0 | [] [] [] [] | 14 - opcodes | [] [] | 7 - parted | [] [] [] | 11 - ptx | [] [] [] [] [] [] [] | 19 - python | | 0 - recode | [] [] [] [] [] [] | 15 - sed | [] [] [] [] [] [] | 23 - sh-utils | [] | 8 - sharutils | [] [] [] [] | 13 - sketch | [] () [] | 4 - soundtracker | [] | 6 - sp | | 1 - tar | [] [] [] [] [] [] [] | 18 - texinfo | [] [] | 10 - textutils | [] [] [] [] [] | 13 - util-linux | [] [] [] | 10 - vorbis-tools | [] | 2 - wastesedge | | 0 - wdiff | [] [] [] [] [] | 14 - wget | [] [] [] [] [] [] [] [] | 24 - +----------------------------------------+ - 36 teams no pl pt pt_BR ru sk sl sv tr uk zh_TW - 67 domains 4 15 2 24 26 12 10 47 42 4 8 594 + Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB + +-------------------------------------------------+ + GNUnet | | + a2ps | [] [] [] [] [] | + aegis | () | + ant-phone | () | + anubis | [] | + ap-utils | | + aspell | [] [] [] [] | + bash | [] [] | + batchelor | [] | + bfd | | + bibshelf | [] | + binutils | [] | + bison | [] [] | + bluez-pin | [] [] [] [] | + clisp | [] [] | + console-tools | [] [] | + coreutils | [] [] [] [] | + cpio | | + cpplib | [] [] [] | + 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 | [] () | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] | + gpe-conf | [] [] | + gpe-contacts | | + gpe-edit | [] | + gpe-go | [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] | + gpe-taskmanager | [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] | + gpsdrive | () () | + gramadoir | [] [] | + grep | [] [] [] [] [] [] | + gretl | | + gsasl | [] | + gss | | + gst-plugins | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] () | + gtkspell | [] [] [] | + hello | [] [] [] [] | + id-utils | [] [] | + impost | | + indent | [] [] | + iso_3166 | | + iso_3166_1 | [] [] [] [] [] | + iso_3166_2 | | + iso_3166_3 | [] | + iso_4217 | | + iso_639 | | + jpilot | [] | + jtag | | + jwhois | | + kbd | [] [] [] [] | + latrine | () | + ld | [] | + libc | [] [] [] [] [] | + libextractor | | + libgpewidget | [] [] [] | + libgsasl | | + libiconv | [] [] [] [] [] | + libidn | | + lifelines | [] () | + lilypond | [] | + lingoteach | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | [] | + make | [] [] | + man-db | [] () [] [] | + minicom | [] [] | + mysecretdiary | [] [] | + nano | [] () [] | + nano_1_0 | [] () [] [] | + opcodes | [] | + parted | [] [] [] [] | + psmisc | | + ptx | [] [] [] | + pwdutils | | + python | | + radius | [] | + recode | [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] | + sh-utils | [] [] | + shared-mime-info | [] [] | + sharutils | [] [] [] [] [] | + silky | | + skencil | [] () | + sketch | [] () | + solfege | [] | + soundtracker | [] [] | + sp | [] | + stardict | [] | + 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 + 10 0 0 2 7 4 0 41 43 3 52 90 20 1 15 + + eo es et eu fa fi fr ga gl he hr hu id is it + +-----------------------------------------------+ + GNUnet | | + a2ps | [] [] [] () | + aegis | | + ant-phone | [] | + anubis | [] | + ap-utils | [] | + aspell | [] [] | + bash | [] [] [] [] | + batchelor | [] [] | + bfd | [] | + bibshelf | [] [] [] | + binutils | [] [] | + bison | [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] | + clisp | [] [] | + console-tools | | + coreutils | [] [] [] [] [] | + cpio | [] [] | + cpplib | [] [] | + 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 | [] [] | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] | + gpe-conf | [] | + gpe-contacts | [] | + gpe-edit | [] [] | + gpe-go | [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] | + gpe-taskmanager | [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | () () [] () | + gramadoir | [] [] | + grep | [] [] [] [] [] [] [] [] [] [] [] [] | + gretl | [] [] [] | + gsasl | [] [] [] | + gss | [] | + gst-plugins | [] [] [] | + gstreamer | [] | + gtick | [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] | + hello | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] [] | + impost | [] [] | + indent | [] [] [] [] [] [] [] [] [] [] [] | + iso_3166 | [] [] [] | + iso_3166_1 | [] [] [] [] [] [] [] | + iso_3166_2 | [] | + iso_3166_3 | [] | + iso_4217 | [] [] [] | + iso_639 | [] [] [] [] | + jpilot | [] [] | + jtag | [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + latrine | [] [] [] | + ld | [] [] | + libc | [] [] [] [] [] | + libextractor | | + libgpewidget | [] [] [] [] [] | + libgsasl | [] [] | + libiconv | [] [] [] [] [] [] [] [] [] [] [] | + libidn | [] [] | + lifelines | () | + lilypond | [] | + lingoteach | [] [] [] | + lynx | [] [] [] | + m4 | [] [] [] [] | + mailutils | [] [] | + make | [] [] [] [] [] [] [] | + man-db | () | + minicom | [] [] [] [] | + mysecretdiary | [] [] [] | + nano | [] [] () [] [] | + nano_1_0 | [] [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + psmisc | [] [] | + ptx | [] [] [] [] [] [] [] [] [] | + pwdutils | | + python | | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rpm | [] | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] [] | + shared-mime-info | [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + silky | [] | + skencil | [] [] | + sketch | [] [] | + solfege | [] | + soundtracker | [] [] [] | + sp | [] | + stardict | [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + textutils | [] [] [] [] [] | + tin | [] () | + tp-robot | [] [] | + tuxpaint | [] [] [] [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux | [] [] [] [] [] [] | + vorbis-tools | [] [] | + wastesedge | () | + wdiff | [] [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] [] [] | + xchat | [] [] [] [] [] | + xkeyboard-config | | + xpad | [] [] [] | + +-----------------------------------------------+ + eo es et eu fa fi fr ga gl he hr hu id is it + 13 85 21 15 2 35 115 45 17 8 6 40 27 1 45 + + ja ko ku lg lt lv mk mn ms mt nb nl nn no nso + +-----------------------------------------------+ + GNUnet | | + a2ps | () [] [] () | + aegis | () | + ant-phone | [] | + anubis | [] [] [] | + ap-utils | | + aspell | [] [] | + bash | [] | + batchelor | [] | + bfd | | + bibshelf | | + binutils | | + bison | [] [] [] | + bluez-pin | [] | + clisp | [] | + console-tools | | + coreutils | [] [] | + cpio | | + cpplib | | + 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 | [] | + gpe-aerial | [] | + gpe-beam | [] | + gpe-calendar | [] | + gpe-clock | [] | + gpe-conf | [] | + gpe-contacts | | + gpe-edit | [] | + gpe-go | [] | + gpe-login | [] | + gpe-ownerinfo | [] | + gpe-sketchbook | [] | + gpe-su | [] | + gpe-taskmanager | [] [] | + gpe-timesheet | [] | + gpe-today | [] | + gpe-todo | [] | + gphoto2 | [] [] | + gprof | | + gpsdrive | () () () | + gramadoir | () | + grep | [] [] [] | + gretl | | + gsasl | [] | + gss | | + gst-plugins | [] | + gstreamer | [] | + gtick | [] | + gtkspell | [] [] | + hello | [] [] [] [] [] [] [] [] | + id-utils | [] | + impost | | + indent | [] [] | + iso_3166 | [] | + iso_3166_1 | [] [] | + iso_3166_2 | [] | + iso_3166_3 | [] | + iso_4217 | [] [] [] | + iso_639 | [] [] [] | + jpilot | () () () | + jtag | | + jwhois | [] | + kbd | [] | + latrine | [] | + ld | | + libc | [] [] [] [] [] | + libextractor | | + libgpewidget | [] | + libgsasl | [] | + libiconv | [] | + libidn | | + lifelines | [] | + lilypond | [] | + lingoteach | [] | + lynx | [] [] | + m4 | [] [] | + mailutils | | + make | [] [] [] | + man-db | () | + minicom | [] | + mysecretdiary | [] | + nano | [] [] | + nano_1_0 | [] [] [] | + opcodes | [] | + parted | [] [] | + psmisc | [] [] | + ptx | [] [] [] | + pwdutils | | + python | | + radius | | + recode | [] | + rpm | [] [] | + screem | [] | + scrollkeeper | [] [] [] | + sed | [] [] | + sh-utils | [] [] | + shared-mime-info | [] [] [] [] | + sharutils | [] [] | + silky | [] | + skencil | | + sketch | | + solfege | [] [] | + soundtracker | | + sp | () | + stardict | [] [] | + 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 lg lt lv mk mn ms mt nb nl nn no nso + 33 11 1 1 1 2 2 3 11 0 15 96 7 5 0 + + 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 | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + clisp | [] | + console-tools | [] | + coreutils | [] [] [] [] | + cpio | [] [] | + cpplib | | + 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 | [] [] [] | + gpe-aerial | [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] | + gpe-calendar | [] [] [] [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] | + gpe-contacts | [] [] [] | + gpe-edit | [] [] [] [] [] [] [] | + gpe-go | [] [] [] [] [] | + gpe-login | [] [] [] [] [] [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] [] [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] | + gramadoir | [] | + grep | [] [] [] [] [] [] [] | + gretl | [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] | + gst-plugins | [] [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] [] [] | + gtkspell | [] [] [] [] [] [] | + hello | [] [] [] [] [] [] [] | + id-utils | [] [] [] [] | + impost | | + indent | [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] | + iso_3166_1 | [] [] [] [] | + iso_3166_2 | | + iso_3166_3 | [] [] [] | + iso_4217 | [] [] | + iso_639 | [] [] [] | + jpilot | | + jtag | [] | + jwhois | [] [] [] () () | + kbd | [] [] [] | + latrine | [] [] | + ld | [] | + libc | [] [] [] [] [] | + libextractor | [] | + libgpewidget | [] [] [] [] [] [] | + libgsasl | [] [] [] | + libiconv | [] [] [] [] [] [] [] [] [] [] | + libidn | [] () | + lifelines | [] [] | + lilypond | [] | + lingoteach | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailutils | [] [] [] | + make | [] [] [] [] | + man-db | [] [] | + minicom | [] [] [] [] | + mysecretdiary | [] [] [] [] | + nano | [] [] [] | + nano_1_0 | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + psmisc | [] [] | + ptx | [] [] [] [] [] [] | + pwdutils | [] | + python | | + radius | [] [] | + recode | [] [] [] [] [] [] | + rpm | [] [] [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] | + shared-mime-info | [] [] [] [] [] | + sharutils | [] [] [] | + silky | [] | + skencil | [] [] [] | + sketch | [] [] [] | + solfege | | + soundtracker | [] [] | + sp | | + stardict | [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] [] | + tin | | + tp-robot | [] | + tuxpaint | [] [] [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] | + vorbis-tools | [] [] | + wastesedge | | + wdiff | [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] [] | + xchat | [] [] [] [] [] [] | + xkeyboard-config | | + xpad | | + +-------------------------------------------------+ + or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta + 1 0 48 30 58 6 79 71 5 45 13 12 50 86 0 + + tg th tk tr uk ven vi wa xh zh_CN zh_TW zu + +--------------------------------------------+ + GNUnet | | 0 + a2ps | [] [] [] | 19 + aegis | | 0 + ant-phone | [] | 4 + anubis | [] | 9 + ap-utils | () | 1 + aspell | [] [] [] | 13 + bash | | 10 + batchelor | [] [] | 7 + bfd | | 1 + bibshelf | [] | 5 + binutils | [] | 6 + bison | [] | 17 + bluez-pin | [] [] [] [] [] | 24 + clisp | | 7 + console-tools | [] | 4 + coreutils | [] | 16 + cpio | [] [] | 6 + cpplib | [] [] | 7 + darkstat | [] () () | 15 + dialog | [] [] [] | 25 + diffutils | [] [] [] [] | 28 + doodle | [] | 5 + e2fsprogs | [] | 8 + enscript | [] | 12 + error | [] [] [] | 16 + fetchmail | [] | 12 + fileutils | [] [] [] | 18 + findutils | [] [] | 17 + flex | [] [] | 15 + fslint | [] | 7 + gas | [] | 3 + gawk | [] | 14 + gbiff | | 4 + gcal | [] | 5 + gcc | [] | 3 + gettext-examples | [] [] [] [] | 20 + gettext-runtime | [] [] [] [] [] | 25 + gettext-tools | [] [] [] | 17 + gimp-print | [] | 11 + gip | [] | 8 + gliv | [] | 6 + glunarclock | [] [] | 13 + gmult | [] [] [] | 13 + gnubiff | [] | 3 + gnucash | () [] | 10 + gnucash-glossary | [] | 8 + gpe-aerial | [] [] | 13 + gpe-beam | [] [] | 13 + gpe-calendar | [] [] [] [] | 18 + gpe-clock | [] [] [] [] | 17 + gpe-conf | [] [] | 12 + gpe-contacts | [] [] | 6 + gpe-edit | [] [] [] [] | 15 + gpe-go | [] [] | 11 + gpe-login | [] [] [] [] [] | 18 + gpe-ownerinfo | [] [] [] [] | 19 + gpe-sketchbook | [] [] | 14 + gpe-su | [] [] [] | 16 + gpe-taskmanager | [] [] [] | 17 + gpe-timesheet | [] [] [] [] | 17 + gpe-today | [] [] [] [] [] | 19 + gpe-todo | [] [] [] | 16 + gphoto2 | [] [] | 17 + gprof | [] [] | 10 + gpsdrive | | 2 + gramadoir | [] | 6 + grep | [] [] [] [] | 32 + gretl | | 4 + gsasl | [] [] | 12 + gss | [] | 5 + gst-plugins | [] [] | 16 + gstreamer | [] [] [] | 14 + gtick | [] | 11 + gtkspell | [] [] [] | 20 + hello | [] [] [] [] | 37 + id-utils | [] [] | 13 + impost | [] | 3 + indent | [] [] [] | 24 + iso_3166 | [] [] [] | 12 + iso_3166_1 | [] [] | 20 + iso_3166_2 | | 2 + iso_3166_3 | [] [] | 8 + iso_4217 | [] [] | 10 + iso_639 | [] [] | 12 + jpilot | [] [] [] | 6 + jtag | | 2 + jwhois | [] [] [] | 12 + kbd | [] [] | 12 + latrine | [] [] | 8 + ld | [] | 5 + libc | [] [] | 22 + libextractor | | 1 + libgpewidget | [] [] | 17 + libgsasl | [] | 7 + libiconv | [] [] [] [] [] | 32 + libidn | [] [] | 5 + lifelines | | 4 + lilypond | [] | 5 + lingoteach | | 5 + lynx | [] [] | 14 + m4 | [] [] | 17 + mailutils | [] | 7 + make | [] [] | 18 + man-db | | 5 + minicom | | 11 + mysecretdiary | [] [] | 12 + nano | | 11 + nano_1_0 | [] [] | 17 + opcodes | [] | 7 + parted | [] [] [] | 17 + psmisc | [] | 7 + ptx | [] [] | 23 + pwdutils | | 1 + python | | 0 + radius | [] | 6 + recode | [] [] | 22 + rpm | [] [] | 11 + screem | | 1 + scrollkeeper | [] [] | 23 + sed | [] [] | 19 + sh-utils | [] | 15 + shared-mime-info | [] [] | 19 + sharutils | [] [] [] | 20 + silky | | 3 + skencil | | 6 + sketch | | 6 + solfege | | 4 + soundtracker | [] | 8 + sp | [] | 3 + stardict | [] [] [] [] | 10 + tar | [] [] | 13 + texinfo | [] [] | 14 + textutils | [] [] [] | 17 + tin | | 1 + tp-robot | [] [] | 7 + tuxpaint | [] [] [] [] | 34 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux | [] [] | 17 + vorbis-tools | [] | 10 + wastesedge | | 1 + wdiff | [] [] | 22 + wget | [] [] [] [] | 31 + xchat | [] [] [] | 22 + xkeyboard-config | | 1 + xpad | [] | 5 + +--------------------------------------------+ + 72 teams tg th tk tr uk ven vi wa xh zh_CN zh_TW zu + 147 domains 0 0 1 78 29 0 71 16 0 41 20 0 1711 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 @@ -406,15 +960,15 @@ lag between the mere existence a PO file and its wide availability in a distribution. - If July 2002 seems to be old, you may fetch a more recent copy of + If April 2005 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'. -Using `gettext' in new packages -=============================== +1.6 Using `gettext' in new packages +=================================== - If you are writing a freely available program and want to +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 @@ -423,7 +977,7 @@ library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle -to use of `gettext' the only thing missing are the translations. The +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 Index: AUTHORS diff -u -r -N sharutils-4.3.78/AUTHORS sharutils-4.3.79/AUTHORS --- sharutils-4.3.78/AUTHORS 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/AUTHORS 2005-01-30 06:47:31.000000000 -0800 @@ -17,3 +17,6 @@ SHARUTILS Jan Djarv Swedish 1963 9/8/95 Assigns the manual "Shar man pages" + +SHARUTILS Bruce Korb USA +Assigns past and future changes to Sharutils. Index: ChangeLog diff -u -r -N sharutils-4.3.78/ChangeLog sharutils-4.3.79/ChangeLog --- sharutils-4.3.78/ChangeLog 2005-01-23 10:44:59.000000000 -0800 +++ sharutils-4.3.79/ChangeLog 2005-04-25 20:06:44.000000000 -0700 @@ -1,3 +1,21 @@ +2005-04-24 Bruce Korb + + * Makefile.am(DISTCLEANFILES): stamp-h is cleanable. + (ACLOCAL_AMFLAGS): specify the m4 macro subdirectory + * src/unshar.c(load_stdin): newly extracted from main. + Close a microscopic timing vulnerability, fix file name length + "vulnerability" and remove size limit on same. + * contrib/pas-diffs: this file was incomprehensible, unusable and + diffed against a version more than a decade old. Deleted. + * contrib/Makefile.am: Removed from EXTRA_DIST. + * m4/xstrtoimax.m4(jm_AC_TYPE_): these have acquired new prefix + initials: gl instead of jm. + +2005-01-30 Bruce Korb + + * bootstrap: new script replacing "autoreconf" + * throughout: cleanups for newer versions of tools. + 2005-01-23 Bruce Korb * tests/shar-1: modify to avoid changing for every release Index: ChangeLog.OLD diff -u -r -N sharutils-4.3.78/ChangeLog.OLD sharutils-4.3.79/ChangeLog.OLD --- sharutils-4.3.78/ChangeLog.OLD 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/ChangeLog.OLD 1969-12-31 16:00:00.000000000 -0800 @@ -1,228 +0,0 @@ -<> Index: Makefile.am diff -u -r -N sharutils-4.3.78/Makefile.am sharutils-4.3.79/Makefile.am --- sharutils-4.3.78/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/Makefile.am 2005-04-25 18:55:28.000000000 -0700 @@ -17,8 +17,7 @@ ## Process this file with automake to produce Makefile.in. -DISTCLEANFILES = stamp-h -EXTRA_DIST = config.rpath ChangeLog.OLD NEWS.OLD @DIST_ALPHA@ -SUBDIRS = intl lib src doc m4 po contrib tests - +EXTRA_DIST = config.rpath @DIST_ALPHA@ +SUBDIRS = intl lib src doc m4 po contrib tests +DISTCLEANFILES = stamp-h ACLOCAL_AMFLAGS = -I m4 Index: Makefile.in diff -u -r -N sharutils-4.3.78/Makefile.in sharutils-4.3.79/Makefile.in --- sharutils-4.3.78/Makefile.in 2005-01-23 10:02:55.000000000 -0800 +++ sharutils-4.3.79/Makefile.in 2005-04-25 20:07:57.000000000 -0700 @@ -45,13 +45,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -114,8 +122,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -126,6 +139,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -199,9 +213,9 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -DISTCLEANFILES = stamp-h -EXTRA_DIST = config.rpath ChangeLog.OLD NEWS.OLD @DIST_ALPHA@ +EXTRA_DIST = config.rpath @DIST_ALPHA@ SUBDIRS = intl lib src doc m4 po contrib tests +DISTCLEANFILES = stamp-h ACLOCAL_AMFLAGS = -I m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive Index: NEWS diff -u -r -N sharutils-4.3.78/NEWS sharutils-4.3.79/NEWS --- sharutils-4.3.78/NEWS 2005-01-23 10:51:38.000000000 -0800 +++ sharutils-4.3.79/NEWS 2005-04-25 19:54:06.000000000 -0700 @@ -1,11 +1,20 @@ GNU sharutils NEWS - User visible changes. -Copyright (C) 1994, 1995, 1996, 2002, 2004 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 2002, 2004, 2005 Free Software Foundation, Inc. + +Version 4.3.79 - April 2005, by Bruce Korb + +* rewrote the temporary file handling in unshar to avoid both a theoretical + timing hole (hitting it requires cooperation) and a buffer overrun + attack (a file name exceeding 1K). +* new translations and updates. They are all now missing two messages: + "allocate file name buffer" and "allocate file buffer". *sigh*. + + Version 4.3.78 - January 2005, by Bruce Korb * fixed test to not require updates for every release number -* tweaked the man page so that Eric Raymond can auto-generate - the docbook variation of the man pages. +* fixed the uuencode man page so that docbook generation can work correctly. Version 4.3.77 - September 2004, by Bruce Korb Index: NEWS.OLD diff -u -r -N sharutils-4.3.78/NEWS.OLD sharutils-4.3.79/NEWS.OLD --- sharutils-4.3.78/NEWS.OLD 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/NEWS.OLD 1969-12-31 16:00:00.000000000 -0800 @@ -1,273 +0,0 @@ -<> Index: aclocal.m4 diff -u -r -N sharutils-4.3.78/aclocal.m4 sharutils-4.3.79/aclocal.m4 --- sharutils-4.3.78/aclocal.m4 2005-01-23 10:02:49.000000000 -0800 +++ sharutils-4.3.79/aclocal.m4 2005-04-25 20:07:36.000000000 -0700 @@ -1060,17 +1060,33 @@ m4_include([m4/codeset.m4]) m4_include([m4/error.m4]) m4_include([m4/gettext.m4]) +m4_include([m4/glibc2.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intdiv0.m4]) +m4_include([m4/intmax.m4]) +m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) +m4_include([m4/inttypes_h.m4]) m4_include([m4/lcmessage.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) +m4_include([m4/longdouble.m4]) m4_include([m4/longlong.m4]) m4_include([m4/malloc.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/po.m4]) +m4_include([m4/printf-posix.m4]) m4_include([m4/progtest.m4]) m4_include([m4/realloc.m4]) m4_include([m4/sharutils.m4]) +m4_include([m4/signed.m4]) +m4_include([m4/size_max.m4]) +m4_include([m4/stdint_h.m4]) +m4_include([m4/uintmax_t.m4]) +m4_include([m4/ulonglong.m4]) +m4_include([m4/wchar_t.m4]) +m4_include([m4/wint_t.m4]) +m4_include([m4/xsize.m4]) m4_include([m4/xstrtoimax.m4]) Index: config.h.in diff -u -r -N sharutils-4.3.78/config.h.in sharutils-4.3.79/config.h.in --- sharutils-4.3.78/config.h.in 2005-01-23 10:03:22.000000000 -0800 +++ sharutils-4.3.79/config.h.in 2005-04-25 20:07:50.000000000 -0700 @@ -25,6 +25,17 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ARGZ_H +/* Define to 1 if you have the `asprintf' function. */ +#undef HAVE_ASPRINTF + +/* 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 compress is available. */ #undef HAVE_COMPRESS @@ -32,6 +43,18 @@ */ #undef HAVE_DCGETTEXT +/* 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 `fgets_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FGETS_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 `strerror', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR @@ -60,6 +83,14 @@ don't. */ #undef HAVE_DECL_STRTOUMAX +/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you + don't. */ +#undef HAVE_DECL__SNPRINTF + +/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you + don't. */ +#undef HAVE_DECL__SNWPRINTF + /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_DIRENT_H @@ -79,21 +110,15 @@ /* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD -/* Define to 1 if you have the `feof_unlocked' function. */ -#undef HAVE_FEOF_UNLOCKED - -/* Define to 1 if you have the `fgets_unlocked' function. */ -#undef HAVE_FGETS_UNLOCKED - /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO +/* Define to 1 if you have the `fwprintf' function. */ +#undef HAVE_FWPRINTF + /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD -/* Define to 1 if you have the `getc_unlocked' function. */ -#undef HAVE_GETC_UNLOCKED - /* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID @@ -115,9 +140,16 @@ /* Define if you have the iconv() function. */ #undef HAVE_ICONV -/* Define to 1 if you have the header file. */ +/* Define if you have the 'intmax_t' type in or . */ +#undef HAVE_INTMAX_T + +/* Define if exists and doesn't clash with . */ #undef HAVE_INTTYPES_H +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#undef HAVE_INTTYPES_H_WITH_UINTMAX + /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII @@ -133,7 +165,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H -/* Define if you have the long long type. */ +/* Define if you have the 'long double' type. */ +#undef HAVE_LONG_DOUBLE + +/* Define if you have the 'long long' type. */ #undef HAVE_LONG_LONG /* Define to 1 if you have the header file. */ @@ -166,6 +201,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NL_TYPES_H +/* Define if your printf() function supports format strings with positions. */ +#undef HAVE_POSIX_PRINTF + /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV @@ -175,12 +213,19 @@ /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE +/* Define to 1 if you have the `snprintf' function. */ +#undef HAVE_SNPRINTF + /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#undef HAVE_STDINT_H_WITH_UINTMAX + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -257,18 +302,30 @@ `tzname'. */ #undef HAVE_TZNAME +/* Define if you have the 'uintmax_t' type in or . */ +#undef HAVE_UINTMAX_T + /* Define to 1 if you have the `uname' function. */ #undef HAVE_UNAME /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the unsigned long long type. */ +/* Define if you have the 'unsigned long long' type. */ #undef HAVE_UNSIGNED_LONG_LONG /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF +/* Define if you have the 'wchar_t' type. */ +#undef HAVE_WCHAR_T + +/* Define to 1 if you have the `wcslen' function. */ +#undef HAVE_WCSLEN + +/* Define if you have the 'wint_t' type. */ +#undef HAVE_WINT_T + /* Define to 1 if you have the `__argz_count' function. */ #undef HAVE___ARGZ_COUNT @@ -278,6 +335,9 @@ /* Define to 1 if you have the `__argz_stringify' function. */ #undef HAVE___ARGZ_STRINGIFY +/* Define to 1 if you have the `__fsetlocking' function. */ +#undef HAVE___FSETLOCKING + /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST @@ -302,6 +362,13 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define if exists and defines unusable PRI* macros. */ +#undef PRI_MACROS_BROKEN + +/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#undef SIZE_MAX + /* 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 run-time. @@ -375,20 +442,25 @@ #undef inline #endif -/* Define to widest signed type if doesn't define. */ -#undef intmax_t - /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `long' if does not define. */ #undef off_t +/* Define as the type of the result of subtracting two pointers, if the system + doesn't define it. */ +#undef ptrdiff_t + /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc +/* Define to empty if the C compiler doesn't support this keyword. */ +#undef signed + /* Define to `unsigned' if does not define. */ #undef size_t -/* Define to widest unsigned type if doesn't define. */ +/* Define to unsigned long or unsigned long long if and + don't define. */ #undef uintmax_t Index: config.rpath diff -u -r -N sharutils-4.3.78/config.rpath sharutils-4.3.79/config.rpath --- sharutils-4.3.78/config.rpath 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/config.rpath 2005-04-25 20:07:25.000000000 -0700 @@ -2,28 +2,13 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2002 Free Software Foundation, Inc. +# Copyright 1996-2005 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. +# 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 @@ -34,43 +19,72 @@ # # 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 M$VC, # which needs '.lib'). libext=a -shlibext= +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/'` +cc_basename=`echo "$CC" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in - aix3* | aix4* | aix5*) + aix*) wl='-Wl,' ;; + darwin*) + case "$cc_basename" in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | pw32* | os2*) + ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; - irix5* | irix6*) + irix5* | irix6* | nonstopux*) wl='-Wl,' ;; + newsos6) + ;; linux*) - echo '__INTEL_COMPILER' > conftest.$ac_ext - if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null - then - : - else - # Intel icc - wl='-Qoption,ld,' - fi + case $cc_basename in + icc* | ecc*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; + sco3.2v5*) + ;; solaris*) wl='-Wl,' ;; @@ -78,15 +92,20 @@ wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - if test "x$host_vendor" = xsni; then - wl='-LD' - else - wl='-Wl,' - fi + wl='-Wl,' + ;; + sysv4*MP*) + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) ;; esac fi +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no @@ -110,8 +129,10 @@ if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) - # On AIX, the GNU linker is very broken - ld_shlibs=no + # 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' @@ -120,12 +141,12 @@ # 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 can use + # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no @@ -135,11 +156,18 @@ # 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 + ;; + netbsd*) ;; solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no @@ -148,8 +176,15 @@ sunos4*) hardcode_direct=yes ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no @@ -157,6 +192,8 @@ ;; esac if test "$ld_shlibs" = yes; then + # 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' fi else @@ -209,13 +246,27 @@ 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:/usr/lib:/lib' + 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}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; @@ -225,6 +276,8 @@ # see comment about different semantics on the GNU ld section ld_shlibs=no ;; + bsdi[45]*) + ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -234,7 +287,21 @@ libext=lib ;; darwin* | rhapsody*) - hardcode_direct=yes + 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 @@ -247,18 +314,45 @@ hardcode_direct=yes hardcode_minus_L=yes ;; - freebsd*) + freebsd* | kfreebsd*-gnu | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; - hpux9* | hpux10* | hpux11*) + hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes - hardcode_minus_L=yes # Not in the search PATH, but as the default - # location of the library. + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10* | hpux11*) + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + 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 + ;; + esac + fi ;; - irix5* | irix6*) + irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; @@ -314,23 +408,20 @@ hardcode_minus_L=yes ;; sysv4) - if test "x$host_vendor" = xsno; then - hardcode_direct=yes # is this really true??? - else - hardcode_direct=no # Motorola manual says yes, but my tests say they lie - fi + 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*) ;; - sysv5*) - hardcode_libdir_flag_spec= - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes @@ -340,7 +431,13 @@ hardcode_direct=yes hardcode_minus_L=no ;; - sysv5uw7* | unixware7*) + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no @@ -349,136 +446,103 @@ fi # Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" case "$host_os" in aix3*) - shlibext=so ;; aix4* | aix5*) - shlibext=so ;; amigaos*) - shlibext=ixlibrary ;; beos*) - shlibext=so ;; - bsdi4*) - shlibext=so - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + bsdi[45]*) ;; cygwin* | mingw* | pw32*) - case $GCC,$host_os in - yes,cygwin*) - shlibext=dll.a - ;; - yes,mingw*) - shlibext=dll - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` - ;; - yes,pw32*) - shlibext=dll - ;; - *) - shlibext=dll - ;; - esac + shrext=.dll ;; darwin* | rhapsody*) - shlibext=dylib + shrext=.dylib + ;; + dgux*) ;; freebsd1*) ;; + kfreebsd*-gnu) + ;; freebsd*) - shlibext=so ;; gnu*) - shlibext=so ;; hpux9* | hpux10* | hpux11*) - shlibext=sl + case "$host_cpu" in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac ;; - irix5* | irix6*) - shlibext=so + irix5* | irix6* | nonstopux*) case "$host_os" in - irix5*) + irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in - *-32|*"-32 ") libsuff= shlibsuff= ;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 ;; + *-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 - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" ;; - linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) ;; - linux-gnu*) - shlibext=so + knetbsd*-gnu) ;; netbsd*) - shlibext=so ;; newsos6) - shlibext=so + ;; + nto-qnx*) ;; openbsd*) - shlibext=so ;; os2*) libname_spec='$name' - shlibext=dll + shrext=.dll ;; osf3* | osf4* | osf5*) - shlibext=so - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) - shlibext=so ;; solaris*) - shlibext=so ;; sunos4*) - shlibext=so ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - shlibext=so - case "$host_vendor" in - motorola) - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - uts4*) - shlibext=so - ;; - dgux*) - shlibext=so ;; sysv4*MP*) - if test -d /usr/nec; then - shlibext=so - fi + ;; + uts4*) ;; 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_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # @@ -269,8 +269,8 @@ # Identity of this package. PACKAGE_NAME='sharutils' PACKAGE_TARNAME='sharutils' -PACKAGE_VERSION='4.3.78' -PACKAGE_STRING='sharutils 4.3.78' +PACKAGE_VERSION='4.3.79' +PACKAGE_STRING='sharutils 4.3.79' PACKAGE_BUGREPORT='bug-gnu-utils@gnu.org' ac_unique_file="src/shar.c" @@ -311,7 +311,7 @@ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DIST_ALPHA ADD_PROG ADD_SCRIPT DIST_MAN1PAGES NODIST_MAN1PAGES MAN5PAGES CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB DIFF MAILER PERL SH TAR COMPRESS INSTALL_COMPRESS_LINK CPP EGREP LIBOBJS ALLOCA MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON USE_NLS BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT INTLOBJS DATADIRNAME INSTOBJEXT GENCAT INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DIST_ALPHA ADD_PROG ADD_SCRIPT DIST_MAN1PAGES NODIST_MAN1PAGES MAN5PAGES CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB DIFF MAILER PERL SH TAR COMPRESS INSTALL_COMPRESS_LINK CPP EGREP LIBOBJS ALLOCA MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC2 GLIBC21 INTL_MACOSX_LIBS HAVE_POSIX_PRINTF HAVE_ASPRINTF HAVE_SNPRINTF HAVE_WPRINTF LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -780,7 +780,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sharutils 4.3.78 to adapt to many kinds of systems. +\`configure' configures sharutils 4.3.79 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -846,7 +846,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sharutils 4.3.78:";; + short | recursive ) echo "Configuration of sharutils 4.3.79:";; esac cat <<\_ACEOF @@ -858,17 +858,17 @@ --enable-compress-link install compress link if the program is missing --disable-largefile omit support for large files --disable-uucode disable installation of uuencode and uudecode - --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-included-gettext use the GNU gettext library included here - --with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-dmalloc use dmalloc, as in http://www.dmalloc.com/dmalloc.tar.gz @@ -981,7 +981,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -sharutils configure 4.3.78 +sharutils configure 4.3.79 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -995,7 +995,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sharutils $as_me 4.3.78, which was +It was created by sharutils $as_me 4.3.79, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1642,7 +1642,7 @@ # Define the identity of the package. PACKAGE='sharutils' - VERSION='4.3.78' + VERSION='4.3.79' cat >>confdefs.h <<_ACEOF @@ -8107,9 +8107,9 @@ - echo "$as_me:$LINENO: checking for long long" >&5 -echo $ECHO_N "checking for long long... $ECHO_C" >&6 -if test "${ac_cv_type_long_long+set}" = set; then + echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 +if test "${gl_cv_header_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -8118,19 +8118,19 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -long long ll = 1; int i = 63; +#include +#include int main () { -long long llmax = (long long) -1; - return ll << i | ll >> i | llmax / ll | llmax % ll; +uintmax_t i = (uintmax_t) -1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -8144,37 +8144,35 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_type_long_long=yes + gl_cv_header_inttypes_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_long_long=no +gl_cv_header_inttypes_h=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 -echo "${ECHO_T}$ac_cv_type_long_long" >&6 - if test $ac_cv_type_long_long = yes; then +echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$gl_cv_header_inttypes_h" >&6 + if test $gl_cv_header_inttypes_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_LONG 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 _ACEOF fi - - echo "$as_me:$LINENO: checking for intmax_t" >&5 -echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6 -if test "${ac_cv_type_intmax_t+set}" = set; then + echo "$as_me:$LINENO: checking for stdint.h" >&5 +echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6 +if test "${gl_cv_header_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -8183,14 +8181,12 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +#include +#include int main () { -if ((intmax_t *) 0) - return 0; -if (sizeof (intmax_t)) - return 0; +uintmax_t i = (uintmax_t) -1; ; return 0; } @@ -8217,30 +8213,97 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_type_intmax_t=yes + gl_cv_header_stdint_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_intmax_t=no +gl_cv_header_stdint_h=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_intmax_t" >&5 -echo "${ECHO_T}$ac_cv_type_intmax_t" >&6 -if test $ac_cv_type_intmax_t = yes; then - : -else - test $ac_cv_type_long_long = yes \ - && ac_type='long long' \ - || ac_type='long' +echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5 +echo "${ECHO_T}$gl_cv_header_stdint_h" >&6 + if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF -#define intmax_t $ac_type +#define HAVE_STDINT_H_WITH_UINTMAX 1 +_ACEOF + + fi + + + + + echo "$as_me:$LINENO: checking for intmax_t" >&5 +echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6 +if test "${gt_cv_c_intmax_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif + +int +main () +{ +intmax_t x = -1; + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_c_intmax_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +gt_cv_c_intmax_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi +echo "$as_me:$LINENO: result: $gt_cv_c_intmax_t" >&5 +echo "${ECHO_T}$gt_cv_c_intmax_t" >&6 + if test $gt_cv_c_intmax_t = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INTMAX_T 1 +_ACEOF + fi echo "$as_me:$LINENO: checking for unsigned long long" >&5 @@ -8254,7 +8317,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -unsigned long long ull = 1; int i = 63; +unsigned long long ull = 1ULL; int i = 63; int main () { @@ -8308,9 +8371,29 @@ - echo "$as_me:$LINENO: checking for uintmax_t" >&5 -echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6 -if test "${ac_cv_type_uintmax_t+set}" = set; then + + if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then + + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + +cat >>confdefs.h <<_ACEOF +#define uintmax_t $ac_type +_ACEOF + + else + +cat >>confdefs.h <<\_ACEOF +#define HAVE_UINTMAX_T 1 +_ACEOF + + fi + + + echo "$as_me:$LINENO: checking for long long" >&5 +echo $ECHO_N "checking for long long... $ECHO_C" >&6 +if test "${ac_cv_type_long_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -8319,21 +8402,19 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +long long ll = 1LL; int i = 63; int main () { -if ((uintmax_t *) 0) - return 0; -if (sizeof (uintmax_t)) - return 0; +long long llmax = (long long) -1; + return ll << i | ll >> i | llmax / ll | llmax % ll; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -8347,36 +8428,31 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_type_uintmax_t=yes + ac_cv_type_long_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_uintmax_t=no +ac_cv_type_long_long=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_uintmax_t" >&5 -echo "${ECHO_T}$ac_cv_type_uintmax_t" >&6 -if test $ac_cv_type_uintmax_t = yes; then - : -else - test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' +echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 +echo "${ECHO_T}$ac_cv_type_long_long" >&6 + if test $ac_cv_type_long_long = yes; then -cat >>confdefs.h <<_ACEOF -#define uintmax_t $ac_type +cat >>confdefs.h <<\_ACEOF +#define HAVE_LONG_LONG 1 _ACEOF -fi - + fi @@ -9307,9 +9383,13 @@ fi; + MKINSTALLDIRS= if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" @@ -9317,9 +9397,52 @@ + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 + # Check whether --enable-nls or --disable-nls was given. +if test "${enable_nls+set}" = set; then + enableval="$enable_nls" + USE_NLS=$enableval +else + USE_NLS=yes +fi; + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + + + + + + +# 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 "msgfmt", so it can be a program name with args. +# Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -9327,24 +9450,28 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; 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..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 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); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; + ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" @@ -9397,7 +9524,36 @@ fi - # Extract the first word of "xgettext", so it can be a program name with args. + +# 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 "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -9405,24 +9561,28 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; 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..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 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); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; + ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" @@ -9436,7 +9596,36 @@ rm -f messages.po - # Extract the first word of "msgmerge", so it can be a program name with args. + +# 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 "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -9444,23 +9633,27 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGMERGE" in - /*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; 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..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; + ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" @@ -9486,8 +9679,8 @@ fi if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && - (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 @@ -9554,9 +9747,10 @@ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$as_me:$LINENO: checking for off_t" >&5 -echo $ECHO_N "checking for off_t... $ECHO_C" >&6 -if test "${ac_cv_type_off_t+set}" = set; then + + echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2 or newer" >&5 +echo $ECHO_N "checking whether we are using the GNU C Library 2 or newer... $ECHO_C" >&6 +if test "${ac_cv_gnu_library_2+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -9565,14 +9759,49 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default + +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) + Lucky GNU user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then + ac_cv_gnu_library_2=yes +else + ac_cv_gnu_library_2=no +fi +rm -f conftest* + + + +fi +echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2" >&5 +echo "${ECHO_T}$ac_cv_gnu_library_2" >&6 + + GLIBC2="$ac_cv_gnu_library_2" + + + + echo "$as_me:$LINENO: checking for signed" >&5 +echo $ECHO_N "checking for signed... $ECHO_C" >&6 +if test "${bh_cv_c_signed+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { -if ((off_t *) 0) - return 0; -if (sizeof (off_t)) - return 0; +signed char x; ; return 0; } @@ -9599,52 +9828,47 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_type_off_t=yes + bh_cv_c_signed=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_off_t=no +bh_cv_c_signed=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -echo "${ECHO_T}$ac_cv_type_off_t" >&6 -if test $ac_cv_type_off_t = yes; then - : -else +echo "$as_me:$LINENO: result: $bh_cv_c_signed" >&5 +echo "${ECHO_T}$bh_cv_c_signed" >&6 + if test $bh_cv_c_signed = no; then -cat >>confdefs.h <<_ACEOF -#define off_t long +cat >>confdefs.h <<\_ACEOF +#define signed _ACEOF -fi - - + fi -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then +echo "$as_me:$LINENO: checking for off_t" >&5 +echo $ECHO_N "checking for off_t... $ECHO_C" >&6 +if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -#include <$ac_header> +int +main () +{ +if ((off_t *) 0) + return 0; +if (sizeof (off_t)) + return 0; + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -9668,172 +9892,59 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_header_compiler=yes + ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no +ac_cv_type_off_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-gnu-utils@gnu.org ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 +echo "${ECHO_T}$ac_cv_type_off_t" >&6 +if test $ac_cv_type_off_t = yes; then + : else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +cat >>confdefs.h <<_ACEOF +#define off_t long _ACEOF fi -done - -for ac_func in getpagesize -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then + echo "$as_me:$LINENO: checking for long double" >&5 +echo $ECHO_N "checking for long double... $ECHO_C" >&6 +if test "${gt_cv_c_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test "$GCC" = yes; then + gt_cv_c_long_double=yes + else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + int array [2*(sizeof(long double) >= sizeof(double)) - 1]; int main () { -return f != $ac_func; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -9847,211 +9958,99 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - eval "$as_ac_var=yes" + gt_cv_c_long_double=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_var=no" +gt_cv_c_long_double=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +echo "$as_me:$LINENO: result: $gt_cv_c_long_double" >&5 +echo "${ECHO_T}$gt_cv_c_long_double" >&6 + if test $gt_cv_c_long_double = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LONG_DOUBLE 1 _ACEOF -fi -done + fi -echo "$as_me:$LINENO: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + + echo "$as_me:$LINENO: checking for wchar_t" >&5 +echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6 +if test "${gt_cv_c_wchar_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !STDC_HEADERS && !HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#if !HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# if !HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# if HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - +#include + wchar_t foo = (wchar_t)'\0'; int main () { - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - exit (1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - exit (1); - if (write (fd, data, pagesize) != pagesize) - exit (1); - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - exit (1); - data2 = (char *) malloc (2 * pagesize); - if (!data2) - exit (1); - data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit (1); - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - exit (1); - if (read (fd, data3, pagesize) != pagesize) - exit (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit (1); - close (fd); - exit (0); + ; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes + gt_cv_c_wchar_t=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +gt_cv_c_wchar_t=no fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then +echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 +echo "${ECHO_T}$gt_cv_c_wchar_t" >&6 + if test $gt_cv_c_wchar_t = yes; then cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 +#define HAVE_WCHAR_T 1 _ACEOF -fi -rm -f conftest.mmap + fi - echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 -echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 -if test "${ac_cv_gnu_library_2_1+set}" = set; then + echo "$as_me:$LINENO: checking for wint_t" >&5 +echo $ECHO_N "checking for wint_t... $ECHO_C" >&6 +if test "${gt_cv_c_wint_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -10060,49 +10059,87 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include + wint_t foo = (wchar_t)'\0'; +int +main () +{ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - ac_cv_gnu_library_2_1=yes +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_c_wint_t=yes else - ac_cv_gnu_library_2_1=no -fi -rm -f conftest* - - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +gt_cv_c_wint_t=no fi -echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 -echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 +echo "${ECHO_T}$gt_cv_c_wint_t" >&6 + if test $gt_cv_c_wint_t = yes; then - GLIBC21="$ac_cv_gnu_library_2_1" +cat >>confdefs.h <<\_ACEOF +#define HAVE_WINT_T 1 +_ACEOF + fi - echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5 -echo $ECHO_N "checking whether integer division by zero raises SIGFPE... $ECHO_C" >&6 -if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then + echo "$as_me:$LINENO: checking whether printf() supports POSIX/XSI format strings" >&5 +echo $ECHO_N "checking whether printf() supports POSIX/XSI format strings... $ECHO_C" >&6 +if test "${gt_cv_func_printf_posix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i3456786 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + notposix +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "notposix" >/dev/null 2>&1; then + gt_cv_func_printf_posix="guessing no" +else + gt_cv_func_printf_posix="guessing yes" +fi +rm -f conftest* + else cat >conftest.$ac_ext <<_ACEOF @@ -10112,42 +10149,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include - -static void -#ifdef __cplusplus -sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif -{ - /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ - exit (sig != SIGFPE); -} - -int x = 1; -int y = 0; -int z; -int nan; - +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; int main () { - signal (SIGFPE, sigfpe_handler); -/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) - signal (SIGTRAP, sigfpe_handler); -#endif -/* Linux/SPARC yields signal SIGILL. */ -#if defined (__sparc__) && defined (__linux__) - signal (SIGILL, sigfpe_handler); -#endif - - z = x / y; - nan = y / y; - exit (1); + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); } - _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 @@ -10160,483 +10172,2723 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - gt_cv_int_divbyzero_sigfpe=yes + gt_cv_func_printf_posix=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -gt_cv_int_divbyzero_sigfpe=no +gt_cv_func_printf_posix=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5 -echo "${ECHO_T}$gt_cv_int_divbyzero_sigfpe" >&6 - case "$gt_cv_int_divbyzero_sigfpe" in - *yes) value=1;; - *) value=0;; - esac +echo "$as_me:$LINENO: result: $gt_cv_func_printf_posix" >&5 +echo "${ECHO_T}$gt_cv_func_printf_posix" >&6 + case $gt_cv_func_printf_posix in + *yes) -cat >>confdefs.h <<_ACEOF -#define INTDIV0_RAISES_SIGFPE $value +cat >>confdefs.h <<\_ACEOF +#define HAVE_POSIX_PRINTF 1 _ACEOF + ;; + esac - 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" - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - 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 - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${acl_cv_path_LD+set}" = set; then +for ac_header in stdlib.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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. - if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${acl_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - acl_cv_prog_gnu_ld=yes + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes else - acl_cv_prog_gnu_ld=no -fi -fi -echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 -with_gnu_ld=$acl_cv_prog_gnu_ld - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 - echo "$as_me:$LINENO: checking for shared library run path origin" >&5 -echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 -if test "${acl_cv_rpath+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - - 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 - + ac_cpp_err=yes fi -echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 -echo "${ECHO_T}$acl_cv_rpath" >&6 - wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" - sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" - sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" - # Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" - : +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - enable_rpath=yes -fi; - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------ ## +## Report this to bug-gnu-utils@gnu.org ## +## ------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done - use_additional=yes - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +for ac_func in getpagesize +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func -# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then - withval="$with_libiconv_prefix" +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +fi +done - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_mmap_fixed_mapped=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. -fi; - LIBICONV= - LTLIBICONV= - INCICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - 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" - 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" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - 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 - if test "$hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - 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 - haveit= - for x in $LDFLAGS $LIBICONV; do +#include +#include - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +#if !STDC_HEADERS && !HAVE_STDLIB_H +char *malloc (); +#endif - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - 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*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do +/* This mess was copied from the GNU getpagesize.h. */ +#if !HAVE_GETPAGESIZE +/* Assume that all systems that can run configure have sys/param.h. */ +# if !HAVE_SYS_PARAM_H +# define HAVE_SYS_PARAM_H 1 +# endif - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# if HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ - 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 - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do +#endif /* no HAVE_GETPAGESIZE */ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +int +main () +{ + char *data, *data2, *data3; + int i, pagesize; + int fd; - 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 - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do + pagesize = getpagesize (); - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + exit (1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + exit (1); + if (write (fd, data, pagesize) != pagesize) + exit (1); + close (fd); - 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 + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + exit (1); + data2 = (char *) malloc (2 * pagesize); + if (!data2) + exit (1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit (1); + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + exit (1); + if (read (fd, data3, pagesize) != pagesize) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit (1); + close (fd); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mmap_fixed_mapped=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP 1 +_ACEOF + +fi +rm -f conftest.mmap + + + echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 +if test "${ac_cv_gnu_library_2_1+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then + ac_cv_gnu_library_2_1=yes +else + ac_cv_gnu_library_2_1=no +fi +rm -f conftest* + + + +fi +echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 +echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 + + GLIBC21="$ac_cv_gnu_library_2_1" + + + + + echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5 +echo $ECHO_N "checking whether integer division by zero raises SIGFPE... $ECHO_C" >&6 +if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + if test "$cross_compiling" = yes; then + + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i3456786 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +static void +#ifdef __cplusplus +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; +#endif +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} + +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_int_divbyzero_sigfpe=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +gt_cv_int_divbyzero_sigfpe=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + +fi +echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5 +echo "${ECHO_T}$gt_cv_int_divbyzero_sigfpe" >&6 + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + +cat >>confdefs.h <<_ACEOF +#define INTDIV0_RAISES_SIGFPE $value +_ACEOF + + + + echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 +if test "${gt_cv_header_inttypes_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_header_inttypes_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_header_inttypes_h=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6 + if test $gt_cv_header_inttypes_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H 1 +_ACEOF + + fi + + + + if test $gt_cv_header_inttypes_h = yes; then + echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 +echo $ECHO_N "checking whether the inttypes.h PRIxNN macros are broken... $ECHO_C" >&6 +if test "${gt_cv_inttypes_pri_broken+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef PRId32 +char *p = PRId32; +#endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_inttypes_pri_broken=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_inttypes_pri_broken=yes +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 +echo "${ECHO_T}$gt_cv_inttypes_pri_broken" >&6 + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + +cat >>confdefs.h <<_ACEOF +#define PRI_MACROS_BROKEN 1 +_ACEOF + + fi + + + +for ac_header in stdint.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------ ## +## Report this to bug-gnu-utils@gnu.org ## +## ------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + echo "$as_me:$LINENO: checking for SIZE_MAX" >&5 +echo $ECHO_N "checking for SIZE_MAX... $ECHO_C" >&6 + result= + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then + result=yes +fi +rm -f conftest* + + if test -z "$result"; then + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 / 10) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 / 10) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 / 10) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 / 10) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo= ac_hi= +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 / 10) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr '(' $ac_mid ')' + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) res_hi=$ac_lo;; +'') result=? ;; +esac +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +long longval () { return ~(size_t)0 / 10; } +unsigned long ulongval () { return ~(size_t)0 / 10; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + exit (1); + if ((~(size_t)0 / 10) < 0) + { + long i = longval (); + if (i != (~(size_t)0 / 10)) + exit (1); + fprintf (f, "%ld\n", i); + } + else + { + unsigned long i = ulongval (); + if (i != (~(size_t)0 / 10)) + exit (1); + fprintf (f, "%lu\n", i); + } + exit (ferror (f) || fclose (f) != 0); + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + res_hi=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +result=? +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +rm -f conftest.val + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 % 10) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 % 10) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 % 10) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 % 10) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo= ac_hi= +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((~(size_t)0 % 10) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr '(' $ac_mid ')' + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) res_lo=$ac_lo;; +'') result=? ;; +esac +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +long longval () { return ~(size_t)0 % 10; } +unsigned long ulongval () { return ~(size_t)0 % 10; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + exit (1); + if ((~(size_t)0 % 10) < 0) + { + long i = longval (); + if (i != (~(size_t)0 % 10)) + exit (1); + fprintf (f, "%ld\n", i); + } + else + { + unsigned long i = ulongval (); + if (i != (~(size_t)0 % 10)) + exit (1); + fprintf (f, "%lu\n", i); + } + exit (ferror (f) || fclose (f) != 0); + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + res_lo=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +result=? +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +rm -f conftest.val + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo= ac_hi= +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_lo=`expr '(' $ac_mid ')' + 1` +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) fits_in_uint=$ac_lo;; +'') result=? ;; +esac +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +long longval () { return sizeof (size_t) <= sizeof (unsigned int); } +unsigned long ulongval () { return sizeof (size_t) <= sizeof (unsigned int); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + exit (1); + if ((sizeof (size_t) <= sizeof (unsigned int)) < 0) + { + long i = longval (); + if (i != (sizeof (size_t) <= sizeof (unsigned int))) + exit (1); + fprintf (f, "%ld\n", i); + } + else + { + unsigned long i = ulongval (); + if (i != (sizeof (size_t) <= sizeof (unsigned int))) + exit (1); + fprintf (f, "%lu\n", i); + } + exit (ferror (f) || fclose (f) != 0); + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + fits_in_uint=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +result=? +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +rm -f conftest.val + if test "$fits_in_uint" = 1; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + extern size_t foo; + extern unsigned long foo; + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + fits_in_uint=0 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test -z "$result"; then + if test "$fits_in_uint" = 1; then + result="$res_hi$res_lo"U + else + result="$res_hi$res_lo"UL + fi + else + result='~(size_t)0' + fi + fi + echo "$as_me:$LINENO: result: $result" >&5 +echo "${ECHO_T}$result" >&6 + if test "$result" != yes; then + +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $result +_ACEOF + + fi + + + + + +for ac_header in stdint.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------ ## +## Report this to bug-gnu-utils@gnu.org ## +## ------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 +echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6 +if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_CFPreferencesCopyAppValue=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6 + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 +_ACEOF + + fi + echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 +echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6 +if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_CFLocaleCopyCurrent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6 + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFLOCALECOPYCURRENT 1 +_ACEOF + + 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 + + + + 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" + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +# 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. + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + 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 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${acl_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + 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 +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${acl_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + echo "$as_me:$LINENO: checking for shared library run path origin" >&5 +echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 +if test "${acl_cv_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + 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 + +fi +echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 +echo "${ECHO_T}$acl_cv_rpath" >&6 + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath or --disable-rpath was given. +if test "${enable_rpath+set}" = set; then + enableval="$enable_rpath" + : +else + enable_rpath=yes +fi; + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then + withval="$with_libiconv_prefix" + + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + +fi; + LIBICONV= + LTLIBICONV= + INCICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + 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" + 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" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + 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 + if test "$hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + 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 + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + 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 $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; 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 $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi @@ -10723,36 +12975,454 @@ + echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 +echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 +if test "${ac_cv_type_ptrdiff_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((ptrdiff_t *) 0) + return 0; +if (sizeof (ptrdiff_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_ptrdiff_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_ptrdiff_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 +echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 +if test $ac_cv_type_ptrdiff_t = yes; then + : +else + +cat >>confdefs.h <<\_ACEOF +#define ptrdiff_t long +_ACEOF + + +fi + + + + + + + + + + + +for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------ ## +## Report this to bug-gnu-utils@gnu.org ## +## ------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + + + + + + + + + + + + + + + + +for ac_func in asprintf fwprintf getcwd getegid geteuid getgid getuid \ +mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ +strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ +__fsetlocking +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 +echo $ECHO_N "checking whether _snprintf is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl__snprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + +#ifndef _snprintf + char *p = (char *) _snprintf; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl__snprintf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_cv_have_decl__snprintf=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 +echo "${ECHO_T}$ac_cv_have_decl__snprintf" >&6 + if test $ac_cv_have_decl__snprintf = yes; then + gt_value=1 + else + gt_value=0 + fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNPRINTF $gt_value +_ACEOF -for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking whether _snwprintf is declared" >&5 +echo $ECHO_N "checking whether _snwprintf is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl__snwprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> +#include +int +main () +{ + +#ifndef _snwprintf + char *p = (char *) _snwprintf; +#endif + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -10776,138 +13446,171 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_header_compiler=yes + ac_cv_have_decl__snwprintf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no +ac_cv_have_decl__snwprintf=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl__snwprintf" >&5 +echo "${ECHO_T}$ac_cv_have_decl__snwprintf" >&6 + if test $ac_cv_have_decl__snwprintf = yes; then + gt_value=1 + else + gt_value=0 + fi -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNWPRINTF $gt_value +_ACEOF + + + + + echo "$as_me:$LINENO: checking whether feof_unlocked is declared" >&5 +echo $ECHO_N "checking whether feof_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include <$ac_header> +#include +int +main () +{ + +#ifndef feof_unlocked + char *p = (char *) feof_unlocked; +#endif + + ; + return 0; +} _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_feof_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no +ac_cv_have_decl_feof_unlocked=no fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_feof_unlocked" >&6 + if test $ac_cv_have_decl_feof_unlocked = yes; then + gt_value=1 + else + gt_value=0 + fi -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------ ## -## Report this to bug-gnu-utils@gnu.org ## -## ------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FEOF_UNLOCKED $gt_value +_ACEOF + + + + echo "$as_me:$LINENO: checking whether fgets_unlocked is declared" >&5 +echo $ECHO_N "checking whether fgets_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + +#ifndef fgets_unlocked + char *p = (char *) fgets_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fgets_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_cv_have_decl_fgets_unlocked=no fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fgets_unlocked" >&6 + if test $ac_cv_have_decl_fgets_unlocked = yes; then + gt_value=1 + else + gt_value=0 + fi -done - - - - - - - - - - - - - - - - - - - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FGETS_UNLOCKED $gt_value +_ACEOF -for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ -geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ -strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then + echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 +echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -10916,54 +13619,22 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - +#include int main () { -return f != $ac_func; + +#ifndef getc_unlocked + char *p = (char *) getc_unlocked; +#endif + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -10977,31 +13648,57 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - eval "$as_ac_var=yes" + ac_cv_have_decl_getc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_var=no" +ac_cv_have_decl_getc_unlocked=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6 + if test $ac_cv_have_decl_getc_unlocked = yes; then + gt_value=1 + else + gt_value=0 + fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED $gt_value _ACEOF -fi -done + + + case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; + esac + + if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 + else + HAVE_ASPRINTF=0 + fi + + if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 + else + HAVE_SNPRINTF=0 + fi + + if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 + else + HAVE_WPRINTF=0 + fi @@ -11315,7 +14012,7 @@ echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 -if test "${am_cv_val_LC_MESSAGES+set}" = set; then +if test "${gt_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -11355,19 +14052,19 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - am_cv_val_LC_MESSAGES=yes + gt_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -am_cv_val_LC_MESSAGES=no +gt_cv_val_LC_MESSAGES=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 -echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 - if test $am_cv_val_LC_MESSAGES = yes; then +echo "$as_me:$LINENO: result: $gt_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$gt_cv_val_LC_MESSAGES" >&6 + if test $gt_cv_val_LC_MESSAGES = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LC_MESSAGES 1 @@ -11377,6 +14074,10 @@ fi + if test -n "$INTL_MACOSX_LIBS"; then + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + fi + for ac_prog in bison do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -11450,6 +14151,149 @@ + + echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 +echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6 +if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_CFPreferencesCopyAppValue=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6 + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 +_ACEOF + + fi + echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 +echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6 +if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gt_cv_func_CFLocaleCopyCurrent=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6 + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CFLOCALECOPYCURRENT 1 +_ACEOF + + 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 + + + + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 # Check whether --enable-nls or --disable-nls was given. @@ -11464,6 +14308,7 @@ + BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no @@ -11513,7 +14358,7 @@ main () { bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings +return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } @@ -11766,7 +14611,7 @@ if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi @@ -11810,7 +14655,7 @@ if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi @@ -11954,12 +14799,12 @@ #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (); +const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) +return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } @@ -12009,12 +14854,12 @@ #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (); +const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) +return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } @@ -12062,7 +14907,8 @@ if test "$gt_cv_func_gnugettext1_libc" = "yes" \ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= @@ -12077,20 +14923,28 @@ fi if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - BUILD_INCLUDED_LIBINTL=yes + BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV" LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV" 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 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 + 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 @@ -12103,6 +14957,26 @@ fi fi + echo "$as_me:$LINENO: checking whether to use NLS" >&5 +echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 + if test "$USE_NLS" = "yes"; then + echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 +echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + echo "$as_me:$LINENO: result: $gt_source" >&5 +echo "${ECHO_T}$gt_source" >&6 + fi + if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then @@ -12152,7 +15026,7 @@ fi - if test "$PACKAGE" = gettext; then + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi @@ -12160,7 +15034,6 @@ - nls_cv_header_intl= nls_cv_header_libgt= @@ -12173,6 +15046,12 @@ GENCAT=gencat + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + + INTL_LIBTOOL_SUFFIX_PREFIX= @@ -12184,6 +15063,7 @@ + echo "$as_me:$LINENO: checking if malloc debugging is wanted" >&5 echo $ECHO_N "checking if malloc debugging is wanted... $ECHO_C" >&6 @@ -12608,7 +15488,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by sharutils $as_me 4.3.78, which was +This file was extended by sharutils $as_me 4.3.79, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12671,7 +15551,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -sharutils config.status 4.3.78 +sharutils config.status 4.3.79 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -12771,10 +15651,10 @@ # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -# Capture the value of obsolete $ALL_LINGUAS because we need it to compute - # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake. - eval 'ALL_LINGUAS''="$ALL_LINGUAS"' + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" @@ -12949,6 +15829,7 @@ s,@LIBOBJS@,$LIBOBJS,;t t s,@ALLOCA@,$ALLOCA,;t t s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t +s,@USE_NLS@,$USE_NLS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t @@ -12961,18 +15842,23 @@ s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t +s,@GLIBC2@,$GLIBC2,;t t s,@GLIBC21@,$GLIBC21,;t t +s,@INTL_MACOSX_LIBS@,$INTL_MACOSX_LIBS,;t t +s,@HAVE_POSIX_PRINTF@,$HAVE_POSIX_PRINTF,;t t +s,@HAVE_ASPRINTF@,$HAVE_ASPRINTF,;t t +s,@HAVE_SNPRINTF@,$HAVE_SNPRINTF,;t t +s,@HAVE_WPRINTF@,$HAVE_WPRINTF,;t t s,@LIBICONV@,$LIBICONV,;t t s,@LTLIBICONV@,$LTLIBICONV,;t t s,@INTLBISON@,$INTLBISON,;t t -s,@USE_NLS@,$USE_NLS,;t t s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t s,@CATOBJEXT@,$CATOBJEXT,;t t -s,@INTLOBJS@,$INTLOBJS,;t t s,@DATADIRNAME@,$DATADIRNAME,;t t s,@INSTOBJEXT@,$INSTOBJEXT,;t t s,@GENCAT@,$GENCAT,;t t +s,@INTLOBJS@,$INTLOBJS,;t t s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t s,@INTLLIBS@,$INTLLIBS,;t t s,@LIBINTL@,$LIBINTL,;t t @@ -13681,35 +16567,51 @@ /*) 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" - # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + 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 "$ALL_LINGUAS"; then + 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" "$ac_given_srcdir/$ac_dir/LINGUAS"` + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + 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= - GMOFILES= UPDATEPOFILES= DUMMYPOFILES= + GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" 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. @@ -13744,7 +16646,7 @@ 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|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$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 Index: configure.ac diff -u -r -N sharutils-4.3.78/configure.ac sharutils-4.3.79/configure.ac --- sharutils-4.3.78/configure.ac 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/configure.ac 2005-04-25 20:07:23.000000000 -0700 @@ -1,12 +1,12 @@ # Configure template for GNU shar utilities. -# Copyright (C) 1994, 1995, 1996, 2002 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 2002, 2005 Free Software Foundation, Inc. # Process this file with autoconf to produce a configure script. # FIXME: AC_CHECK_HEADERS([sys/time.h]) # FIXME: AC_CHECK_FUNCS([gethostname getwd]) AC_PREREQ(2.59) -AC_INIT([sharutils],[4.3.78],[bug-gnu-utils@gnu.org]) +AC_INIT([sharutils],[4.3.79],[bug-gnu-utils@gnu.org]) AC_CONFIG_SRCDIR([src/shar.c]) AC_CONFIG_HEADERS([config.h]) @@ -126,6 +126,7 @@ ]) AM_GNU_GETTEXT +AM_GNU_GETTEXT_VERSION(0.14.4) AM_WITH_DMALLOC # sharutils is somewhat special about internationalization in that it @@ -168,3 +169,11 @@ AC_CONFIG_COMMANDS([default],[[\ test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h]],[[]]) AC_OUTPUT +dnl Local Variables: +dnl mode: autoconf-mode +dnl tab-width: 8 +dnl indent-tabs-mode: nil +dnl sh-indentation: 2 +dnl End: +dnl +dnl end of configure.am Index: contrib/Makefile.am diff -u -r -N sharutils-4.3.78/contrib/Makefile.am sharutils-4.3.79/contrib/Makefile.am --- sharutils-4.3.78/contrib/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/contrib/Makefile.am 2005-04-25 19:57:41.000000000 -0700 @@ -18,4 +18,4 @@ ## Process this file with automake to produce Makefile.in. EXTRA_DIST = shar.sh shar2.sh bas-README uudecode.bas pas-README \ -pas-R.Marks pas-diffs uudecode.pas uuencode.pas uudecode.pl uuencode.pl +pas-R.Marks uudecode.pas uuencode.pas uudecode.pl uuencode.pl Index: contrib/Makefile.in diff -u -r -N sharutils-4.3.78/contrib/Makefile.in sharutils-4.3.79/contrib/Makefile.in --- sharutils-4.3.78/contrib/Makefile.in 2005-01-23 10:02:53.000000000 -0800 +++ sharutils-4.3.79/contrib/Makefile.in 2005-04-25 20:07:55.000000000 -0700 @@ -40,13 +40,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -88,8 +96,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -100,6 +113,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -174,7 +188,7 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ EXTRA_DIST = shar.sh shar2.sh bas-README uudecode.bas pas-README \ -pas-R.Marks pas-diffs uudecode.pas uuencode.pas uudecode.pl uuencode.pl +pas-R.Marks uudecode.pas uuencode.pas uudecode.pl uuencode.pl all: all-am Index: contrib/pas-diffs diff -u -r -N sharutils-4.3.78/contrib/pas-diffs sharutils-4.3.79/contrib/pas-diffs --- sharutils-4.3.78/contrib/pas-diffs 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/contrib/pas-diffs 1969-12-31 16:00:00.000000000 -0800 @@ -1,144 +0,0 @@ -diff -u 870527-ibm-pc/README 861030-darmon/README ---- 870527-ibm-pc/README Wed May 27 00:12:39 1987 -+++ 861030-darmon/README Sat Feb 11 20:45:04 1995 -@@ -1,20 +1,23 @@ --Here are versions of uuencode and uudecode that will work on an IBM --PC. There is a version for Turbo Pascal and one for Microsoft C. --Porting them into other machines, languages or dialects should not --pose a large problem. -+Relay-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site hoptoad.uucp -+From: darmon@polaris.UUCP (Pierre Darmon) -+Newsgroups: net.sources -+Subject: Modified Turbo Pascal uudecode/encode. More user-friendly. -+Date: 30 Oct 86 01:12:40 GMT -+Date-Received: -+Reply-To: darmon@polaris.UUCP (Pierre Darmon) -+Organization: IBM Research, Yorktown Heights, N.Y. - --Sorry about the lack of documentation, but the programs are easy to --use, so you should not have a problem. I don't know why a UNIX --site would not have these in the first place, but at least your --manual should tell you how to use them. If you are not using UNIX --at all, you have my sympathy. -+The following are the Turbo Pascal source files for uudecode and uuencode, -+modified from the net posting to display the remaining bytes to be processed, -+instead of filling up the screen with periods. It also displays the percentage -+left. See my previous posting to net.micro,net.micro.pc and net.sources for -+details. - --The Pascal programs' author is unknown. The C programs were --provided by Don Kneller. -+Enjoy! - --Tom Reingold --Rockefeller University --New York City --UUCP: {seismo | harvard | ihnp4}!cmcl2!rna!rocky2!reintom --BITNET: REINTOM@ROCKVAX --ARPANET: reintom@rockefeller.arpa -+ -+-- -+ -+Pierre Darmon, IBM Thomas J. Watson Research Center. -+.....seismo!philabs!polaris!darmon. -+darmon.yktvmz.ibm@csnet-relay -Only in 861030-darmon: diffs -diff -u 870527-ibm-pc/uudecode.pas 861030-darmon/uudecode.pas ---- 870527-ibm-pc/uudecode.pas Wed May 27 00:12:39 1987 -+++ 861030-darmon/uudecode.pas Sat Feb 11 20:44:32 1995 -@@ -6,9 +6,11 @@ - TYPE string80 = string[80]; - - VAR infile: text; -+ fi : file of byte; - outfile: file of byte; - lineNum: integer; - line: string80; -+ size,remaining :real; - - procedure Abort(message: string80); - -@@ -23,8 +25,11 @@ - - begin {NextLine} - LineNum := succ(LineNum); -- write('.'); -- readln(infile, s) -+ {write('.');} -+ readln(infile, s); -+ remaining:=remaining-length(s)-2; {-2 is for CR/LF} -+ write('bytes remaining: ',remaining:7:0,' (', -+ remaining/size*100.0:3:0,'%)',chr(13)); - end; {NextLine} - - procedure Init; -@@ -43,7 +48,11 @@ - reset(infile); - {$i+} - if IOresult > 0 then abort (concat('Can''t open ', infilename)); -- writeln ('Decoding ', infilename) -+ writeln ('Decoding ', infilename); -+ assign(fi,infilename); reset(fi); -+ size:=FileSize(fi); close(fi); -+ if size < 0 then size:=size+65536.0; -+ remaining:=size; - end; {GetInFile} - - procedure GetOutFile; -@@ -158,7 +167,7 @@ - then abort('Illegal character in line.'); - { write(line[lineindex]:2);} - if line[lineindex] = '`' then nextch := ' ' -- else nextch := line[lineIndex] -+ else nextch := line[lineIndex] - end; {nextch} - - procedure DecodeByte; -diff -u 870527-ibm-pc/uuencode.pas 861030-darmon/uuencode.pas ---- 870527-ibm-pc/uuencode.pas Wed May 27 00:12:40 1987 -+++ 861030-darmon/uuencode.pas Sat Feb 11 20:44:51 1995 -@@ -18,6 +18,7 @@ - line: array [0..59] of char; - hunk: array [0..2] of byte; - chars: array [0..3] of byte; -+ size,remaining :real; - - { procedure debug; - -@@ -70,6 +71,9 @@ - reset (infile); - {$i+} - if IOResult > 0 then abort (concat ('Can''t open file ', infilename)); -+ size:=FileSize(infile); -+ if size < 0 then size:=size+65536.0; -+ remaining:=size; - write('Uuencoding file ', infilename); - - i := pos('.', infilename); -@@ -131,7 +135,9 @@ - end; {writeout} - - begin {FlushLine} -- write ('.'); -+ {write ('.');} -+ write('bytes remaining: ',remaining:7:0,' (', -+ remaining/size*100.0:3:0,'%)',chr(13)); - writeout(chr(bytesInLine + offset)); - for i := 0 to pred(lineLength) do - writeout(line[i]); -@@ -167,6 +173,7 @@ - begin {encode1}; - if numbytes = bytesperhunk then flushhunk; - read (infile, hunk[numbytes]); -+ remaining:=remaining-1; - numbytes := succ(numbytes) - end; {encode1} - -@@ -190,5 +197,6 @@ - begin {uuencode} - init; - while not eof (infile) do encode1; -- terminate -+ terminate; -+ writeln; - end. {uuencode} Index: doc/Makefile.am diff -u -r -N sharutils-4.3.78/doc/Makefile.am sharutils-4.3.79/doc/Makefile.am --- sharutils-4.3.78/doc/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/doc/Makefile.am 2005-01-30 15:40:13.000000000 -0800 @@ -21,10 +21,6 @@ DISTCLEANFILES = uudecode.1 -mandir = @mandir@ -man1dir = $(mandir)/man1 -man5dir = $(mandir)/man5 - DIST_MAN1PAGES = shar.1 unshar.1 @DIST_MAN1PAGES@ NODIST_MAN1PAGES = @NODIST_MAN1PAGES@ man1_MANS = $(DIST_MAN1PAGES) $(NODIST_MAN1PAGES) Index: doc/Makefile.in diff -u -r -N sharutils-4.3.78/doc/Makefile.in sharutils-4.3.79/doc/Makefile.in --- sharutils-4.3.78/doc/Makefile.in 2005-01-23 10:02:54.000000000 -0800 +++ sharutils-4.3.79/doc/Makefile.in 2005-04-25 20:07:55.000000000 -0700 @@ -42,13 +42,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -71,6 +79,8 @@ DVIPS = dvips am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ "$(DESTDIR)$(man5dir)" +man1dir = $(mandir)/man1 +man5dir = $(mandir)/man5 NROFF = nroff MANS = $(man1_MANS) $(man5_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -106,8 +116,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -118,6 +133,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -193,8 +209,6 @@ target_alias = @target_alias@ info_TEXINFOS = sharutils.texi DISTCLEANFILES = uudecode.1 -man1dir = $(mandir)/man1 -man5dir = $(mandir)/man5 man1_MANS = $(DIST_MAN1PAGES) $(NODIST_MAN1PAGES) noinst_MANS = uuencode.1 uuencode.5 noinst_man1_MANS = uudecode.1 Index: doc/sharutils.info diff -u -r -N sharutils-4.3.78/doc/sharutils.info sharutils-4.3.79/doc/sharutils.info --- sharutils-4.3.78/doc/sharutils.info 2005-01-23 10:06:39.000000000 -0800 +++ sharutils-4.3.79/doc/sharutils.info 2005-04-25 20:08:31.000000000 -0700 @@ -1,5 +1,5 @@ -This is ../../doc/sharutils.info, produced by makeinfo version 4.8 from -../../doc/sharutils.texi. +This is sharutils.info, produced by makeinfo version 4.8 from +sharutils.texi. INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY @@ -15,7 +15,7 @@ * uuencode: (sharutils)uuencode invocation. Force binary file to 7-bits. END-INFO-DIR-ENTRY - This manual documents version 4.3.78 of the GNU shar utilities. + This manual documents version 4.3.79 of the GNU shar utilities. Copyright (C) 1994-2004 Free Software Foundation, Inc. @@ -32,7 +32,7 @@ GNU `shar' utilities ******************** -This manual documents version 4.3.78 of the GNU shar utilities. +This manual documents version 4.3.79 of the GNU shar utilities. Copyright (C) 1994-2004 Free Software Foundation, Inc. @@ -47,7 +47,7 @@ preparing them for transmission by electronic mail services, while `unshar' helps unpacking shell archives after reception. Other tools help using `shar' with the electronic mail system, and even allow -synchronization of remote directory trees. This is release 4.3.78. +synchronization of remote directory trees. This is release 4.3.79. * Menu: @@ -1876,36 +1876,36 @@  Tag Table: -Node: Top1298 -Node: Introduction4683 -Node: Basic6267 -Node: shar invocation7459 -Node: Selecting8962 -Node: Splitting10068 -Node: Headers11720 -Node: Stocking12898 -Node: Transmission15752 -Node: Kinds17442 -Node: unshar invocation21420 -Node: Miscellaneous23542 -Node: Wrappers25260 -Node: Invoking mailshar25628 -Node: Invoking mail-files25821 -Node: Invoking find-mailer26030 -Node: Remsync26215 -Node: Quick start29330 -Node: Invoking remsync36375 -Node: Conveniences37960 -Node: Commands39874 -Node: Internals45061 -Node: Formats48337 -Node: Xremsync48611 -Node: Package53065 -Node: Alternatives57550 -Node: Previous58573 -Node: mailsync58954 -Node: resync61522 -Node: GNU Free Documentation License63863 -Node: How to use this License for your documents82336 +Node: Top1278 +Node: Introduction4663 +Node: Basic6247 +Node: shar invocation7439 +Node: Selecting8942 +Node: Splitting10048 +Node: Headers11700 +Node: Stocking12878 +Node: Transmission15732 +Node: Kinds17422 +Node: unshar invocation21400 +Node: Miscellaneous23522 +Node: Wrappers25240 +Node: Invoking mailshar25608 +Node: Invoking mail-files25801 +Node: Invoking find-mailer26010 +Node: Remsync26195 +Node: Quick start29310 +Node: Invoking remsync36355 +Node: Conveniences37940 +Node: Commands39854 +Node: Internals45041 +Node: Formats48317 +Node: Xremsync48591 +Node: Package53045 +Node: Alternatives57530 +Node: Previous58553 +Node: mailsync58934 +Node: resync61502 +Node: GNU Free Documentation License63843 +Node: How to use this License for your documents82316  End Tag Table Index: doc/stamp-vti diff -u -r -N sharutils-4.3.78/doc/stamp-vti sharutils-4.3.79/doc/stamp-vti --- sharutils-4.3.78/doc/stamp-vti 2005-01-23 10:06:39.000000000 -0800 +++ sharutils-4.3.79/doc/stamp-vti 2005-04-25 20:08:31.000000000 -0700 @@ -1,4 +1,4 @@ @set UPDATED 23 January 2005 @set UPDATED-MONTH January 2005 -@set EDITION 4.3.78 -@set VERSION 4.3.78 +@set EDITION 4.3.79 +@set VERSION 4.3.79 Index: doc/version.texi diff -u -r -N sharutils-4.3.78/doc/version.texi sharutils-4.3.79/doc/version.texi --- sharutils-4.3.78/doc/version.texi 2005-01-23 10:03:28.000000000 -0800 +++ sharutils-4.3.79/doc/version.texi 2005-04-25 20:08:31.000000000 -0700 @@ -1,4 +1,4 @@ @set UPDATED 23 January 2005 @set UPDATED-MONTH January 2005 -@set EDITION 4.3.78 -@set VERSION 4.3.78 +@set EDITION 4.3.79 +@set VERSION 4.3.79 Index: intl/ChangeLog diff -u -r -N sharutils-4.3.78/intl/ChangeLog sharutils-4.3.79/intl/ChangeLog --- sharutils-4.3.78/intl/ChangeLog 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/ChangeLog 2005-04-25 20:07:25.000000000 -0700 @@ -1,4 +1,4 @@ -2002-07-17 GNU +2005-04-11 GNU - * Version 0.11.3 released. + * Version 0.14.4 released. Index: intl/Makefile.in diff -u -r -N sharutils-4.3.78/intl/Makefile.in sharutils-4.3.79/intl/Makefile.in --- sharutils-4.3.78/intl/Makefile.in 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/Makefile.in 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ -# Makefile for directory with message catalog handling in GNU NLS Utilities. -# Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. +# Makefile for directory with message catalog handling library of GNU gettext +# Copyright (C) 1995-1998, 2000-2005 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published @@ -24,7 +24,7 @@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. -VPATH = @srcdir@ +VPATH = $(srcdir) prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -40,7 +40,7 @@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` +mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) l = @INTL_LIBTOOL_SUFFIX_PREFIX@ @@ -52,58 +52,93 @@ YFLAGS = --name-prefix=__gettext DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ --DLIBDIR=\"$(libdir)\" -DIN_LIBINTL @DEFS@ +-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \ +-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ +-Dset_relocation_prefix=libintl_set_relocation_prefix \ +-Drelocate=libintl_relocate \ +-DDEPENDS_ON_LIBICONV=1 @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) -HEADERS = $(COMHDRS) libgnuintl.h loadinfo.h -COMHDRS = gmo.h gettextP.h hash-string.h plural-exp.h eval-plural.h os2compat.h -SOURCES = $(COMSRCS) intl-compat.c -COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \ -finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \ -explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \ -plural-exp.c localcharset.c localename.c osdep.c os2compat.c -OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \ -finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \ -explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \ -plural.$lo plural-exp.$lo localcharset.$lo localename.$lo osdep.$lo -GETTOBJS = intl-compat.$lo +HEADERS = \ + gmo.h \ + gettextP.h \ + hash-string.h \ + loadinfo.h \ + plural-exp.h \ + eval-plural.h \ + localcharset.h \ + relocatable.h \ + xsize.h \ + printf-args.h printf-args.c \ + printf-parse.h wprintf-parse.h printf-parse.c \ + vasnprintf.h vasnwprintf.h vasnprintf.c \ + os2compat.h \ + libgnuintl.h.in +SOURCES = \ + bindtextdom.c \ + dcgettext.c \ + dgettext.c \ + gettext.c \ + finddomain.c \ + loadmsgcat.c \ + localealias.c \ + textdomain.c \ + l10nflist.c \ + explodename.c \ + dcigettext.c \ + dcngettext.c \ + dngettext.c \ + ngettext.c \ + plural.y \ + plural-exp.c \ + localcharset.c \ + relocatable.c \ + langprefs.c \ + localename.c \ + log.c \ + printf.c \ + osdep.c \ + os2compat.c \ + intl-compat.c +OBJECTS = \ + bindtextdom.$lo \ + dcgettext.$lo \ + dgettext.$lo \ + gettext.$lo \ + finddomain.$lo \ + loadmsgcat.$lo \ + localealias.$lo \ + textdomain.$lo \ + l10nflist.$lo \ + explodename.$lo \ + dcigettext.$lo \ + dcngettext.$lo \ + dngettext.$lo \ + ngettext.$lo \ + plural.$lo \ + plural-exp.$lo \ + localcharset.$lo \ + relocatable.$lo \ + langprefs.$lo \ + localename.$lo \ + log.$lo \ + printf.$lo \ + osdep.$lo \ + intl-compat.$lo DISTFILES.common = Makefile.in \ config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) DISTFILES.generated = plural.c DISTFILES.normal = VERSION -DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc +DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \ +libgnuintl.h_vms Makefile.vms \ +libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ -COPYING.LIB-2 gettext.h libgettext.h plural-eval.c - -# Libtool's library version information for libintl. -# Before making a gettext release, the gettext maintainer must change this -# according to the libtool documentation, section "Library interface versions". -# Maintainers of other packages that include the intl directory must *not* -# change these values. -LTV_CURRENT=3 -LTV_REVISION=0 -LTV_AGE=1 - -.SUFFIXES: -.SUFFIXES: .c .y .o .lo .sin .sed -.c.o: - $(COMPILE) $< -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) $< - -.y.c: - $(YACC) $(YFLAGS) --output $@ $< - rm -f $*.h - -.sin.sed: - sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ - mv t-$@ $@ - -INCLUDES = -I.. -I. -I$(top_srcdir)/intl +COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h all: all-@USE_INCLUDED_LIBINTL@ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed @@ -119,23 +154,104 @@ libintl.la libgnuintl.la: $(OBJECTS) $(LIBTOOL) --mode=link \ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ - $(OBJECTS) @LTLIBICONV@ -lc \ + $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) -lc \ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ -rpath $(libdir) \ -no-undefined +# Libtool's library version information for libintl. +# Before making a gettext release, the gettext maintainer must change this +# according to the libtool documentation, section "Library interface versions". +# Maintainers of other packages that include the intl directory must *not* +# change these values. +LTV_CURRENT=7 +LTV_REVISION=3 +LTV_AGE=4 + +.SUFFIXES: +.SUFFIXES: .c .y .o .lo .sin .sed + +.c.o: + $(COMPILE) $< + +.y.c: + $(YACC) $(YFLAGS) --output $@ $< + rm -f $*.h + +bindtextdom.lo: $(srcdir)/bindtextdom.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c +dcgettext.lo: $(srcdir)/dcgettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c +dgettext.lo: $(srcdir)/dgettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c +gettext.lo: $(srcdir)/gettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c +finddomain.lo: $(srcdir)/finddomain.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c +loadmsgcat.lo: $(srcdir)/loadmsgcat.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c +localealias.lo: $(srcdir)/localealias.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c +textdomain.lo: $(srcdir)/textdomain.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c +l10nflist.lo: $(srcdir)/l10nflist.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c +explodename.lo: $(srcdir)/explodename.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c +dcigettext.lo: $(srcdir)/dcigettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c +dcngettext.lo: $(srcdir)/dcngettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c +dngettext.lo: $(srcdir)/dngettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c +ngettext.lo: $(srcdir)/ngettext.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c +plural.lo: $(srcdir)/plural.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c +plural-exp.lo: $(srcdir)/plural-exp.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c +localcharset.lo: $(srcdir)/localcharset.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c +relocatable.lo: $(srcdir)/relocatable.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c +langprefs.lo: $(srcdir)/langprefs.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c +localename.lo: $(srcdir)/localename.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c +log.lo: $(srcdir)/log.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c +printf.lo: $(srcdir)/printf.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c +osdep.lo: $(srcdir)/osdep.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c +intl-compat.lo: $(srcdir)/intl-compat.c + $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c + +ref-add.sed: $(srcdir)/ref-add.sin + sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed + mv t-ref-add.sed ref-add.sed +ref-del.sed: $(srcdir)/ref-del.sin + sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed + mv t-ref-del.sed ref-del.sed + +INCLUDES = -I. -I$(srcdir) -I.. + +libgnuintl.h: $(srcdir)/libgnuintl.h.in + sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ + -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ + -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ + -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ + < $(srcdir)/libgnuintl.h.in > libgnuintl.h + libintl.h: libgnuintl.h - cp $(srcdir)/libgnuintl.h libintl.h + cp libgnuintl.h libintl.h -charset.alias: config.charset +charset.alias: $(srcdir)/config.charset $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ mv t-$@ $@ check: all -# This installation goal is only used in GNU gettext. Packages which -# only use the library should use install instead. - # We must not install the libintl.h/libintl.a files if we are on a # system which has the GNU gettext() function in its C library or in a # separate library. @@ -143,12 +259,31 @@ # package, you have to use `configure --with-included-gettext'. install: install-exec install-data install-exec: all - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ + if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ + && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ + if test "@RELOCATABLE@" = yes; then \ + dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ + if test -n "$$dependencies"; then \ + rm -f $(DESTDIR)$(libdir)/libintl.la; \ + fi; \ + fi; \ + else \ + : ; \ + fi + if test "$(PACKAGE)" = "gettext-tools" \ + && test '@USE_INCLUDED_LIBINTL@' = no \ + && test @GLIBC2@ != no; then \ + $(mkinstalldirs) $(DESTDIR)$(libdir); \ + $(LIBTOOL) --mode=install \ + $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ + rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ + $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ + $(LIBTOOL) --mode=uninstall \ + rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ else \ : ; \ fi @@ -182,7 +317,7 @@ : ; \ fi install-data: all - if test "$(PACKAGE)" = "gettext"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ @@ -209,19 +344,26 @@ install-strip: install installdirs: - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ + if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ + && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ else \ : ; \ fi + if test "$(PACKAGE)" = "gettext-tools" \ + && test '@USE_INCLUDED_LIBINTL@' = no \ + && test @GLIBC2@ != no; then \ + $(mkinstalldirs) $(DESTDIR)$(libdir); \ + else \ + : ; \ + fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \ $(mkinstalldirs) $(DESTDIR)$(localedir); \ else \ : ; \ fi - if test "$(PACKAGE)" = "gettext"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ @@ -231,14 +373,21 @@ installcheck: uninstall: - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ + if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ + && test '@USE_INCLUDED_LIBINTL@' = yes; then \ rm -f $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libintl.$la; \ else \ : ; \ fi + if test "$(PACKAGE)" = "gettext-tools" \ + && test '@USE_INCLUDED_LIBINTL@' = no \ + && test @GLIBC2@ != no; then \ + rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ + else \ + : ; \ + fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ @@ -265,7 +414,7 @@ else \ : ; \ fi - if test "$(PACKAGE)" = "gettext"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ @@ -273,20 +422,28 @@ : ; \ fi -info dvi: +info dvi ps pdf html: $(OBJECTS): ../config.h libgnuintl.h -bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: gettextP.h gmo.h loadinfo.h -dcigettext.$lo: hash-string.h -explodename.$lo l10nflist.$lo: loadinfo.h -dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: plural-exp.h -dcigettext.$lo: eval-plural.h +bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h +dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h +explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h +dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h +dcigettext.$lo: $(srcdir)/eval-plural.h +localcharset.$lo: $(srcdir)/localcharset.h +localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h +printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c tags: TAGS TAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) +ctags: CTAGS + +CTAGS: $(HEADERS) $(SOURCES) + here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) + id: ID ID: $(HEADERS) $(SOURCES) @@ -294,15 +451,15 @@ mostlyclean: - rm -f *.a *.la *.o *.lo core core.* - rm -f libintl.h charset.alias ref-add.sed ref-del.sed + rm -f *.a *.la *.o *.obj *.lo core core.* + rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed rm -f -r .libs _libs clean: mostlyclean distclean: clean rm -f Makefile ID TAGS - if test "$(PACKAGE)" = gettext; then \ + if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ rm -f ChangeLog.inst $(DISTFILES.normal); \ else \ : ; \ @@ -317,20 +474,26 @@ # other files which should not be distributed in other packages. distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: Makefile - if test "$(PACKAGE)" = gettext; then \ - additional="$(DISTFILES.gettext)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + : ; \ else \ - additional="$(DISTFILES.normal)"; \ - fi; \ - $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ - for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ - if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ - cp -p $$dir/$$file $(distdir); \ - done - -Makefile: Makefile.in ../config.status - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + if test "$(PACKAGE)" = "gettext-runtime"; then \ + additional="$(DISTFILES.gettext)"; \ + else \ + additional="$(DISTFILES.normal)"; \ + fi; \ + $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ + for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ + if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ + cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \ + done; \ + fi + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status +# This would be more efficient, but doesn't work any more with autoconf-2.57, +# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. +# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # 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. Index: intl/VERSION diff -u -r -N sharutils-4.3.78/intl/VERSION sharutils-4.3.79/intl/VERSION --- sharutils-4.3.78/intl/VERSION 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/VERSION 2005-04-25 20:07:25.000000000 -0700 @@ -1 +1 @@ -GNU gettext library from gettext-0.11.3 +GNU gettext library from gettext-0.14.4 Index: intl/bindtextdom.c diff -u -r -N sharutils-4.3.78/intl/bindtextdom.c sharutils-4.3.79/intl/bindtextdom.c --- sharutils-4.3.78/intl/bindtextdom.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/bindtextdom.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the bindtextdomain(3) function - Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -58,6 +58,11 @@ /* Contains the default location of the message catalogs. */ extern const char _nl_default_dirname[]; +#ifdef _LIBC +extern const char _nl_default_dirname_internal[] attribute_hidden; +#else +# define INTUSE(name) name +#endif /* List with bindings of specific domains. */ extern struct binding *_nl_domain_bindings; @@ -81,11 +86,6 @@ # define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset #endif -/* Prototypes for local functions. */ -static void set_binding_values PARAMS ((const char *domainname, - const char **dirnamep, - const char **codesetp)); - /* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP to be used for the DOMAINNAME message catalog. If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not @@ -93,10 +93,8 @@ If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void -set_binding_values (domainname, dirnamep, codesetp) - const char *domainname; - const char **dirnamep; - const char **codesetp; +set_binding_values (const char *domainname, + const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; @@ -146,8 +144,8 @@ char *result = binding->dirname; if (strcmp (dirname, result) != 0) { - if (strcmp (dirname, _nl_default_dirname) == 0) - result = (char *) _nl_default_dirname; + if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0) + result = (char *) INTUSE(_nl_default_dirname); else { #if defined _LIBC || defined HAVE_STRDUP @@ -162,7 +160,7 @@ if (__builtin_expect (result != NULL, 1)) { - if (binding->dirname != _nl_default_dirname) + if (binding->dirname != INTUSE(_nl_default_dirname)) free (binding->dirname); binding->dirname = result; @@ -216,7 +214,7 @@ { /* Simply return the default values. */ if (dirnamep) - *dirnamep = _nl_default_dirname; + *dirnamep = INTUSE(_nl_default_dirname); if (codesetp) *codesetp = NULL; } @@ -238,11 +236,11 @@ if (dirname == NULL) /* The default value. */ - dirname = _nl_default_dirname; + dirname = INTUSE(_nl_default_dirname); else { - if (strcmp (dirname, _nl_default_dirname) == 0) - dirname = _nl_default_dirname; + if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0) + dirname = INTUSE(_nl_default_dirname); else { char *result; @@ -265,7 +263,7 @@ } else /* The default value. */ - new_binding->dirname = (char *) _nl_default_dirname; + new_binding->dirname = (char *) INTUSE(_nl_default_dirname); new_binding->codeset_cntr = 0; @@ -321,7 +319,7 @@ if (0) { failed_codeset: - if (new_binding->dirname != _nl_default_dirname) + if (new_binding->dirname != INTUSE(_nl_default_dirname)) free (new_binding->dirname); failed_dirname: free (new_binding); @@ -343,9 +341,7 @@ /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ char * -BINDTEXTDOMAIN (domainname, dirname) - const char *domainname; - const char *dirname; +BINDTEXTDOMAIN (const char *domainname, const char *dirname) { set_binding_values (domainname, &dirname, NULL); return (char *) dirname; @@ -354,9 +350,7 @@ /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * -BIND_TEXTDOMAIN_CODESET (domainname, codeset) - const char *domainname; - const char *codeset; +BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) { set_binding_values (domainname, NULL, &codeset); return (char *) codeset; Index: intl/config.charset diff -u -r -N sharutils-4.3.78/intl/config.charset sharutils-4.3.79/intl/config.charset --- sharutils-4.3.78/intl/config.charset 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/config.charset 2005-04-25 20:07:25.000000000 -0700 @@ -1,7 +1,7 @@ #! /bin/sh # Output a system dependent table of character encoding aliases. # -# Copyright (C) 2000-2002 Free Software Foundation, Inc. +# Copyright (C) 2000-2004 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published @@ -30,77 +30,77 @@ # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # -# name used by which systems a MIME name? -# ASCII, ANSI_X3.4-1968 glibc solaris freebsd -# ISO-8859-1 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-2 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-3 glibc solaris yes -# ISO-8859-4 osf solaris freebsd yes -# ISO-8859-5 glibc aix hpux irix osf solaris freebsd yes -# ISO-8859-6 glibc aix hpux solaris yes -# ISO-8859-7 glibc aix hpux irix osf solaris yes -# ISO-8859-8 glibc aix hpux osf solaris yes -# ISO-8859-9 glibc aix hpux irix osf solaris yes -# ISO-8859-13 glibc -# ISO-8859-14 glibc -# ISO-8859-15 glibc aix osf solaris freebsd -# KOI8-R glibc solaris freebsd yes -# KOI8-U glibc freebsd yes -# 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 dos -# CP869 dos -# CP874 woe32 dos -# CP922 aix -# CP932 aix woe32 dos -# CP943 aix -# CP949 osf woe32 dos -# CP950 woe32 dos -# CP1046 aix -# CP1124 aix -# CP1125 dos -# CP1129 aix -# CP1250 woe32 -# CP1251 glibc woe32 -# CP1252 aix woe32 -# CP1253 woe32 -# CP1254 woe32 -# CP1255 glibc woe32 -# CP1256 woe32 -# CP1257 woe32 -# GB2312 glibc aix hpux irix solaris freebsd yes -# EUC-JP glibc aix hpux irix osf solaris freebsd yes -# EUC-KR glibc aix hpux irix osf solaris freebsd yes -# EUC-TW glibc aix hpux irix osf solaris -# BIG5 glibc aix hpux osf solaris freebsd yes -# BIG5-HKSCS glibc solaris -# GBK glibc aix osf solaris woe32 dos -# GB18030 glibc solaris -# SHIFT_JIS hpux osf solaris freebsd yes -# JOHAB glibc solaris woe32 -# TIS-620 glibc aix hpux osf solaris -# VISCII glibc yes -# TCVN5712-1 glibc -# GEORGIAN-PS 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 glibc aix hpux osf solaris yes +# name MIME? used by which systems +# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin +# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin +# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin +# ISO-8859-3 Y glibc solaris +# ISO-8859-4 Y osf solaris freebsd darwin +# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin +# ISO-8859-6 Y glibc aix hpux solaris +# ISO-8859-7 Y glibc aix hpux irix osf solaris 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 darwin +# ISO-8859-14 glibc +# ISO-8859-15 glibc aix osf solaris freebsd darwin +# KOI8-R Y glibc solaris freebsd darwin +# KOI8-U Y glibc freebsd 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 darwin dos +# CP869 dos +# CP874 woe32 dos +# CP922 aix +# CP932 aix woe32 dos +# CP943 aix +# CP949 osf woe32 dos +# CP950 woe32 dos +# CP1046 aix +# CP1124 aix +# CP1125 dos +# CP1129 aix +# CP1250 woe32 +# CP1251 glibc solaris darwin woe32 +# CP1252 aix woe32 +# CP1253 woe32 +# CP1254 woe32 +# CP1255 glibc woe32 +# CP1256 woe32 +# CP1257 woe32 +# GB2312 Y glibc aix hpux irix solaris freebsd darwin +# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin +# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin +# EUC-TW glibc aix hpux irix osf solaris +# BIG5 Y glibc aix hpux osf solaris freebsd darwin +# BIG5-HKSCS glibc solaris +# GBK glibc aix osf solaris woe32 dos +# GB18030 glibc solaris +# SHIFT_JIS Y hpux osf solaris freebsd darwin +# JOHAB glibc solaris woe32 +# TIS-620 glibc aix hpux osf solaris +# VISCII Y glibc +# TCVN5712-1 glibc +# GEORGIAN-PS 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 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.). @@ -121,6 +121,105 @@ # 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 @@ -231,6 +330,7 @@ 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" @@ -296,6 +396,77 @@ echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; + 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 it 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. + echo "* UTF-8" + ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. echo "* UTF-8" @@ -409,6 +580,7 @@ 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" Index: intl/dcgettext.c diff -u -r -N sharutils-4.3.78/intl/dcgettext.c sharutils-4.3.79/intl/dcgettext.c --- sharutils-4.3.78/intl/dcgettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/dcgettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the dcgettext(3) function. - Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -44,10 +44,7 @@ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * -DCGETTEXT (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; +DCGETTEXT (const char *domainname, const char *msgid, int category) { return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); } Index: intl/dcigettext.c diff -u -r -N sharutils-4.3.78/intl/dcigettext.c sharutils-4.3.79/intl/dcigettext.c --- sharutils-4.3.78/intl/dcigettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/dcigettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the internal dcigettext function. - Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -33,14 +33,19 @@ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include +# ifdef _MSC_VER +# include +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if defined HAVE_ALLOCA_H || defined _LIBC +# include # else -# ifndef alloca +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca char *alloca (); +# endif # endif # endif # endif @@ -143,13 +148,17 @@ char *getwd (); # define getcwd(buf, max) getwd (buf) # else +# if VMS +# define getcwd(buf, max) (getcwd) (buf, max, 0) +# else char *getcwd (); +# endif # endif # ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); +static char *stpcpy (char *dest, const char *src); # endif # ifndef HAVE_MEMPCPY -static void *mempcpy PARAMS ((void *dest, const void *src, size_t n)); +static void *mempcpy (void *dest, const void *src, size_t n); # endif #endif @@ -191,8 +200,8 @@ it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ -#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ @@ -243,11 +252,8 @@ # endif /* Function to compare two entries in the table of known translations. */ -static int transcmp PARAMS ((const void *p1, const void *p2)); static int -transcmp (p1, p2) - const void *p1; - const void *p2; +transcmp (const void *p1, const void *p2) { const struct known_translation_t *s1; const struct known_translation_t *s2; @@ -271,6 +277,13 @@ } #endif +#ifndef INTVARDEF +# define INTVARDEF(name) +#endif +#ifndef INTUSE +# define INTUSE(name) name +#endif + /* Name of the default domain used for gettext(3) prior any call to textdomain(3). The default value for this is "messages". */ const char _nl_default_default_domain[] attribute_hidden = "messages"; @@ -284,6 +297,7 @@ extern const char _nl_default_dirname[]; #else const char _nl_default_dirname[] = LOCALEDIR; +INTVARDEF (_nl_default_dirname) #endif /* List with bindings of specific domains created by bindtextdomain() @@ -291,15 +305,19 @@ struct binding *_nl_domain_bindings; /* Prototypes for local functions. */ -static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain, - unsigned long int n, - const char *translation, - size_t translation_len)) +static char *plural_lookup (struct loaded_l10nfile *domain, + unsigned long int n, + const char *translation, size_t translation_len) internal_function; -static const char *category_to_name PARAMS ((int category)) internal_function; -static const char *guess_category_value PARAMS ((int category, - const char *categoryname)) +static const char *guess_category_value (int category, + const char *categoryname) internal_function; +#ifdef _LIBC +# include "../locale/localeinfo.h" +# define category_to_name(category) _nl_category_names[category] +#else +static const char *category_to_name (int category) internal_function; +#endif /* For those loosing systems which don't have `alloca' we have to add @@ -406,13 +424,8 @@ CATEGORY locale and, if PLURAL is nonzero, search over string depending on the plural form determined by N. */ char * -DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - int plural; - unsigned long int n; - int category; +DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, + int plural, unsigned long int n, int category) { #ifndef HAVE_ALLOCA struct block_list *block_list = NULL; @@ -437,6 +450,15 @@ if (msgid1 == NULL) return NULL; +#ifdef _LIBC + if (category < 0 || category >= __LC_LAST || category == LC_ALL) + /* Bogus. */ + return (plural == 0 + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); +#endif + __libc_rwlock_rdlock (_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If @@ -500,7 +522,7 @@ } if (binding == NULL) - dirname = (char *) _nl_default_dirname; + dirname = (char *) INTUSE(_nl_default_dirname); else if (IS_ABSOLUTE_PATH (binding->dirname)) dirname = binding->dirname; else @@ -528,17 +550,9 @@ } if (ret == NULL) - { - /* We cannot get the current working directory. Don't signal an - error but simply return the default string. */ - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } + /* We cannot get the current working directory. Don't signal an + error but simply return the default string. */ + goto return_untranslated; stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); } @@ -595,16 +609,7 @@ domain. Return the MSGID. */ if (strcmp (single_locale, "C") == 0 || strcmp (single_locale, "POSIX") == 0) - { - FREE_BLOCKS (block_list); - __libc_rwlock_unlock (_nl_state_lock); - __set_errno (saved_errno); - return (plural == 0 - ? (char *) msgid1 - /* Use the Germanic plural rule. */ - : n == 1 ? (char *) msgid1 : (char *) msgid2); - } - + break; /* Find structure describing the message catalog matching the DOMAINNAME and CATEGORY. */ @@ -636,7 +641,6 @@ /* Found the translation of MSGID1 in domain DOMAIN: starting at RETVAL, RETLEN bytes. */ FREE_BLOCKS (block_list); - __set_errno (saved_errno); #if defined HAVE_TSEARCH || defined _LIBC if (foundp == NULL) { @@ -675,6 +679,8 @@ (*foundp)->translation_length = retlen; } #endif + __set_errno (saved_errno); + /* Now deal with plural. */ if (plural) retval = plural_lookup (domain, n, retval, retlen); @@ -684,19 +690,40 @@ } } } - /* NOTREACHED */ + + return_untranslated: + /* Return the untranslated MSGID. */ + FREE_BLOCKS (block_list); + __libc_rwlock_unlock (_nl_state_lock); +#ifndef _LIBC + if (!ENABLE_SECURE) + { + extern void _nl_log_untranslated (const char *logfilename, + const char *domainname, + const char *msgid1, const char *msgid2, + int plural); + const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); + + if (logfilename != NULL && logfilename[0] != '\0') + _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); + } +#endif + __set_errno (saved_errno); + return (plural == 0 + ? (char *) msgid1 + /* Use the Germanic plural rule. */ + : n == 1 ? (char *) msgid1 : (char *) msgid2); } char * internal_function -_nl_find_msg (domain_file, domainbinding, msgid, lengthp) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; - const char *msgid; - size_t *lengthp; +_nl_find_msg (struct loaded_l10nfile *domain_file, + struct binding *domainbinding, const char *msgid, + size_t *lengthp) { struct loaded_domain *domain; + nls_uint32 nstrings; size_t act; char *result; size_t resultlen; @@ -709,8 +736,10 @@ domain = (struct loaded_domain *) domain_file->data; + nstrings = domain->nstrings; + /* Locate the MSGID and its translation. */ - if (domain->hash_size > 2 && domain->hash_tab != NULL) + if (domain->hash_tab != NULL) { /* Use the hashing table. */ nls_uint32 len = strlen (msgid); @@ -720,22 +749,30 @@ while (1) { - nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]); + nls_uint32 nstr = + W (domain->must_swap_hash_tab, domain->hash_tab[idx]); if (nstr == 0) /* Hash table entry is empty. */ return NULL; - /* Compare msgid with the original string at index nstr-1. + nstr--; + + /* Compare msgid with the original string at index nstr. We compare the lengths with >=, not ==, because plural entries are represented by strings with an embedded NUL. */ - if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len - && (strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr - 1].offset)) - == 0)) + if (nstr < nstrings + ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len + && (strcmp (msgid, + domain->data + W (domain->must_swap, + domain->orig_tab[nstr].offset)) + == 0) + : domain->orig_sysdep_tab[nstr - nstrings].length > len + && (strcmp (msgid, + domain->orig_sysdep_tab[nstr - nstrings].pointer) + == 0)) { - act = nstr - 1; + act = nstr; goto found; } @@ -753,7 +790,7 @@ size_t top, bottom; bottom = 0; - top = domain->nstrings; + top = nstrings; while (bottom < top) { int cmp_val; @@ -776,9 +813,17 @@ found: /* The translation was found at index ACT. If we have to convert the string to use a different character set, this is the time. */ - result = ((char *) domain->data - + W (domain->must_swap, domain->trans_tab[act].offset)); - resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; + if (act < nstrings) + { + result = (char *) + (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); + resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; + } + else + { + result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; + resultlen = domain->trans_sysdep_tab[act - nstrings].length; + } #if defined _LIBC || HAVE_ICONV if (domain->codeset_cntr @@ -811,8 +856,9 @@ NULs. */ if (domain->conv_tab == NULL - && ((domain->conv_tab = (char **) calloc (domain->nstrings, - sizeof (char *))) + && ((domain->conv_tab = + (char **) calloc (nstrings + domain->n_sysdep_strings, + sizeof (char *))) == NULL)) /* Mark that we didn't succeed allocating a table. */ domain->conv_tab = (char **) -1; @@ -981,11 +1027,8 @@ /* Look up a plural variant. */ static char * internal_function -plural_lookup (domain, n, translation, translation_len) - struct loaded_l10nfile *domain; - unsigned long int n; - const char *translation; - size_t translation_len; +plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, + const char *translation, size_t translation_len) { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; @@ -1018,12 +1061,11 @@ return (char *) p; } - +#ifndef _LIBC /* Return string representation of locale CATEGORY. */ static const char * internal_function -category_to_name (category) - int category; +category_to_name (int category) { const char *retval; @@ -1078,34 +1120,52 @@ return retval; } +#endif -/* Guess value of current locale from value of the environment variables. */ +/* Guess value of current locale from value of the environment variables + or system-dependent defaults. */ static const char * internal_function -guess_category_value (category, categoryname) - int category; - const char *categoryname; +guess_category_value (int category, const char *categoryname) { const char *language; - const char *retval; - - /* The highest priority value is the `LANGUAGE' environment - variable. But we don't use the value if the currently selected - locale is the C locale. This is a GNU extension. */ - language = getenv ("LANGUAGE"); - if (language != NULL && language[0] == '\0') - language = NULL; + const char *locale; +#ifndef _LIBC + const char *language_default; + int locale_defaulted; +#endif + + /* We use the settings in the following order: + 1. The value of the environment variable 'LANGUAGE'. This is a GNU + extension. Its value can be a colon-separated list of locale names. + 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'. + More precisely, the first among these that is set to a non-empty value. + This is how POSIX specifies it. The value is a single locale name. + 3. A system-dependent preference list of languages. Its value can be a + colon-separated list of locale names. + 4. A system-dependent default locale name. + This way: + - System-dependent settings can be overridden by environment variables. + - If the system provides both a list of languages and a default locale, + the former is used. */ - /* We have to proceed with the POSIX methods of looking to `LC_ALL', + /* Fetch the locale name, through the POSIX method of looking to `LC_ALL', `LC_xxx', and `LANG'. On some systems this can be done by the `setlocale' function itself. */ #ifdef _LIBC - retval = setlocale (category, NULL); + locale = __current_locale_name (category); #else - retval = _nl_locale_name (category, categoryname); + locale = _nl_locale_name_posix (category, categoryname); + locale_defaulted = 0; + if (locale == NULL) + { + locale = _nl_locale_name_default (); + locale_defaulted = 1; + } #endif - /* Ignore LANGUAGE if the locale is set to "C" because + /* Ignore LANGUAGE and its system-dependent analogon if the locale is set + to "C" because 1. "C" locale usually uses the ASCII encoding, and most international messages use non-ASCII characters. These characters get displayed as question marks (if using glibc's iconv()) or as invalid 8-bit @@ -1113,8 +1173,28 @@ characters to ASCII). In any case, the output is ugly. 2. The precise output of some programs in the "C" locale is specified by POSIX and should not depend on environment variables like - "LANGUAGE". We allow such programs to use gettext(). */ - return language != NULL && strcmp (retval, "C") != 0 ? language : retval; + "LANGUAGE" or system-dependent information. We allow such programs + to use gettext(). */ + if (strcmp (locale, "C") == 0) + return locale; + + /* The highest priority value is the value of the 'LANGUAGE' environment + variable. */ + language = getenv ("LANGUAGE"); + if (language != NULL && language[0] != '\0') + return language; +#ifndef _LIBC + /* The next priority value is the locale name, if not defaulted. */ + if (locale_defaulted) + { + /* The next priority value is the default language preferences list. */ + language_default = _nl_language_preferences_default (); + if (language_default != NULL) + return language_default; + } + /* The least priority value is the locale name, if defaulted. */ +#endif + return locale; } /* @@ begin of epilog @@ */ @@ -1125,9 +1205,7 @@ to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * -stpcpy (dest, src) - char *dest; - const char *src; +stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; @@ -1137,10 +1215,7 @@ #if !_LIBC && !HAVE_MEMPCPY static void * -mempcpy (dest, src, n) - void *dest; - const void *src; - size_t n; +mempcpy (void *dest, const void *src, size_t n) { return (void *) ((char *) memcpy (dest, src, n) + n); } @@ -1150,8 +1225,7 @@ #ifdef _LIBC /* If we want to free all resources we have to do some work at program's end. */ -static void __attribute__ ((unused)) -free_mem (void) +libc_freeres_fn (free_mem) { void *old; @@ -1159,7 +1233,7 @@ { struct binding *oldp = _nl_domain_bindings; _nl_domain_bindings = _nl_domain_bindings->next; - if (oldp->dirname != _nl_default_dirname) + if (oldp->dirname != INTUSE(_nl_default_dirname)) /* Yes, this is a pointer comparison. */ free (oldp->dirname); free (oldp->codeset); @@ -1181,6 +1255,4 @@ free (old); } } - -text_set_element (__libc_subfreeres, free_mem); #endif Index: intl/dcngettext.c diff -u -r -N sharutils-4.3.78/intl/dcngettext.c sharutils-4.3.79/intl/dcngettext.c --- sharutils-4.3.78/intl/dcngettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/dcngettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the dcngettext(3) function. - Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -44,18 +44,14 @@ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * -DCNGETTEXT (domainname, msgid1, msgid2, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; - int category; +DCNGETTEXT (const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n, + int category) { return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ -INTDEF(__dcngettext) weak_alias (__dcngettext, dcngettext); #endif Index: intl/dgettext.c diff -u -r -N sharutils-4.3.78/intl/dgettext.c sharutils-4.3.79/intl/dgettext.c --- sharutils-4.3.78/intl/dgettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/dgettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the dgettext(3) function. - Copyright (C) 1995-1997, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -20,9 +20,10 @@ # include #endif +#include "gettextP.h" + #include -#include "gettextP.h" #ifdef _LIBC # include #else @@ -46,9 +47,7 @@ /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale. */ char * -DGETTEXT (domainname, msgid) - const char *domainname; - const char *msgid; +DGETTEXT (const char *domainname, const char *msgid) { return DCGETTEXT (domainname, msgid, LC_MESSAGES); } Index: intl/dngettext.c diff -u -r -N sharutils-4.3.78/intl/dngettext.c sharutils-4.3.79/intl/dngettext.c --- sharutils-4.3.78/intl/dngettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/dngettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the dngettext(3) function. - Copyright (C) 1995-1997, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -20,9 +20,10 @@ # include #endif +#include "gettextP.h" + #include -#include "gettextP.h" #ifdef _LIBC # include #else @@ -37,7 +38,7 @@ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DNGETTEXT __dngettext -# define DCNGETTEXT INTUSE(__dcngettext) +# define DCNGETTEXT __dcngettext #else # define DNGETTEXT libintl_dngettext # define DCNGETTEXT libintl_dcngettext @@ -46,11 +47,8 @@ /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale and skip message according to the plural form. */ char * -DNGETTEXT (domainname, msgid1, msgid2, n) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; +DNGETTEXT (const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); } Index: intl/eval-plural.h diff -u -r -N sharutils-4.3.78/intl/eval-plural.h sharutils-4.3.79/intl/eval-plural.h --- sharutils-4.3.78/intl/eval-plural.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/eval-plural.h 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Plural expression evaluation. - Copyright (C) 2000-2002 Free Software Foundation, Inc. + Copyright (C) 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -21,16 +21,10 @@ #endif /* Evaluate the plural expression and return an index value. */ -STATIC unsigned long int plural_eval PARAMS ((struct expression *pexp, - unsigned long int n)) - internal_function; - STATIC unsigned long int internal_function -plural_eval (pexp, n) - struct expression *pexp; - unsigned long int n; +plural_eval (struct expression *pexp, unsigned long int n) { switch (pexp->nargs) { Index: intl/explodename.c diff -u -r -N sharutils-4.3.78/intl/explodename.c sharutils-4.3.79/intl/explodename.c --- sharutils-4.3.78/intl/explodename.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/explodename.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it @@ -38,8 +38,7 @@ /* @@ end of prolog @@ */ char * -_nl_find_language (name) - const char *name; +_nl_find_language (const char *name) { while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '+' && name[0] != ',') @@ -50,17 +49,11 @@ int -_nl_explode_name (name, language, modifier, territory, codeset, - normalized_codeset, special, sponsor, revision) - char *name; - const char **language; - const char **modifier; - const char **territory; - const char **codeset; - const char **normalized_codeset; - const char **special; - const char **sponsor; - const char **revision; +_nl_explode_name (char *name, + const char **language, const char **modifier, + const char **territory, const char **codeset, + const char **normalized_codeset, const char **special, + const char **sponsor, const char **revision) { enum { undecided, xpg, cen } syntax; char *cp; Index: intl/finddomain.c diff -u -r -N sharutils-4.3.78/intl/finddomain.c sharutils-4.3.79/intl/finddomain.c --- sharutils-4.3.78/intl/finddomain.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/finddomain.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Handle list of needed message catalogs - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it @@ -47,11 +47,8 @@ established bindings. */ struct loaded_l10nfile * internal_function -_nl_find_domain (dirname, locale, domainname, domainbinding) - const char *dirname; - char *locale; - const char *domainname; - struct binding *domainbinding; +_nl_find_domain (const char *dirname, char *locale, + const char *domainname, struct binding *domainbinding) { struct loaded_l10nfile *retval; const char *language; @@ -178,8 +175,7 @@ #ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) +libc_freeres_fn (free_mem) { struct loaded_l10nfile *runp = _nl_loaded_domains; @@ -193,6 +189,4 @@ free (here); } } - -text_set_element (__libc_subfreeres, free_mem); #endif Index: intl/gettext.c diff -u -r -N sharutils-4.3.78/intl/gettext.c sharutils-4.3.79/intl/gettext.c --- sharutils-4.3.78/intl/gettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/gettext.c 2005-04-25 20:07:25.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of gettext(3) function. - Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -52,8 +52,7 @@ LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * -GETTEXT (msgid) - const char *msgid; +GETTEXT (const char *msgid) { return DCGETTEXT (NULL, msgid, LC_MESSAGES); } Index: intl/gettextP.h diff -u -r -N sharutils-4.3.78/intl/gettextP.h sharutils-4.3.79/intl/gettextP.h --- sharutils-4.3.78/intl/gettextP.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/gettextP.h 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Header describing internals of libintl library. - Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it @@ -36,14 +36,6 @@ /* @@ end of prolog @@ */ -#ifndef PARAMS -# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - #ifndef internal_function # define internal_function #endif @@ -76,18 +68,50 @@ #endif +/* In-memory representation of system dependent string. */ +struct sysdep_string_desc +{ + /* Length of addressed string, including the trailing NUL. */ + size_t length; + /* Pointer to addressed string. */ + const char *pointer; +}; + /* The representation of an opened message catalog. */ struct loaded_domain { + /* Pointer to memory containing the .mo file. */ const char *data; + /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ int use_mmap; + /* Size of mmap()ed memory. */ size_t mmap_size; + /* 1 if the .mo file uses a different endianness than this machine. */ int must_swap; + /* Pointer to additional malloc()ed memory. */ + void *malloced; + + /* Number of static strings pairs. */ nls_uint32 nstrings; - struct string_desc *orig_tab; - struct string_desc *trans_tab; + /* Pointer to descriptors of original strings in the file. */ + const struct string_desc *orig_tab; + /* Pointer to descriptors of translated strings in the file. */ + const struct string_desc *trans_tab; + + /* Number of system dependent strings pairs. */ + nls_uint32 n_sysdep_strings; + /* Pointer to descriptors of original sysdep strings. */ + const struct sysdep_string_desc *orig_sysdep_tab; + /* Pointer to descriptors of translated sysdep strings. */ + const struct sysdep_string_desc *trans_sysdep_tab; + + /* Size of hash table. */ nls_uint32 hash_size; - nls_uint32 *hash_tab; + /* Pointer to hash table. */ + const nls_uint32 *hash_tab; + /* 1 if the hash table uses a different endianness than this machine. */ + int must_swap_hash_tab; + int codeset_cntr; #ifdef _LIBC __gconv_t conv; @@ -127,82 +151,66 @@ extern int _nl_msg_cat_cntr; #ifndef _LIBC -const char *_nl_locale_name PARAMS ((int category, const char *categoryname)); +const char *_nl_language_preferences_default (void); +const char *_nl_locale_name_posix (int category, const char *categoryname); +const char *_nl_locale_name_default (void); +const char *_nl_locale_name (int category, const char *categoryname); #endif -struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname, - char *__locale, - const char *__domainname, - struct binding *__domainbinding)) +struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, + const char *__domainname, + struct binding *__domainbinding) internal_function; -void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain, - struct binding *__domainbinding)) +void _nl_load_domain (struct loaded_l10nfile *__domain, + struct binding *__domainbinding) internal_function; -void _nl_unload_domain PARAMS ((struct loaded_domain *__domain)) +void _nl_unload_domain (struct loaded_domain *__domain) internal_function; -const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file, - struct loaded_domain *__domain, - struct binding *__domainbinding)) +const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file, + struct loaded_domain *__domain, + struct binding *__domainbinding) internal_function; -void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain)) +void _nl_free_domain_conv (struct loaded_domain *__domain) internal_function; -char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file, - struct binding *domainbinding, - const char *msgid, size_t *lengthp)) +char *_nl_find_msg (struct loaded_l10nfile *domain_file, + struct binding *domainbinding, const char *msgid, + size_t *lengthp) internal_function; #ifdef _LIBC -extern char *__gettext PARAMS ((const char *__msgid)); -extern char *__dgettext PARAMS ((const char *__domainname, - const char *__msgid)); -extern char *__dcgettext PARAMS ((const char *__domainname, - const char *__msgid, int __category)); -extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2, - unsigned long int __n)); -extern char *__dngettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int n)); -extern char *__dcngettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category)); -extern char *__dcigettext PARAMS ((const char *__domainname, - const char *__msgid1, const char *__msgid2, - int __plural, unsigned long int __n, - int __category)); -extern char *__textdomain PARAMS ((const char *__domainname)); -extern char *__bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname, - const char *__codeset)); +extern char *__gettext (const char *__msgid); +extern char *__dgettext (const char *__domainname, const char *__msgid); +extern char *__dcgettext (const char *__domainname, const char *__msgid, + int __category); +extern char *__ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n); +extern char *__dngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int n); +extern char *__dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category); +extern char *__dcigettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + int __plural, unsigned long int __n, + int __category); +extern char *__textdomain (const char *__domainname); +extern char *__bindtextdomain (const char *__domainname, + const char *__dirname); +extern char *__bind_textdomain_codeset (const char *__domainname, + const char *__codeset); #else -extern char *libintl_gettext PARAMS ((const char *__msgid)); -extern char *libintl_dgettext PARAMS ((const char *__domainname, - const char *__msgid)); -extern char *libintl_dcgettext PARAMS ((const char *__domainname, - const char *__msgid, int __category)); -extern char *libintl_ngettext PARAMS ((const char *__msgid1, - const char *__msgid2, - unsigned long int __n)); -extern char *libintl_dngettext PARAMS ((const char *__domainname, - const char *__msgid1, - const char *__msgid2, - unsigned long int __n)); -extern char *libintl_dcngettext PARAMS ((const char *__domainname, - const char *__msgid1, - const char *__msgid2, - unsigned long int __n, - int __category)); -extern char *libintl_dcigettext PARAMS ((const char *__domainname, - const char *__msgid1, - const char *__msgid2, - int __plural, unsigned long int __n, - int __category)); -extern char *libintl_textdomain PARAMS ((const char *__domainname)); -extern char *libintl_bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *libintl_bind_textdomain_codeset PARAMS ((const char *__domainname, - const char *__codeset)); +/* Declare the exported libintl_* functions, in a way that allows us to + call them under their real name. */ +# undef _INTL_REDIRECT_INLINE +# undef _INTL_REDIRECT_MACROS +# define _INTL_REDIRECT_MACROS +# include "libgnuintl.h" +extern char *libintl_dcigettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + int __plural, unsigned long int __n, + int __category); #endif /* @@ begin of epilog @@ */ Index: intl/gmo.h diff -u -r -N sharutils-4.3.78/intl/gmo.h sharutils-4.3.79/intl/gmo.h --- sharutils-4.3.78/intl/gmo.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/gmo.h 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Description of GNU message catalog format: general file layout. - Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -29,6 +29,7 @@ /* Revision number of the currently used .mo (binary) file format. */ #define MO_REVISION_NUMBER 0 +#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1 /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An @@ -75,26 +76,74 @@ nls_uint32 magic; /* The revision number of the file format. */ nls_uint32 revision; + + /* The following are only used in .mo files with major revision 0 or 1. */ + /* The number of strings pairs. */ nls_uint32 nstrings; /* Offset of table with start offsets of original strings. */ nls_uint32 orig_tab_offset; - /* Offset of table with start offsets of translation strings. */ + /* Offset of table with start offsets of translated strings. */ nls_uint32 trans_tab_offset; - /* Size of hashing table. */ + /* Size of hash table. */ nls_uint32 hash_tab_size; - /* Offset of first hashing entry. */ + /* Offset of first hash table entry. */ nls_uint32 hash_tab_offset; + + /* The following are only used in .mo files with minor revision >= 1. */ + + /* The number of system dependent segments. */ + nls_uint32 n_sysdep_segments; + /* Offset of table describing system dependent segments. */ + nls_uint32 sysdep_segments_offset; + /* The number of system dependent strings pairs. */ + nls_uint32 n_sysdep_strings; + /* Offset of table with start offsets of original sysdep strings. */ + nls_uint32 orig_sysdep_tab_offset; + /* Offset of table with start offsets of translated sysdep strings. */ + nls_uint32 trans_sysdep_tab_offset; }; +/* Descriptor for static string contained in the binary .mo file. */ struct string_desc { - /* Length of addressed string. */ + /* Length of addressed string, not including the trailing NUL. */ + nls_uint32 length; + /* Offset of string in file. */ + nls_uint32 offset; +}; + +/* The following are only used in .mo files with minor revision >= 1. */ + +/* Descriptor for system dependent string segment. */ +struct sysdep_segment +{ + /* Length of addressed string, including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; +/* Descriptor for system dependent string. */ +struct sysdep_string +{ + /* Offset of static string segments in file. */ + nls_uint32 offset; + /* Alternating sequence of static and system dependent segments. + The last segment is a static segment, including the trailing NUL. */ + struct segment_pair + { + /* Size of static segment. */ + nls_uint32 segsize; + /* Reference to system dependent string segment, or ~0 at the end. */ + nls_uint32 sysdepref; + } segments[1]; +}; + +/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF, + regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */ +#define SEGMENTS_END ((nls_uint32) ~0) + /* @@ begin of epilog @@ */ #endif /* gettext.h */ Index: intl/hash-string.h diff -u -r -N sharutils-4.3.78/intl/hash-string.h sharutils-4.3.79/intl/hash-string.h --- sharutils-4.3.78/intl/hash-string.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/hash-string.h 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Description of GNU message catalog format: string hashing function. - Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1997-1998, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -18,14 +18,6 @@ /* @@ end of prolog @@ */ -#ifndef PARAMS -# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES -# define PARAMS(Args) Args -# else -# define PARAMS(Args) () -# endif -#endif - /* We assume to have `unsigned long int' value with at least 32 bits. */ #define HASHWORDBITS 32 @@ -33,11 +25,8 @@ /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ -static unsigned long int hash_string PARAMS ((const char *__str_param)); - static inline unsigned long int -hash_string (str_param) - const char *str_param; +hash_string (const char *str_param) { unsigned long int hval, g; const char *str = str_param; @@ -47,7 +36,7 @@ while (*str != '\0') { hval <<= 4; - hval += (unsigned long int) *str++; + hval += (unsigned char) *str++; g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); if (g != 0) { Index: intl/intl-compat.c diff -u -r -N sharutils-4.3.78/intl/intl-compat.c sharutils-4.3.79/intl/intl-compat.c --- sharutils-4.3.78/intl/intl-compat.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/intl-compat.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,6 +1,6 @@ /* intl-compat.c - Stub functions to call gettext functions from GNU gettext Library. - Copyright (C) 1995, 2000-2002 Software Foundation, Inc. + Copyright (C) 1995, 2000-2003 Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -21,8 +21,6 @@ # include #endif -#define _INTL_REDIRECT_MACROS -#include "libgnuintl.h" #include "gettextP.h" /* @@ end of prolog @@ */ @@ -31,7 +29,10 @@ defined in the included GNU libintl library (with "libintl_" prefix). It is compiled into libintl in order to make the AM_GNU_GETTEXT test of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which - has the redirections primarily in the include file. */ + has the redirections primarily in the include file. + It is also compiled into libgnuintl so that libgnuintl.so can be used + as LD_PRELOADable library on glibc systems, to provide the extra + features that the functions in the libc don't have (namely, logging). */ #undef gettext @@ -45,87 +46,86 @@ #undef bind_textdomain_codeset +/* When building a DLL, we must export some functions. Note that because + the functions are only defined for binary backward compatibility, we + don't need to use __declspec(dllimport) in any case. */ +#if defined _MSC_VER && BUILDING_DLL +# define DLL_EXPORTED __declspec(dllexport) +#else +# define DLL_EXPORTED +#endif + + +DLL_EXPORTED char * -gettext (msgid) - const char *msgid; +gettext (const char *msgid) { return libintl_gettext (msgid); } +DLL_EXPORTED char * -dgettext (domainname, msgid) - const char *domainname; - const char *msgid; +dgettext (const char *domainname, const char *msgid) { return libintl_dgettext (domainname, msgid); } +DLL_EXPORTED char * -dcgettext (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; +dcgettext (const char *domainname, const char *msgid, int category) { return libintl_dcgettext (domainname, msgid, category); } +DLL_EXPORTED char * -ngettext (msgid1, msgid2, n) - const char *msgid1; - const char *msgid2; - unsigned long int n; +ngettext (const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_ngettext (msgid1, msgid2, n); } +DLL_EXPORTED char * -dngettext (domainname, msgid1, msgid2, n) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; +dngettext (const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_dngettext (domainname, msgid1, msgid2, n); } +DLL_EXPORTED char * -dcngettext (domainname, msgid1, msgid2, n, category) - const char *domainname; - const char *msgid1; - const char *msgid2; - unsigned long int n; - int category; +dcngettext (const char *domainname, + const char *msgid1, const char *msgid2, unsigned long int n, + int category) { return libintl_dcngettext (domainname, msgid1, msgid2, n, category); } +DLL_EXPORTED char * -textdomain (domainname) - const char *domainname; +textdomain (const char *domainname) { return libintl_textdomain (domainname); } +DLL_EXPORTED char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; +bindtextdomain (const char *domainname, const char *dirname) { return libintl_bindtextdomain (domainname, dirname); } +DLL_EXPORTED char * -bind_textdomain_codeset (domainname, codeset) - const char *domainname; - const char *codeset; +bind_textdomain_codeset (const char *domainname, const char *codeset) { return libintl_bind_textdomain_codeset (domainname, codeset); } Index: intl/l10nflist.c diff -u -r -N sharutils-4.3.78/intl/l10nflist.c sharutils-4.3.79/intl/l10nflist.c --- sharutils-4.3.78/intl/l10nflist.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/l10nflist.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it @@ -58,7 +58,7 @@ # endif #else # ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); +static char *stpcpy (char *dest, const char *src); # endif #endif @@ -67,8 +67,8 @@ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. */ -#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ @@ -84,12 +84,8 @@ #if !defined _LIBC && !defined HAVE___ARGZ_COUNT /* Returns the number of strings in ARGZ. */ -static size_t argz_count__ PARAMS ((const char *argz, size_t len)); - static size_t -argz_count__ (argz, len) - const char *argz; - size_t len; +argz_count__ (const char *argz, size_t len) { size_t count = 0; while (len > 0) @@ -112,13 +108,8 @@ #if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ -static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep)); - static void -argz_stringify__ (argz, len, sep) - char *argz; - size_t len; - int sep; +argz_stringify__ (char *argz, size_t len, int sep) { while (len > 0) { @@ -139,14 +130,8 @@ #endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */ #if !defined _LIBC && !defined HAVE___ARGZ_NEXT -static char *argz_next__ PARAMS ((char *argz, size_t argz_len, - const char *entry)); - static char * -argz_next__ (argz, argz_len, entry) - char *argz; - size_t argz_len; - const char *entry; +argz_next__ (char *argz, size_t argz_len, const char *entry) { if (entry) { @@ -167,11 +152,8 @@ /* Return number of bits set in X. */ -static int pop PARAMS ((int x)); - static inline int -pop (x) - int x; +pop (int x) { /* We assume that no more than 16 bits are used. */ x = ((x & ~0x5555) >> 1) + (x & 0x5555); @@ -184,23 +166,13 @@ struct loaded_l10nfile * -_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language, - territory, codeset, normalized_codeset, modifier, special, - sponsor, revision, filename, do_allocate) - struct loaded_l10nfile **l10nfile_list; - const char *dirlist; - size_t dirlist_len; - int mask; - const char *language; - const char *territory; - const char *codeset; - const char *normalized_codeset; - const char *modifier; - const char *special; - const char *sponsor; - const char *revision; - const char *filename; - int do_allocate; +_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, + const char *dirlist, size_t dirlist_len, + int mask, const char *language, const char *territory, + const char *codeset, const char *normalized_codeset, + const char *modifier, const char *special, + const char *sponsor, const char *revision, + const char *filename, int do_allocate) { char *abs_filename; struct loaded_l10nfile **lastp; @@ -393,9 +365,7 @@ names. The return value is dynamically allocated and has to be freed by the caller. */ const char * -_nl_normalize_codeset (codeset, name_len) - const char *codeset; - size_t name_len; +_nl_normalize_codeset (const char *codeset, size_t name_len) { int len = 0; int only_digit = 1; @@ -442,9 +412,7 @@ to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * -stpcpy (dest, src) - char *dest; - const char *src; +stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; Index: intl/langprefs.c diff -u -r -N sharutils-4.3.78/intl/langprefs.c sharutils-4.3.79/intl/langprefs.c --- sharutils-4.3.78/intl/langprefs.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/langprefs.c 2005-04-25 20:07:26.000000000 -0700 @@ -0,0 +1,130 @@ +/* Determine the user's language preferences. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Written by Bruno Haible . */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + +#if HAVE_CFPREFERENCESCOPYAPPVALUE +# include +# include +# include +# include +# include +extern void _nl_locale_name_canonicalize (char *name); +#endif + +/* Determine the user's language preferences, as a colon separated list of + locale names in XPG syntax + language[_territory[.codeset]][@modifier] + The result must not be freed; it is statically allocated. + The LANGUAGE environment variable does not need to be considered; it is + already taken into account by the caller. */ + +const char * +_nl_language_preferences_default (void) +{ +#if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ + { + /* Cache the preferences list, since CoreFoundation calls are expensive. */ + static const char *cached_languages; + static int cache_initialized; + + if (!cache_initialized) + { + CFTypeRef preferences = + CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), + kCFPreferencesCurrentApplication); + if (preferences != NULL + && CFGetTypeID (preferences) == CFArrayGetTypeID ()) + { + CFArrayRef prefArray = (CFArrayRef)preferences; + int n = CFArrayGetCount (prefArray); + char buf[256]; + size_t size = 0; + int i; + + for (i = 0; i < n; i++) + { + CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); + if (element != NULL + && CFGetTypeID (element) == CFStringGetTypeID () + && CFStringGetCString ((CFStringRef)element, + buf, sizeof (buf), + kCFStringEncodingASCII)) + { + _nl_locale_name_canonicalize (buf); + size += strlen (buf) + 1; + /* Most GNU programs use msgids in English and don't ship + an en.mo message catalog. Therefore when we see "en" + in the preferences list, arrange for gettext() to + return the msgid, and ignore all further elements of + the preferences list. */ + if (strcmp (buf, "en") == 0) + break; + } + else + break; + } + if (size > 0) + { + char *languages = (char *) malloc (size); + + if (languages != NULL) + { + char *p = languages; + + for (i = 0; i < n; i++) + { + CFTypeRef element = + CFArrayGetValueAtIndex (prefArray, i); + if (element != NULL + && CFGetTypeID (element) == CFStringGetTypeID () + && CFStringGetCString ((CFStringRef)element, + buf, sizeof (buf), + kCFStringEncodingASCII)) + { + _nl_locale_name_canonicalize (buf); + strcpy (p, buf); + p += strlen (buf); + *p++ = ':'; + if (strcmp (buf, "en") == 0) + break; + } + else + break; + } + *--p = '\0'; + + cached_languages = languages; + } + } + } + cache_initialized = 1; + } + if (cached_languages != NULL) + return cached_languages; + } +#endif + + return NULL; +} Index: intl/libgnuintl.h diff -u -r -N sharutils-4.3.78/intl/libgnuintl.h sharutils-4.3.79/intl/libgnuintl.h --- sharutils-4.3.78/intl/libgnuintl.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/libgnuintl.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,291 +0,0 @@ -/* Message catalogs for internationalization. - Copyright (C) 1995-1997, 2000-2002 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -#ifndef _LIBINTL_H -#define _LIBINTL_H 1 - -#include - -/* The LC_MESSAGES locale category is the category used by the functions - gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. - On systems that don't define it, use an arbitrary value instead. - On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) - then includes (i.e. this file!) and then only defines - LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES - in this case. */ -#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) -# define LC_MESSAGES 1729 -#endif - -/* We define an additional symbol to signal that we use the GNU - implementation of gettext. */ -#define __USE_GNU_GETTEXT 1 - -/* Resolve a platform specific conflict on DJGPP. GNU gettext takes - precedence over _conio_gettext. */ -#ifdef __DJGPP__ -# undef gettext -#endif - -/* Use _INTL_PARAMS, not PARAMS, in order to avoid clashes with identifiers - used by programs. Similarly, test __PROTOTYPES, not PROTOTYPES. */ -#ifndef _INTL_PARAMS -# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES -# define _INTL_PARAMS(args) args -# else -# define _INTL_PARAMS(args) () -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -/* We redirect the functions to those prefixed with "libintl_". This is - necessary, because some systems define gettext/textdomain/... in the C - library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). - If we used the unprefixed names, there would be cases where the - definition in the C library would override the one in the libintl.so - shared library. Recall that on ELF systems, the symbols are looked - up in the following order: - 1. in the executable, - 2. in the shared libraries specified on the link command line, in order, - 3. in the dependencies of the shared libraries specified on the link - command line, - 4. in the dlopen()ed shared libraries, in the order in which they were - dlopen()ed. - The definition in the C library would override the one in libintl.so if - either - * -lc is given on the link command line and -lintl isn't, or - * -lc is given on the link command line before -lintl, or - * libintl.so is a dependency of a dlopen()ed shared library but not - linked to the executable at link time. - Since Solaris gettext() behaves differently than GNU gettext(), this - would be unacceptable. - - The redirection happens by default through macros in C, so that &gettext - is independent of the compilation unit, but through inline functions in - C++, in order not to interfere with the name mangling of class fields or - class methods called 'gettext'. */ - -/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. - If he doesn't, we choose the method. A third possible method is - _INTL_REDIRECT_ASM, supported only by GCC. */ -#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) -# if __GNUC__ >= 2 && (defined __STDC__ || defined __cplusplus) -# define _INTL_REDIRECT_ASM -# else -# ifdef __cplusplus -# define _INTL_REDIRECT_INLINE -# else -# define _INTL_REDIRECT_MACROS -# endif -# endif -#endif -/* Auxiliary macros. */ -#ifdef _INTL_REDIRECT_ASM -# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) -# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring -# define _INTL_STRINGIFY(prefix) #prefix -#else -# define _INTL_ASM(cname) -#endif - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_gettext (const char *__msgid); -static inline char *gettext (const char *__msgid) -{ - return libintl_gettext (__msgid); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define gettext libintl_gettext -#endif -extern char *gettext _INTL_PARAMS ((const char *__msgid)) - _INTL_ASM (libintl_gettext); -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current - LC_MESSAGES locale. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_dgettext (const char *__domainname, const char *__msgid); -static inline char *dgettext (const char *__domainname, const char *__msgid) -{ - return libintl_dgettext (__domainname, __msgid); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define dgettext libintl_dgettext -#endif -extern char *dgettext _INTL_PARAMS ((const char *__domainname, - const char *__msgid)) - _INTL_ASM (libintl_dgettext); -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, - int __category); -static inline char *dcgettext (const char *__domainname, const char *__msgid, - int __category) -{ - return libintl_dcgettext (__domainname, __msgid, __category); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define dcgettext libintl_dcgettext -#endif -extern char *dcgettext _INTL_PARAMS ((const char *__domainname, - const char *__msgid, - int __category)) - _INTL_ASM (libintl_dcgettext); -#endif - - -/* Similar to `gettext' but select the plural form corresponding to the - number N. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, - unsigned long int __n); -static inline char *ngettext (const char *__msgid1, const char *__msgid2, - unsigned long int __n) -{ - return libintl_ngettext (__msgid1, __msgid2, __n); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define ngettext libintl_ngettext -#endif -extern char *ngettext _INTL_PARAMS ((const char *__msgid1, - const char *__msgid2, - unsigned long int __n)) - _INTL_ASM (libintl_ngettext); -#endif - -/* Similar to `dgettext' but select the plural form corresponding to the - number N. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n); -static inline char *dngettext (const char *__domainname, const char *__msgid1, - const char *__msgid2, unsigned long int __n) -{ - return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define dngettext libintl_dngettext -#endif -extern char *dngettext _INTL_PARAMS ((const char *__domainname, - const char *__msgid1, - const char *__msgid2, - unsigned long int __n)) - _INTL_ASM (libintl_dngettext); -#endif - -/* Similar to `dcgettext' but select the plural form corresponding to the - number N. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_dcngettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category); -static inline char *dcngettext (const char *__domainname, - const char *__msgid1, const char *__msgid2, - unsigned long int __n, int __category) -{ - return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define dcngettext libintl_dcngettext -#endif -extern char *dcngettext _INTL_PARAMS ((const char *__domainname, - const char *__msgid1, - const char *__msgid2, - unsigned long int __n, - int __category)) - _INTL_ASM (libintl_dcngettext); -#endif - - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_textdomain (const char *__domainname); -static inline char *textdomain (const char *__domainname) -{ - return libintl_textdomain (__domainname); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define textdomain libintl_textdomain -#endif -extern char *textdomain _INTL_PARAMS ((const char *__domainname)) - _INTL_ASM (libintl_textdomain); -#endif - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_bindtextdomain (const char *__domainname, - const char *__dirname); -static inline char *bindtextdomain (const char *__domainname, - const char *__dirname) -{ - return libintl_bindtextdomain (__domainname, __dirname); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define bindtextdomain libintl_bindtextdomain -#endif -extern char *bindtextdomain _INTL_PARAMS ((const char *__domainname, - const char *__dirname)) - _INTL_ASM (libintl_bindtextdomain); -#endif - -/* Specify the character encoding in which the messages from the - DOMAINNAME message catalog will be returned. */ -#ifdef _INTL_REDIRECT_INLINE -extern char *libintl_bind_textdomain_codeset (const char *__domainname, - const char *__codeset); -static inline char *bind_textdomain_codeset (const char *__domainname, - const char *__codeset) -{ - return libintl_bind_textdomain_codeset (__domainname, __codeset); -} -#else -#ifdef _INTL_REDIRECT_MACROS -# define bind_textdomain_codeset libintl_bind_textdomain_codeset -#endif -extern char *bind_textdomain_codeset _INTL_PARAMS ((const char *__domainname, - const char *__codeset)) - _INTL_ASM (libintl_bind_textdomain_codeset); -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* libintl.h */ Index: intl/libgnuintl.h.in diff -u -r -N sharutils-4.3.78/intl/libgnuintl.h.in sharutils-4.3.79/intl/libgnuintl.h.in --- sharutils-4.3.78/intl/libgnuintl.h.in 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/libgnuintl.h.in 2005-04-25 20:07:26.000000000 -0700 @@ -0,0 +1,383 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-1997, 2000-2004 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include + +/* The LC_MESSAGES locale category is the category used by the functions + gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. + On systems that don't define it, use an arbitrary value instead. + On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) + then includes (i.e. this file!) and then only defines + LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES + in this case. */ +#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) +# define LC_MESSAGES 1729 +#endif + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Provide information about the supported file formats. Returns the + maximum minor revision number supported for a given major revision. */ +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ + ((major) == 0 || (major) == 1 ? 1 : -1) + +/* Resolve a platform specific conflict on DJGPP. GNU gettext takes + precedence over _conio_gettext. */ +#ifdef __DJGPP__ +# undef gettext +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/* We redirect the functions to those prefixed with "libintl_". This is + necessary, because some systems define gettext/textdomain/... in the C + library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). + If we used the unprefixed names, there would be cases where the + definition in the C library would override the one in the libintl.so + shared library. Recall that on ELF systems, the symbols are looked + up in the following order: + 1. in the executable, + 2. in the shared libraries specified on the link command line, in order, + 3. in the dependencies of the shared libraries specified on the link + command line, + 4. in the dlopen()ed shared libraries, in the order in which they were + dlopen()ed. + The definition in the C library would override the one in libintl.so if + either + * -lc is given on the link command line and -lintl isn't, or + * -lc is given on the link command line before -lintl, or + * libintl.so is a dependency of a dlopen()ed shared library but not + linked to the executable at link time. + Since Solaris gettext() behaves differently than GNU gettext(), this + would be unacceptable. + + The redirection happens by default through macros in C, so that &gettext + is independent of the compilation unit, but through inline functions in + C++, in order not to interfere with the name mangling of class fields or + class methods called 'gettext'. */ + +/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. + If he doesn't, we choose the method. A third possible method is + _INTL_REDIRECT_ASM, supported only by GCC. */ +#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) +# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) +# define _INTL_REDIRECT_ASM +# else +# ifdef __cplusplus +# define _INTL_REDIRECT_INLINE +# else +# define _INTL_REDIRECT_MACROS +# endif +# endif +#endif +/* Auxiliary macros. */ +#ifdef _INTL_REDIRECT_ASM +# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) +# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring +# define _INTL_STRINGIFY(prefix) #prefix +#else +# define _INTL_ASM(cname) +#endif + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_gettext (const char *__msgid); +static inline char *gettext (const char *__msgid) +{ + return libintl_gettext (__msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define gettext libintl_gettext +#endif +extern char *gettext (const char *__msgid) + _INTL_ASM (libintl_gettext); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dgettext (const char *__domainname, const char *__msgid); +static inline char *dgettext (const char *__domainname, const char *__msgid) +{ + return libintl_dgettext (__domainname, __msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dgettext libintl_dgettext +#endif +extern char *dgettext (const char *__domainname, const char *__msgid) + _INTL_ASM (libintl_dgettext); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, + int __category); +static inline char *dcgettext (const char *__domainname, const char *__msgid, + int __category) +{ + return libintl_dcgettext (__domainname, __msgid, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcgettext libintl_dcgettext +#endif +extern char *dcgettext (const char *__domainname, const char *__msgid, + int __category) + _INTL_ASM (libintl_dcgettext); +#endif + + +/* Similar to `gettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n); +static inline char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) +{ + return libintl_ngettext (__msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define ngettext libintl_ngettext +#endif +extern char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_ngettext); +#endif + +/* Similar to `dgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n); +static inline char *dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) +{ + return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dngettext libintl_dngettext +#endif +extern char *dngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_dngettext); +#endif + +/* Similar to `dcgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category); +static inline char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) +{ + return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcngettext libintl_dcngettext +#endif +extern char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) + _INTL_ASM (libintl_dcngettext); +#endif + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_textdomain (const char *__domainname); +static inline char *textdomain (const char *__domainname) +{ + return libintl_textdomain (__domainname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define textdomain libintl_textdomain +#endif +extern char *textdomain (const char *__domainname) + _INTL_ASM (libintl_textdomain); +#endif + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bindtextdomain (const char *__domainname, + const char *__dirname); +static inline char *bindtextdomain (const char *__domainname, + const char *__dirname) +{ + return libintl_bindtextdomain (__domainname, __dirname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bindtextdomain libintl_bindtextdomain +#endif +extern char *bindtextdomain (const char *__domainname, const char *__dirname) + _INTL_ASM (libintl_bindtextdomain); +#endif + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bind_textdomain_codeset (const char *__domainname, + const char *__codeset); +static inline char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) +{ + return libintl_bind_textdomain_codeset (__domainname, __codeset); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bind_textdomain_codeset libintl_bind_textdomain_codeset +#endif +extern char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) + _INTL_ASM (libintl_bind_textdomain_codeset); +#endif + + +/* Support for format strings with positions in *printf(), following the + POSIX/XSI specification. + Note: These replacements for the *printf() functions are visible only + in source files that #include or #include "gettext.h". + Packages that use *printf() in source files that don't refer to _() + or gettext() but for which the format string could be the return value + of _() or gettext() need to add this #include. Oh well. */ + +#if !@HAVE_POSIX_PRINTF@ + +#include +#include + +/* Get va_list. */ +#if __STDC__ || defined __cplusplus || defined _MSC_VER +# include +#else +# include +#endif + +#undef fprintf +#define fprintf libintl_fprintf +extern int fprintf (FILE *, const char *, ...); +#undef vfprintf +#define vfprintf libintl_vfprintf +extern int vfprintf (FILE *, const char *, va_list); + +#undef printf +#define printf libintl_printf +extern int printf (const char *, ...); +#undef vprintf +#define vprintf libintl_vprintf +extern int vprintf (const char *, va_list); + +#undef sprintf +#define sprintf libintl_sprintf +extern int sprintf (char *, const char *, ...); +#undef vsprintf +#define vsprintf libintl_vsprintf +extern int vsprintf (char *, const char *, va_list); + +#if @HAVE_SNPRINTF@ + +#undef snprintf +#define snprintf libintl_snprintf +extern int snprintf (char *, size_t, const char *, ...); +#undef vsnprintf +#define vsnprintf libintl_vsnprintf +extern int vsnprintf (char *, size_t, const char *, va_list); + +#endif + +#if @HAVE_ASPRINTF@ + +#undef asprintf +#define asprintf libintl_asprintf +extern int asprintf (char **, const char *, ...); +#undef vasprintf +#define vasprintf libintl_vasprintf +extern int vasprintf (char **, const char *, va_list); + +#endif + +#if @HAVE_WPRINTF@ + +#undef fwprintf +#define fwprintf libintl_fwprintf +extern int fwprintf (FILE *, const wchar_t *, ...); +#undef vfwprintf +#define vfwprintf libintl_vfwprintf +extern int vfwprintf (FILE *, const wchar_t *, va_list); + +#undef wprintf +#define wprintf libintl_wprintf +extern int wprintf (const wchar_t *, ...); +#undef vwprintf +#define vwprintf libintl_vwprintf +extern int vwprintf (const wchar_t *, va_list); + +#undef swprintf +#define swprintf libintl_swprintf +extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); +#undef vswprintf +#define vswprintf libintl_vswprintf +extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); + +#endif + +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +#define libintl_set_relocation_prefix libintl_set_relocation_prefix +extern void + libintl_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + +#endif /* libintl.h */ Index: intl/loadinfo.h diff -u -r -N sharutils-4.3.78/intl/loadinfo.h sharutils-4.3.79/intl/loadinfo.h --- sharutils-4.3.78/intl/loadinfo.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/loadinfo.h 2005-04-25 20:07:26.000000000 -0700 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-1999, 2000-2002 Free Software Foundation, Inc. +/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -32,14 +32,6 @@ in gettextP.h. */ -#ifndef PARAMS -# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - #ifndef internal_function # define internal_function #endif @@ -89,8 +81,8 @@ names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ -extern const char *_nl_normalize_codeset PARAMS ((const char *codeset, - size_t name_len)); +extern const char *_nl_normalize_codeset (const char *codeset, + size_t name_len); /* Lookup a locale dependent file. *L10NFILE_LIST denotes a pool of lookup results of locale dependent @@ -107,19 +99,18 @@ furthermore its ->successor[] field contains a list of other lookup results from which this lookup result inherits. */ extern struct loaded_l10nfile * -_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list, - const char *dirlist, size_t dirlist_len, int mask, - const char *language, const char *territory, - const char *codeset, - const char *normalized_codeset, - const char *modifier, const char *special, - const char *sponsor, const char *revision, - const char *filename, int do_allocate)); +_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, + const char *dirlist, size_t dirlist_len, int mask, + const char *language, const char *territory, + const char *codeset, const char *normalized_codeset, + const char *modifier, const char *special, + const char *sponsor, const char *revision, + const char *filename, int do_allocate); /* Lookup the real locale name for a locale alias NAME, or NULL if NAME is not a locale alias (but possibly a real locale name). The return value is statically allocated and must not be freed. */ -extern const char *_nl_expand_alias PARAMS ((const char *name)); +extern const char *_nl_expand_alias (const char *name); /* Split a locale name NAME into its pieces: language, modifier, territory, codeset, special, sponsor, revision. @@ -139,18 +130,16 @@ CEN_SPONSOR for *SPONSOR, CEN_REVISION for *REVISION. */ -extern int _nl_explode_name PARAMS ((char *name, const char **language, - const char **modifier, - const char **territory, - const char **codeset, - const char **normalized_codeset, - const char **special, - const char **sponsor, - const char **revision)); +extern int _nl_explode_name (char *name, const char **language, + const char **modifier, const char **territory, + const char **codeset, + const char **normalized_codeset, + const char **special, const char **sponsor, + const char **revision); /* Split a locale name NAME into a leading language part and all the rest. Return a pointer to the first character after the language, i.e. to the first byte of the rest. */ -extern char *_nl_find_language PARAMS ((const char *name)); +extern char *_nl_find_language (const char *name); #endif /* loadinfo.h */ Index: intl/loadmsgcat.c diff -u -r -N sharutils-4.3.78/intl/loadmsgcat.c sharutils-4.3.79/intl/loadmsgcat.c --- sharutils-4.3.78/intl/loadmsgcat.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/loadmsgcat.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Load needed message catalogs. - Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -34,17 +34,23 @@ #include #ifdef __GNUC__ +# undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include +# ifdef _MSC_VER +# include +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if defined HAVE_ALLOCA_H || defined _LIBC +# include # else -# ifndef alloca +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca char *alloca (); +# endif # endif # endif # endif @@ -71,14 +77,380 @@ # undef HAVE_MMAP #endif +#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC +# include +#endif +#if defined HAVE_INTTYPES_H || defined _LIBC +# include +#endif + #include "gmo.h" #include "gettextP.h" +#include "hash-string.h" #include "plural-exp.h" #ifdef _LIBC # include "../locale/localeinfo.h" #endif +/* Provide fallback values for macros that ought to be defined in . + Note that our fallback values need not be literal strings, because we don't + use them with preprocessor string concatenation. */ +#if !defined PRId8 || PRI_MACROS_BROKEN +# undef PRId8 +# define PRId8 "d" +#endif +#if !defined PRIi8 || PRI_MACROS_BROKEN +# undef PRIi8 +# define PRIi8 "i" +#endif +#if !defined PRIo8 || PRI_MACROS_BROKEN +# undef PRIo8 +# define PRIo8 "o" +#endif +#if !defined PRIu8 || PRI_MACROS_BROKEN +# undef PRIu8 +# define PRIu8 "u" +#endif +#if !defined PRIx8 || PRI_MACROS_BROKEN +# undef PRIx8 +# define PRIx8 "x" +#endif +#if !defined PRIX8 || PRI_MACROS_BROKEN +# undef PRIX8 +# define PRIX8 "X" +#endif +#if !defined PRId16 || PRI_MACROS_BROKEN +# undef PRId16 +# define PRId16 "d" +#endif +#if !defined PRIi16 || PRI_MACROS_BROKEN +# undef PRIi16 +# define PRIi16 "i" +#endif +#if !defined PRIo16 || PRI_MACROS_BROKEN +# undef PRIo16 +# define PRIo16 "o" +#endif +#if !defined PRIu16 || PRI_MACROS_BROKEN +# undef PRIu16 +# define PRIu16 "u" +#endif +#if !defined PRIx16 || PRI_MACROS_BROKEN +# undef PRIx16 +# define PRIx16 "x" +#endif +#if !defined PRIX16 || PRI_MACROS_BROKEN +# undef PRIX16 +# define PRIX16 "X" +#endif +#if !defined PRId32 || PRI_MACROS_BROKEN +# undef PRId32 +# define PRId32 "d" +#endif +#if !defined PRIi32 || PRI_MACROS_BROKEN +# undef PRIi32 +# define PRIi32 "i" +#endif +#if !defined PRIo32 || PRI_MACROS_BROKEN +# undef PRIo32 +# define PRIo32 "o" +#endif +#if !defined PRIu32 || PRI_MACROS_BROKEN +# undef PRIu32 +# define PRIu32 "u" +#endif +#if !defined PRIx32 || PRI_MACROS_BROKEN +# undef PRIx32 +# define PRIx32 "x" +#endif +#if !defined PRIX32 || PRI_MACROS_BROKEN +# undef PRIX32 +# define PRIX32 "X" +#endif +#if !defined PRId64 || PRI_MACROS_BROKEN +# undef PRId64 +# define PRId64 (sizeof (long) == 8 ? "ld" : "lld") +#endif +#if !defined PRIi64 || PRI_MACROS_BROKEN +# undef PRIi64 +# define PRIi64 (sizeof (long) == 8 ? "li" : "lli") +#endif +#if !defined PRIo64 || PRI_MACROS_BROKEN +# undef PRIo64 +# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo") +#endif +#if !defined PRIu64 || PRI_MACROS_BROKEN +# undef PRIu64 +# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu") +#endif +#if !defined PRIx64 || PRI_MACROS_BROKEN +# undef PRIx64 +# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx") +#endif +#if !defined PRIX64 || PRI_MACROS_BROKEN +# undef PRIX64 +# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX") +#endif +#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN +# undef PRIdLEAST8 +# define PRIdLEAST8 "d" +#endif +#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN +# undef PRIiLEAST8 +# define PRIiLEAST8 "i" +#endif +#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN +# undef PRIoLEAST8 +# define PRIoLEAST8 "o" +#endif +#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN +# undef PRIuLEAST8 +# define PRIuLEAST8 "u" +#endif +#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN +# undef PRIxLEAST8 +# define PRIxLEAST8 "x" +#endif +#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN +# undef PRIXLEAST8 +# define PRIXLEAST8 "X" +#endif +#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN +# undef PRIdLEAST16 +# define PRIdLEAST16 "d" +#endif +#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN +# undef PRIiLEAST16 +# define PRIiLEAST16 "i" +#endif +#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN +# undef PRIoLEAST16 +# define PRIoLEAST16 "o" +#endif +#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN +# undef PRIuLEAST16 +# define PRIuLEAST16 "u" +#endif +#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN +# undef PRIxLEAST16 +# define PRIxLEAST16 "x" +#endif +#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN +# undef PRIXLEAST16 +# define PRIXLEAST16 "X" +#endif +#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN +# undef PRIdLEAST32 +# define PRIdLEAST32 "d" +#endif +#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN +# undef PRIiLEAST32 +# define PRIiLEAST32 "i" +#endif +#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN +# undef PRIoLEAST32 +# define PRIoLEAST32 "o" +#endif +#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN +# undef PRIuLEAST32 +# define PRIuLEAST32 "u" +#endif +#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN +# undef PRIxLEAST32 +# define PRIxLEAST32 "x" +#endif +#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN +# undef PRIXLEAST32 +# define PRIXLEAST32 "X" +#endif +#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN +# undef PRIdLEAST64 +# define PRIdLEAST64 PRId64 +#endif +#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN +# undef PRIiLEAST64 +# define PRIiLEAST64 PRIi64 +#endif +#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN +# undef PRIoLEAST64 +# define PRIoLEAST64 PRIo64 +#endif +#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN +# undef PRIuLEAST64 +# define PRIuLEAST64 PRIu64 +#endif +#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN +# undef PRIxLEAST64 +# define PRIxLEAST64 PRIx64 +#endif +#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN +# undef PRIXLEAST64 +# define PRIXLEAST64 PRIX64 +#endif +#if !defined PRIdFAST8 || PRI_MACROS_BROKEN +# undef PRIdFAST8 +# define PRIdFAST8 "d" +#endif +#if !defined PRIiFAST8 || PRI_MACROS_BROKEN +# undef PRIiFAST8 +# define PRIiFAST8 "i" +#endif +#if !defined PRIoFAST8 || PRI_MACROS_BROKEN +# undef PRIoFAST8 +# define PRIoFAST8 "o" +#endif +#if !defined PRIuFAST8 || PRI_MACROS_BROKEN +# undef PRIuFAST8 +# define PRIuFAST8 "u" +#endif +#if !defined PRIxFAST8 || PRI_MACROS_BROKEN +# undef PRIxFAST8 +# define PRIxFAST8 "x" +#endif +#if !defined PRIXFAST8 || PRI_MACROS_BROKEN +# undef PRIXFAST8 +# define PRIXFAST8 "X" +#endif +#if !defined PRIdFAST16 || PRI_MACROS_BROKEN +# undef PRIdFAST16 +# define PRIdFAST16 "d" +#endif +#if !defined PRIiFAST16 || PRI_MACROS_BROKEN +# undef PRIiFAST16 +# define PRIiFAST16 "i" +#endif +#if !defined PRIoFAST16 || PRI_MACROS_BROKEN +# undef PRIoFAST16 +# define PRIoFAST16 "o" +#endif +#if !defined PRIuFAST16 || PRI_MACROS_BROKEN +# undef PRIuFAST16 +# define PRIuFAST16 "u" +#endif +#if !defined PRIxFAST16 || PRI_MACROS_BROKEN +# undef PRIxFAST16 +# define PRIxFAST16 "x" +#endif +#if !defined PRIXFAST16 || PRI_MACROS_BROKEN +# undef PRIXFAST16 +# define PRIXFAST16 "X" +#endif +#if !defined PRIdFAST32 || PRI_MACROS_BROKEN +# undef PRIdFAST32 +# define PRIdFAST32 "d" +#endif +#if !defined PRIiFAST32 || PRI_MACROS_BROKEN +# undef PRIiFAST32 +# define PRIiFAST32 "i" +#endif +#if !defined PRIoFAST32 || PRI_MACROS_BROKEN +# undef PRIoFAST32 +# define PRIoFAST32 "o" +#endif +#if !defined PRIuFAST32 || PRI_MACROS_BROKEN +# undef PRIuFAST32 +# define PRIuFAST32 "u" +#endif +#if !defined PRIxFAST32 || PRI_MACROS_BROKEN +# undef PRIxFAST32 +# define PRIxFAST32 "x" +#endif +#if !defined PRIXFAST32 || PRI_MACROS_BROKEN +# undef PRIXFAST32 +# define PRIXFAST32 "X" +#endif +#if !defined PRIdFAST64 || PRI_MACROS_BROKEN +# undef PRIdFAST64 +# define PRIdFAST64 PRId64 +#endif +#if !defined PRIiFAST64 || PRI_MACROS_BROKEN +# undef PRIiFAST64 +# define PRIiFAST64 PRIi64 +#endif +#if !defined PRIoFAST64 || PRI_MACROS_BROKEN +# undef PRIoFAST64 +# define PRIoFAST64 PRIo64 +#endif +#if !defined PRIuFAST64 || PRI_MACROS_BROKEN +# undef PRIuFAST64 +# define PRIuFAST64 PRIu64 +#endif +#if !defined PRIxFAST64 || PRI_MACROS_BROKEN +# undef PRIxFAST64 +# define PRIxFAST64 PRIx64 +#endif +#if !defined PRIXFAST64 || PRI_MACROS_BROKEN +# undef PRIXFAST64 +# define PRIXFAST64 PRIX64 +#endif +#if !defined PRIdMAX || PRI_MACROS_BROKEN +# undef PRIdMAX +# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld") +#endif +#if !defined PRIiMAX || PRI_MACROS_BROKEN +# undef PRIiMAX +# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli") +#endif +#if !defined PRIoMAX || PRI_MACROS_BROKEN +# undef PRIoMAX +# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo") +#endif +#if !defined PRIuMAX || PRI_MACROS_BROKEN +# undef PRIuMAX +# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu") +#endif +#if !defined PRIxMAX || PRI_MACROS_BROKEN +# undef PRIxMAX +# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx") +#endif +#if !defined PRIXMAX || PRI_MACROS_BROKEN +# undef PRIXMAX +# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX") +#endif +#if !defined PRIdPTR || PRI_MACROS_BROKEN +# undef PRIdPTR +# define PRIdPTR \ + (sizeof (void *) == sizeof (long) ? "ld" : \ + sizeof (void *) == sizeof (int) ? "d" : \ + "lld") +#endif +#if !defined PRIiPTR || PRI_MACROS_BROKEN +# undef PRIiPTR +# define PRIiPTR \ + (sizeof (void *) == sizeof (long) ? "li" : \ + sizeof (void *) == sizeof (int) ? "i" : \ + "lli") +#endif +#if !defined PRIoPTR || PRI_MACROS_BROKEN +# undef PRIoPTR +# define PRIoPTR \ + (sizeof (void *) == sizeof (long) ? "lo" : \ + sizeof (void *) == sizeof (int) ? "o" : \ + "llo") +#endif +#if !defined PRIuPTR || PRI_MACROS_BROKEN +# undef PRIuPTR +# define PRIuPTR \ + (sizeof (void *) == sizeof (long) ? "lu" : \ + sizeof (void *) == sizeof (int) ? "u" : \ + "llu") +#endif +#if !defined PRIxPTR || PRI_MACROS_BROKEN +# undef PRIxPTR +# define PRIxPTR \ + (sizeof (void *) == sizeof (long) ? "lx" : \ + sizeof (void *) == sizeof (int) ? "x" : \ + "llx") +#endif +#if !defined PRIXPTR || PRI_MACROS_BROKEN +# undef PRIXPTR +# define PRIXPTR \ + (sizeof (void *) == sizeof (long) ? "lX" : \ + sizeof (void *) == sizeof (int) ? "X" : \ + "llX") +#endif + /* @@ end of prolog @@ */ #ifdef _LIBC @@ -118,20 +490,287 @@ # define O_BINARY 0 #endif + /* We need a sign, whether a new catalog was loaded, which can be associated with all translations. This is important if the translations are cached by one of GCC's features. */ int _nl_msg_cat_cntr; +/* Expand a system dependent string segment. Return NULL if unsupported. */ +static const char * +get_sysdep_segment_value (const char *name) +{ + /* Test for an ISO C 99 section 7.8.1 format string directive. + Syntax: + P R I { d | i | o | u | x | X } + { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ + /* We don't use a table of 14 times 6 'const char *' strings here, because + data relocations cost startup time. */ + if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') + { + if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' + || name[3] == 'x' || name[3] == 'X') + { + if (name[4] == '8' && name[5] == '\0') + { + if (name[3] == 'd') + return PRId8; + if (name[3] == 'i') + return PRIi8; + if (name[3] == 'o') + return PRIo8; + if (name[3] == 'u') + return PRIu8; + if (name[3] == 'x') + return PRIx8; + if (name[3] == 'X') + return PRIX8; + abort (); + } + if (name[4] == '1' && name[5] == '6' && name[6] == '\0') + { + if (name[3] == 'd') + return PRId16; + if (name[3] == 'i') + return PRIi16; + if (name[3] == 'o') + return PRIo16; + if (name[3] == 'u') + return PRIu16; + if (name[3] == 'x') + return PRIx16; + if (name[3] == 'X') + return PRIX16; + abort (); + } + if (name[4] == '3' && name[5] == '2' && name[6] == '\0') + { + if (name[3] == 'd') + return PRId32; + if (name[3] == 'i') + return PRIi32; + if (name[3] == 'o') + return PRIo32; + if (name[3] == 'u') + return PRIu32; + if (name[3] == 'x') + return PRIx32; + if (name[3] == 'X') + return PRIX32; + abort (); + } + if (name[4] == '6' && name[5] == '4' && name[6] == '\0') + { + if (name[3] == 'd') + return PRId64; + if (name[3] == 'i') + return PRIi64; + if (name[3] == 'o') + return PRIo64; + if (name[3] == 'u') + return PRIu64; + if (name[3] == 'x') + return PRIx64; + if (name[3] == 'X') + return PRIX64; + abort (); + } + if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' + && name[7] == 'S' && name[8] == 'T') + { + if (name[9] == '8' && name[10] == '\0') + { + if (name[3] == 'd') + return PRIdLEAST8; + if (name[3] == 'i') + return PRIiLEAST8; + if (name[3] == 'o') + return PRIoLEAST8; + if (name[3] == 'u') + return PRIuLEAST8; + if (name[3] == 'x') + return PRIxLEAST8; + if (name[3] == 'X') + return PRIXLEAST8; + abort (); + } + if (name[9] == '1' && name[10] == '6' && name[11] == '\0') + { + if (name[3] == 'd') + return PRIdLEAST16; + if (name[3] == 'i') + return PRIiLEAST16; + if (name[3] == 'o') + return PRIoLEAST16; + if (name[3] == 'u') + return PRIuLEAST16; + if (name[3] == 'x') + return PRIxLEAST16; + if (name[3] == 'X') + return PRIXLEAST16; + abort (); + } + if (name[9] == '3' && name[10] == '2' && name[11] == '\0') + { + if (name[3] == 'd') + return PRIdLEAST32; + if (name[3] == 'i') + return PRIiLEAST32; + if (name[3] == 'o') + return PRIoLEAST32; + if (name[3] == 'u') + return PRIuLEAST32; + if (name[3] == 'x') + return PRIxLEAST32; + if (name[3] == 'X') + return PRIXLEAST32; + abort (); + } + if (name[9] == '6' && name[10] == '4' && name[11] == '\0') + { + if (name[3] == 'd') + return PRIdLEAST64; + if (name[3] == 'i') + return PRIiLEAST64; + if (name[3] == 'o') + return PRIoLEAST64; + if (name[3] == 'u') + return PRIuLEAST64; + if (name[3] == 'x') + return PRIxLEAST64; + if (name[3] == 'X') + return PRIXLEAST64; + abort (); + } + } + if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' + && name[7] == 'T') + { + if (name[8] == '8' && name[9] == '\0') + { + if (name[3] == 'd') + return PRIdFAST8; + if (name[3] == 'i') + return PRIiFAST8; + if (name[3] == 'o') + return PRIoFAST8; + if (name[3] == 'u') + return PRIuFAST8; + if (name[3] == 'x') + return PRIxFAST8; + if (name[3] == 'X') + return PRIXFAST8; + abort (); + } + if (name[8] == '1' && name[9] == '6' && name[10] == '\0') + { + if (name[3] == 'd') + return PRIdFAST16; + if (name[3] == 'i') + return PRIiFAST16; + if (name[3] == 'o') + return PRIoFAST16; + if (name[3] == 'u') + return PRIuFAST16; + if (name[3] == 'x') + return PRIxFAST16; + if (name[3] == 'X') + return PRIXFAST16; + abort (); + } + if (name[8] == '3' && name[9] == '2' && name[10] == '\0') + { + if (name[3] == 'd') + return PRIdFAST32; + if (name[3] == 'i') + return PRIiFAST32; + if (name[3] == 'o') + return PRIoFAST32; + if (name[3] == 'u') + return PRIuFAST32; + if (name[3] == 'x') + return PRIxFAST32; + if (name[3] == 'X') + return PRIXFAST32; + abort (); + } + if (name[8] == '6' && name[9] == '4' && name[10] == '\0') + { + if (name[3] == 'd') + return PRIdFAST64; + if (name[3] == 'i') + return PRIiFAST64; + if (name[3] == 'o') + return PRIoFAST64; + if (name[3] == 'u') + return PRIuFAST64; + if (name[3] == 'x') + return PRIxFAST64; + if (name[3] == 'X') + return PRIXFAST64; + abort (); + } + } + if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' + && name[7] == '\0') + { + if (name[3] == 'd') + return PRIdMAX; + if (name[3] == 'i') + return PRIiMAX; + if (name[3] == 'o') + return PRIoMAX; + if (name[3] == 'u') + return PRIuMAX; + if (name[3] == 'x') + return PRIxMAX; + if (name[3] == 'X') + return PRIXMAX; + abort (); + } + if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' + && name[7] == '\0') + { + if (name[3] == 'd') + return PRIdPTR; + if (name[3] == 'i') + return PRIiPTR; + if (name[3] == 'o') + return PRIoPTR; + if (name[3] == 'u') + return PRIuPTR; + if (name[3] == 'x') + return PRIxPTR; + if (name[3] == 'X') + return PRIXPTR; + abort (); + } + } + } + /* Test for a glibc specific printf() format directive flag. */ + if (name[0] == 'I' && name[1] == '\0') + { +#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) + /* The 'I' flag, in numeric format directives, replaces ASCII digits + with the 'outdigits' defined in the LC_CTYPE locale facet. This is + used for Farsi (Persian) and maybe Arabic. */ + return "I"; +#else + return ""; +#endif + } + /* Other system dependent strings are not valid. */ + return NULL; +} + /* Initialize the codeset dependent parts of an opened message catalog. Return the header entry. */ const char * internal_function -_nl_init_domain_conv (domain_file, domain, domainbinding) - struct loaded_l10nfile *domain_file; - struct loaded_domain *domain; - struct binding *domainbinding; +_nl_init_domain_conv (struct loaded_l10nfile *domain_file, + struct loaded_domain *domain, + struct binding *domainbinding) { /* Find out about the character set the file is encoded with. This can be found (in textual form) in the entry "". If this @@ -192,10 +831,10 @@ if (outcharset == NULL || outcharset[0] == '\0') { # ifdef _LIBC - outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string; + outcharset = _NL_CURRENT (LC_CTYPE, CODESET); # else # if HAVE_ICONV - extern const char *locale_charset PARAMS ((void)); + extern const char *locale_charset (void); outcharset = locale_charset (); # endif # endif @@ -247,8 +886,7 @@ /* Frees the codeset dependent parts of an opened message catalog. */ void internal_function -_nl_free_domain_conv (domain) - struct loaded_domain *domain; +_nl_free_domain_conv (struct loaded_domain *domain) { if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1) free (domain->conv_tab); @@ -268,9 +906,8 @@ message catalog do nothing. */ void internal_function -_nl_load_domain (domain_file, domainbinding) - struct loaded_l10nfile *domain_file; - struct binding *domainbinding; +_nl_load_domain (struct loaded_l10nfile *domain_file, + struct binding *domainbinding) { int fd; size_t size; @@ -282,6 +919,7 @@ struct mo_file_header *data = (struct mo_file_header *) -1; int use_mmap = 0; struct loaded_domain *domain; + int revision; const char *nullentry; domain_file->decided = 1; @@ -389,22 +1027,353 @@ domain->use_mmap = use_mmap; domain->mmap_size = size; domain->must_swap = data->magic != _MAGIC; + domain->malloced = NULL; /* Fill in the information about the available tables. */ - switch (W (domain->must_swap, data->revision)) + revision = W (domain->must_swap, data->revision); + /* We support only the major revisions 0 and 1. */ + switch (revision >> 16) { case 0: + case 1: domain->nstrings = W (domain->must_swap, data->nstrings); - domain->orig_tab = (struct string_desc *) + domain->orig_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->orig_tab_offset)); - domain->trans_tab = (struct string_desc *) + domain->trans_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->trans_tab_offset)); domain->hash_size = W (domain->must_swap, data->hash_tab_size); - domain->hash_tab = (nls_uint32 *) - ((char *) data + W (domain->must_swap, data->hash_tab_offset)); + domain->hash_tab = + (domain->hash_size > 2 + ? (const nls_uint32 *) + ((char *) data + W (domain->must_swap, data->hash_tab_offset)) + : NULL); + domain->must_swap_hash_tab = domain->must_swap; + + /* Now dispatch on the minor revision. */ + switch (revision & 0xffff) + { + case 0: + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; + break; + case 1: + default: + { + nls_uint32 n_sysdep_strings; + + if (domain->hash_tab == NULL) + /* This is invalid. These minor revisions need a hash table. */ + goto invalid; + + n_sysdep_strings = + W (domain->must_swap, data->n_sysdep_strings); + if (n_sysdep_strings > 0) + { + nls_uint32 n_sysdep_segments; + const struct sysdep_segment *sysdep_segments; + const char **sysdep_segment_values; + const nls_uint32 *orig_sysdep_tab; + const nls_uint32 *trans_sysdep_tab; + nls_uint32 n_inmem_sysdep_strings; + size_t memneed; + char *mem; + struct sysdep_string_desc *inmem_orig_sysdep_tab; + struct sysdep_string_desc *inmem_trans_sysdep_tab; + nls_uint32 *inmem_hash_tab; + unsigned int i, j; + + /* Get the values of the system dependent segments. */ + n_sysdep_segments = + W (domain->must_swap, data->n_sysdep_segments); + sysdep_segments = (const struct sysdep_segment *) + ((char *) data + + W (domain->must_swap, data->sysdep_segments_offset)); + sysdep_segment_values = + alloca (n_sysdep_segments * sizeof (const char *)); + for (i = 0; i < n_sysdep_segments; i++) + { + const char *name = + (char *) data + + W (domain->must_swap, sysdep_segments[i].offset); + nls_uint32 namelen = + W (domain->must_swap, sysdep_segments[i].length); + + if (!(namelen > 0 && name[namelen - 1] == '\0')) + { + freea (sysdep_segment_values); + goto invalid; + } + + sysdep_segment_values[i] = get_sysdep_segment_value (name); + } + + orig_sysdep_tab = (const nls_uint32 *) + ((char *) data + + W (domain->must_swap, data->orig_sysdep_tab_offset)); + trans_sysdep_tab = (const nls_uint32 *) + ((char *) data + + W (domain->must_swap, data->trans_sysdep_tab_offset)); + + /* Compute the amount of additional memory needed for the + system dependent strings and the augmented hash table. + At the same time, also drop string pairs which refer to + an undefined system dependent segment. */ + n_inmem_sysdep_strings = 0; + memneed = domain->hash_size * sizeof (nls_uint32); + for (i = 0; i < n_sysdep_strings; i++) + { + int valid = 1; + size_t needs[2]; + + for (j = 0; j < 2; j++) + { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W (domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + size_t need = 0; + const struct segment_pair *p = sysdep_string->segments; + + if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) + for (p = sysdep_string->segments;; p++) + { + nls_uint32 sysdepref; + + need += W (domain->must_swap, p->segsize); + + sysdepref = W (domain->must_swap, p->sysdepref); + if (sysdepref == SEGMENTS_END) + break; + + if (sysdepref >= n_sysdep_segments) + { + /* Invalid. */ + freea (sysdep_segment_values); + goto invalid; + } + + if (sysdep_segment_values[sysdepref] == NULL) + { + /* This particular string pair is invalid. */ + valid = 0; + break; + } + + need += strlen (sysdep_segment_values[sysdepref]); + } + + needs[j] = need; + if (!valid) + break; + } + + if (valid) + { + n_inmem_sysdep_strings++; + memneed += needs[0] + needs[1]; + } + } + memneed += 2 * n_inmem_sysdep_strings + * sizeof (struct sysdep_string_desc); + + if (n_inmem_sysdep_strings > 0) + { + unsigned int k; + + /* Allocate additional memory. */ + mem = (char *) malloc (memneed); + if (mem == NULL) + goto invalid; + + domain->malloced = mem; + inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; + mem += n_inmem_sysdep_strings + * sizeof (struct sysdep_string_desc); + inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; + mem += n_inmem_sysdep_strings + * sizeof (struct sysdep_string_desc); + inmem_hash_tab = (nls_uint32 *) mem; + mem += domain->hash_size * sizeof (nls_uint32); + + /* Compute the system dependent strings. */ + k = 0; + for (i = 0; i < n_sysdep_strings; i++) + { + int valid = 1; + + for (j = 0; j < 2; j++) + { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W (domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + const struct segment_pair *p = + sysdep_string->segments; + + if (W (domain->must_swap, p->sysdepref) + != SEGMENTS_END) + for (p = sysdep_string->segments;; p++) + { + nls_uint32 sysdepref; + + sysdepref = + W (domain->must_swap, p->sysdepref); + if (sysdepref == SEGMENTS_END) + break; + + if (sysdep_segment_values[sysdepref] == NULL) + { + /* This particular string pair is + invalid. */ + valid = 0; + break; + } + } + + if (!valid) + break; + } + + if (valid) + { + for (j = 0; j < 2; j++) + { + const struct sysdep_string *sysdep_string = + (const struct sysdep_string *) + ((char *) data + + W (domain->must_swap, + j == 0 + ? orig_sysdep_tab[i] + : trans_sysdep_tab[i])); + const char *static_segments = + (char *) data + + W (domain->must_swap, sysdep_string->offset); + const struct segment_pair *p = + sysdep_string->segments; + + /* Concatenate the segments, and fill + inmem_orig_sysdep_tab[k] (for j == 0) and + inmem_trans_sysdep_tab[k] (for j == 1). */ + + struct sysdep_string_desc *inmem_tab_entry = + (j == 0 + ? inmem_orig_sysdep_tab + : inmem_trans_sysdep_tab) + + k; + + if (W (domain->must_swap, p->sysdepref) + == SEGMENTS_END) + { + /* Only one static segment. */ + inmem_tab_entry->length = + W (domain->must_swap, p->segsize); + inmem_tab_entry->pointer = static_segments; + } + else + { + inmem_tab_entry->pointer = mem; + + for (p = sysdep_string->segments;; p++) + { + nls_uint32 segsize = + W (domain->must_swap, p->segsize); + nls_uint32 sysdepref = + W (domain->must_swap, p->sysdepref); + size_t n; + + if (segsize > 0) + { + memcpy (mem, static_segments, segsize); + mem += segsize; + static_segments += segsize; + } + + if (sysdepref == SEGMENTS_END) + break; + + n = strlen (sysdep_segment_values[sysdepref]); + memcpy (mem, sysdep_segment_values[sysdepref], n); + mem += n; + } + + inmem_tab_entry->length = + mem - inmem_tab_entry->pointer; + } + } + + k++; + } + } + if (k != n_inmem_sysdep_strings) + abort (); + + /* Compute the augmented hash table. */ + for (i = 0; i < domain->hash_size; i++) + inmem_hash_tab[i] = + W (domain->must_swap_hash_tab, domain->hash_tab[i]); + for (i = 0; i < n_inmem_sysdep_strings; i++) + { + const char *msgid = inmem_orig_sysdep_tab[i].pointer; + nls_uint32 hash_val = hash_string (msgid); + nls_uint32 idx = hash_val % domain->hash_size; + nls_uint32 incr = + 1 + (hash_val % (domain->hash_size - 2)); + + for (;;) + { + if (inmem_hash_tab[idx] == 0) + { + /* Hash table entry is empty. Use it. */ + inmem_hash_tab[idx] = 1 + domain->nstrings + i; + break; + } + + if (idx >= domain->hash_size - incr) + idx -= domain->hash_size - incr; + else + idx += incr; + } + } + + domain->n_sysdep_strings = n_inmem_sysdep_strings; + domain->orig_sysdep_tab = inmem_orig_sysdep_tab; + domain->trans_sysdep_tab = inmem_trans_sysdep_tab; + + domain->hash_tab = inmem_hash_tab; + domain->must_swap_hash_tab = 0; + } + else + { + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; + } + + freea (sysdep_segment_values); + } + else + { + domain->n_sysdep_strings = 0; + domain->orig_sysdep_tab = NULL; + domain->trans_sysdep_tab = NULL; + } + } + break; + } break; default: /* This is an invalid revision. */ + invalid: + /* This is an invalid .mo file. */ + if (domain->malloced) + free (domain->malloced); #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); @@ -429,14 +1398,16 @@ #ifdef _LIBC void internal_function -_nl_unload_domain (domain) - struct loaded_domain *domain; +_nl_unload_domain (struct loaded_domain *domain) { if (domain->plural != &__gettext_germanic_plural) __gettext_free_exp (domain->plural); _nl_free_domain_conv (domain); + if (domain->malloced) + free (domain->malloced); + # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) munmap ((caddr_t) domain->data, domain->mmap_size); Index: intl/localcharset.c diff -u -r -N sharutils-4.3.78/intl/localcharset.c sharutils-4.3.79/intl/localcharset.c --- sharutils-4.3.78/intl/localcharset.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/localcharset.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,6 +1,6 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2002 Free Software Foundation, Inc. + Copyright (C) 2000-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -23,6 +23,9 @@ # include #endif +/* Specification. */ +#include "localcharset.h" + #if HAVE_STDDEF_H # include #endif @@ -64,8 +67,14 @@ # include #endif -#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__ - /* Win32, OS/2, DOS */ +#if ENABLE_RELOCATABLE +# include "relocatable.h" +#else +# define relocate(pathname) (pathname) +#endif + +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif @@ -77,16 +86,11 @@ # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif -#ifdef HAVE_GETC_UNLOCKED +#if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif -#ifdef __cplusplus -/* When compiling with "gcc -x c++", produce a function with C linkage. */ -extern "C" const char * locale_charset (void); -#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 @@ -110,12 +114,18 @@ cp = charset_aliases; if (cp == NULL) { -#if !defined WIN32 +#if !(defined VMS || defined WIN32) FILE *fp; - const char *dir = LIBDIR; + 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); @@ -137,15 +147,17 @@ else { /* Parse the file's contents. */ - int c; - char buf1[50+1]; - char buf2[50+1]; char *res_ptr = NULL; size_t res_size = 0; - size_t l1, l2; 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; @@ -166,6 +178,7 @@ break; l1 = strlen (buf1); l2 = strlen (buf2); + old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; @@ -180,6 +193,8 @@ { /* 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); @@ -200,11 +215,36 @@ #else +# 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 /* 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. */ -# if defined WIN32 cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" Index: intl/localcharset.h diff -u -r -N sharutils-4.3.78/intl/localcharset.h sharutils-4.3.79/intl/localcharset.h --- sharutils-4.3.78/intl/localcharset.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/localcharset.h 2005-04-25 20:07:26.000000000 -0700 @@ -0,0 +1,42 @@ +/* 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + 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 */ Index: intl/locale.alias diff -u -r -N sharutils-4.3.78/intl/locale.alias sharutils-4.3.79/intl/locale.alias --- sharutils-4.3.78/intl/locale.alias 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/locale.alias 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ # Locale name alias data base. -# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. +# Copyright (C) 1996-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 Library General Public License as published @@ -29,8 +29,8 @@ # Packages using this file: -bokmal no_NO.ISO-8859-1 -bokml no_NO.ISO-8859-1 +bokmal nb_NO.ISO-8859-1 +bokml nb_NO.ISO-8859-1 catalan ca_ES.ISO-8859-1 croatian hr_HR.ISO-8859-2 czech cs_CZ.ISO-8859-2 @@ -61,9 +61,9 @@ korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 -nb_NO no_NO.ISO-8859-1 -nb_NO.ISO-8859-1 no_NO.ISO-8859-1 -norwegian no_NO.ISO-8859-1 +no_NO nb_NO.ISO-8859-1 +no_NO.ISO-8859-1 nb_NO.ISO-8859-1 +norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 Index: intl/localealias.c diff -u -r -N sharutils-4.3.78/intl/localealias.c sharutils-4.3.79/intl/localealias.c --- sharutils-4.3.78/intl/localealias.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/localealias.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Handle aliases for locale names. - Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1995-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 Library General Public License as published @@ -35,17 +35,23 @@ #include #ifdef __GNUC__ +# undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include +# ifdef _MSC_VER +# include +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if defined HAVE_ALLOCA_H || defined _LIBC +# include # else -# ifndef alloca +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca char *alloca (); +# endif # endif # endif # endif @@ -56,6 +62,12 @@ #include "gettextP.h" +#if ENABLE_RELOCATABLE +# include "relocatable.h" +#else +# define relocate(pathname) (pathname) +#endif + /* @@ end of prolog @@ */ #ifdef _LIBC @@ -98,11 +110,11 @@ # define freea(p) free (p) #endif -#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED +#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(buf, len, s) fgets_unlocked (buf, len, s) #endif -#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED +#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(s) feof_unlocked (s) #endif @@ -115,25 +127,28 @@ }; -static char *string_space; +#ifndef _LIBC +# define libc_freeres_ptr(decl) decl +#endif + +libc_freeres_ptr (static char *string_space); static size_t string_space_act; static size_t string_space_max; -static struct alias_map *map; +libc_freeres_ptr (static struct alias_map *map); static size_t nmap; static size_t maxmap; /* Prototypes for local functions. */ -static size_t read_alias_file PARAMS ((const char *fname, int fname_len)) +static size_t read_alias_file (const char *fname, int fname_len) internal_function; -static int extend_alias_table PARAMS ((void)); -static int alias_compare PARAMS ((const struct alias_map *map1, - const struct alias_map *map2)); +static int extend_alias_table (void); +static int alias_compare (const struct alias_map *map1, + const struct alias_map *map2); const char * -_nl_expand_alias (name) - const char *name; +_nl_expand_alias (const char *name) { static const char *locale_alias_path; struct alias_map *retval; @@ -156,8 +171,8 @@ if (nmap > 0) retval = (struct alias_map *) bsearch (&item, map, nmap, sizeof (struct alias_map), - (int (*) PARAMS ((const void *, - const void *)) + (int (*) (const void *, + const void *) ) alias_compare); else retval = NULL; @@ -199,9 +214,7 @@ static size_t internal_function -read_alias_file (fname, fname_len) - const char *fname; - int fname_len; +read_alias_file (const char *fname, int fname_len) { FILE *fp; char *full_fname; @@ -217,7 +230,7 @@ memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); #endif - fp = fopen (full_fname, "r"); + fp = fopen (relocate (full_fname), "r"); freea (full_fname); if (fp == NULL) return 0; @@ -234,8 +247,10 @@ a) we are only interested in the first two fields b) these fields must be usable as file names and so must not be that long - */ - char buf[BUFSIZ]; + We avoid a multi-kilobyte buffer here since this would use up + stack space which we might not have if the program ran out of + memory. */ + char buf[400]; char *alias; char *value; char *cp; @@ -244,19 +259,6 @@ /* EOF reached. */ break; - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - if (strchr (buf, '\n') == NULL) - { - char altbuf[BUFSIZ]; - do - if (FGETS (altbuf, sizeof altbuf, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - break; - while (strchr (altbuf, '\n') == NULL); - } - cp = buf; /* Ignore leading white space. */ while (isspace ((unsigned char) cp[0])) @@ -340,6 +342,14 @@ ++added; } } + + /* Possibly not the whole line fits into the buffer. Ignore + the rest of the line. */ + while (strchr (buf, '\n') == NULL) + if (FGETS (buf, sizeof buf, fp) == NULL) + /* Make sure the inner loop will be left. The outer loop + will exit at the `feof' test. */ + break; } /* Should we test for ferror()? I think we have to silently ignore @@ -348,7 +358,7 @@ if (added > 0) qsort (map, nmap, sizeof (struct alias_map), - (int (*) PARAMS ((const void *, const void *))) alias_compare); + (int (*) (const void *, const void *)) alias_compare); return added; } @@ -373,23 +383,8 @@ } -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - if (string_space != NULL) - free (string_space); - if (map != NULL) - free (map); -} -text_set_element (__libc_subfreeres, free_mem); -#endif - - static int -alias_compare (map1, map2) - const struct alias_map *map1; - const struct alias_map *map2; +alias_compare (const struct alias_map *map1, const struct alias_map *map2) { #if defined _LIBC || defined HAVE_STRCASECMP return strcasecmp (map1->alias, map2->alias); Index: intl/localename.c diff -u -r -N sharutils-4.3.78/intl/localename.c sharutils-4.3.79/intl/localename.c --- sharutils-4.3.78/intl/localename.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/localename.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Determine the current selected locale. - Copyright (C) 1995-1999, 2000-2002 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -18,6 +18,7 @@ /* Written by Ulrich Drepper , 1995. */ /* Win32 code written by Tor Lillqvist . */ +/* MacOS X code written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include @@ -26,6 +27,16 @@ #include #include +#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE +# include +# include +# if HAVE_CFLOCALECOPYCURRENT +# include +# elif HAVE_CFPREFERENCESCOPYAPPVALUE +# include +# endif +#endif + #if defined _WIN32 || defined __WIN32__ # undef WIN32 /* avoid warning on mingw32 */ # define WIN32 @@ -34,6 +45,124 @@ #ifdef WIN32 # define WIN32_LEAN_AND_MEAN # include +/* List of language codes, sorted by value: + 0x01 LANG_ARABIC + 0x02 LANG_BULGARIAN + 0x03 LANG_CATALAN + 0x04 LANG_CHINESE + 0x05 LANG_CZECH + 0x06 LANG_DANISH + 0x07 LANG_GERMAN + 0x08 LANG_GREEK + 0x09 LANG_ENGLISH + 0x0a LANG_SPANISH + 0x0b LANG_FINNISH + 0x0c LANG_FRENCH + 0x0d LANG_HEBREW + 0x0e LANG_HUNGARIAN + 0x0f LANG_ICELANDIC + 0x10 LANG_ITALIAN + 0x11 LANG_JAPANESE + 0x12 LANG_KOREAN + 0x13 LANG_DUTCH + 0x14 LANG_NORWEGIAN + 0x15 LANG_POLISH + 0x16 LANG_PORTUGUESE + 0x17 LANG_RHAETO_ROMANCE + 0x18 LANG_ROMANIAN + 0x19 LANG_RUSSIAN + 0x1a LANG_CROATIAN == LANG_SERBIAN + 0x1b LANG_SLOVAK + 0x1c LANG_ALBANIAN + 0x1d LANG_SWEDISH + 0x1e LANG_THAI + 0x1f LANG_TURKISH + 0x20 LANG_URDU + 0x21 LANG_INDONESIAN + 0x22 LANG_UKRAINIAN + 0x23 LANG_BELARUSIAN + 0x24 LANG_SLOVENIAN + 0x25 LANG_ESTONIAN + 0x26 LANG_LATVIAN + 0x27 LANG_LITHUANIAN + 0x28 LANG_TAJIK + 0x29 LANG_FARSI + 0x2a LANG_VIETNAMESE + 0x2b LANG_ARMENIAN + 0x2c LANG_AZERI + 0x2d LANG_BASQUE + 0x2e LANG_SORBIAN + 0x2f LANG_MACEDONIAN + 0x30 LANG_SUTU + 0x31 LANG_TSONGA + 0x32 LANG_TSWANA + 0x33 LANG_VENDA + 0x34 LANG_XHOSA + 0x35 LANG_ZULU + 0x36 LANG_AFRIKAANS + 0x37 LANG_GEORGIAN + 0x38 LANG_FAEROESE + 0x39 LANG_HINDI + 0x3a LANG_MALTESE + 0x3b LANG_SAAMI + 0x3c LANG_GAELIC + 0x3d LANG_YIDDISH + 0x3e LANG_MALAY + 0x3f LANG_KAZAK + 0x40 LANG_KYRGYZ + 0x41 LANG_SWAHILI + 0x42 LANG_TURKMEN + 0x43 LANG_UZBEK + 0x44 LANG_TATAR + 0x45 LANG_BENGALI + 0x46 LANG_PUNJABI + 0x47 LANG_GUJARATI + 0x48 LANG_ORIYA + 0x49 LANG_TAMIL + 0x4a LANG_TELUGU + 0x4b LANG_KANNADA + 0x4c LANG_MALAYALAM + 0x4d LANG_ASSAMESE + 0x4e LANG_MARATHI + 0x4f LANG_SANSKRIT + 0x50 LANG_MONGOLIAN + 0x51 LANG_TIBETAN + 0x52 LANG_WELSH + 0x53 LANG_CAMBODIAN + 0x54 LANG_LAO + 0x55 LANG_BURMESE + 0x56 LANG_GALICIAN + 0x57 LANG_KONKANI + 0x58 LANG_MANIPURI + 0x59 LANG_SINDHI + 0x5a LANG_SYRIAC + 0x5b LANG_SINHALESE + 0x5c LANG_CHEROKEE + 0x5d LANG_INUKTITUT + 0x5e LANG_AMHARIC + 0x5f LANG_TAMAZIGHT + 0x60 LANG_KASHMIRI + 0x61 LANG_NEPALI + 0x62 LANG_FRISIAN + 0x63 LANG_PASHTO + 0x64 LANG_TAGALOG + 0x65 LANG_DIVEHI + 0x66 LANG_EDO + 0x67 LANG_FULFULDE + 0x68 LANG_HAUSA + 0x69 LANG_IBIBIO + 0x6a LANG_YORUBA + 0x70 LANG_IGBO + 0x71 LANG_KANURI + 0x72 LANG_OROMO + 0x73 LANG_TIGRINYA + 0x74 LANG_GUARANI + 0x75 LANG_HAWAIIAN + 0x76 LANG_LATIN + 0x77 LANG_SOMALI + 0x78 LANG_YI + 0x79 LANG_PAPIAMENTU +*/ /* Mingw headers don't have latest language and sublanguage codes. */ # ifndef LANG_AFRIKAANS # define LANG_AFRIKAANS 0x36 @@ -41,6 +170,9 @@ # ifndef LANG_ALBANIAN # define LANG_ALBANIAN 0x1c # endif +# ifndef LANG_AMHARIC +# define LANG_AMHARIC 0x5e +# endif # ifndef LANG_ARABIC # define LANG_ARABIC 0x01 # endif @@ -62,12 +194,24 @@ # ifndef LANG_BENGALI # define LANG_BENGALI 0x45 # endif +# ifndef LANG_BURMESE +# define LANG_BURMESE 0x55 +# endif +# ifndef LANG_CAMBODIAN +# define LANG_CAMBODIAN 0x53 +# endif # ifndef LANG_CATALAN # define LANG_CATALAN 0x03 # endif +# ifndef LANG_CHEROKEE +# define LANG_CHEROKEE 0x5c +# endif # ifndef LANG_DIVEHI # define LANG_DIVEHI 0x65 # endif +# ifndef LANG_EDO +# define LANG_EDO 0x66 +# endif # ifndef LANG_ESTONIAN # define LANG_ESTONIAN 0x25 # endif @@ -77,27 +221,57 @@ # ifndef LANG_FARSI # define LANG_FARSI 0x29 # endif +# ifndef LANG_FRISIAN +# define LANG_FRISIAN 0x62 +# endif +# ifndef LANG_FULFULDE +# define LANG_FULFULDE 0x67 +# endif +# ifndef LANG_GAELIC +# define LANG_GAELIC 0x3c +# endif # ifndef LANG_GALICIAN # define LANG_GALICIAN 0x56 # endif # ifndef LANG_GEORGIAN # define LANG_GEORGIAN 0x37 # endif +# ifndef LANG_GUARANI +# define LANG_GUARANI 0x74 +# endif # ifndef LANG_GUJARATI # define LANG_GUJARATI 0x47 # endif +# ifndef LANG_HAUSA +# define LANG_HAUSA 0x68 +# endif +# ifndef LANG_HAWAIIAN +# define LANG_HAWAIIAN 0x75 +# endif # ifndef LANG_HEBREW # define LANG_HEBREW 0x0d # endif # ifndef LANG_HINDI # define LANG_HINDI 0x39 # endif +# ifndef LANG_IBIBIO +# define LANG_IBIBIO 0x69 +# endif +# ifndef LANG_IGBO +# define LANG_IGBO 0x70 +# endif # ifndef LANG_INDONESIAN # define LANG_INDONESIAN 0x21 # endif +# ifndef LANG_INUKTITUT +# define LANG_INUKTITUT 0x5d +# endif # ifndef LANG_KANNADA # define LANG_KANNADA 0x4b # endif +# ifndef LANG_KANURI +# define LANG_KANURI 0x71 +# endif # ifndef LANG_KASHMIRI # define LANG_KASHMIRI 0x60 # endif @@ -110,6 +284,12 @@ # ifndef LANG_KYRGYZ # define LANG_KYRGYZ 0x40 # endif +# ifndef LANG_LAO +# define LANG_LAO 0x54 +# endif +# ifndef LANG_LATIN +# define LANG_LATIN 0x76 +# endif # ifndef LANG_LATVIAN # define LANG_LATVIAN 0x26 # endif @@ -125,6 +305,9 @@ # ifndef LANG_MALAYALAM # define LANG_MALAYALAM 0x4c # endif +# ifndef LANG_MALTESE +# define LANG_MALTESE 0x3a +# endif # ifndef LANG_MANIPURI # define LANG_MANIPURI 0x58 # endif @@ -140,9 +323,24 @@ # ifndef LANG_ORIYA # define LANG_ORIYA 0x48 # endif +# ifndef LANG_OROMO +# define LANG_OROMO 0x72 +# endif +# ifndef LANG_PAPIAMENTU +# define LANG_PAPIAMENTU 0x79 +# endif +# ifndef LANG_PASHTO +# define LANG_PASHTO 0x63 +# endif # ifndef LANG_PUNJABI # define LANG_PUNJABI 0x46 # endif +# ifndef LANG_RHAETO_ROMANCE +# define LANG_RHAETO_ROMANCE 0x17 +# endif +# ifndef LANG_SAAMI +# define LANG_SAAMI 0x3b +# endif # ifndef LANG_SANSKRIT # define LANG_SANSKRIT 0x4f # endif @@ -152,18 +350,36 @@ # ifndef LANG_SINDHI # define LANG_SINDHI 0x59 # endif +# ifndef LANG_SINHALESE +# define LANG_SINHALESE 0x5b +# endif # ifndef LANG_SLOVAK # define LANG_SLOVAK 0x1b # endif +# ifndef LANG_SOMALI +# define LANG_SOMALI 0x77 +# endif # ifndef LANG_SORBIAN # define LANG_SORBIAN 0x2e # endif +# ifndef LANG_SUTU +# define LANG_SUTU 0x30 +# endif # ifndef LANG_SWAHILI # define LANG_SWAHILI 0x41 # endif # ifndef LANG_SYRIAC # define LANG_SYRIAC 0x5a # endif +# ifndef LANG_TAGALOG +# define LANG_TAGALOG 0x64 +# endif +# ifndef LANG_TAJIK +# define LANG_TAJIK 0x28 +# endif +# ifndef LANG_TAMAZIGHT +# define LANG_TAMAZIGHT 0x5f +# endif # ifndef LANG_TAMIL # define LANG_TAMIL 0x49 # endif @@ -176,6 +392,21 @@ # ifndef LANG_THAI # define LANG_THAI 0x1e # endif +# ifndef LANG_TIBETAN +# define LANG_TIBETAN 0x51 +# endif +# ifndef LANG_TIGRINYA +# define LANG_TIGRINYA 0x73 +# endif +# ifndef LANG_TSONGA +# define LANG_TSONGA 0x31 +# endif +# ifndef LANG_TSWANA +# define LANG_TSWANA 0x32 +# endif +# ifndef LANG_TURKMEN +# define LANG_TURKMEN 0x42 +# endif # ifndef LANG_UKRAINIAN # define LANG_UKRAINIAN 0x22 # endif @@ -185,9 +416,30 @@ # ifndef LANG_UZBEK # define LANG_UZBEK 0x43 # endif +# ifndef LANG_VENDA +# define LANG_VENDA 0x33 +# endif # ifndef LANG_VIETNAMESE # define LANG_VIETNAMESE 0x2a # endif +# ifndef LANG_WELSH +# define LANG_WELSH 0x52 +# endif +# ifndef LANG_XHOSA +# define LANG_XHOSA 0x34 +# endif +# ifndef LANG_YI +# define LANG_YI 0x78 +# endif +# ifndef LANG_YIDDISH +# define LANG_YIDDISH 0x3d +# endif +# ifndef LANG_YORUBA +# define LANG_YORUBA 0x6a +# endif +# ifndef LANG_ZULU +# define LANG_ZULU 0x35 +# endif # ifndef SUBLANG_ARABIC_SAUDI_ARABIA # define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 # endif @@ -242,6 +494,12 @@ # ifndef SUBLANG_AZERI_CYRILLIC # define SUBLANG_AZERI_CYRILLIC 0x02 # endif +# ifndef SUBLANG_BENGALI_INDIA +# define SUBLANG_BENGALI_INDIA 0x00 +# endif +# ifndef SUBLANG_BENGALI_BANGLADESH +# define SUBLANG_BENGALI_BANGLADESH 0x01 +# endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 # endif @@ -266,12 +524,54 @@ # ifndef SUBLANG_ENGLISH_PHILIPPINES # define SUBLANG_ENGLISH_PHILIPPINES 0x0d # endif +# ifndef SUBLANG_ENGLISH_INDONESIA +# define SUBLANG_ENGLISH_INDONESIA 0x0e +# endif +# ifndef SUBLANG_ENGLISH_HONGKONG +# define SUBLANG_ENGLISH_HONGKONG 0x0f +# endif +# ifndef SUBLANG_ENGLISH_INDIA +# define SUBLANG_ENGLISH_INDIA 0x10 +# endif +# ifndef SUBLANG_ENGLISH_MALAYSIA +# define SUBLANG_ENGLISH_MALAYSIA 0x11 +# endif +# ifndef SUBLANG_ENGLISH_SINGAPORE +# define SUBLANG_ENGLISH_SINGAPORE 0x12 +# endif # ifndef SUBLANG_FRENCH_LUXEMBOURG # define SUBLANG_FRENCH_LUXEMBOURG 0x05 # endif # ifndef SUBLANG_FRENCH_MONACO # define SUBLANG_FRENCH_MONACO 0x06 # endif +# ifndef SUBLANG_FRENCH_WESTINDIES +# define SUBLANG_FRENCH_WESTINDIES 0x07 +# endif +# ifndef SUBLANG_FRENCH_REUNION +# define SUBLANG_FRENCH_REUNION 0x08 +# endif +# ifndef SUBLANG_FRENCH_CONGO +# define SUBLANG_FRENCH_CONGO 0x09 +# endif +# ifndef SUBLANG_FRENCH_SENEGAL +# define SUBLANG_FRENCH_SENEGAL 0x0a +# endif +# ifndef SUBLANG_FRENCH_CAMEROON +# define SUBLANG_FRENCH_CAMEROON 0x0b +# endif +# ifndef SUBLANG_FRENCH_COTEDIVOIRE +# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c +# endif +# ifndef SUBLANG_FRENCH_MALI +# define SUBLANG_FRENCH_MALI 0x0d +# endif +# ifndef SUBLANG_FRENCH_MOROCCO +# define SUBLANG_FRENCH_MOROCCO 0x0e +# endif +# ifndef SUBLANG_FRENCH_HAITI +# define SUBLANG_FRENCH_HAITI 0x0f +# endif # ifndef SUBLANG_GERMAN_LUXEMBOURG # define SUBLANG_GERMAN_LUXEMBOURG 0x04 # endif @@ -290,12 +590,30 @@ # ifndef SUBLANG_NEPALI_INDIA # define SUBLANG_NEPALI_INDIA 0x02 # endif +# ifndef SUBLANG_PUNJABI_INDIA +# define SUBLANG_PUNJABI_INDIA 0x00 +# endif +# ifndef SUBLANG_PUNJABI_PAKISTAN +# define SUBLANG_PUNJABI_PAKISTAN 0x01 +# endif +# ifndef SUBLANG_ROMANIAN_ROMANIA +# define SUBLANG_ROMANIAN_ROMANIA 0x00 +# endif +# ifndef SUBLANG_ROMANIAN_MOLDOVA +# define SUBLANG_ROMANIAN_MOLDOVA 0x01 +# endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 # endif # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif +# ifndef SUBLANG_SINDHI_INDIA +# define SUBLANG_SINDHI_INDIA 0x00 +# endif +# ifndef SUBLANG_SINDHI_PAKISTAN +# define SUBLANG_SINDHI_PAKISTAN 0x01 +# endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif @@ -350,6 +668,18 @@ # ifndef SUBLANG_SWEDISH_FINLAND # define SUBLANG_SWEDISH_FINLAND 0x02 # endif +# ifndef SUBLANG_TAMAZIGHT_ARABIC +# define SUBLANG_TAMAZIGHT_ARABIC 0x01 +# endif +# ifndef SUBLANG_TAMAZIGHT_LATIN +# define SUBLANG_TAMAZIGHT_LATIN 0x02 +# endif +# ifndef SUBLANG_TIGRINYA_ETHIOPIA +# define SUBLANG_TIGRINYA_ETHIOPIA 0x00 +# endif +# ifndef SUBLANG_TIGRINYA_ERITREA +# define SUBLANG_TIGRINYA_ERITREA 0x01 +# endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 # endif @@ -364,6 +694,280 @@ # endif #endif +# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE +/* MacOS X 10.2 or newer */ + +/* Canonicalize a MacOS X locale name to a Unix locale name. + NAME is a sufficiently large buffer. + On input, it contains the MacOS X locale name. + On output, it contains the Unix locale name. */ +void +_nl_locale_name_canonicalize (char *name) +{ + /* This conversion is based on a posting by + Deborah GoldSmith on 2005-03-08, + http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ + + /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and + ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this. + Therefore we do it ourselves, using a table based on the results of the + MacOS X 10.3.8 function + CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ + typedef struct { const char legacy[21+1]; const char unixy[5+1]; } + legacy_entry; + static const legacy_entry legacy_table[] = { + { "Afrikaans", "af" }, + { "Albanian", "sq" }, + { "Amharic", "am" }, + { "Arabic", "ar" }, + { "Armenian", "hy" }, + { "Assamese", "as" }, + { "Aymara", "ay" }, + { "Azerbaijani", "az" }, + { "Basque", "eu" }, + { "Belarusian", "be" }, + { "Belorussian", "be" }, + { "Bengali", "bn" }, + { "Brazilian Portugese", "pt_BR" }, + { "Brazilian Portuguese", "pt_BR" }, + { "Breton", "br" }, + { "Bulgarian", "bg" }, + { "Burmese", "my" }, + { "Byelorussian", "be" }, + { "Catalan", "ca" }, + { "Chewa", "ny" }, + { "Chichewa", "ny" }, + { "Chinese", "zh" }, + { "Chinese, Simplified", "zh_CN" }, + { "Chinese, Traditional", "zh_TW" }, + { "Chinese, Tradtional", "zh_TW" }, + { "Croatian", "hr" }, + { "Czech", "cs" }, + { "Danish", "da" }, + { "Dutch", "nl" }, + { "Dzongkha", "dz" }, + { "English", "en" }, + { "Esperanto", "eo" }, + { "Estonian", "et" }, + { "Faroese", "fo" }, + { "Farsi", "fa" }, + { "Finnish", "fi" }, + { "Flemish", "nl_BE" }, + { "French", "fr" }, + { "Galician", "gl" }, + { "Gallegan", "gl" }, + { "Georgian", "ka" }, + { "German", "de" }, + { "Greek", "el" }, + { "Greenlandic", "kl" }, + { "Guarani", "gn" }, + { "Gujarati", "gu" }, + { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ + { "Hebrew", "he" }, + { "Hindi", "hi" }, + { "Hungarian", "hu" }, + { "Icelandic", "is" }, + { "Indonesian", "id" }, + { "Inuktitut", "iu" }, + { "Irish", "ga" }, + { "Italian", "it" }, + { "Japanese", "ja" }, + { "Javanese", "jv" }, + { "Kalaallisut", "kl" }, + { "Kannada", "kn" }, + { "Kashmiri", "ks" }, + { "Kazakh", "kk" }, + { "Khmer", "km" }, + { "Kinyarwanda", "rw" }, + { "Kirghiz", "ky" }, + { "Korean", "ko" }, + { "Kurdish", "ku" }, + { "Latin", "la" }, + { "Latvian", "lv" }, + { "Lithuanian", "lt" }, + { "Macedonian", "mk" }, + { "Malagasy", "mg" }, + { "Malay", "ms" }, + { "Malayalam", "ml" }, + { "Maltese", "mt" }, + { "Manx", "gv" }, + { "Marathi", "mr" }, + { "Moldavian", "mo" }, + { "Mongolian", "mn" }, + { "Nepali", "ne" }, + { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ + { "Nyanja", "ny" }, + { "Nynorsk", "nn" }, + { "Oriya", "or" }, + { "Oromo", "om" }, + { "Panjabi", "pa" }, + { "Pashto", "ps" }, + { "Persian", "fa" }, + { "Polish", "pl" }, + { "Portuguese", "pt" }, + { "Portuguese, Brazilian", "pt_BR" }, + { "Punjabi", "pa" }, + { "Pushto", "ps" }, + { "Quechua", "qu" }, + { "Romanian", "ro" }, + { "Ruanda", "rw" }, + { "Rundi", "rn" }, + { "Russian", "ru" }, + { "Sami", "se_NO" }, /* Not just "se". */ + { "Sanskrit", "sa" }, + { "Scottish", "gd" }, + { "Serbian", "sr" }, + { "Simplified Chinese", "zh_CN" }, + { "Sindhi", "sd" }, + { "Sinhalese", "si" }, + { "Slovak", "sk" }, + { "Slovenian", "sl" }, + { "Somali", "so" }, + { "Spanish", "es" }, + { "Sundanese", "su" }, + { "Swahili", "sw" }, + { "Swedish", "sv" }, + { "Tagalog", "tl" }, + { "Tajik", "tg" }, + { "Tajiki", "tg" }, + { "Tamil", "ta" }, + { "Tatar", "tt" }, + { "Telugu", "te" }, + { "Thai", "th" }, + { "Tibetan", "bo" }, + { "Tigrinya", "ti" }, + { "Tongan", "to" }, + { "Traditional Chinese", "zh_TW" }, + { "Turkish", "tr" }, + { "Turkmen", "tk" }, + { "Uighur", "ug" }, + { "Ukrainian", "uk" }, + { "Urdu", "ur" }, + { "Uzbek", "uz" }, + { "Vietnamese", "vi" }, + { "Welsh", "cy" }, + { "Yiddish", "yi" } + }; + + /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) + to Unix (ISO 639 and ISO 3166) names. */ + typedef struct { const char langtag[7+1]; const char unixy[12+1]; } + langtag_entry; + static const langtag_entry langtag_table[] = { + /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". + The default script for az on Unix is Latin. */ + { "az-Latn", "az" }, + /* MacOS X has "ga-dots". Does not yet exist on Unix. */ + { "ga-dots", "ga" }, + /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */ + /* MacOS X has "mn-Cyrl", "mn-Mong". + The default script for mn on Unix is Cyrillic. */ + { "mn-Cyrl", "mn" }, + /* MacOS X has "ms-Arab", "ms-Latn". + The default script for ms on Unix is Latin. */ + { "ms-Latn", "ms" }, + /* MacOS X has "tg-Cyrl". + The default script for tg on Unix is Cyrillic. */ + { "tg-Cyrl", "tg" }, + /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */ + /* MacOS X has "tt-Cyrl". + The default script for tt on Unix is Cyrillic. */ + { "tt-Cyrl", "tt" }, + /* MacOS X has "zh-Hans", "zh-Hant". + Country codes are used to distinguish these on Unix. */ + { "zh-Hans", "zh_CN" }, + { "zh-Hant", "zh_TW" } + }; + + /* Convert script names (ISO 15924) to Unix conventions. + See http://www.unicode.org/iso15924/iso15924-codes.html */ + typedef struct { const char script[4+1]; const char unixy[9+1]; } + script_entry; + static const script_entry script_table[] = { + { "Arab", "arabic" }, + { "Cyrl", "cyrillic" }, + { "Mong", "mongolian" } + }; + + /* Step 1: Convert using legacy_table. */ + if (name[0] >= 'A' && name[0] <= 'Z') + { + unsigned int i1, i2; + i1 = 0; + i2 = sizeof (legacy_table) / sizeof (legacy_entry); + while (i2 - i1 > 1) + { + /* At this point we know that if name occurs in legacy_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const legacy_entry *p = &legacy_table[i]; + if (strcmp (name, p->legacy) < 0) + i2 = i; + else + i1 = i; + } + if (strcmp (name, legacy_table[i1].legacy) == 0) + { + strcpy (name, legacy_table[i1].unixy); + return; + } + } + + /* Step 2: Convert using langtag_table and script_table. */ + if (strlen (name) == 7 && name[2] == '-') + { + unsigned int i1, i2; + i1 = 0; + i2 = sizeof (langtag_table) / sizeof (langtag_entry); + while (i2 - i1 > 1) + { + /* At this point we know that if name occurs in langtag_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const langtag_entry *p = &langtag_table[i]; + if (strcmp (name, p->langtag) < 0) + i2 = i; + else + i1 = i; + } + if (strcmp (name, langtag_table[i1].langtag) == 0) + { + strcpy (name, langtag_table[i1].unixy); + return; + } + + i1 = 0; + i2 = sizeof (script_table) / sizeof (script_entry); + while (i2 - i1 > 1) + { + /* At this point we know that if (name + 3) occurs in script_table, + its index must be >= i1 and < i2. */ + unsigned int i = (i1 + i2) >> 1; + const script_entry *p = &script_table[i]; + if (strcmp (name + 3, p->script) < 0) + i2 = i; + else + i1 = i; + } + if (strcmp (name + 3, script_table[i1].script) == 0) + { + name[2] = '@'; + strcpy (name + 3, script_table[i1].unixy); + return; + } + } + + /* Step 3: Convert new-style dash to Unix underscore. */ + { + char *p; + for (p = name; *p != '\0'; p++) + if (*p == '-') + *p = '_'; + } +} + +#endif + /* XPG3 defines the result of 'setlocale (category, NULL)' as: "Directs 'setlocale()' to query 'category' and return the current setting of 'local'." @@ -381,131 +985,183 @@ The result must not be freed; it is statically allocated. */ const char * -_nl_locale_name (category, categoryname) - int category; - const char *categoryname; +_nl_locale_name_posix (int category, const char *categoryname) { - const char *retval; - -#ifndef WIN32 - /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ -# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL - retval = setlocale (category, NULL); -# else - /* Setting of LC_ALL overwrites all other. */ - retval = getenv ("LC_ALL"); - if (retval == NULL || retval[0] == '\0') - { - /* Next comes the name of the desired category. */ - retval = getenv (categoryname); - if (retval == NULL || retval[0] == '\0') - { - /* Last possibility is the LANG environment variable. */ - retval = getenv ("LANG"); - if (retval == NULL || retval[0] == '\0') - /* We use C as the default domain. POSIX says this is - implementation defined. */ - retval = "C"; - } - } -# endif - - return retval; - -#else /* WIN32 */ - - /* Return an XPG style locale name language[_territory][@modifier]. - Don't even bother determining the codeset; it's not useful in this - context, because message catalogs are not specific to a single - codeset. */ - - LCID lcid; - LANGID langid; - int primary, sub; +#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL + return setlocale (category, NULL); +#else + const char *retval; - /* Let the user override the system settings through environment - variables, as on POSIX systems. */ + /* Setting of LC_ALL overrides all other. */ retval = getenv ("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; + /* Next comes the name of the desired category. */ retval = getenv (categoryname); if (retval != NULL && retval[0] != '\0') return retval; + /* Last possibility is the LANG environment variable. */ retval = getenv ("LANG"); if (retval != NULL && retval[0] != '\0') return retval; - /* Use native Win32 API locale ID. */ - lcid = GetThreadLocale (); + return NULL; +#endif +} - /* Strip off the sorting rules, keep only the language part. */ - langid = LANGIDFROMLCID (lcid); +const char * +_nl_locale_name_default (void) +{ + /* POSIX:2001 says: + "All implementations shall define a locale as the default locale, to be + invoked when no environment variables are set, or set to the empty + string. This default locale can be the POSIX locale or any other + implementation-defined locale. Some implementations may provide + facilities for local installation administrators to set the default + locale, customizing it for each location. POSIX:2001 does not require + such a facility. */ + +#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32)) + + /* The system does not have a way of setting the locale, other than the + POSIX specified environment variables. We use C as default locale. */ + return "C"; - /* Split into language and territory part. */ - primary = PRIMARYLANGID (langid); - sub = SUBLANGID (langid); - - /* Dispatch on language. - See also http://www.unicode.org/unicode/onlinedat/languages.html . - For details about languages, see http://www.ethnologue.com/ . */ - switch (primary) - { - case LANG_AFRIKAANS: return "af_ZA"; - case LANG_ALBANIAN: return "sq_AL"; - case 0x5e: /* AMHARIC */ return "am_ET"; - case LANG_ARABIC: - switch (sub) - { - case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; - case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; - case SUBLANG_ARABIC_EGYPT: return "ar_EG"; - case SUBLANG_ARABIC_LIBYA: return "ar_LY"; - case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; - case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; - case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; - case SUBLANG_ARABIC_OMAN: return "ar_OM"; - case SUBLANG_ARABIC_YEMEN: return "ar_YE"; - case SUBLANG_ARABIC_SYRIA: return "ar_SY"; - case SUBLANG_ARABIC_JORDAN: return "ar_JO"; - case SUBLANG_ARABIC_LEBANON: return "ar_LB"; - case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; - case SUBLANG_ARABIC_UAE: return "ar_AE"; - case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; - case SUBLANG_ARABIC_QATAR: return "ar_QA"; - } - return "ar"; - case LANG_ARMENIAN: return "hy_AM"; - case LANG_ASSAMESE: return "as_IN"; - case LANG_AZERI: - switch (sub) - { - /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ - case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; - case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; - } - return "az"; - case LANG_BASQUE: - return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ - case LANG_BELARUSIAN: return "be_BY"; - case LANG_BENGALI: return "bn_IN"; - case LANG_BULGARIAN: return "bg_BG"; - case 0x55: /* BURMESE */ return "my_MM"; - case 0x53: /* CAMBODIAN */ return "km_KH"; - case LANG_CATALAN: return "ca_ES"; - case 0x5c: /* CHEROKEE */ return "chr_US"; - case LANG_CHINESE: - switch (sub) - { - case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; - case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; - case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; - case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; - case SUBLANG_CHINESE_MACAU: return "zh_MO"; - } - return "zh"; - case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN +#else + + /* Return an XPG style locale name language[_territory][@modifier]. + Don't even bother determining the codeset; it's not useful in this + context, because message catalogs are not specific to a single + codeset. */ + +# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE + /* MacOS X 10.2 or newer */ + { + /* Cache the locale name, since CoreFoundation calls are expensive. */ + static const char *cached_localename; + + if (cached_localename == NULL) + { + char namebuf[256]; +# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ + CFLocaleRef locale = CFLocaleCopyCurrent (); + CFStringRef name = CFLocaleGetIdentifier (locale); + + if (CFStringGetCString (name, namebuf, sizeof(namebuf), + kCFStringEncodingASCII)) + { + _nl_locale_name_canonicalize (namebuf); + cached_localename = strdup (namebuf); + } + CFRelease (locale); +# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ + CFTypeRef value = + CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), + kCFPreferencesCurrentApplication); + if (value != NULL + && CFGetTypeID (value) == CFStringGetTypeID () + && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), + kCFStringEncodingASCII)) + { + _nl_locale_name_canonicalize (namebuf); + cached_localename = strdup (namebuf); + } +# endif + if (cached_localename == NULL) + cached_localename = "C"; + } + return cached_localename; + } + +# endif + +# if defined(WIN32) /* WIN32 */ + { + LCID lcid; + LANGID langid; + int primary, sub; + + /* Use native Win32 API locale ID. */ + lcid = GetThreadLocale (); + + /* Strip off the sorting rules, keep only the language part. */ + langid = LANGIDFROMLCID (lcid); + + /* Split into language and territory part. */ + primary = PRIMARYLANGID (langid); + sub = SUBLANGID (langid); + + /* Dispatch on language. + See also http://www.unicode.org/unicode/onlinedat/languages.html . + For details about languages, see http://www.ethnologue.com/ . */ + switch (primary) + { + case LANG_AFRIKAANS: return "af_ZA"; + case LANG_ALBANIAN: return "sq_AL"; + case LANG_AMHARIC: return "am_ET"; + case LANG_ARABIC: + switch (sub) + { + case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; + case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; + case SUBLANG_ARABIC_EGYPT: return "ar_EG"; + case SUBLANG_ARABIC_LIBYA: return "ar_LY"; + case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; + case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; + case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; + case SUBLANG_ARABIC_OMAN: return "ar_OM"; + case SUBLANG_ARABIC_YEMEN: return "ar_YE"; + case SUBLANG_ARABIC_SYRIA: return "ar_SY"; + case SUBLANG_ARABIC_JORDAN: return "ar_JO"; + case SUBLANG_ARABIC_LEBANON: return "ar_LB"; + case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; + case SUBLANG_ARABIC_UAE: return "ar_AE"; + case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; + case SUBLANG_ARABIC_QATAR: return "ar_QA"; + } + return "ar"; + case LANG_ARMENIAN: return "hy_AM"; + case LANG_ASSAMESE: return "as_IN"; + case LANG_AZERI: + switch (sub) + { + /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ + case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; + case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; + } + return "az"; + case LANG_BASQUE: + switch (sub) + { + case SUBLANG_DEFAULT: return "eu_ES"; + } + return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ + case LANG_BELARUSIAN: return "be_BY"; + case LANG_BENGALI: + switch (sub) + { + case SUBLANG_BENGALI_INDIA: return "bn_IN"; + case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; + } + return "bn"; + case LANG_BULGARIAN: return "bg_BG"; + case LANG_BURMESE: return "my_MM"; + case LANG_CAMBODIAN: return "km_KH"; + case LANG_CATALAN: return "ca_ES"; + case LANG_CHEROKEE: return "chr_US"; + case LANG_CHINESE: + switch (sub) + { + case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; + case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; + case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; + case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; + case SUBLANG_CHINESE_MACAU: return "zh_MO"; + } + return "zh"; + case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. @@ -513,260 +1169,332 @@ * or Croatian.) * (I can feel those flames coming already.) */ - switch (sub) - { - case SUBLANG_DEFAULT: return "hr_HR"; - case SUBLANG_SERBIAN_LATIN: return "sr_YU"; - case SUBLANG_SERBIAN_CYRILLIC: return "sr_YU@cyrillic"; - } - return "hr"; - case LANG_CZECH: return "cs_CZ"; - case LANG_DANISH: return "da_DK"; - case LANG_DIVEHI: return "div_MV"; - case LANG_DUTCH: - switch (sub) - { - case SUBLANG_DUTCH: return "nl_NL"; - case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; - } - return "nl"; - case 0x66: /* EDO */ return "bin_NG"; - case LANG_ENGLISH: - switch (sub) - { - /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought - * English was the language spoken in England. - * Oh well. - */ - case SUBLANG_ENGLISH_US: return "en_US"; - case SUBLANG_ENGLISH_UK: return "en_GB"; - case SUBLANG_ENGLISH_AUS: return "en_AU"; - case SUBLANG_ENGLISH_CAN: return "en_CA"; - case SUBLANG_ENGLISH_NZ: return "en_NZ"; - case SUBLANG_ENGLISH_EIRE: return "en_IE"; - case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; - case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; - case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ - case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; - case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; - case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; - case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; - } - return "en"; - case LANG_ESTONIAN: return "et_EE"; - case LANG_FAEROESE: return "fo_FO"; - case LANG_FARSI: return "fa_IR"; - case LANG_FINNISH: return "fi_FI"; - case LANG_FRENCH: - switch (sub) - { - case SUBLANG_FRENCH: return "fr_FR"; - case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; - case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; - case SUBLANG_FRENCH_SWISS: return "fr_CH"; - case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; - case SUBLANG_FRENCH_MONACO: return "fr_MC"; - } - return "fr"; - case 0x62: /* FRISIAN */ return "fy_NL"; - case 0x67: /* FULFULDE */ return "ful_NG"; - case 0x3c: /* GAELIC */ - switch (sub) - { - case 0x01: /* SCOTTISH */ return "gd_GB"; - case 0x02: /* IRISH */ return "ga_IE"; - } - return "C"; - case LANG_GALICIAN: return "gl_ES"; - case LANG_GEORGIAN: return "ka_GE"; - case LANG_GERMAN: - switch (sub) - { - case SUBLANG_GERMAN: return "de_DE"; - case SUBLANG_GERMAN_SWISS: return "de_CH"; - case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; - case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; - case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; - } - return "de"; - case LANG_GREEK: return "el_GR"; - case 0x74: /* GUARANI */ return "gn_PY"; - case LANG_GUJARATI: return "gu_IN"; - case 0x68: /* HAUSA */ return "ha_NG"; - case 0x75: /* HAWAIIAN */ - /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) - or Hawaii Creole English ("cpe_US", 600000 speakers)? */ - return "cpe_US"; - case LANG_HEBREW: return "he_IL"; - case LANG_HINDI: return "hi_IN"; - case LANG_HUNGARIAN: return "hu_HU"; - case 0x69: /* IBIBIO */ return "nic_NG"; - case LANG_ICELANDIC: return "is_IS"; - case 0x70: /* IGBO */ return "ibo_NG"; - case LANG_INDONESIAN: return "id_ID"; - case 0x5d: /* INUKTITUT */ return "iu_CA"; - case LANG_ITALIAN: - switch (sub) - { - case SUBLANG_ITALIAN: return "it_IT"; - case SUBLANG_ITALIAN_SWISS: return "it_CH"; - } - return "it"; - case LANG_JAPANESE: return "ja_JP"; - case LANG_KANNADA: return "kn_IN"; - case 0x71: /* KANURI */ return "kau_NG"; - case LANG_KASHMIRI: - switch (sub) - { - case SUBLANG_DEFAULT: return "ks_PK"; - case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; - } - return "ks"; - case LANG_KAZAK: return "kk_KZ"; - case LANG_KONKANI: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "kok_IN"; - case LANG_KOREAN: return "ko_KR"; - case LANG_KYRGYZ: return "ky_KG"; - case 0x54: /* LAO */ return "lo_LA"; - case 0x76: /* LATIN */ return "la_VA"; - case LANG_LATVIAN: return "lv_LV"; - case LANG_LITHUANIAN: return "lt_LT"; - case LANG_MACEDONIAN: return "mk_MK"; - case LANG_MALAY: - switch (sub) - { - case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; - case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; - } - return "ms"; - case LANG_MALAYALAM: return "ml_IN"; - case 0x3a: /* MALTESE */ return "mt_MT"; - case LANG_MANIPURI: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "mni_IN"; - case LANG_MARATHI: return "mr_IN"; - case LANG_MONGOLIAN: - return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ - case LANG_NEPALI: - switch (sub) - { - case SUBLANG_DEFAULT: return "ne_NP"; - case SUBLANG_NEPALI_INDIA: return "ne_IN"; - } - return "ne"; - case LANG_NORWEGIAN: - switch (sub) - { - case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO"; - case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; - } - return "no"; - case LANG_ORIYA: return "or_IN"; - case 0x72: /* OROMO */ return "om_ET"; - case 0x79: /* PAPIAMENTU */ return "pap_AN"; - case 0x63: /* PASHTO */ - return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ - case LANG_POLISH: return "pl_PL"; - case LANG_PORTUGUESE: - switch (sub) - { - case SUBLANG_PORTUGUESE: return "pt_PT"; - /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. - Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ - case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; - } - return "pt"; - case LANG_PUNJABI: return "pa_IN"; - case 0x17: /* RHAETO-ROMANCE */ return "rm_CH"; - case LANG_ROMANIAN: return "ro_RO"; - case LANG_RUSSIAN: - return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA". */ - case 0x3b: /* SAMI */ return "se_NO"; - case LANG_SANSKRIT: return "sa_IN"; - case LANG_SINDHI: return "sd"; - case 0x5b: /* SINHALESE */ return "si_LK"; - case LANG_SLOVAK: return "sk_SK"; - case LANG_SLOVENIAN: return "sl_SI"; - case 0x77: /* SOMALI */ return "so_SO"; - case LANG_SORBIAN: - /* FIXME: Adjust this when such locales appear on Unix. */ - return "wen_DE"; - case LANG_SPANISH: - switch (sub) - { - case SUBLANG_SPANISH: return "es_ES"; - case SUBLANG_SPANISH_MEXICAN: return "es_MX"; - case SUBLANG_SPANISH_MODERN: - return "es_ES@modern"; /* not seen on Unix */ - case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; - case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; - case SUBLANG_SPANISH_PANAMA: return "es_PA"; - case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; - case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; - case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; - case SUBLANG_SPANISH_PERU: return "es_PE"; - case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; - case SUBLANG_SPANISH_ECUADOR: return "es_EC"; - case SUBLANG_SPANISH_CHILE: return "es_CL"; - case SUBLANG_SPANISH_URUGUAY: return "es_UY"; - case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; - case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; - case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; - case SUBLANG_SPANISH_HONDURAS: return "es_HN"; - case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; - case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; - } - return "es"; - case 0x30: /* SUTU */ return "bnt_TZ"; - case LANG_SWAHILI: return "sw_KE"; - case LANG_SWEDISH: - switch (sub) - { - case SUBLANG_DEFAULT: return "sv_SE"; - case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; - } - return "sv"; - case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ - case 0x64: /* TAGALOG */ return "tl_PH"; - case 0x28: /* TAJIK */ return "tg_TJ"; - case 0x5f: /* TAMAZIGHT */ return "ber_MA"; - case LANG_TAMIL: - return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ - case LANG_TATAR: return "tt_RU"; - case LANG_TELUGU: return "te_IN"; - case LANG_THAI: return "th_TH"; - case 0x51: /* TIBETAN */ return "bo_CN"; - case 0x73: /* TIGRINYA */ return "ti_ET"; - case 0x31: /* TSONGA */ return "ts_ZA"; - case LANG_TURKISH: return "tr_TR"; - case 0x42: /* TURKMEN */ return "tk_TM"; - case LANG_UKRAINIAN: return "uk_UA"; - case LANG_URDU: - switch (sub) - { - case SUBLANG_URDU_PAKISTAN: return "ur_PK"; - case SUBLANG_URDU_INDIA: return "ur_IN"; - } - return "ur"; - case LANG_UZBEK: - switch (sub) - { - /* FIXME: Adjust this when Uzbek locales appear on Unix. */ - case SUBLANG_UZBEK_LATIN: return "uz_UZ@latin"; - case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; - } - return "uz"; - case 0x33: /* VENDA */ return "ven_ZA"; - case LANG_VIETNAMESE: return "vi_VN"; - case 0x52: /* WELSH */ return "cy_GB"; - case 0x34: /* XHOSA */ return "xh_ZA"; - case 0x78: /* YI */ return "sit_CN"; - case 0x3d: /* YIDDISH */ return "yi_IL"; - case 0x6a: /* YORUBA */ return "yo_NG"; - case 0x35: /* ZULU */ return "zu_ZA"; - default: return "C"; - } - + switch (sub) + { + case SUBLANG_DEFAULT: return "hr_HR"; + case SUBLANG_SERBIAN_LATIN: return "sr_CS"; + case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; + } + return "hr"; + case LANG_CZECH: return "cs_CZ"; + case LANG_DANISH: return "da_DK"; + case LANG_DIVEHI: return "dv_MV"; + case LANG_DUTCH: + switch (sub) + { + case SUBLANG_DUTCH: return "nl_NL"; + case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; + } + return "nl"; + case LANG_EDO: return "bin_NG"; + case LANG_ENGLISH: + switch (sub) + { + /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought + * English was the language spoken in England. + * Oh well. + */ + case SUBLANG_ENGLISH_US: return "en_US"; + case SUBLANG_ENGLISH_UK: return "en_GB"; + case SUBLANG_ENGLISH_AUS: return "en_AU"; + case SUBLANG_ENGLISH_CAN: return "en_CA"; + case SUBLANG_ENGLISH_NZ: return "en_NZ"; + case SUBLANG_ENGLISH_EIRE: return "en_IE"; + case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; + case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; + case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ + case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; + case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; + case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; + case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; + case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; + case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; + case SUBLANG_ENGLISH_INDIA: return "en_IN"; + case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; + case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; + } + return "en"; + case LANG_ESTONIAN: return "et_EE"; + case LANG_FAEROESE: return "fo_FO"; + case LANG_FARSI: return "fa_IR"; + case LANG_FINNISH: return "fi_FI"; + case LANG_FRENCH: + switch (sub) + { + case SUBLANG_FRENCH: return "fr_FR"; + case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; + case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; + case SUBLANG_FRENCH_SWISS: return "fr_CH"; + case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; + case SUBLANG_FRENCH_MONACO: return "fr_MC"; + case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ + case SUBLANG_FRENCH_REUNION: return "fr_RE"; + case SUBLANG_FRENCH_CONGO: return "fr_CG"; + case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; + case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; + case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; + case SUBLANG_FRENCH_MALI: return "fr_ML"; + case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; + case SUBLANG_FRENCH_HAITI: return "fr_HT"; + } + return "fr"; + case LANG_FRISIAN: return "fy_NL"; + case LANG_FULFULDE: + /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ + return "ff_NG"; + case LANG_GAELIC: + switch (sub) + { + case 0x01: /* SCOTTISH */ return "gd_GB"; + case 0x02: /* IRISH */ return "ga_IE"; + } + return "C"; + case LANG_GALICIAN: return "gl_ES"; + case LANG_GEORGIAN: return "ka_GE"; + case LANG_GERMAN: + switch (sub) + { + case SUBLANG_GERMAN: return "de_DE"; + case SUBLANG_GERMAN_SWISS: return "de_CH"; + case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; + case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; + case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; + } + return "de"; + case LANG_GREEK: return "el_GR"; + case LANG_GUARANI: return "gn_PY"; + case LANG_GUJARATI: return "gu_IN"; + case LANG_HAUSA: return "ha_NG"; + case LANG_HAWAIIAN: + /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) + or Hawaii Creole English ("cpe_US", 600000 speakers)? */ + return "cpe_US"; + case LANG_HEBREW: return "he_IL"; + case LANG_HINDI: return "hi_IN"; + case LANG_HUNGARIAN: return "hu_HU"; + case LANG_IBIBIO: return "nic_NG"; + case LANG_ICELANDIC: return "is_IS"; + case LANG_IGBO: return "ig_NG"; + case LANG_INDONESIAN: return "id_ID"; + case LANG_INUKTITUT: return "iu_CA"; + case LANG_ITALIAN: + switch (sub) + { + case SUBLANG_ITALIAN: return "it_IT"; + case SUBLANG_ITALIAN_SWISS: return "it_CH"; + } + return "it"; + case LANG_JAPANESE: return "ja_JP"; + case LANG_KANNADA: return "kn_IN"; + case LANG_KANURI: return "kr_NG"; + case LANG_KASHMIRI: + switch (sub) + { + case SUBLANG_DEFAULT: return "ks_PK"; + case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; + } + return "ks"; + case LANG_KAZAK: return "kk_KZ"; + case LANG_KONKANI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "kok_IN"; + case LANG_KOREAN: return "ko_KR"; + case LANG_KYRGYZ: return "ky_KG"; + case LANG_LAO: return "lo_LA"; + case LANG_LATIN: return "la_VA"; + case LANG_LATVIAN: return "lv_LV"; + case LANG_LITHUANIAN: return "lt_LT"; + case LANG_MACEDONIAN: return "mk_MK"; + case LANG_MALAY: + switch (sub) + { + case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; + case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; + } + return "ms"; + case LANG_MALAYALAM: return "ml_IN"; + case LANG_MALTESE: return "mt_MT"; + case LANG_MANIPURI: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "mni_IN"; + case LANG_MARATHI: return "mr_IN"; + case LANG_MONGOLIAN: + switch (sub) + { + case SUBLANG_DEFAULT: return "mn_MN"; + } + return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ + case LANG_NEPALI: + switch (sub) + { + case SUBLANG_DEFAULT: return "ne_NP"; + case SUBLANG_NEPALI_INDIA: return "ne_IN"; + } + return "ne"; + case LANG_NORWEGIAN: + switch (sub) + { + case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; + case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; + } + return "no"; + case LANG_ORIYA: return "or_IN"; + case LANG_OROMO: return "om_ET"; + case LANG_PAPIAMENTU: return "pap_AN"; + case LANG_PASHTO: + return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ + case LANG_POLISH: return "pl_PL"; + case LANG_PORTUGUESE: + switch (sub) + { + case SUBLANG_PORTUGUESE: return "pt_PT"; + /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. + Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ + case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; + } + return "pt"; + case LANG_PUNJABI: + switch (sub) + { + case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ + case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ + } + return "pa"; + case LANG_RHAETO_ROMANCE: return "rm_CH"; + case LANG_ROMANIAN: + switch (sub) + { + case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; + case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; + } + return "ro"; + case LANG_RUSSIAN: + switch (sub) + { + case SUBLANG_DEFAULT: return "ru_RU"; + } + return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ + case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; + case LANG_SANSKRIT: return "sa_IN"; + case LANG_SINDHI: + switch (sub) + { + case SUBLANG_SINDHI_INDIA: return "sd_IN"; + case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; + } + return "sd"; + case LANG_SINHALESE: return "si_LK"; + case LANG_SLOVAK: return "sk_SK"; + case LANG_SLOVENIAN: return "sl_SI"; + case LANG_SOMALI: return "so_SO"; + case LANG_SORBIAN: + /* FIXME: Adjust this when such locales appear on Unix. */ + return "wen_DE"; + case LANG_SPANISH: + switch (sub) + { + case SUBLANG_SPANISH: return "es_ES"; + case SUBLANG_SPANISH_MEXICAN: return "es_MX"; + case SUBLANG_SPANISH_MODERN: + return "es_ES@modern"; /* not seen on Unix */ + case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; + case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; + case SUBLANG_SPANISH_PANAMA: return "es_PA"; + case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; + case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; + case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; + case SUBLANG_SPANISH_PERU: return "es_PE"; + case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; + case SUBLANG_SPANISH_ECUADOR: return "es_EC"; + case SUBLANG_SPANISH_CHILE: return "es_CL"; + case SUBLANG_SPANISH_URUGUAY: return "es_UY"; + case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; + case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; + case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; + case SUBLANG_SPANISH_HONDURAS: return "es_HN"; + case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; + case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; + } + return "es"; + case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ + case LANG_SWAHILI: return "sw_KE"; + case LANG_SWEDISH: + switch (sub) + { + case SUBLANG_DEFAULT: return "sv_SE"; + case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; + } + return "sv"; + case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ + case LANG_TAGALOG: return "tl_PH"; + case LANG_TAJIK: return "tg_TJ"; + case LANG_TAMAZIGHT: + switch (sub) + { + /* FIXME: Adjust this when Tamazight locales appear on Unix. */ + case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; + case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin"; + } + return "ber_MA"; + case LANG_TAMIL: + switch (sub) + { + case SUBLANG_DEFAULT: return "ta_IN"; + } + return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ + case LANG_TATAR: return "tt_RU"; + case LANG_TELUGU: return "te_IN"; + case LANG_THAI: return "th_TH"; + case LANG_TIBETAN: return "bo_CN"; + case LANG_TIGRINYA: + switch (sub) + { + case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; + case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; + } + return "ti"; + case LANG_TSONGA: return "ts_ZA"; + case LANG_TSWANA: return "tn_BW"; + case LANG_TURKISH: return "tr_TR"; + case LANG_TURKMEN: return "tk_TM"; + case LANG_UKRAINIAN: return "uk_UA"; + case LANG_URDU: + switch (sub) + { + case SUBLANG_URDU_PAKISTAN: return "ur_PK"; + case SUBLANG_URDU_INDIA: return "ur_IN"; + } + return "ur"; + case LANG_UZBEK: + switch (sub) + { + case SUBLANG_UZBEK_LATIN: return "uz_UZ"; + case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; + } + return "uz"; + case LANG_VENDA: return "ve_ZA"; + case LANG_VIETNAMESE: return "vi_VN"; + case LANG_WELSH: return "cy_GB"; + case LANG_XHOSA: return "xh_ZA"; + case LANG_YI: return "sit_CN"; + case LANG_YIDDISH: return "yi_IL"; + case LANG_YORUBA: return "yo_NG"; + case LANG_ZULU: return "zu_ZA"; + default: return "C"; + } + } +# endif #endif } + +const char * +_nl_locale_name (int category, const char *categoryname) +{ + const char *retval; + + retval = _nl_locale_name_posix (category, categoryname); + if (retval != NULL) + return retval; + + return _nl_locale_name_default (); +} Index: intl/log.c diff -u -r -N sharutils-4.3.78/intl/log.c sharutils-4.3.79/intl/log.c --- sharutils-4.3.78/intl/log.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/log.c 2005-04-25 20:07:26.000000000 -0700 @@ -0,0 +1,98 @@ +/* Log file output. + 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Written by Bruno Haible . */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include + +/* Print an ASCII string with quotes and escape sequences where needed. */ +static void +print_escaped (FILE *stream, const char *str) +{ + putc ('"', stream); + for (; *str != '\0'; str++) + if (*str == '\n') + { + fputs ("\\n\"", stream); + if (str[1] == '\0') + return; + fputs ("\n\"", stream); + } + else + { + if (*str == '"' || *str == '\\') + putc ('\\', stream); + putc (*str, stream); + } + putc ('"', stream); +} + +/* Add to the log file an entry denoting a failed translation. */ +void +_nl_log_untranslated (const char *logfilename, const char *domainname, + const char *msgid1, const char *msgid2, int plural) +{ + static char *last_logfilename = NULL; + static FILE *last_logfile = NULL; + FILE *logfile; + + /* Can we reuse the last opened logfile? */ + if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) + { + /* Close the last used logfile. */ + if (last_logfilename != NULL) + { + if (last_logfile != NULL) + { + fclose (last_logfile); + last_logfile = NULL; + } + free (last_logfilename); + last_logfilename = NULL; + } + /* Open the logfile. */ + last_logfilename = (char *) malloc (strlen (logfilename) + 1); + if (last_logfilename == NULL) + return; + strcpy (last_logfilename, logfilename); + last_logfile = fopen (logfilename, "a"); + if (last_logfile == NULL) + return; + } + logfile = last_logfile; + + fprintf (logfile, "domain "); + print_escaped (logfile, domainname); + fprintf (logfile, "\nmsgid "); + print_escaped (logfile, msgid1); + if (plural) + { + fprintf (logfile, "\nmsgid_plural "); + print_escaped (logfile, msgid2); + fprintf (logfile, "\nmsgstr[0] \"\"\n"); + } + else + fprintf (logfile, "\nmsgstr \"\"\n"); + putc ('\n', logfile); +} Index: intl/ngettext.c diff -u -r -N sharutils-4.3.78/intl/ngettext.c sharutils-4.3.79/intl/ngettext.c --- sharutils-4.3.78/intl/ngettext.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/ngettext.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of ngettext(3) function. - Copyright (C) 1995, 1997, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -44,7 +44,7 @@ prefix. So we have to make a difference here. */ #ifdef _LIBC # define NGETTEXT __ngettext -# define DCNGETTEXT INTUSE(__dcngettext) +# define DCNGETTEXT __dcngettext #else # define NGETTEXT libintl_ngettext # define DCNGETTEXT libintl_dcngettext @@ -54,10 +54,7 @@ LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * -NGETTEXT (msgid1, msgid2, n) - const char *msgid1; - const char *msgid2; - unsigned long int n; +NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); } Index: intl/plural-exp.c diff -u -r -N sharutils-4.3.78/intl/plural-exp.c sharutils-4.3.79/intl/plural-exp.c --- sharutils-4.3.78/intl/plural-exp.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/plural-exp.c 2005-04-25 20:07:26.000000000 -0700 @@ -1,5 +1,5 @@ /* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it @@ -96,10 +96,8 @@ void internal_function -EXTRACT_PLURAL_EXPRESSION (nullentry, pluralp, npluralsp) - const char *nullentry; - struct expression **pluralp; - unsigned long int *npluralsp; +EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp, + unsigned long int *npluralsp) { if (nullentry != NULL) { Index: intl/plural-exp.h diff -u -r -N sharutils-4.3.78/intl/plural-exp.h sharutils-4.3.79/intl/plural-exp.h --- sharutils-4.3.78/intl/plural-exp.h 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/plural-exp.h 2005-04-25 20:07:27.000000000 -0700 @@ -1,5 +1,5 @@ /* Expression parsing and evaluation for plural form selection. - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2000-2003 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it @@ -20,14 +20,6 @@ #ifndef _PLURAL_EXP_H #define _PLURAL_EXP_H -#ifndef PARAMS -# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - #ifndef internal_function # define internal_function #endif @@ -109,18 +101,18 @@ # define EXTRACT_PLURAL_EXPRESSION extract_plural_expression #endif -extern void FREE_EXPRESSION PARAMS ((struct expression *exp)) +extern void FREE_EXPRESSION (struct expression *exp) internal_function; -extern int PLURAL_PARSE PARAMS ((void *arg)); +extern int PLURAL_PARSE (void *arg); extern struct expression GERMANIC_PLURAL attribute_hidden; -extern void EXTRACT_PLURAL_EXPRESSION PARAMS ((const char *nullentry, - struct expression **pluralp, - unsigned long int *npluralsp)) +extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, + struct expression **pluralp, + unsigned long int *npluralsp) internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) -extern unsigned long int plural_eval PARAMS ((struct expression *pexp, - unsigned long int n)); +extern unsigned long int plural_eval (struct expression *pexp, + unsigned long int n); #endif #endif /* _PLURAL_EXP_H */ Index: intl/plural.c diff -u -r -N sharutils-4.3.78/intl/plural.c sharutils-4.3.79/intl/plural.c --- sharutils-4.3.78/intl/plural.c 2005-01-23 10:51:59.000000000 -0800 +++ sharutils-4.3.79/intl/plural.c 2005-04-25 20:08:34.000000000 -0700 @@ -79,10 +79,10 @@ /* Copy the first part of user declarations. */ -#line 1 "../../intl/plural.y" +#line 1 "plural.y" /* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it @@ -140,7 +140,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 49 "../../intl/plural.y" +#line 49 "plural.y" typedef union YYSTYPE { unsigned long int num; enum operator op; @@ -156,31 +156,16 @@ /* Copy the second part of user declarations. */ -#line 55 "../../intl/plural.y" +#line 55 "plural.y" /* Prototypes for local functions. */ -static struct expression *new_exp PARAMS ((int nargs, enum operator op, - struct expression * const *args)); -static inline struct expression *new_exp_0 PARAMS ((enum operator op)); -static inline struct expression *new_exp_1 PARAMS ((enum operator op, - struct expression *right)); -static struct expression *new_exp_2 PARAMS ((enum operator op, - struct expression *left, - struct expression *right)); -static inline struct expression *new_exp_3 PARAMS ((enum operator op, - struct expression *bexp, - struct expression *tbranch, - struct expression *fbranch)); -static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); -static void yyerror PARAMS ((const char *str)); +static int yylex (YYSTYPE *lval, const char **pexp); +static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * -new_exp (nargs, op, args) - int nargs; - enum operator op; - struct expression * const *args; +new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; @@ -209,16 +194,13 @@ } static inline struct expression * -new_exp_0 (op) - enum operator op; +new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * -new_exp_1 (op, right) - enum operator op; - struct expression *right; +new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; @@ -227,10 +209,7 @@ } static struct expression * -new_exp_2 (op, left, right) - enum operator op; - struct expression *left; - struct expression *right; +new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; @@ -240,11 +219,8 @@ } static inline struct expression * -new_exp_3 (op, bexp, tbranch, fbranch) - enum operator op; - struct expression *bexp; - struct expression *tbranch; - struct expression *fbranch; +new_exp_3 (enum operator op, struct expression *bexp, + struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; @@ -257,7 +233,7 @@ /* Line 214 of yacc.c. */ -#line 260 "plural.c" +#line 236 "plural.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -428,8 +404,8 @@ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned char yyrline[] = { - 0, 174, 174, 182, 186, 190, 194, 198, 202, 206, - 210, 214, 218, 223 + 0, 150, 150, 158, 162, 166, 170, 174, 178, 182, + 186, 190, 194, 199 }; #endif @@ -1141,7 +1117,7 @@ switch (yyn) { case 2: -#line 175 "../../intl/plural.y" +#line 151 "plural.y" { if (yyvsp[0].exp == NULL) YYABORT; @@ -1150,70 +1126,70 @@ break; case 3: -#line 183 "../../intl/plural.y" +#line 159 "plural.y" { yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); } break; case 4: -#line 187 "../../intl/plural.y" +#line 163 "plural.y" { yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); } break; case 5: -#line 191 "../../intl/plural.y" +#line 167 "plural.y" { yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); } break; case 6: -#line 195 "../../intl/plural.y" +#line 171 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 7: -#line 199 "../../intl/plural.y" +#line 175 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 8: -#line 203 "../../intl/plural.y" +#line 179 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 9: -#line 207 "../../intl/plural.y" +#line 183 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 10: -#line 211 "../../intl/plural.y" +#line 187 "plural.y" { yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); } break; case 11: -#line 215 "../../intl/plural.y" +#line 191 "plural.y" { yyval.exp = new_exp_0 (var); } break; case 12: -#line 219 "../../intl/plural.y" +#line 195 "plural.y" { if ((yyval.exp = new_exp_0 (num)) != NULL) yyval.exp->val.num = yyvsp[0].num; @@ -1221,7 +1197,7 @@ break; case 13: -#line 224 "../../intl/plural.y" +#line 200 "plural.y" { yyval.exp = yyvsp[-1].exp; } @@ -1231,7 +1207,7 @@ } /* Line 991 of yacc.c. */ -#line 1234 "plural.c" +#line 1210 "plural.c" yyvsp -= yylen; yyssp -= yylen; @@ -1441,13 +1417,12 @@ } -#line 229 "../../intl/plural.y" +#line 205 "plural.y" void internal_function -FREE_EXPRESSION (exp) - struct expression *exp; +FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; @@ -1473,9 +1448,7 @@ static int -yylex (lval, pexp) - YYSTYPE *lval; - const char **pexp; +yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; @@ -1618,8 +1591,7 @@ static void -yyerror (str) - const char *str; +yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } Index: intl/plural.y diff -u -r -N sharutils-4.3.78/intl/plural.y sharutils-4.3.79/intl/plural.y --- sharutils-4.3.78/intl/plural.y 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/plural.y 2005-04-25 20:07:27.000000000 -0700 @@ -1,6 +1,6 @@ %{ /* Expression parsing for plural form selection. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it @@ -54,28 +54,13 @@ %{ /* Prototypes for local functions. */ -static struct expression *new_exp PARAMS ((int nargs, enum operator op, - struct expression * const *args)); -static inline struct expression *new_exp_0 PARAMS ((enum operator op)); -static inline struct expression *new_exp_1 PARAMS ((enum operator op, - struct expression *right)); -static struct expression *new_exp_2 PARAMS ((enum operator op, - struct expression *left, - struct expression *right)); -static inline struct expression *new_exp_3 PARAMS ((enum operator op, - struct expression *bexp, - struct expression *tbranch, - struct expression *fbranch)); -static int yylex PARAMS ((YYSTYPE *lval, const char **pexp)); -static void yyerror PARAMS ((const char *str)); +static int yylex (YYSTYPE *lval, const char **pexp); +static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * -new_exp (nargs, op, args) - int nargs; - enum operator op; - struct expression * const *args; +new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; @@ -104,16 +89,13 @@ } static inline struct expression * -new_exp_0 (op) - enum operator op; +new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * -new_exp_1 (op, right) - enum operator op; - struct expression *right; +new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; @@ -122,10 +104,7 @@ } static struct expression * -new_exp_2 (op, left, right) - enum operator op; - struct expression *left; - struct expression *right; +new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; @@ -135,11 +114,8 @@ } static inline struct expression * -new_exp_3 (op, bexp, tbranch, fbranch) - enum operator op; - struct expression *bexp; - struct expression *tbranch; - struct expression *fbranch; +new_exp_3 (enum operator op, struct expression *bexp, + struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; @@ -230,8 +206,7 @@ void internal_function -FREE_EXPRESSION (exp) - struct expression *exp; +FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; @@ -257,9 +232,7 @@ static int -yylex (lval, pexp) - YYSTYPE *lval; - const char **pexp; +yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; @@ -402,8 +375,7 @@ static void -yyerror (str) - const char *str; +yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } Index: intl/printf-args.c diff -u -r -N sharutils-4.3.78/intl/printf-args.c sharutils-4.3.79/intl/printf-args.c --- sharutils-4.3.78/intl/printf-args.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/printf-args.c 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,119 @@ +/* Decomposed printf argument list. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +/* Specification. */ +#include "printf-args.h" + +#ifdef STATIC +STATIC +#endif +int +printf_fetchargs (va_list args, arguments *a) +{ + size_t i; + argument *ap; + + for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) + switch (ap->type) + { + case TYPE_SCHAR: + ap->a.a_schar = va_arg (args, /*signed char*/ int); + break; + case TYPE_UCHAR: + ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); + break; + case TYPE_SHORT: + ap->a.a_short = va_arg (args, /*short*/ int); + break; + case TYPE_USHORT: + ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); + break; + case TYPE_INT: + ap->a.a_int = va_arg (args, int); + break; + case TYPE_UINT: + ap->a.a_uint = va_arg (args, unsigned int); + break; + case TYPE_LONGINT: + ap->a.a_longint = va_arg (args, long int); + break; + case TYPE_ULONGINT: + ap->a.a_ulongint = va_arg (args, unsigned long int); + break; +#ifdef HAVE_LONG_LONG + case TYPE_LONGLONGINT: + ap->a.a_longlongint = va_arg (args, long long int); + break; + case TYPE_ULONGLONGINT: + ap->a.a_ulonglongint = va_arg (args, unsigned long long int); + break; +#endif + case TYPE_DOUBLE: + ap->a.a_double = va_arg (args, double); + break; +#ifdef HAVE_LONG_DOUBLE + case TYPE_LONGDOUBLE: + ap->a.a_longdouble = va_arg (args, long double); + break; +#endif + case TYPE_CHAR: + ap->a.a_char = va_arg (args, int); + break; +#ifdef HAVE_WINT_T + case TYPE_WIDE_CHAR: + ap->a.a_wide_char = va_arg (args, wint_t); + break; +#endif + case TYPE_STRING: + ap->a.a_string = va_arg (args, const char *); + break; +#ifdef HAVE_WCHAR_T + case TYPE_WIDE_STRING: + ap->a.a_wide_string = va_arg (args, const wchar_t *); + break; +#endif + case TYPE_POINTER: + ap->a.a_pointer = va_arg (args, void *); + break; + case TYPE_COUNT_SCHAR_POINTER: + ap->a.a_count_schar_pointer = va_arg (args, signed char *); + break; + case TYPE_COUNT_SHORT_POINTER: + ap->a.a_count_short_pointer = va_arg (args, short *); + break; + case TYPE_COUNT_INT_POINTER: + ap->a.a_count_int_pointer = va_arg (args, int *); + break; + case TYPE_COUNT_LONGINT_POINTER: + ap->a.a_count_longint_pointer = va_arg (args, long int *); + break; +#ifdef HAVE_LONG_LONG + case TYPE_COUNT_LONGLONGINT_POINTER: + ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); + break; +#endif + default: + /* Unknown type. */ + return -1; + } + return 0; +} Index: intl/printf-args.h diff -u -r -N sharutils-4.3.78/intl/printf-args.h sharutils-4.3.79/intl/printf-args.h --- sharutils-4.3.78/intl/printf-args.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/printf-args.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,137 @@ +/* Decomposed printf argument list. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _PRINTF_ARGS_H +#define _PRINTF_ARGS_H + +/* Get size_t. */ +#include + +/* Get wchar_t. */ +#ifdef HAVE_WCHAR_T +# include +#endif + +/* Get wint_t. */ +#ifdef HAVE_WINT_T +# include +#endif + +/* Get va_list. */ +#include + + +/* Argument types */ +typedef enum +{ + TYPE_NONE, + TYPE_SCHAR, + TYPE_UCHAR, + TYPE_SHORT, + TYPE_USHORT, + TYPE_INT, + TYPE_UINT, + TYPE_LONGINT, + TYPE_ULONGINT, +#ifdef HAVE_LONG_LONG + TYPE_LONGLONGINT, + TYPE_ULONGLONGINT, +#endif + TYPE_DOUBLE, +#ifdef HAVE_LONG_DOUBLE + TYPE_LONGDOUBLE, +#endif + TYPE_CHAR, +#ifdef HAVE_WINT_T + TYPE_WIDE_CHAR, +#endif + TYPE_STRING, +#ifdef HAVE_WCHAR_T + TYPE_WIDE_STRING, +#endif + TYPE_POINTER, + TYPE_COUNT_SCHAR_POINTER, + TYPE_COUNT_SHORT_POINTER, + TYPE_COUNT_INT_POINTER, + TYPE_COUNT_LONGINT_POINTER +#ifdef HAVE_LONG_LONG +, TYPE_COUNT_LONGLONGINT_POINTER +#endif +} arg_type; + +/* Polymorphic argument */ +typedef struct +{ + arg_type type; + union + { + signed char a_schar; + unsigned char a_uchar; + short a_short; + unsigned short a_ushort; + int a_int; + unsigned int a_uint; + long int a_longint; + unsigned long int a_ulongint; +#ifdef HAVE_LONG_LONG + long long int a_longlongint; + unsigned long long int a_ulonglongint; +#endif + float a_float; + double a_double; +#ifdef HAVE_LONG_DOUBLE + long double a_longdouble; +#endif + int a_char; +#ifdef HAVE_WINT_T + wint_t a_wide_char; +#endif + const char* a_string; +#ifdef HAVE_WCHAR_T + const wchar_t* a_wide_string; +#endif + void* a_pointer; + signed char * a_count_schar_pointer; + short * a_count_short_pointer; + int * a_count_int_pointer; + long int * a_count_longint_pointer; +#ifdef HAVE_LONG_LONG + long long int * a_count_longlongint_pointer; +#endif + } + a; +} +argument; + +typedef struct +{ + size_t count; + argument *arg; +} +arguments; + + +/* Fetch the arguments, putting them into a. */ +#ifdef STATIC +STATIC +#else +extern +#endif +int printf_fetchargs (va_list args, arguments *a); + +#endif /* _PRINTF_ARGS_H */ Index: intl/printf-parse.c diff -u -r -N sharutils-4.3.78/intl/printf-parse.c sharutils-4.3.79/intl/printf-parse.c --- sharutils-4.3.78/intl/printf-parse.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/printf-parse.c 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,537 @@ +/* Formatted output to strings. + Copyright (C) 1999-2000, 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +/* Specification. */ +#if WIDE_CHAR_VERSION +# include "wprintf-parse.h" +#else +# include "printf-parse.h" +#endif + +/* Get size_t, NULL. */ +#include + +/* Get intmax_t. */ +#if HAVE_STDINT_H_WITH_UINTMAX +# include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +# include +#endif + +/* malloc(), realloc(), free(). */ +#include + +/* Checked size_t computations. */ +#include "xsize.h" + +#if WIDE_CHAR_VERSION +# define PRINTF_PARSE wprintf_parse +# define CHAR_T wchar_t +# define DIRECTIVE wchar_t_directive +# define DIRECTIVES wchar_t_directives +#else +# define PRINTF_PARSE printf_parse +# define CHAR_T char +# define DIRECTIVE char_directive +# define DIRECTIVES char_directives +#endif + +#ifdef STATIC +STATIC +#endif +int +PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) +{ + const CHAR_T *cp = format; /* pointer into format */ + size_t arg_posn = 0; /* number of regular arguments consumed */ + size_t d_allocated; /* allocated elements of d->dir */ + size_t a_allocated; /* allocated elements of a->arg */ + size_t max_width_length = 0; + size_t max_precision_length = 0; + + d->count = 0; + d_allocated = 1; + d->dir = malloc (d_allocated * sizeof (DIRECTIVE)); + if (d->dir == NULL) + /* Out of memory. */ + return -1; + + a->count = 0; + a_allocated = 0; + a->arg = NULL; + +#define REGISTER_ARG(_index_,_type_) \ + { \ + size_t n = (_index_); \ + if (n >= a_allocated) \ + { \ + size_t memory_size; \ + argument *memory; \ + \ + a_allocated = xtimes (a_allocated, 2); \ + if (a_allocated <= n) \ + a_allocated = xsum (n, 1); \ + memory_size = xtimes (a_allocated, sizeof (argument)); \ + if (size_overflow_p (memory_size)) \ + /* Overflow, would lead to out of memory. */ \ + goto error; \ + memory = (a->arg \ + ? realloc (a->arg, memory_size) \ + : malloc (memory_size)); \ + if (memory == NULL) \ + /* Out of memory. */ \ + goto error; \ + a->arg = memory; \ + } \ + while (a->count <= n) \ + a->arg[a->count++].type = TYPE_NONE; \ + if (a->arg[n].type == TYPE_NONE) \ + a->arg[n].type = (_type_); \ + else if (a->arg[n].type != (_type_)) \ + /* Ambiguous type for positional argument. */ \ + goto error; \ + } + + while (*cp != '\0') + { + CHAR_T c = *cp++; + if (c == '%') + { + size_t arg_index = ARG_NONE; + DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */ + + /* Initialize the next directive. */ + dp->dir_start = cp - 1; + dp->flags = 0; + dp->width_start = NULL; + dp->width_end = NULL; + dp->width_arg_index = ARG_NONE; + dp->precision_start = NULL; + dp->precision_end = NULL; + dp->precision_arg_index = ARG_NONE; + dp->arg_index = ARG_NONE; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory later. */ + goto error; + arg_index = n - 1; + cp = np + 1; + } + } + + /* Read the flags. */ + for (;;) + { + if (*cp == '\'') + { + dp->flags |= FLAG_GROUP; + cp++; + } + else if (*cp == '-') + { + dp->flags |= FLAG_LEFT; + cp++; + } + else if (*cp == '+') + { + dp->flags |= FLAG_SHOWSIGN; + cp++; + } + else if (*cp == ' ') + { + dp->flags |= FLAG_SPACE; + cp++; + } + else if (*cp == '#') + { + dp->flags |= FLAG_ALT; + cp++; + } + else if (*cp == '0') + { + dp->flags |= FLAG_ZERO; + cp++; + } + else + break; + } + + /* Parse the field width. */ + if (*cp == '*') + { + dp->width_start = cp; + cp++; + dp->width_end = cp; + if (max_width_length < 1) + max_width_length = 1; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory later. */ + goto error; + dp->width_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->width_arg_index == ARG_NONE) + { + dp->width_arg_index = arg_posn++; + if (dp->width_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->width_arg_index, TYPE_INT); + } + else if (*cp >= '0' && *cp <= '9') + { + size_t width_length; + + dp->width_start = cp; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->width_end = cp; + width_length = dp->width_end - dp->width_start; + if (max_width_length < width_length) + max_width_length = width_length; + } + + /* Parse the precision. */ + if (*cp == '.') + { + cp++; + if (*cp == '*') + { + dp->precision_start = cp - 1; + cp++; + dp->precision_end = cp; + if (max_precision_length < 2) + max_precision_length = 2; + + /* Test for positional argument. */ + if (*cp >= '0' && *cp <= '9') + { + const CHAR_T *np; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + ; + if (*np == '$') + { + size_t n = 0; + + for (np = cp; *np >= '0' && *np <= '9'; np++) + n = xsum (xtimes (n, 10), *np - '0'); + if (n == 0) + /* Positional argument 0. */ + goto error; + if (size_overflow_p (n)) + /* n too large, would lead to out of memory + later. */ + goto error; + dp->precision_arg_index = n - 1; + cp = np + 1; + } + } + if (dp->precision_arg_index == ARG_NONE) + { + dp->precision_arg_index = arg_posn++; + if (dp->precision_arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->precision_arg_index, TYPE_INT); + } + else + { + size_t precision_length; + + dp->precision_start = cp - 1; + for (; *cp >= '0' && *cp <= '9'; cp++) + ; + dp->precision_end = cp; + precision_length = dp->precision_end - dp->precision_start; + if (max_precision_length < precision_length) + max_precision_length = precision_length; + } + } + + { + arg_type type; + + /* Parse argument type/size specifiers. */ + { + int flags = 0; + + for (;;) + { + if (*cp == 'h') + { + flags |= (1 << (flags & 1)); + cp++; + } + else if (*cp == 'L') + { + flags |= 4; + cp++; + } + else if (*cp == 'l') + { + flags += 8; + cp++; + } +#ifdef HAVE_INTMAX_T + else if (*cp == 'j') + { + if (sizeof (intmax_t) > sizeof (long)) + { + /* intmax_t = long long */ + flags += 16; + } + else if (sizeof (intmax_t) > sizeof (int)) + { + /* intmax_t = long */ + flags += 8; + } + cp++; + } +#endif + else if (*cp == 'z' || *cp == 'Z') + { + /* 'z' is standardized in ISO C 99, but glibc uses 'Z' + because the warning facility in gcc-2.95.2 understands + only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ + if (sizeof (size_t) > sizeof (long)) + { + /* size_t = long long */ + flags += 16; + } + else if (sizeof (size_t) > sizeof (int)) + { + /* size_t = long */ + flags += 8; + } + cp++; + } + else if (*cp == 't') + { + if (sizeof (ptrdiff_t) > sizeof (long)) + { + /* ptrdiff_t = long long */ + flags += 16; + } + else if (sizeof (ptrdiff_t) > sizeof (int)) + { + /* ptrdiff_t = long */ + flags += 8; + } + cp++; + } + else + break; + } + + /* Read the conversion character. */ + c = *cp++; + switch (c) + { + case 'd': case 'i': +#ifdef HAVE_LONG_LONG + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGLONGINT; + else +#endif + if (flags >= 8) + type = TYPE_LONGINT; + else if (flags & 2) + type = TYPE_SCHAR; + else if (flags & 1) + type = TYPE_SHORT; + else + type = TYPE_INT; + break; + case 'o': case 'u': case 'x': case 'X': +#ifdef HAVE_LONG_LONG + if (flags >= 16 || (flags & 4)) + type = TYPE_ULONGLONGINT; + else +#endif + if (flags >= 8) + type = TYPE_ULONGINT; + else if (flags & 2) + type = TYPE_UCHAR; + else if (flags & 1) + type = TYPE_USHORT; + else + type = TYPE_UINT; + break; + case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': + case 'a': case 'A': +#ifdef HAVE_LONG_DOUBLE + if (flags >= 16 || (flags & 4)) + type = TYPE_LONGDOUBLE; + else +#endif + type = TYPE_DOUBLE; + break; + case 'c': + if (flags >= 8) +#ifdef HAVE_WINT_T + type = TYPE_WIDE_CHAR; +#else + goto error; +#endif + else + type = TYPE_CHAR; + break; +#ifdef HAVE_WINT_T + case 'C': + type = TYPE_WIDE_CHAR; + c = 'c'; + break; +#endif + case 's': + if (flags >= 8) +#ifdef HAVE_WCHAR_T + type = TYPE_WIDE_STRING; +#else + goto error; +#endif + else + type = TYPE_STRING; + break; +#ifdef HAVE_WCHAR_T + case 'S': + type = TYPE_WIDE_STRING; + c = 's'; + break; +#endif + case 'p': + type = TYPE_POINTER; + break; + case 'n': +#ifdef HAVE_LONG_LONG + if (flags >= 16 || (flags & 4)) + type = TYPE_COUNT_LONGLONGINT_POINTER; + else +#endif + if (flags >= 8) + type = TYPE_COUNT_LONGINT_POINTER; + else if (flags & 2) + type = TYPE_COUNT_SCHAR_POINTER; + else if (flags & 1) + type = TYPE_COUNT_SHORT_POINTER; + else + type = TYPE_COUNT_INT_POINTER; + break; + case '%': + type = TYPE_NONE; + break; + default: + /* Unknown conversion character. */ + goto error; + } + } + + if (type != TYPE_NONE) + { + dp->arg_index = arg_index; + if (dp->arg_index == ARG_NONE) + { + dp->arg_index = arg_posn++; + if (dp->arg_index == ARG_NONE) + /* arg_posn wrapped around. */ + goto error; + } + REGISTER_ARG (dp->arg_index, type); + } + dp->conversion = c; + dp->dir_end = cp; + } + + d->count++; + if (d->count >= d_allocated) + { + size_t memory_size; + DIRECTIVE *memory; + + d_allocated = xtimes (d_allocated, 2); + memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); + if (size_overflow_p (memory_size)) + /* Overflow, would lead to out of memory. */ + goto error; + memory = realloc (d->dir, memory_size); + if (memory == NULL) + /* Out of memory. */ + goto error; + d->dir = memory; + } + } + } + d->dir[d->count].dir_start = cp; + + d->max_width_length = max_width_length; + d->max_precision_length = max_precision_length; + return 0; + +error: + if (a->arg) + free (a->arg); + if (d->dir) + free (d->dir); + return -1; +} + +#undef DIRECTIVES +#undef DIRECTIVE +#undef CHAR_T +#undef PRINTF_PARSE Index: intl/printf-parse.h diff -u -r -N sharutils-4.3.78/intl/printf-parse.h sharutils-4.3.79/intl/printf-parse.h --- sharutils-4.3.78/intl/printf-parse.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/printf-parse.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,75 @@ +/* Parse printf format string. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _PRINTF_PARSE_H +#define _PRINTF_PARSE_H + +#include "printf-args.h" + + +/* Flags */ +#define FLAG_GROUP 1 /* ' flag */ +#define FLAG_LEFT 2 /* - flag */ +#define FLAG_SHOWSIGN 4 /* + flag */ +#define FLAG_SPACE 8 /* space flag */ +#define FLAG_ALT 16 /* # flag */ +#define FLAG_ZERO 32 + +/* arg_index value indicating that no argument is consumed. */ +#define ARG_NONE (~(size_t)0) + +/* A parsed directive. */ +typedef struct +{ + const char* dir_start; + const char* dir_end; + int flags; + const char* width_start; + const char* width_end; + size_t width_arg_index; + const char* precision_start; + const char* precision_end; + size_t precision_arg_index; + char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ + size_t arg_index; +} +char_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + char_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +char_directives; + + +/* Parses the format string. Fills in the number N of directives, and fills + in directives[0], ..., directives[N-1], and sets directives[N].dir_start + to the end of the format string. Also fills in the arg_type fields of the + arguments and the needed count of arguments. */ +#ifdef STATIC +STATIC +#else +extern +#endif +int printf_parse (const char *format, char_directives *d, arguments *a); + +#endif /* _PRINTF_PARSE_H */ Index: intl/printf.c diff -u -r -N sharutils-4.3.78/intl/printf.c sharutils-4.3.79/intl/printf.c --- sharutils-4.3.78/intl/printf.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/printf.c 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,371 @@ +/* Formatted output to strings, using POSIX/XSI format strings with positions. + Copyright (C) 2003 Free Software Foundation, Inc. + Written by Bruno Haible , 2003. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#ifdef __GNUC__ +# define alloca __builtin_alloca +# define HAVE_ALLOCA 1 +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if defined HAVE_ALLOCA_H || defined _LIBC +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +#include + +#if !HAVE_POSIX_PRINTF + +#include +#include + +/* When building a DLL, we must export some functions. Note that because + the functions are only defined for binary backward compatibility, we + don't need to use __declspec(dllimport) in any case. */ +#if defined _MSC_VER && BUILDING_DLL +# define DLL_EXPORTED __declspec(dllexport) +#else +# define DLL_EXPORTED +#endif + +#define STATIC static + +/* Define auxiliary functions declared in "printf-args.h". */ +#include "printf-args.c" + +/* Define auxiliary functions declared in "printf-parse.h". */ +#include "printf-parse.c" + +/* Define functions declared in "vasnprintf.h". */ +#define vasnprintf libintl_vasnprintf +#include "vasnprintf.c" +#if 0 /* not needed */ +#define asnprintf libintl_asnprintf +#include "asnprintf.c" +#endif + +DLL_EXPORTED +int +libintl_vfprintf (FILE *stream, const char *format, va_list args) +{ + if (strchr (format, '$') == NULL) + return vfprintf (stream, format, args); + else + { + size_t length; + char *result = libintl_vasnprintf (NULL, &length, format, args); + int retval = -1; + if (result != NULL) + { + if (fwrite (result, 1, length, stream) == length) + retval = length; + free (result); + } + return retval; + } +} + +DLL_EXPORTED +int +libintl_fprintf (FILE *stream, const char *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vfprintf (stream, format, args); + va_end (args); + return retval; +} + +DLL_EXPORTED +int +libintl_vprintf (const char *format, va_list args) +{ + return libintl_vfprintf (stdout, format, args); +} + +DLL_EXPORTED +int +libintl_printf (const char *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vprintf (format, args); + va_end (args); + return retval; +} + +DLL_EXPORTED +int +libintl_vsprintf (char *resultbuf, const char *format, va_list args) +{ + if (strchr (format, '$') == NULL) + return vsprintf (resultbuf, format, args); + else + { + size_t length = (size_t) ~0 / (4 * sizeof (char)); + char *result = libintl_vasnprintf (resultbuf, &length, format, args); + if (result != resultbuf) + { + free (result); + return -1; + } + else + return length; + } +} + +DLL_EXPORTED +int +libintl_sprintf (char *resultbuf, const char *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vsprintf (resultbuf, format, args); + va_end (args); + return retval; +} + +#if HAVE_SNPRINTF + +# if HAVE_DECL__SNPRINTF + /* Windows. */ +# define system_vsnprintf _vsnprintf +# else + /* Unix. */ +# define system_vsnprintf vsnprintf +# endif + +DLL_EXPORTED +int +libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) +{ + if (strchr (format, '$') == NULL) + return system_vsnprintf (resultbuf, length, format, args); + else + { + size_t maxlength = length; + char *result = libintl_vasnprintf (resultbuf, &length, format, args); + if (result != resultbuf) + { + if (maxlength > 0) + { + if (length < maxlength) + abort (); + memcpy (resultbuf, result, maxlength - 1); + resultbuf[maxlength - 1] = '\0'; + } + free (result); + return -1; + } + else + return length; + } +} + +DLL_EXPORTED +int +libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vsnprintf (resultbuf, length, format, args); + va_end (args); + return retval; +} + +#endif + +#if HAVE_ASPRINTF + +DLL_EXPORTED +int +libintl_vasprintf (char **resultp, const char *format, va_list args) +{ + size_t length; + char *result = libintl_vasnprintf (NULL, &length, format, args); + if (result == NULL) + return -1; + *resultp = result; + return length; +} + +DLL_EXPORTED +int +libintl_asprintf (char **resultp, const char *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vasprintf (resultp, format, args); + va_end (args); + return retval; +} + +#endif + +#if HAVE_FWPRINTF + +#include + +#define WIDE_CHAR_VERSION 1 + +/* Define auxiliary functions declared in "wprintf-parse.h". */ +#include "printf-parse.c" + +/* Define functions declared in "vasnprintf.h". */ +#define vasnwprintf libintl_vasnwprintf +#include "vasnprintf.c" +#if 0 /* not needed */ +#define asnwprintf libintl_asnwprintf +#include "asnprintf.c" +#endif + +# if HAVE_DECL__SNWPRINTF + /* Windows. */ +# define system_vswprintf _vsnwprintf +# else + /* Unix. */ +# define system_vswprintf vswprintf +# endif + +DLL_EXPORTED +int +libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) +{ + if (wcschr (format, '$') == NULL) + return vfwprintf (stream, format, args); + else + { + size_t length; + wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); + int retval = -1; + if (result != NULL) + { + size_t i; + for (i = 0; i < length; i++) + if (fputwc (result[i], stream) == WEOF) + break; + if (i == length) + retval = length; + free (result); + } + return retval; + } +} + +DLL_EXPORTED +int +libintl_fwprintf (FILE *stream, const wchar_t *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vfwprintf (stream, format, args); + va_end (args); + return retval; +} + +DLL_EXPORTED +int +libintl_vwprintf (const wchar_t *format, va_list args) +{ + return libintl_vfwprintf (stdout, format, args); +} + +DLL_EXPORTED +int +libintl_wprintf (const wchar_t *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vwprintf (format, args); + va_end (args); + return retval; +} + +DLL_EXPORTED +int +libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) +{ + if (wcschr (format, '$') == NULL) + return system_vswprintf (resultbuf, length, format, args); + else + { + size_t maxlength = length; + wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); + if (result != resultbuf) + { + if (maxlength > 0) + { + if (length < maxlength) + abort (); + memcpy (resultbuf, result, (maxlength - 1) * sizeof (wchar_t)); + resultbuf[maxlength - 1] = 0; + } + free (result); + return -1; + } + else + return length; + } +} + +DLL_EXPORTED +int +libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) +{ + va_list args; + int retval; + + va_start (args, format); + retval = libintl_vswprintf (resultbuf, length, format, args); + va_end (args); + return retval; +} + +#endif + +#endif Index: intl/relocatable.c diff -u -r -N sharutils-4.3.78/intl/relocatable.c sharutils-4.3.79/intl/relocatable.c --- sharutils-4.3.78/intl/relocatable.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/relocatable.c 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,449 @@ +/* Provide relocatable packages. + Copyright (C) 2003-2004 Free Software Foundation, Inc. + Written by Bruno Haible , 2003. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + + +/* Tell glibc's to provide a prototype for getline(). + This must come before because may include + , and once has been included, it's too late. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +/* Specification. */ +#include "relocatable.h" + +#if ENABLE_RELOCATABLE + +#include +#include +#include +#include + +#ifdef NO_XMALLOC +# define xmalloc malloc +#else +# include "xalloc.h" +#endif + +#if defined _WIN32 || defined __WIN32__ +# define WIN32_LEAN_AND_MEAN +# include +#endif + +#if DEPENDS_ON_LIBCHARSET +# include +#endif +#if DEPENDS_ON_LIBICONV && HAVE_ICONV +# include +#endif +#if DEPENDS_ON_LIBINTL && ENABLE_NLS +# include +#endif + +/* Faked cheap 'bool'. */ +#undef bool +#undef false +#undef true +#define bool int +#define false 0 +#define true 1 + +/* Pathname support. + ISSLASH(C) tests whether C is a directory separator character. + IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. + */ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Win32, Cygwin, OS/2, DOS */ +# define ISSLASH(C) ((C) == '/' || (C) == '\\') +# define HAS_DEVICE(P) \ + ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ + && (P)[1] == ':') +# define IS_PATH_WITH_DIR(P) \ + (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) +# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) +#else + /* Unix */ +# define ISSLASH(C) ((C) == '/') +# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +# define FILE_SYSTEM_PREFIX_LEN(P) 0 +#endif + +/* Original installation prefix. */ +static char *orig_prefix; +static size_t orig_prefix_len; +/* Current installation prefix. */ +static char *curr_prefix; +static size_t curr_prefix_len; +/* These prefixes do not end in a slash. Anything that will be concatenated + to them must start with a slash. */ + +/* Sets the original and the current installation prefix of this module. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +static void +set_this_relocation_prefix (const char *orig_prefix_arg, + const char *curr_prefix_arg) +{ + if (orig_prefix_arg != NULL && curr_prefix_arg != NULL + /* Optimization: if orig_prefix and curr_prefix are equal, the + relocation is a nop. */ + && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) + { + /* Duplicate the argument strings. */ + char *memory; + + orig_prefix_len = strlen (orig_prefix_arg); + curr_prefix_len = strlen (curr_prefix_arg); + memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); +#ifdef NO_XMALLOC + if (memory != NULL) +#endif + { + memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); + orig_prefix = memory; + memory += orig_prefix_len + 1; + memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); + curr_prefix = memory; + return; + } + } + orig_prefix = NULL; + curr_prefix = NULL; + /* Don't worry about wasted memory here - this function is usually only + called once. */ +} + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +void +set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) +{ + set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); + + /* Now notify all dependent libraries. */ +#if DEPENDS_ON_LIBCHARSET + libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +#endif +#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 + libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +#endif +#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix + libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +#endif +} + +#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) + +/* Convenience function: + Computes the current installation prefix, based on the original + installation prefix, the original installation directory of a particular + file, and the current pathname of this file. Returns NULL upon failure. */ +#ifdef IN_LIBRARY +#define compute_curr_prefix local_compute_curr_prefix +static +#endif +const char * +compute_curr_prefix (const char *orig_installprefix, + const char *orig_installdir, + const char *curr_pathname) +{ + const char *curr_installdir; + const char *rel_installdir; + + if (curr_pathname == NULL) + return NULL; + + /* Determine the relative installation directory, relative to the prefix. + This is simply the difference between orig_installprefix and + orig_installdir. */ + if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) + != 0) + /* Shouldn't happen - nothing should be installed outside $(prefix). */ + return NULL; + rel_installdir = orig_installdir + strlen (orig_installprefix); + + /* Determine the current installation directory. */ + { + const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); + const char *p = curr_pathname + strlen (curr_pathname); + char *q; + + while (p > p_base) + { + p--; + if (ISSLASH (*p)) + break; + } + + q = (char *) xmalloc (p - curr_pathname + 1); +#ifdef NO_XMALLOC + if (q == NULL) + return NULL; +#endif + memcpy (q, curr_pathname, p - curr_pathname); + q[p - curr_pathname] = '\0'; + curr_installdir = q; + } + + /* Compute the current installation prefix by removing the trailing + rel_installdir from it. */ + { + const char *rp = rel_installdir + strlen (rel_installdir); + const char *cp = curr_installdir + strlen (curr_installdir); + const char *cp_base = + curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); + + while (rp > rel_installdir && cp > cp_base) + { + bool same = false; + const char *rpi = rp; + const char *cpi = cp; + + while (rpi > rel_installdir && cpi > cp_base) + { + rpi--; + cpi--; + if (ISSLASH (*rpi) || ISSLASH (*cpi)) + { + if (ISSLASH (*rpi) && ISSLASH (*cpi)) + same = true; + break; + } +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ + if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) + != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) + break; +#else + if (*rpi != *cpi) + break; +#endif + } + if (!same) + break; + /* The last pathname component was the same. opi and cpi now point + to the slash before it. */ + rp = rpi; + cp = cpi; + } + + if (rp > rel_installdir) + /* Unexpected: The curr_installdir does not end with rel_installdir. */ + return NULL; + + { + size_t curr_prefix_len = cp - curr_installdir; + char *curr_prefix; + + curr_prefix = (char *) xmalloc (curr_prefix_len + 1); +#ifdef NO_XMALLOC + if (curr_prefix == NULL) + return NULL; +#endif + memcpy (curr_prefix, curr_installdir, curr_prefix_len); + curr_prefix[curr_prefix_len] = '\0'; + + return curr_prefix; + } + } +} + +#endif /* !IN_LIBRARY || PIC */ + +#if defined PIC && defined INSTALLDIR + +/* Full pathname of shared library, or NULL. */ +static char *shared_library_fullname; + +#if defined _WIN32 || defined __WIN32__ + +/* Determine the full pathname of the shared library when it is loaded. */ + +BOOL WINAPI +DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) +{ + (void) reserved; + + if (event == DLL_PROCESS_ATTACH) + { + /* The DLL is being loaded into an application's address range. */ + static char location[MAX_PATH]; + + if (!GetModuleFileName (module_handle, location, sizeof (location))) + /* Shouldn't happen. */ + return FALSE; + + if (!IS_PATH_WITH_DIR (location)) + /* Shouldn't happen. */ + return FALSE; + + shared_library_fullname = strdup (location); + } + + return TRUE; +} + +#else /* Unix */ + +static void +find_shared_library_fullname () +{ +#if defined __linux__ && __GLIBC__ >= 2 + /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ + FILE *fp; + + /* Open the current process' maps file. It describes one VMA per line. */ + fp = fopen ("/proc/self/maps", "r"); + if (fp) + { + unsigned long address = (unsigned long) &find_shared_library_fullname; + for (;;) + { + unsigned long start, end; + int c; + + if (fscanf (fp, "%lx-%lx", &start, &end) != 2) + break; + if (address >= start && address <= end - 1) + { + /* Found it. Now see if this line contains a filename. */ + while (c = getc (fp), c != EOF && c != '\n' && c != '/') + continue; + if (c == '/') + { + size_t size; + int len; + + ungetc (c, fp); + shared_library_fullname = NULL; size = 0; + len = getline (&shared_library_fullname, &size, fp); + if (len >= 0) + { + /* Success: filled shared_library_fullname. */ + if (len > 0 && shared_library_fullname[len - 1] == '\n') + shared_library_fullname[len - 1] = '\0'; + } + } + break; + } + while (c = getc (fp), c != EOF && c != '\n') + continue; + } + fclose (fp); + } +#endif +} + +#endif /* WIN32 / Unix */ + +/* Return the full pathname of the current shared library. + Return NULL if unknown. + Guaranteed to work only on Linux and Woe32. */ +static char * +get_shared_library_fullname () +{ +#if !(defined _WIN32 || defined __WIN32__) + static bool tried_find_shared_library_fullname; + if (!tried_find_shared_library_fullname) + { + find_shared_library_fullname (); + tried_find_shared_library_fullname = true; + } +#endif + return shared_library_fullname; +} + +#endif /* PIC */ + +/* Returns the pathname, relocated according to the current installation + directory. */ +const char * +relocate (const char *pathname) +{ +#if defined PIC && defined INSTALLDIR + static int initialized; + + /* Initialization code for a shared library. */ + if (!initialized) + { + /* At this point, orig_prefix and curr_prefix likely have already been + set through the main program's set_program_name_and_installdir + function. This is sufficient in the case that the library has + initially been installed in the same orig_prefix. But we can do + better, to also cover the cases that 1. it has been installed + in a different prefix before being moved to orig_prefix and (later) + to curr_prefix, 2. unlike the program, it has not moved away from + orig_prefix. */ + const char *orig_installprefix = INSTALLPREFIX; + const char *orig_installdir = INSTALLDIR; + const char *curr_prefix_better; + + curr_prefix_better = + compute_curr_prefix (orig_installprefix, orig_installdir, + get_shared_library_fullname ()); + if (curr_prefix_better == NULL) + curr_prefix_better = curr_prefix; + + set_relocation_prefix (orig_installprefix, curr_prefix_better); + + initialized = 1; + } +#endif + + /* Note: It is not necessary to perform case insensitive comparison here, + even for DOS-like filesystems, because the pathname argument was + typically created from the same Makefile variable as orig_prefix came + from. */ + if (orig_prefix != NULL && curr_prefix != NULL + && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) + { + if (pathname[orig_prefix_len] == '\0') + /* pathname equals orig_prefix. */ + return curr_prefix; + if (ISSLASH (pathname[orig_prefix_len])) + { + /* pathname starts with orig_prefix. */ + const char *pathname_tail = &pathname[orig_prefix_len]; + char *result = + (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); + +#ifdef NO_XMALLOC + if (result != NULL) +#endif + { + memcpy (result, curr_prefix, curr_prefix_len); + strcpy (result + curr_prefix_len, pathname_tail); + return result; + } + } + } + /* Nothing to relocate. */ + return pathname; +} + +#endif Index: intl/relocatable.h diff -u -r -N sharutils-4.3.78/intl/relocatable.h sharutils-4.3.79/intl/relocatable.h --- sharutils-4.3.78/intl/relocatable.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/relocatable.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,77 @@ +/* Provide relocatable packages. + Copyright (C) 2003 Free Software Foundation, Inc. + Written by Bruno Haible , 2003. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _RELOCATABLE_H +#define _RELOCATABLE_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* This can be enabled through the configure --enable-relocatable option. */ +#if ENABLE_RELOCATABLE + +/* When building a DLL, we must export some functions. Note that because + this is a private .h file, we don't need to use __declspec(dllimport) + in any case. */ +#if defined _MSC_VER && BUILDING_DLL +# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) +#else +# define RELOCATABLE_DLL_EXPORTED +#endif + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +extern RELOCATABLE_DLL_EXPORTED void + set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + +/* Returns the pathname, relocated according to the current installation + directory. */ +extern const char * relocate (const char *pathname); + +/* Memory management: relocate() leaks memory, because it has to construct + a fresh pathname. If this is a problem because your program calls + relocate() frequently, think about caching the result. */ + +/* Convenience function: + Computes the current installation prefix, based on the original + installation prefix, the original installation directory of a particular + file, and the current pathname of this file. Returns NULL upon failure. */ +extern const char * compute_curr_prefix (const char *orig_installprefix, + const char *orig_installdir, + const char *curr_pathname); + +#else + +/* By default, we use the hardwired pathnames. */ +#define relocate(pathname) (pathname) + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _RELOCATABLE_H */ Index: intl/textdomain.c diff -u -r -N sharutils-4.3.78/intl/textdomain.c sharutils-4.3.79/intl/textdomain.c --- sharutils-4.3.78/intl/textdomain.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/intl/textdomain.c 2005-04-25 20:07:27.000000000 -0700 @@ -1,5 +1,5 @@ /* Implementation of the textdomain(3) function. - Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published @@ -77,8 +77,7 @@ If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ char * -TEXTDOMAIN (domainname) - const char *domainname; +TEXTDOMAIN (const char *domainname) { char *new_domain; char *old_domain; Index: intl/vasnprintf.c diff -u -r -N sharutils-4.3.78/intl/vasnprintf.c sharutils-4.3.79/intl/vasnprintf.c --- sharutils-4.3.78/intl/vasnprintf.c 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/vasnprintf.c 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,902 @@ +/* vsprintf with automatic memory allocation. + Copyright (C) 1999, 2002-2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* Tell glibc's to provide a prototype for snprintf(). + This must come before because may include + , and once has been included, it's too late. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#ifdef HAVE_CONFIG_H +# include +#endif +#ifndef IN_LIBINTL +# include +#endif + +/* Specification. */ +#if WIDE_CHAR_VERSION +# include "vasnwprintf.h" +#else +# include "vasnprintf.h" +#endif + +#include /* snprintf(), sprintf() */ +#include /* abort(), malloc(), realloc(), free() */ +#include /* memcpy(), strlen() */ +#include /* errno */ +#include /* CHAR_BIT, INT_MAX */ +#include /* DBL_MAX_EXP, LDBL_MAX_EXP */ +#if WIDE_CHAR_VERSION +# include "wprintf-parse.h" +#else +# include "printf-parse.h" +#endif + +/* Checked size_t computations. */ +#include "xsize.h" + +/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ +#ifndef EOVERFLOW +# define EOVERFLOW E2BIG +#endif + +#ifdef HAVE_WCHAR_T +# ifdef HAVE_WCSLEN +# define local_wcslen wcslen +# else + /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid + a dependency towards this library, here is a local substitute. + Define this substitute only once, even if this file is included + twice in the same compilation unit. */ +# ifndef local_wcslen_defined +# define local_wcslen_defined 1 +static size_t +local_wcslen (const wchar_t *s) +{ + const wchar_t *ptr; + + for (ptr = s; *ptr != (wchar_t) 0; ptr++) + ; + return ptr - s; +} +# endif +# endif +#endif + +#if WIDE_CHAR_VERSION +# define VASNPRINTF vasnwprintf +# define CHAR_T wchar_t +# define DIRECTIVE wchar_t_directive +# define DIRECTIVES wchar_t_directives +# define PRINTF_PARSE wprintf_parse +# define USE_SNPRINTF 1 +# if HAVE_DECL__SNWPRINTF + /* On Windows, the function swprintf() has a different signature than + on Unix; we use the _snwprintf() function instead. */ +# define SNPRINTF _snwprintf +# else + /* Unix. */ +# define SNPRINTF swprintf +# endif +#else +# define VASNPRINTF vasnprintf +# define CHAR_T char +# define DIRECTIVE char_directive +# define DIRECTIVES char_directives +# define PRINTF_PARSE printf_parse +# define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) +# if HAVE_DECL__SNPRINTF + /* Windows. */ +# define SNPRINTF _snprintf +# else + /* Unix. */ +# define SNPRINTF snprintf +# endif +#endif + +CHAR_T * +VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args) +{ + DIRECTIVES d; + arguments a; + + if (PRINTF_PARSE (format, &d, &a) < 0) + { + errno = EINVAL; + return NULL; + } + +#define CLEANUP() \ + free (d.dir); \ + if (a.arg) \ + free (a.arg); + + if (printf_fetchargs (args, &a) < 0) + { + CLEANUP (); + errno = EINVAL; + return NULL; + } + + { + size_t buf_neededlength; + CHAR_T *buf; + CHAR_T *buf_malloced; + const CHAR_T *cp; + size_t i; + DIRECTIVE *dp; + /* Output string accumulator. */ + CHAR_T *result; + size_t allocated; + size_t length; + + /* Allocate a small buffer that will hold a directive passed to + sprintf or snprintf. */ + buf_neededlength = + xsum4 (7, d.max_width_length, d.max_precision_length, 6); +#if HAVE_ALLOCA + if (buf_neededlength < 4000 / sizeof (CHAR_T)) + { + buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T)); + buf_malloced = NULL; + } + else +#endif + { + size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T)); + if (size_overflow_p (buf_memsize)) + goto out_of_memory_1; + buf = (CHAR_T *) malloc (buf_memsize); + if (buf == NULL) + goto out_of_memory_1; + buf_malloced = buf; + } + + if (resultbuf != NULL) + { + result = resultbuf; + allocated = *lengthp; + } + else + { + result = NULL; + allocated = 0; + } + length = 0; + /* Invariants: + result is either == resultbuf or == NULL or malloc-allocated. + If length > 0, then result != NULL. */ + + /* Ensures that allocated >= needed. Aborts through a jump to + out_of_memory if needed is SIZE_MAX or otherwise too big. */ +#define ENSURE_ALLOCATION(needed) \ + if ((needed) > allocated) \ + { \ + size_t memory_size; \ + CHAR_T *memory; \ + \ + allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ + if ((needed) > allocated) \ + allocated = (needed); \ + memory_size = xtimes (allocated, sizeof (CHAR_T)); \ + if (size_overflow_p (memory_size)) \ + goto out_of_memory; \ + if (result == resultbuf || result == NULL) \ + memory = (CHAR_T *) malloc (memory_size); \ + else \ + memory = (CHAR_T *) realloc (result, memory_size); \ + if (memory == NULL) \ + goto out_of_memory; \ + if (result == resultbuf && length > 0) \ + memcpy (memory, result, length * sizeof (CHAR_T)); \ + result = memory; \ + } + + for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) + { + if (cp != dp->dir_start) + { + size_t n = dp->dir_start - cp; + size_t augmented_length = xsum (length, n); + + ENSURE_ALLOCATION (augmented_length); + memcpy (result + length, cp, n * sizeof (CHAR_T)); + length = augmented_length; + } + if (i == d.count) + break; + + /* Execute a single directive. */ + if (dp->conversion == '%') + { + size_t augmented_length; + + if (!(dp->arg_index == ARG_NONE)) + abort (); + augmented_length = xsum (length, 1); + ENSURE_ALLOCATION (augmented_length); + result[length] = '%'; + length = augmented_length; + } + else + { + if (!(dp->arg_index != ARG_NONE)) + abort (); + + if (dp->conversion == 'n') + { + switch (a.arg[dp->arg_index].type) + { + case TYPE_COUNT_SCHAR_POINTER: + *a.arg[dp->arg_index].a.a_count_schar_pointer = length; + break; + case TYPE_COUNT_SHORT_POINTER: + *a.arg[dp->arg_index].a.a_count_short_pointer = length; + break; + case TYPE_COUNT_INT_POINTER: + *a.arg[dp->arg_index].a.a_count_int_pointer = length; + break; + case TYPE_COUNT_LONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longint_pointer = length; + break; +#ifdef HAVE_LONG_LONG + case TYPE_COUNT_LONGLONGINT_POINTER: + *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; + break; +#endif + default: + abort (); + } + } + else + { + arg_type type = a.arg[dp->arg_index].type; + CHAR_T *p; + unsigned int prefix_count; + int prefixes[2]; +#if !USE_SNPRINTF + size_t tmp_length; + CHAR_T tmpbuf[700]; + CHAR_T *tmp; + + /* Allocate a temporary buffer of sufficient size for calling + sprintf. */ + { + size_t width; + size_t precision; + + width = 0; + if (dp->width_start != dp->width_end) + { + if (dp->width_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->width_arg_index].a.a_int; + width = (arg < 0 ? (unsigned int) (-arg) : arg); + } + else + { + const CHAR_T *digitp = dp->width_start; + + do + width = xsum (xtimes (width, 10), *digitp++ - '0'); + while (digitp != dp->width_end); + } + } + + precision = 6; + if (dp->precision_start != dp->precision_end) + { + if (dp->precision_arg_index != ARG_NONE) + { + int arg; + + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + arg = a.arg[dp->precision_arg_index].a.a_int; + precision = (arg < 0 ? 0 : arg); + } + else + { + const CHAR_T *digitp = dp->precision_start + 1; + + precision = 0; + while (digitp != dp->precision_end) + precision = xsum (xtimes (precision, 10), *digitp++ - '0'); + } + } + + switch (dp->conversion) + { + + case 'd': case 'i': case 'u': +# ifdef HAVE_LONG_LONG + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + break; + + case 'o': +# ifdef HAVE_LONG_LONG + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.333334 /* binary -> octal */ + ) + + 1 /* turn floor into ceil */ + + 1; /* account for leading sign */ + break; + + case 'x': case 'X': +# ifdef HAVE_LONG_LONG + if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading sign or alternate form */ + else +# endif + if (type == TYPE_LONGINT || type == TYPE_ULONGINT) + tmp_length = + (unsigned int) (sizeof (unsigned long) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading sign or alternate form */ + else + tmp_length = + (unsigned int) (sizeof (unsigned int) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading sign or alternate form */ + break; + + case 'f': case 'F': +# ifdef HAVE_LONG_DOUBLE + if (type == TYPE_LONGDOUBLE) + tmp_length = + (unsigned int) (LDBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + else +# endif + tmp_length = + (unsigned int) (DBL_MAX_EXP + * 0.30103 /* binary -> decimal */ + * 2 /* estimate for FLAG_GROUP */ + ) + + 1 /* turn floor into ceil */ + + 10; /* sign, decimal point etc. */ + tmp_length = xsum (tmp_length, precision); + break; + + case 'e': case 'E': case 'g': case 'G': + case 'a': case 'A': + tmp_length = + 12; /* sign, decimal point, exponent etc. */ + tmp_length = xsum (tmp_length, precision); + break; + + case 'c': +# if defined HAVE_WINT_T && !WIDE_CHAR_VERSION + if (type == TYPE_WIDE_CHAR) + tmp_length = MB_CUR_MAX; + else +# endif + tmp_length = 1; + break; + + case 's': +# ifdef HAVE_WCHAR_T + if (type == TYPE_WIDE_STRING) + { + tmp_length = + local_wcslen (a.arg[dp->arg_index].a.a_wide_string); + +# if !WIDE_CHAR_VERSION + tmp_length = xtimes (tmp_length, MB_CUR_MAX); +# endif + } + else +# endif + tmp_length = strlen (a.arg[dp->arg_index].a.a_string); + break; + + case 'p': + tmp_length = + (unsigned int) (sizeof (void *) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading 0x */ + break; + + default: + abort (); + } + + if (tmp_length < width) + tmp_length = width; + + tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ + } + + if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T)) + tmp = tmpbuf; + else + { + size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T)); + + if (size_overflow_p (tmp_memsize)) + /* Overflow, would lead to out of memory. */ + goto out_of_memory; + tmp = (CHAR_T *) malloc (tmp_memsize); + if (tmp == NULL) + /* Out of memory. */ + goto out_of_memory; + } +#endif + + /* Construct the format string for calling snprintf or + sprintf. */ + p = buf; + *p++ = '%'; + if (dp->flags & FLAG_GROUP) + *p++ = '\''; + if (dp->flags & FLAG_LEFT) + *p++ = '-'; + if (dp->flags & FLAG_SHOWSIGN) + *p++ = '+'; + if (dp->flags & FLAG_SPACE) + *p++ = ' '; + if (dp->flags & FLAG_ALT) + *p++ = '#'; + if (dp->flags & FLAG_ZERO) + *p++ = '0'; + if (dp->width_start != dp->width_end) + { + size_t n = dp->width_end - dp->width_start; + memcpy (p, dp->width_start, n * sizeof (CHAR_T)); + p += n; + } + if (dp->precision_start != dp->precision_end) + { + size_t n = dp->precision_end - dp->precision_start; + memcpy (p, dp->precision_start, n * sizeof (CHAR_T)); + p += n; + } + + switch (type) + { +#ifdef HAVE_LONG_LONG + case TYPE_LONGLONGINT: + case TYPE_ULONGLONGINT: + *p++ = 'l'; + /*FALLTHROUGH*/ +#endif + case TYPE_LONGINT: + case TYPE_ULONGINT: +#ifdef HAVE_WINT_T + case TYPE_WIDE_CHAR: +#endif +#ifdef HAVE_WCHAR_T + case TYPE_WIDE_STRING: +#endif + *p++ = 'l'; + break; +#ifdef HAVE_LONG_DOUBLE + case TYPE_LONGDOUBLE: + *p++ = 'L'; + break; +#endif + default: + break; + } + *p = dp->conversion; +#if USE_SNPRINTF + p[1] = '%'; + p[2] = 'n'; + p[3] = '\0'; +#else + p[1] = '\0'; +#endif + + /* Construct the arguments for calling snprintf or sprintf. */ + prefix_count = 0; + if (dp->width_arg_index != ARG_NONE) + { + if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) + abort (); + prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; + } + if (dp->precision_arg_index != ARG_NONE) + { + if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) + abort (); + prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; + } + +#if USE_SNPRINTF + /* Prepare checking whether snprintf returns the count + via %n. */ + ENSURE_ALLOCATION (xsum (length, 1)); + result[length] = '\0'; +#endif + + for (;;) + { + size_t maxlen; + int count; + int retcount; + + maxlen = allocated - length; + count = -1; + retcount = 0; + +#if USE_SNPRINTF +# define SNPRINTF_BUF(arg) \ + switch (prefix_count) \ + { \ + case 0: \ + retcount = SNPRINTF (result + length, maxlen, buf, \ + arg, &count); \ + break; \ + case 1: \ + retcount = SNPRINTF (result + length, maxlen, buf, \ + prefixes[0], arg, &count); \ + break; \ + case 2: \ + retcount = SNPRINTF (result + length, maxlen, buf, \ + prefixes[0], prefixes[1], arg, \ + &count); \ + break; \ + default: \ + abort (); \ + } +#else +# define SNPRINTF_BUF(arg) \ + switch (prefix_count) \ + { \ + case 0: \ + count = sprintf (tmp, buf, arg); \ + break; \ + case 1: \ + count = sprintf (tmp, buf, prefixes[0], arg); \ + break; \ + case 2: \ + count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ + arg); \ + break; \ + default: \ + abort (); \ + } +#endif + + switch (type) + { + case TYPE_SCHAR: + { + int arg = a.arg[dp->arg_index].a.a_schar; + SNPRINTF_BUF (arg); + } + break; + case TYPE_UCHAR: + { + unsigned int arg = a.arg[dp->arg_index].a.a_uchar; + SNPRINTF_BUF (arg); + } + break; + case TYPE_SHORT: + { + int arg = a.arg[dp->arg_index].a.a_short; + SNPRINTF_BUF (arg); + } + break; + case TYPE_USHORT: + { + unsigned int arg = a.arg[dp->arg_index].a.a_ushort; + SNPRINTF_BUF (arg); + } + break; + case TYPE_INT: + { + int arg = a.arg[dp->arg_index].a.a_int; + SNPRINTF_BUF (arg); + } + break; + case TYPE_UINT: + { + unsigned int arg = a.arg[dp->arg_index].a.a_uint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_LONGINT: + { + long int arg = a.arg[dp->arg_index].a.a_longint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_ULONGINT: + { + unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; + SNPRINTF_BUF (arg); + } + break; +#ifdef HAVE_LONG_LONG + case TYPE_LONGLONGINT: + { + long long int arg = a.arg[dp->arg_index].a.a_longlongint; + SNPRINTF_BUF (arg); + } + break; + case TYPE_ULONGLONGINT: + { + unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_DOUBLE: + { + double arg = a.arg[dp->arg_index].a.a_double; + SNPRINTF_BUF (arg); + } + break; +#ifdef HAVE_LONG_DOUBLE + case TYPE_LONGDOUBLE: + { + long double arg = a.arg[dp->arg_index].a.a_longdouble; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_CHAR: + { + int arg = a.arg[dp->arg_index].a.a_char; + SNPRINTF_BUF (arg); + } + break; +#ifdef HAVE_WINT_T + case TYPE_WIDE_CHAR: + { + wint_t arg = a.arg[dp->arg_index].a.a_wide_char; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_STRING: + { + const char *arg = a.arg[dp->arg_index].a.a_string; + SNPRINTF_BUF (arg); + } + break; +#ifdef HAVE_WCHAR_T + case TYPE_WIDE_STRING: + { + const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; + SNPRINTF_BUF (arg); + } + break; +#endif + case TYPE_POINTER: + { + void *arg = a.arg[dp->arg_index].a.a_pointer; + SNPRINTF_BUF (arg); + } + break; + default: + abort (); + } + +#if USE_SNPRINTF + /* Portability: Not all implementations of snprintf() + are ISO C 99 compliant. Determine the number of + bytes that snprintf() has produced or would have + produced. */ + if (count >= 0) + { + /* Verify that snprintf() has NUL-terminated its + result. */ + if (count < maxlen && result[length + count] != '\0') + abort (); + /* Portability hack. */ + if (retcount > count) + count = retcount; + } + else + { + /* snprintf() doesn't understand the '%n' + directive. */ + if (p[1] != '\0') + { + /* Don't use the '%n' directive; instead, look + at the snprintf() return value. */ + p[1] = '\0'; + continue; + } + else + { + /* Look at the snprintf() return value. */ + if (retcount < 0) + { + /* HP-UX 10.20 snprintf() is doubly deficient: + It doesn't understand the '%n' directive, + *and* it returns -1 (rather than the length + that would have been required) when the + buffer is too small. */ + size_t bigger_need = + xsum (xtimes (allocated, 2), 12); + ENSURE_ALLOCATION (bigger_need); + continue; + } + else + count = retcount; + } + } +#endif + + /* Attempt to handle failure. */ + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + errno = EINVAL; + return NULL; + } + +#if !USE_SNPRINTF + if (count >= tmp_length) + /* tmp_length was incorrectly calculated - fix the + code above! */ + abort (); +#endif + + /* Make room for the result. */ + if (count >= maxlen) + { + /* Need at least count bytes. But allocate + proportionally, to avoid looping eternally if + snprintf() reports a too small count. */ + size_t n = + xmax (xsum (length, count), xtimes (allocated, 2)); + + ENSURE_ALLOCATION (n); +#if USE_SNPRINTF + continue; +#endif + } + +#if USE_SNPRINTF + /* The snprintf() result did fit. */ +#else + /* Append the sprintf() result. */ + memcpy (result + length, tmp, count * sizeof (CHAR_T)); + if (tmp != tmpbuf) + free (tmp); +#endif + + length += count; + break; + } + } + } + } + + /* Add the final NUL. */ + ENSURE_ALLOCATION (xsum (length, 1)); + result[length] = '\0'; + + if (result != resultbuf && length + 1 < allocated) + { + /* Shrink the allocated memory if possible. */ + CHAR_T *memory; + + memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T)); + if (memory != NULL) + result = memory; + } + + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); + *lengthp = length; + if (length > INT_MAX) + goto length_overflow; + return result; + + length_overflow: + /* We could produce such a big string, but its length doesn't fit into + an 'int'. POSIX says that snprintf() fails with errno = EOVERFLOW in + this case. */ + if (result != resultbuf) + free (result); + errno = EOVERFLOW; + return NULL; + + out_of_memory: + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + out_of_memory_1: + CLEANUP (); + errno = ENOMEM; + return NULL; + } +} + +#undef SNPRINTF +#undef USE_SNPRINTF +#undef PRINTF_PARSE +#undef DIRECTIVES +#undef DIRECTIVE +#undef CHAR_T +#undef VASNPRINTF Index: intl/vasnprintf.h diff -u -r -N sharutils-4.3.78/intl/vasnprintf.h sharutils-4.3.79/intl/vasnprintf.h --- sharutils-4.3.78/intl/vasnprintf.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/vasnprintf.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,78 @@ +/* vsprintf with automatic memory allocation. + Copyright (C) 2002-2004 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _VASNPRINTF_H +#define _VASNPRINTF_H + +/* Get va_list. */ +#include + +/* Get size_t. */ +#include + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ +# 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 + +/* Write formatted output to a string dynamically allocated with malloc(). + You can pass a preallocated buffer for the result in RESULTBUF and its + size in *LENGTHP; otherwise you pass RESULTBUF = NULL. + If successful, return the address of the string (this may be = RESULTBUF + if no dynamic memory allocation was necessary) and set *LENGTHP to the + number of resulting bytes, excluding the trailing NUL. Upon error, set + errno and return NULL. + + When dynamic memory allocation occurs, the preallocated buffer is left + alone (with possibly modified contents). This makes it possible to use + a statically allocated or stack-allocated buffer, like this: + + char buf[100]; + size_t len = sizeof (buf); + char *output = vasnprintf (buf, &len, format, args); + if (output == NULL) + ... error handling ...; + else + { + ... use the output string ...; + if (output != buf) + free (output); + } + */ +extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) + __attribute__ ((__format__ (__printf__, 3, 0))); + +#ifdef __cplusplus +} +#endif + +#endif /* _VASNPRINTF_H */ Index: intl/vasnwprintf.h diff -u -r -N sharutils-4.3.78/intl/vasnwprintf.h sharutils-4.3.79/intl/vasnwprintf.h --- sharutils-4.3.78/intl/vasnwprintf.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/vasnwprintf.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,46 @@ +/* vswprintf with automatic memory allocation. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _VASNWPRINTF_H +#define _VASNWPRINTF_H + +/* Get va_list. */ +#include + +/* Get wchar_t, size_t. */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Write formatted output to a string dynamically allocated with malloc(). + You can pass a preallocated buffer for the result in RESULTBUF and its + size in *LENGTHP; otherwise you pass RESULTBUF = NULL. + If successful, return the address of the string (this may be = RESULTBUF + if no dynamic memory allocation was necessary) and set *LENGTHP to the + number of resulting bytes, excluding the trailing NUL. Upon error, set + errno and return NULL. */ +extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); +extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); + +#ifdef __cplusplus +} +#endif + +#endif /* _VASNWPRINTF_H */ Index: intl/wprintf-parse.h diff -u -r -N sharutils-4.3.78/intl/wprintf-parse.h sharutils-4.3.79/intl/wprintf-parse.h --- sharutils-4.3.78/intl/wprintf-parse.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/wprintf-parse.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,75 @@ +/* Parse printf format string. + Copyright (C) 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _WPRINTF_PARSE_H +#define _WPRINTF_PARSE_H + +#include "printf-args.h" + + +/* Flags */ +#define FLAG_GROUP 1 /* ' flag */ +#define FLAG_LEFT 2 /* - flag */ +#define FLAG_SHOWSIGN 4 /* + flag */ +#define FLAG_SPACE 8 /* space flag */ +#define FLAG_ALT 16 /* # flag */ +#define FLAG_ZERO 32 + +/* arg_index value indicating that no argument is consumed. */ +#define ARG_NONE (~(size_t)0) + +/* A parsed directive. */ +typedef struct +{ + const wchar_t* dir_start; + const wchar_t* dir_end; + int flags; + const wchar_t* width_start; + const wchar_t* width_end; + size_t width_arg_index; + const wchar_t* precision_start; + const wchar_t* precision_end; + size_t precision_arg_index; + wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ + size_t arg_index; +} +wchar_t_directive; + +/* A parsed format string. */ +typedef struct +{ + size_t count; + wchar_t_directive *dir; + size_t max_width_length; + size_t max_precision_length; +} +wchar_t_directives; + + +/* Parses the format string. Fills in the number N of directives, and fills + in directives[0], ..., directives[N-1], and sets directives[N].dir_start + to the end of the format string. Also fills in the arg_type fields of the + arguments and the needed count of arguments. */ +#ifdef STATIC +STATIC +#else +extern +#endif +int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); + +#endif /* _WPRINTF_PARSE_H */ Index: intl/xsize.h diff -u -r -N sharutils-4.3.78/intl/xsize.h sharutils-4.3.79/intl/xsize.h --- sharutils-4.3.78/intl/xsize.h 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/intl/xsize.h 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,109 @@ +/* xsize.h -- Checked size_t computations. + + 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 Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _XSIZE_H +#define _XSIZE_H + +/* Get size_t. */ +#include + +/* Get SIZE_MAX. */ +#include +#if HAVE_STDINT_H +# include +#endif + +/* The size of memory objects is often computed through expressions of + type size_t. Example: + void* p = malloc (header_size + n * element_size). + These computations can lead to overflow. When this happens, malloc() + returns a piece of memory that is way too small, and the program then + crashes while attempting to fill the memory. + To avoid this, the functions and macros in this file check for overflow. + The convention is that SIZE_MAX represents overflow. + malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc + implementation that uses mmap --, it's recommended to use size_overflow_p() + or size_in_bounds_p() before invoking malloc(). + The example thus becomes: + size_t size = xsum (header_size, xtimes (n, element_size)); + void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); +*/ + +/* Convert an arbitrary value >= 0 to type size_t. */ +#define xcast_size_t(N) \ + ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) + +/* Sum of two sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum (size_t size1, size_t size2) +{ + size_t sum = size1 + size2; + return (sum >= size1 ? sum : SIZE_MAX); +} + +/* Sum of three sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum3 (size_t size1, size_t size2, size_t size3) +{ + return xsum (xsum (size1, size2), size3); +} + +/* Sum of four sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) +{ + return xsum (xsum (xsum (size1, size2), size3), size4); +} + +/* Maximum of two sizes, with overflow check. */ +static inline size_t +#if __GNUC__ >= 3 +__attribute__ ((__pure__)) +#endif +xmax (size_t size1, size_t size2) +{ + /* No explicit check is needed here, because for any n: + max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ + return (size1 >= size2 ? size1 : size2); +} + +/* Multiplication of a count with an element size, with overflow check. + The count must be >= 0 and the element size must be > 0. + This is a macro, not an inline function, so that it works correctly even + when N is of a wider tupe and N > SIZE_MAX. */ +#define xtimes(N, ELSIZE) \ + ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) + +/* Check for overflow. */ +#define size_overflow_p(SIZE) \ + ((SIZE) == SIZE_MAX) +/* Check against overflow. */ +#define size_in_bounds_p(SIZE) \ + ((SIZE) != SIZE_MAX) + +#endif /* _XSIZE_H */ Index: lib/Makefile.am diff -u -r -N sharutils-4.3.78/lib/Makefile.am sharutils-4.3.79/lib/Makefile.am --- sharutils-4.3.78/lib/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/lib/Makefile.am 2005-01-30 06:35:42.000000000 -0800 @@ -36,7 +36,7 @@ noinst_HEADERS = basename.h error.h exit.h getopt.h gettext.h inttostr.h \ liballoca.h md5.h pathmax.h stpcpy.h system.h xalloc.h xgetcwd.h -INCLUDES = -I.. -I$(srcdir) -I../intl +AM_CPPFLAGS = -I.. -I$(srcdir) -I../intl DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@ error$U.o: unlocked-io.h Index: lib/Makefile.in diff -u -r -N sharutils-4.3.78/lib/Makefile.in sharutils-4.3.79/lib/Makefile.in --- sharutils-4.3.78/lib/Makefile.in 2005-01-23 10:02:54.000000000 -0800 +++ sharutils-4.3.79/lib/Makefile.in 2005-04-25 20:07:56.000000000 -0700 @@ -47,13 +47,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -115,8 +123,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -127,6 +140,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -214,7 +228,7 @@ noinst_HEADERS = basename.h error.h exit.h getopt.h gettext.h inttostr.h \ liballoca.h md5.h pathmax.h stpcpy.h system.h xalloc.h xgetcwd.h -INCLUDES = -I.. -I$(srcdir) -I../intl +AM_CPPFLAGS = -I.. -I$(srcdir) -I../intl all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am Index: m4/ChangeLog diff -u -r -N sharutils-4.3.78/m4/ChangeLog sharutils-4.3.79/m4/ChangeLog --- sharutils-4.3.78/m4/ChangeLog 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/ChangeLog 2005-01-30 07:04:21.000000000 -0800 @@ -1,3 +1,8 @@ +2005-01-30 Bruce Korb + + * Makefile.am: remove it. Too much stuff auto-copied from other + projects (viz. gettext). Distribute the whole directory. + 2002-11-28 Bruno Haible * sharutils.m4 (ke_CHECK_COMPRESS): Attempt to compress a copy of Index: m4/Makefile.am diff -u -r -N sharutils-4.3.78/m4/Makefile.am sharutils-4.3.79/m4/Makefile.am --- sharutils-4.3.78/m4/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/Makefile.am 2005-04-25 20:07:23.000000000 -0700 @@ -1,4 +1,2 @@ -EXTRA_DIST = codeset.m4 error.m4 gettext.m4 glibc21.m4 iconv.m4 \ -intdiv0.m4 inttypes.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ -lib-prefix.m4 longlong.m4 malloc.m4 progtest.m4 realloc.m4 \ -sharutils.m4 xstrtoimax.m4 +EXTRA_DIST = \ + error.m4 malloc.m4 realloc.m4 sharutils.m4 xstrtoimax.m4 Index: m4/Makefile.in diff -u -r -N sharutils-4.3.78/m4/Makefile.in sharutils-4.3.79/m4/Makefile.in --- sharutils-4.3.78/m4/Makefile.in 2005-01-23 10:02:54.000000000 -0800 +++ sharutils-4.3.79/m4/Makefile.in 2005-04-25 20:07:56.000000000 -0700 @@ -40,13 +40,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -88,8 +96,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -100,6 +113,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -173,10 +187,8 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -EXTRA_DIST = codeset.m4 error.m4 gettext.m4 glibc21.m4 iconv.m4 \ -intdiv0.m4 inttypes.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ -lib-prefix.m4 longlong.m4 malloc.m4 progtest.m4 realloc.m4 \ -sharutils.m4 xstrtoimax.m4 +EXTRA_DIST = \ + error.m4 malloc.m4 realloc.m4 sharutils.m4 xstrtoimax.m4 all: all-am Index: m4/codeset.m4 diff -u -r -N sharutils-4.3.78/m4/codeset.m4 sharutils-4.3.79/m4/codeset.m4 --- sharutils-4.3.78/m4/codeset.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/codeset.m4 2005-04-25 20:07:27.000000000 -0700 @@ -1,10 +1,8 @@ # codeset.m4 serial AM1 (gettext-0.10.40) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +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. Index: m4/gettext.m4 diff -u -r -N sharutils-4.3.78/m4/gettext.m4 sharutils-4.3.79/m4/gettext.m4 --- sharutils-4.3.78/m4/gettext.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/gettext.m4 2005-04-25 20:07:27.000000000 -0700 @@ -1,10 +1,8 @@ -# gettext.m4 serial 15 (gettext-0.11.3) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# gettext.m4 serial 37 (gettext-0.14.4) +dnl Copyright (C) 1995-2005 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 @@ -17,7 +15,7 @@ dnl Authors: dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2002. +dnl Bruno Haible , 2000-2003. dnl Macro to add for using GNU gettext. @@ -33,7 +31,9 @@ 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. +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 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 @@ -60,11 +60,11 @@ 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], [], , [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], [no], [yes])) - define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) +])])])]) + define([gt_included_intl], ifelse([$1], [external], [no], [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ @@ -90,13 +90,11 @@ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) - 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) + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AM_NLS ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no @@ -125,16 +123,23 @@ dnl to fall back to GNU NLS library. dnl Add a version number to the cache macros. - define([gt_api_version], ifelse([$2], [need-ngettext], 2, 1)) + define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, [AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr; +]ifelse([$2], [need-formatstring-macros], +[#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 +], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) @@ -156,28 +161,42 @@ LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr; +]ifelse([$2], [need-formatstring-macros], +[#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 +], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias ();], +const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr; +]ifelse([$2], [need-formatstring-macros], +[#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 +], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias ();], +const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], +return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext_libintl=yes @@ -193,7 +212,8 @@ dnl libintl. (Cf. the install rule in intl/Makefile.in.) if test "$gt_cv_func_gnugettext_libc" = "yes" \ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. @@ -212,7 +232,6 @@ if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" @@ -220,6 +239,7 @@ 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. @@ -227,6 +247,15 @@ 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, @@ -237,6 +266,22 @@ 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 test "$gt_cv_func_gnugettext_libintl" = "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 @@ -260,7 +305,7 @@ 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; then + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi @@ -268,7 +313,6 @@ AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) - AC_SUBST(INTLOBJS) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= @@ -286,6 +330,13 @@ 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) @@ -302,179 +353,6 @@ ]) -dnl Checks for all prerequisites of the po subdirectory, -dnl except for USE_NLS. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_MKINSTALLDIRS])dnl - - 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 >/dev/null 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 Search for GNU xgettext 0.11 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= /dev/null >/dev/null 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= /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 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 >/dev/null 2>&1], :) - - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU msgfmt. - if test "$GMSGFMT" != ":"; then - dnl If it is no GNU msgfmt we define it as : so that the - dnl Makefiles still can work. - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && - (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` - AC_MSG_RESULT( - [found $GMSGFMT program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi - fi - - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && - (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - fi - - AC_OUTPUT_COMMANDS([ - 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 - 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" - # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES 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 "$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" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - fi - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - GMOFILES= - UPDATEPOFILES= - DUMMYPOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - 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|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|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, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it - # from automake. - eval 'ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - - dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. @@ -484,28 +362,90 @@ AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([gt_GLIBC2])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([bh_C_SIGNED])dnl AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_OFF_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl + AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl + AC_REQUIRE([gt_TYPE_WCHAR_T])dnl + AC_REQUIRE([gt_TYPE_WINT_T])dnl + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_REQUIRE([gt_TYPE_INTMAX_T]) + AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl - AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gt_INTDIV0])dnl - + AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + AC_REQUIRE([gl_XSIZE])dnl + AC_REQUIRE([gt_INTL_MACOSX])dnl + + AC_CHECK_TYPE([ptrdiff_t], , + [AC_DEFINE([ptrdiff_t], [long], + [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) + ]) AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) - AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ -geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ -strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) + AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \ +mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ +strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ +__fsetlocking]) + + dnl Use the _snprintf function only if it is declared (because on NetBSD it + dnl is defined as a weak alias of snprintf; we prefer to use the latter). + gt_CHECK_DECL(_snprintf, [#include ]) + gt_CHECK_DECL(_snwprintf, [#include ]) + + dnl Use the *_unlocked functions only if they are declared. + dnl (because some of them were defined without being declared in Solaris + dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built + dnl on Solaris 2.5.1 to run on Solaris 2.6). + dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. + gt_CHECK_DECL(feof_unlocked, [#include ]) + gt_CHECK_DECL(fgets_unlocked, [#include ]) + gt_CHECK_DECL(getc_unlocked, [#include ]) + + case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; + esac + AC_SUBST([HAVE_POSIX_PRINTF]) + if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 + else + HAVE_ASPRINTF=0 + fi + AC_SUBST([HAVE_ASPRINTF]) + if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 + else + HAVE_SNPRINTF=0 + fi + AC_SUBST([HAVE_SNPRINTF]) + if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 + else + HAVE_WPRINTF=0 + fi + AC_SUBST([HAVE_WPRINTF]) AM_ICONV AM_LANGINFO_CODESET if test $ac_cv_header_locale_h = yes; then - AM_LC_MESSAGES + gt_LC_MESSAGES + fi + + if test -n "$INTL_MACOSX_LIBS"; then + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, @@ -541,17 +481,69 @@ ]) -AC_DEFUN([AM_MKINSTALLDIRS], +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], [ - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but $(top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + gt_cv_func_CFPreferencesCopyAppValue, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + CPPFLAGS="$gt_save_CPPFLAGS" + 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_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" + gt_save_LIBS="$LIBS" + LIBS="$LIBS -framework CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + CPPFLAGS="$gt_save_CPPFLAGS" + 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 - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + AC_SUBST([INTL_MACOSX_LIBS]) +]) + + +dnl gt_CHECK_DECL(FUNC, INCLUDES) +dnl Check whether a function is declared. +AC_DEFUN([gt_CHECK_DECL], +[ + AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, + [AC_TRY_COMPILE([$2], [ +#ifndef $1 + char *p = (char *) $1; +#endif +], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) + if test $ac_cv_have_decl_$1 = yes; then + gt_value=1 + else + gt_value=0 fi - AC_SUBST(MKINSTALLDIRS) + AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], + [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) ]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) Index: m4/glibc2.m4 diff -u -r -N sharutils-4.3.78/m4/glibc2.m4 sharutils-4.3.79/m4/glibc2.m4 --- sharutils-4.3.78/m4/glibc2.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/glibc2.m4 2005-04-25 20:07:27.000000000 -0700 @@ -0,0 +1,30 @@ +# glibc2.m4 serial 1 +dnl Copyright (C) 2000-2002, 2004 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.0 or newer. +# From Bruno Haible. + +AC_DEFUN([gt_GLIBC2], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, + ac_cv_gnu_library_2, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2=yes, + ac_cv_gnu_library_2=no) + ] + ) + AC_SUBST(GLIBC2) + GLIBC2="$ac_cv_gnu_library_2" + ] +) Index: m4/glibc21.m4 diff -u -r -N sharutils-4.3.78/m4/glibc21.m4 sharutils-4.3.79/m4/glibc21.m4 --- sharutils-4.3.78/m4/glibc21.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/glibc21.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,15 +1,13 @@ -# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# glibc21.m4 serial 3 +dnl Copyright (C) 2000-2002, 2004 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([jm_GLIBC21], +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, Index: m4/iconv.m4 diff -u -r -N sharutils-4.3.78/m4/iconv.m4 sharutils-4.3.79/m4/iconv.m4 --- sharutils-4.3.78/m4/iconv.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/iconv.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,10 +1,8 @@ # iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +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. Index: m4/intdiv0.m4 diff -u -r -N sharutils-4.3.78/m4/intdiv0.m4 sharutils-4.3.79/m4/intdiv0.m4 --- sharutils-4.3.78/m4/intdiv0.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/intdiv0.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,10 +1,8 @@ # intdiv0.m4 serial 1 (gettext-0.11.3) dnl Copyright (C) 2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +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. Index: m4/intmax.m4 diff -u -r -N sharutils-4.3.78/m4/intmax.m4 sharutils-4.3.79/m4/intmax.m4 --- sharutils-4.3.78/m4/intmax.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/intmax.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,30 @@ +# intmax.m4 serial 2 (gettext-0.14.2) +dnl Copyright (C) 2002-2005 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 the system has the 'intmax_t' type, but don't attempt to +dnl find a replacement if it is lacking. + +AC_DEFUN([gt_TYPE_INTMAX_T], +[ + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, + [AC_TRY_COMPILE([ +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif +], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) + if test $gt_cv_c_intmax_t = yes; then + AC_DEFINE(HAVE_INTMAX_T, 1, + [Define if you have the 'intmax_t' type in or .]) + fi +]) Index: m4/inttypes-pri.m4 diff -u -r -N sharutils-4.3.78/m4/inttypes-pri.m4 sharutils-4.3.79/m4/inttypes-pri.m4 --- sharutils-4.3.78/m4/inttypes-pri.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/inttypes-pri.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,30 @@ +# inttypes-pri.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 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. + +# Define PRI_MACROS_BROKEN if exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include +#ifdef PRId32 +char *p = PRId32; +#endif +], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if exists and defines unusable PRI* macros.]) + fi +]) Index: m4/inttypes.m4 diff -u -r -N sharutils-4.3.78/m4/inttypes.m4 sharutils-4.3.79/m4/inttypes.m4 --- sharutils-4.3.78/m4/inttypes.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/inttypes.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,32 +1,25 @@ -#serial 6 +# inttypes.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 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. -AC_PREREQ(2.52) +# Define HAVE_INTTYPES_H if exists and doesn't clash with +# . -# Define intmax_t to long or long long if doesn't define. - -AC_DEFUN([jm_AC_TYPE_INTMAX_T], -[ - AC_REQUIRE([jm_AC_TYPE_LONG_LONG]) - AC_CHECK_TYPE(intmax_t, , - [test $ac_cv_type_long_long = yes \ - && ac_type='long long' \ - || ac_type='long' - AC_DEFINE_UNQUOTED(intmax_t, $ac_type, - [Define to widest signed type if doesn't define.])]) -]) - -# Define uintmax_t to unsigned long or unsigned long long -# if doesn't define. - -AC_DEFUN([jm_AC_TYPE_UINTMAX_T], +AC_DEFUN([gt_HEADER_INTTYPES_H], [ - AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) - AC_CHECK_TYPE(uintmax_t, , - [test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' - AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, - [Define to widest unsigned type if doesn't define.])]) + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include +#include ], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if exists and doesn't clash with .]) + fi ]) Index: m4/inttypes_h.m4 diff -u -r -N sharutils-4.3.78/m4/inttypes_h.m4 sharutils-4.3.79/m4/inttypes_h.m4 --- sharutils-4.3.78/m4/inttypes_h.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/inttypes_h.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,26 @@ +# inttypes_h.m4 serial 6 +dnl Copyright (C) 1997-2004 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_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + gl_cv_header_inttypes_h=yes, + gl_cv_header_inttypes_h=no)]) + if test $gl_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) Index: m4/isc-posix.m4 diff -u -r -N sharutils-4.3.78/m4/isc-posix.m4 sharutils-4.3.79/m4/isc-posix.m4 --- sharutils-4.3.78/m4/isc-posix.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/isc-posix.m4 1969-12-31 16:00:00.000000000 -0800 @@ -1,26 +0,0 @@ -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) Index: m4/lcmessage.m4 diff -u -r -N sharutils-4.3.78/m4/lcmessage.m4 sharutils-4.3.79/m4/lcmessage.m4 --- sharutils-4.3.78/m4/lcmessage.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/lcmessage.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,10 +1,8 @@ -# lcmessage.m4 serial 3 (gettext-0.11.3) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# lcmessage.m4 serial 4 (gettext-0.14.2) +dnl Copyright (C) 1995-2002, 2004-2005 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 @@ -20,12 +18,12 @@ # Check whether LC_MESSAGES is available in . -AC_DEFUN([AM_LC_MESSAGES], +AC_DEFUN([gt_LC_MESSAGES], [ - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then + gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) + if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi Index: m4/lib-ld.m4 diff -u -r -N sharutils-4.3.78/m4/lib-ld.m4 sharutils-4.3.79/m4/lib-ld.m4 --- sharutils-4.3.78/m4/lib-ld.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/lib-ld.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,10 +1,8 @@ -# lib-ld.m4 serial 1 (gettext-0.11) -dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-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. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision @@ -14,11 +12,12 @@ 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. -if $LD -v 2>&1 &5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi]) +case `$LD -v 2>&1 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. @@ -75,11 +87,12 @@ # 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. - if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi + 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" Index: m4/lib-link.m4 diff -u -r -N sharutils-4.3.78/m4/lib-link.m4 sharutils-4.3.79/m4/lib-link.m4 --- sharutils-4.3.78/m4/lib-link.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/lib-link.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,13 +1,13 @@ -# lib-link.m4 serial 3 (gettext-0.11.3) -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# lib-link.m4 serial 6 (gettext-0.14.3) +dnl Copyright (C) 2001-2005 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.50) + 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 @@ -92,10 +92,11 @@ dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, -dnl hardcode_direct, hardcode_minus_L, -dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. +dnl hardcode_direct, 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 @@ -114,8 +115,6 @@ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" - sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" - sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], @@ -135,7 +134,7 @@ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_ARG_WITH([lib$1-prefix], + AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ @@ -353,7 +352,7 @@ if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi @@ -402,7 +401,7 @@ if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi Index: m4/lib-prefix.m4 diff -u -r -N sharutils-4.3.78/m4/lib-prefix.m4 sharutils-4.3.79/m4/lib-prefix.m4 --- sharutils-4.3.78/m4/lib-prefix.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/lib-prefix.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,13 +1,18 @@ -# lib-prefix.m4 serial 1 (gettext-0.11) -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# lib-prefix.m4 serial 4 (gettext-0.14.2) +dnl Copyright (C) 2001-2005 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 @@ -26,7 +31,7 @@ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_ARG_WITH([lib-prefix], + 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], [ @@ -64,7 +69,7 @@ if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in - linux*) haveit=yes;; + linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi Index: m4/longdouble.m4 diff -u -r -N sharutils-4.3.78/m4/longdouble.m4 sharutils-4.3.79/m4/longdouble.m4 --- sharutils-4.3.78/m4/longdouble.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/longdouble.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,28 @@ +# longdouble.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-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. + +dnl From Bruno Haible. +dnl Test whether the compiler supports the 'long double' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_LONGDOUBLE], +[ + AC_CACHE_CHECK([for long double], gt_cv_c_long_double, + [if test "$GCC" = yes; then + gt_cv_c_long_double=yes + else + AC_TRY_COMPILE([ + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + int array [2*(sizeof(long double) >= sizeof(double)) - 1]; + ], , + gt_cv_c_long_double=yes, gt_cv_c_long_double=no) + fi]) + if test $gt_cv_c_long_double = yes; then + AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) + fi +]) Index: m4/longlong.m4 diff -u -r -N sharutils-4.3.78/m4/longlong.m4 sharutils-4.3.79/m4/longlong.m4 --- sharutils-4.3.78/m4/longlong.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/longlong.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,35 +1,23 @@ -#serial 2 +# longlong.m4 serial 5 +dnl Copyright (C) 1999-2004 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 if 'long long' works. -AC_DEFUN([jm_AC_TYPE_LONG_LONG], +AC_DEFUN([gl_AC_TYPE_LONG_LONG], [ AC_CACHE_CHECK([for long long], ac_cv_type_long_long, - [AC_TRY_LINK([long long ll = 1; int i = 63;], + [AC_TRY_LINK([long long ll = 1LL; int i = 63;], [long long llmax = (long long) -1; return ll << i | ll >> i | llmax / ll | llmax % ll;], ac_cv_type_long_long=yes, ac_cv_type_long_long=no)]) if test $ac_cv_type_long_long = yes; then AC_DEFINE(HAVE_LONG_LONG, 1, - [Define if you have the long long type.]) - fi -]) - -# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. - -AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], -[ - AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, - [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], - [unsigned long long ullmax = (unsigned long long) -1; - return ull << i | ull >> i | ullmax / ull | ullmax % ull;], - ac_cv_type_unsigned_long_long=yes, - ac_cv_type_unsigned_long_long=no)]) - if test $ac_cv_type_unsigned_long_long = yes; then - AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, - [Define if you have the unsigned long long type.]) + [Define if you have the 'long long' type.]) fi ]) Index: m4/nls.m4 diff -u -r -N sharutils-4.3.78/m4/nls.m4 sharutils-4.3.79/m4/nls.m4 --- sharutils-4.3.78/m4/nls.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/nls.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,51 @@ +# nls.m4 serial 2 (gettext-0.14.3) +dnl Copyright (C) 1995-2003, 2005 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 , 1995-2000. +dnl Bruno Haible , 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) +]) + +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])]) + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate it. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) Index: m4/po.m4 diff -u -r -N sharutils-4.3.78/m4/po.m4 sharutils-4.3.79/m4/po.m4 --- sharutils-4.3.78/m4/po.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/po.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,429 @@ +# po.m4 serial 7 (gettext-0.14.3) +dnl Copyright (C) 1995-2005 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 , 1995-2000. +dnl Bruno Haible , 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_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl + + 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 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 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 This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + 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. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + 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. + 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 < "$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" < /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" <> "$ac_file.tmp" < +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, + [ + AC_EGREP_CPP(notposix, [ +#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + notposix +#endif + ], gt_cv_func_printf_posix="guessing no", + gt_cv_func_printf_posix="guessing yes") + ]) + ]) + case $gt_cv_func_printf_posix in + *yes) + AC_DEFINE(HAVE_POSIX_PRINTF, 1, + [Define if your printf() function supports format strings with positions.]) + ;; + esac +]) Index: m4/progtest.m4 diff -u -r -N sharutils-4.3.78/m4/progtest.m4 sharutils-4.3.79/m4/progtest.m4 --- sharutils-4.3.78/m4/progtest.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/progtest.m4 2005-04-25 20:07:28.000000000 -0700 @@ -1,10 +1,8 @@ -# progtest.m4 serial 2 (gettext-0.10.40) -dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# progtest.m4 serial 4 (gettext-0.14.2) +dnl Copyright (C) 1996-2003, 2005 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 @@ -18,36 +16,71 @@ dnl Authors: dnl Ulrich Drepper , 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], -[# Extract the first word of "$2", so it can be a program name with args. +[ +# 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_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" + 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 Index: m4/signed.m4 diff -u -r -N sharutils-4.3.78/m4/signed.m4 sharutils-4.3.79/m4/signed.m4 --- sharutils-4.3.78/m4/signed.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/signed.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,17 @@ +# signed.m4 serial 1 (gettext-0.10.40) +dnl Copyright (C) 2001-2002 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([bh_C_SIGNED], +[ + AC_CACHE_CHECK([for signed], bh_cv_c_signed, + [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) + if test $bh_cv_c_signed = no; then + AC_DEFINE(signed, , + [Define to empty if the C compiler doesn't support this keyword.]) + fi +]) Index: m4/size_max.m4 diff -u -r -N sharutils-4.3.78/m4/size_max.m4 sharutils-4.3.79/m4/size_max.m4 --- sharutils-4.3.78/m4/size_max.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/size_max.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,59 @@ +# size_max.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. + +dnl From Bruno Haible. + +AC_DEFUN([gl_SIZE_MAX], +[ + AC_CHECK_HEADERS(stdint.h) + dnl First test whether the system already has SIZE_MAX. + AC_MSG_CHECKING([for SIZE_MAX]) + result= + AC_EGREP_CPP([Found it], [ +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif +], result=yes) + if test -z "$result"; then + dnl Define it ourselves. Here we assume that the type 'size_t' is not wider + dnl than the type 'unsigned long'. + dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr', + dnl which is guaranteed to work from LONG_MIN to LONG_MAX. + _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi, + [#include ], result=?) + _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo, + [#include ], result=?) + _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, + [#include ], result=?) + if test "$fits_in_uint" = 1; then + dnl Even though SIZE_MAX fits in an unsigned int, it must be of type + dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. + AC_TRY_COMPILE([#include + extern size_t foo; + extern unsigned long foo; + ], [], fits_in_uint=0) + fi + if test -z "$result"; then + if test "$fits_in_uint" = 1; then + result="$res_hi$res_lo"U + else + result="$res_hi$res_lo"UL + fi + else + dnl Shouldn't happen, but who knows... + result='~(size_t)0' + fi + fi + AC_MSG_RESULT([$result]) + if test "$result" != yes; then + AC_DEFINE_UNQUOTED([SIZE_MAX], [$result], + [Define as the maximum value of type 'size_t', if the system doesn't define it.]) + fi +]) Index: m4/stdint_h.m4 diff -u -r -N sharutils-4.3.78/m4/stdint_h.m4 sharutils-4.3.79/m4/stdint_h.m4 --- sharutils-4.3.78/m4/stdint_h.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/stdint_h.m4 2005-04-25 20:07:28.000000000 -0700 @@ -0,0 +1,26 @@ +# stdint_h.m4 serial 5 +dnl Copyright (C) 1997-2004 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_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + gl_cv_header_stdint_h=yes, + gl_cv_header_stdint_h=no)]) + if test $gl_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) Index: m4/uintmax_t.m4 diff -u -r -N sharutils-4.3.78/m4/uintmax_t.m4 sharutils-4.3.79/m4/uintmax_t.m4 --- sharutils-4.3.78/m4/uintmax_t.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/uintmax_t.m4 2005-04-25 20:07:29.000000000 -0700 @@ -0,0 +1,30 @@ +# uintmax_t.m4 serial 9 +dnl Copyright (C) 1997-2004 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. + +AC_PREREQ(2.13) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in or . + +AC_DEFUN([gl_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then + AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in or .]) + fi +]) Index: m4/ulonglong.m4 diff -u -r -N sharutils-4.3.78/m4/ulonglong.m4 sharutils-4.3.79/m4/ulonglong.m4 --- sharutils-4.3.78/m4/ulonglong.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/ulonglong.m4 2005-04-25 20:07:29.000000000 -0700 @@ -0,0 +1,23 @@ +# ulonglong.m4 serial 4 +dnl Copyright (C) 1999-2004 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_UNSIGNED_LONG_LONG if 'unsigned long long' works. + +AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the 'unsigned long long' type.]) + fi +]) Index: m4/wchar_t.m4 diff -u -r -N sharutils-4.3.78/m4/wchar_t.m4 sharutils-4.3.79/m4/wchar_t.m4 --- sharutils-4.3.78/m4/wchar_t.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/wchar_t.m4 2005-04-25 20:07:29.000000000 -0700 @@ -0,0 +1,20 @@ +# wchar_t.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-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. + +dnl From Bruno Haible. +dnl Test whether has the 'wchar_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WCHAR_T], +[ + AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, + [AC_TRY_COMPILE([#include + wchar_t foo = (wchar_t)'\0';], , + gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) + if test $gt_cv_c_wchar_t = yes; then + AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) + fi +]) Index: m4/wint_t.m4 diff -u -r -N sharutils-4.3.78/m4/wint_t.m4 sharutils-4.3.79/m4/wint_t.m4 --- sharutils-4.3.78/m4/wint_t.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/wint_t.m4 2005-04-25 20:07:29.000000000 -0700 @@ -0,0 +1,20 @@ +# wint_t.m4 serial 1 (gettext-0.12) +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. + +dnl From Bruno Haible. +dnl Test whether 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([#include + 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 +]) Index: m4/xsize.m4 diff -u -r -N sharutils-4.3.78/m4/xsize.m4 sharutils-4.3.79/m4/xsize.m4 --- sharutils-4.3.78/m4/xsize.m4 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/m4/xsize.m4 2005-04-25 20:07:29.000000000 -0700 @@ -0,0 +1,13 @@ +# xsize.m4 serial 3 +dnl Copyright (C) 2003-2004 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_XSIZE], +[ + dnl Prerequisites of lib/xsize.h. + AC_REQUIRE([gl_SIZE_MAX]) + AC_REQUIRE([AC_C_INLINE]) + AC_CHECK_HEADERS(stdint.h) +]) Index: m4/xstrtoimax.m4 diff -u -r -N sharutils-4.3.78/m4/xstrtoimax.m4 sharutils-4.3.79/m4/xstrtoimax.m4 --- sharutils-4.3.78/m4/xstrtoimax.m4 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/m4/xstrtoimax.m4 2005-04-25 19:08:50.000000000 -0700 @@ -5,10 +5,10 @@ AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX], [ - AC_REQUIRE([jm_AC_TYPE_INTMAX_T]) - AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) - AC_REQUIRE([jm_AC_TYPE_LONG_LONG]) - AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + AC_REQUIRE([gt_TYPE_INTMAX_T]) + AC_REQUIRE([gl_AC_TYPE_UINTMAX_T]) + AC_REQUIRE([gl_AC_TYPE_LONG_LONG]) + AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoimax, strtoumax]) AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h) Index: po/ChangeLog diff -u -r -N sharutils-4.3.78/po/ChangeLog sharutils-4.3.79/po/ChangeLog --- sharutils-4.3.78/po/ChangeLog 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/ChangeLog 2005-04-24 07:41:31.000000000 -0700 @@ -1,3 +1,15 @@ +2005-04-24 Bruce Korb + + * fi.po: Syncronize with http://www.iro.umontreal.ca + * it.po: ditto + * nl.po: ditto + * rw.po: ditto (new) + * vi.po: ditto (new) + +2005-01-23 Marco Colombo + + * it.po: new + 2002-12-07 Karl Eichwalder * sv.po: Update (Jan Djärv). Index: po/LINGUAS diff -u -r -N sharutils-4.3.78/po/LINGUAS sharutils-4.3.79/po/LINGUAS --- sharutils-4.3.78/po/LINGUAS 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/LINGUAS 2005-04-25 20:07:23.000000000 -0700 @@ -1,2 +1,2 @@ -#Set of available languages. -ca cs da de el es fr gl hu ja nl nb nn pt ru sv tr zh_TW +# Set of available languages: +ca cs da de el es et fi fr gl hu it ja nb nl nn pt ru rw sr sv tr vi zh_TW Index: po/Makefile.in.in diff -u -r -N sharutils-4.3.78/po/Makefile.in.in sharutils-4.3.79/po/Makefile.in.in --- sharutils-4.3.78/po/Makefile.in.in 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/Makefile.in.in 2005-04-25 20:07:29.000000000 -0700 @@ -1,5 +1,5 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper +# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper # # 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 @@ -7,9 +7,12 @@ # 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.14.4 PACKAGE = @PACKAGE@ VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ @@ -27,7 +30,7 @@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` +mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ @@ -42,9 +45,9 @@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \ +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) @@ -55,7 +58,7 @@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ @@ -74,18 +77,49 @@ all: all-@USE_NLS@ -all-yes: $(CATALOGS) +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)' + --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 && \ @@ -101,25 +135,37 @@ 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$$//'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot + 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"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common); do \ + 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 @@ -170,7 +216,7 @@ installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext"; then \ + if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ @@ -215,8 +261,8 @@ uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext"; then \ - for file in $(DISTFILES.common); do \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ @@ -235,10 +281,11 @@ check: all -dvi info tags TAGS ID: +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 @@ -250,35 +297,55 @@ 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 $(GMOFILES) + 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: $(DISTFILES) +dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ - if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \ + 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); \ + cp -p $$file $(distdir) || exit 1; \ else \ - cp -p $(srcdir)/$$file $(distdir); \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update - $(MAKE) $(UPDATEPOFILES) + 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"; then PATH=`pwd`/../src:$$PATH; fi; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ @@ -305,7 +372,7 @@ update-gmo: Makefile $(GMOFILES) @: -Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status Index: po/Rules-quot diff -u -r -N sharutils-4.3.78/po/Rules-quot sharutils-4.3.79/po/Rules-quot --- sharutils-4.3.78/po/Rules-quot 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/Rules-quot 2005-04-25 20:07:29.000000000 -0700 @@ -4,6 +4,11 @@ .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 Files sharutils-4.3.78/po/ca.gmo and sharutils-4.3.79/po/ca.gmo differ Index: po/ca.po diff -u -r -N sharutils-4.3.78/po/ca.po sharutils-4.3.79/po/ca.po --- sharutils-4.3.78/po/ca.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/ca.po 2005-04-25 20:08:36.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.3.73\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-08-24 13:23+0200\n" "Last-Translator: Antoni Bella Perez \n" "Language-Team: Catalan \n" @@ -117,7 +117,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "L'opció -C està obsoleta, en el seu lloc s'usa -Z" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "No es pot obtindre el nom del directori actual" @@ -346,12 +346,12 @@ msgid "Closing `%s'" msgstr "Tancant `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per a més informació proveu amb `%s --help'.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usant: %s [OPCIÓ]... [FITXER]...\n" @@ -527,7 +527,7 @@ msgstr "L'opció -g implica a l'opció -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Informar dels errors a <%s>.\n" @@ -555,7 +555,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -608,37 +608,37 @@ msgid "failed to remove" msgstr "falla a l'esborrar-lo" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "No es troben comandaments de l'interpret d'ordres en %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s sembla codi C, no un arxiu de shell" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "" "No es troben comandaments de l'interpret d'ordres després de `cut' en %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "Probablement %s no sigui un arxiu de l'interpret d'ordres" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "La línia `cut' estava seguida per: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Arrencant el proces `sh'" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -668,15 +668,23 @@ "\n" "Sense FITXER, es llegirà l'entrada estàndard.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "No es pot canviar al directori `%s'" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "entrada estàndard" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/cs.gmo and sharutils-4.3.79/po/cs.gmo differ Index: po/cs.po diff -u -r -N sharutils-4.3.78/po/cs.po sharutils-4.3.79/po/cs.po --- sharutils-4.3.78/po/cs.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/cs.po 2005-04-25 20:08:36.000000000 -0700 @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.2c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 1999-01-05 15:48+01:00\n" "Last-Translator: Vladimir Michl \n" "Language-Team: Czech \n" @@ -120,7 +120,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C nen podporovn, msto nj pouijte -Z" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Jmno aktulnho adrese nelze zjistit" @@ -351,12 +351,12 @@ msgid "Closing `%s'" msgstr "Uzavrm `%s`" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Vce informac zskte pkazem `%s --help`.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pouit: %s [PEPNA]... [SOUBOR]...\n" @@ -513,7 +513,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -541,7 +541,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -594,36 +594,36 @@ msgid "failed to remove" msgstr "se nepovedlo smazat" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "V %s nebyly nalezeny dn pkazy pro shell" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s je pravdpodobn C kd, nikoli shellov archiv" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Nenalezeny pkazy pro shell po `cut` v %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s pravdpodobn nen shellov archiv" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "dek `cut` byl nsledovn: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Startuji proces `sh'" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -651,15 +651,23 @@ "\n" "Pokud SOUBOR nebude zadn, bude ten standardn vstup.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Adres nelze zmnit na `%s`" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "standardn vstup" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/da.gmo and sharutils-4.3.79/po/da.gmo differ Index: po/da.po diff -u -r -N sharutils-4.3.78/po/da.po sharutils-4.3.79/po/da.po --- sharutils-4.3.78/po/da.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/da.po 2005-04-25 20:08:36.000000000 -0700 @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.3.73\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-09-06 17:33:05+0200\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" @@ -116,7 +116,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C er forldet, brug -Z i stedet" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Kan ikke f fat p navnet p aktuelt katalog" @@ -345,12 +345,12 @@ msgid "Closing `%s'" msgstr "Lukker \"%s\"" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prv med \"%s --help\" for yderligere information.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Brug: %s [FLAG]... [FIL]...\n" @@ -514,7 +514,7 @@ msgstr "Flaget -g medfrer -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapportr fejl til <%s>.\n" @@ -542,7 +542,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -597,36 +597,36 @@ msgid "failed to remove" msgstr "kunne ikke fjerne" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Fandt ingen skalkommandoer i %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s ser ud som r C-kode, ikke som et skalarkiv" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Fandt ingen skalkommandoer efter skringslinje i %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s er formodentlig ikke et skalarkiv" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "Skringslinjen efterfulgtes af: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Starter en skalproces" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -653,15 +653,23 @@ "\n" "Hvis ingen FIL angives s lses standard ind.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Kan ikke g til katalog \"%s\"" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "standard ind" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/de.gmo and sharutils-4.3.79/po/de.gmo differ Index: po/de.po diff -u -r -N sharutils-4.3.78/po/de.po sharutils-4.3.79/po/de.po --- sharutils-4.3.78/po/de.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/de.po 2005-04-25 20:08:36.000000000 -0700 @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.3.75\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-12-15 14:38+0100\n" "Last-Translator: Karl Eichwalder \n" "Language-Team: German \n" @@ -122,7 +122,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "von -C wird abgeraten, verwenden Sie -Z stattdessen" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "" "Es ist nicht mglich, den Namen des aktuellen Verzeichnisses zu ermitteln" @@ -349,12 +349,12 @@ msgid "Closing `%s'" msgstr "Schliee `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "`%s --help' gibt weitere Informationen.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" @@ -527,7 +527,7 @@ msgstr "Option -g inbegriffen -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -559,7 +559,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -612,36 +612,36 @@ msgid "failed to remove" msgstr "konnte nicht entfernt werden" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Habe in %s keine Shell-Kommandos gefunden" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s sieht wie reiner C Code aus, nicht wie ein Shell-Archiv" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Habe keine Shell-Kommandos nach `cut' in %s gefunden" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s ist wahrscheinlich kein Shell-Archiv" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "Nach der cut-Zeile kam: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Starte `sh' Prozess" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -671,15 +671,23 @@ "\n" "Wenn keine DATEI angegeben wird von stdin gelesen.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "chdir auf Verzeichnis `%s' nicht mglich" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "Standard-Eingabe" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/el.gmo and sharutils-4.3.79/po/el.gmo differ Index: po/el.po diff -u -r -N sharutils-4.3.78/po/el.po sharutils-4.3.79/po/el.po --- sharutils-4.3.78/po/el.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/el.po 2005-04-25 20:08:36.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU sharutils 4.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 1998-06-20 18:03+0200\n" "Last-Translator: Simos KSenitellis \n" "Language-Team: Greek \n" @@ -139,7 +139,7 @@ msgstr " -C , -Z" # -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr " " @@ -422,13 +422,13 @@ msgstr " `%s'" # -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr " `%s --help' .\n" # -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr ": %s []... []...\n" @@ -591,7 +591,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -623,7 +623,7 @@ msgstr "" # -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -687,42 +687,42 @@ msgstr " " # -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr " %s" # -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr " %s C " # -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr " `cut' %s" # -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr " %s " # -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr " `cut' : %s" # -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr " `sh'" # -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -751,16 +751,24 @@ " , .\n" # -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr " `%s'" +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + # -#: src/unshar.c:462 +#: src/unshar.c:464 msgid "standard input" msgstr " " +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + # #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format Files sharutils-4.3.78/po/es.gmo and sharutils-4.3.79/po/es.gmo differ Index: po/es.po diff -u -r -N sharutils-4.3.78/po/es.po sharutils-4.3.79/po/es.po --- sharutils-4.3.78/po/es.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/es.po 2005-04-25 20:08:36.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU sharutils 4.2c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 1996-12-23 20:45+0100\n" "Last-Translator: Toms Bautista \n" "Language-Team: Spanish \n" @@ -199,7 +199,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "La opcin -C est obsoleta, se utiliza -Z en su lugar" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "No se puede obtener el nombre del directorio actual" @@ -577,12 +577,12 @@ msgid "Closing `%s'" msgstr "Cerrando `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pruebe `%s --help' para ms informacin.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Modo de empleo: %s [OPCIN]... [ARCHIVO]...\n" @@ -784,7 +784,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -825,7 +825,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -912,33 +912,33 @@ msgid "failed to remove" msgstr "fallo al borrar" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "No se encontraron instrucciones de shell en %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s parece cdigo C, no un archivo de shell" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "No se encontraron instrucciones de shell despus de `cut' en %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "Probablemente %s no es un archivo de shell" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "La lnea `cut' estaba seguida por: %s" # Sugerencia: Iniciando. sv -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Arrancando el proceso `sh'" @@ -950,7 +950,7 @@ # mirado el diccionario, y resulta que ambas son vlidas. Elige t; a m # personalmente (y no s por qu) me gusta ms `concatenar'). ipg # Y a m tambin: es lo que la gente usa por aqu... tb -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -979,15 +979,23 @@ "\n" "Si no se indica ARCHIVO, entonces se lee la entrada estndar.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "No se puede cambiar al directorio `%s'" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "entrada estndar" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/et.gmo and sharutils-4.3.79/po/et.gmo differ Index: po/et.po diff -u -r -N sharutils-4.3.78/po/et.po sharutils-4.3.79/po/et.po --- sharutils-4.3.78/po/et.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/et.po 2005-04-25 20:08:36.000000000 -0700 @@ -0,0 +1,756 @@ +# Estonian translations for sharutils. +# Copyright (C) 2002 Free Software Foundation, Inc. +# This file is distributed under the same license as the sharutils package. +# Toomas Soome , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.75\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2002-12-03 13:56+0200\n" +"Last-Translator: Toomas Soome \n" +"Language-Team: Estonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/error.c:131 lib/error.c:159 +msgid "Unknown system error" +msgstr "Tundmatu ssteemne viga" + +#: lib/getopt.c:694 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: vti `%s' on mitmethenduslik\n" + +#: lib/getopt.c:719 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: vti `--%s' ei luba argumenti\n" + +#: lib/getopt.c:724 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: vti `%c%s' ei luba argumenti\n" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: vti `%s' nuab argumenti\n" + +#: lib/getopt.c:771 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: tundmatu vti `--%s'\n" + +#: lib/getopt.c:775 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: tundmatu vti `%c%s'\n" + +#: lib/getopt.c:801 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: lubamatu vti -- %c\n" + +#: lib/getopt.c:804 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: vigane vti -- %c\n" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: vti nuab argumenti -- %c\n" + +#: lib/getopt.c:881 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: vti `-W %s' on mitmethenduslik\n" + +#: lib/getopt.c:899 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: vti `-W %s' ei luba kasutada argumenti\n" + +#: lib/xmalloc.c:66 +msgid "memory exhausted" +msgstr "mlu on otsas" + +#: src/shar.c:631 +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "HOIATUS: ei taasta ajatempleid. Kaaluge GNU failiutiliitide" + +#: src/shar.c:633 +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "paketiga kaasneva \\`touch' ksu paigaldamist..." + +#: src/shar.c:644 +msgid "failed to create locking directory" +msgstr "lukkude kataloogi loomine ebannestus" + +#: src/shar.c:654 src/shar.c:2356 +msgid "lock directory" +msgstr "lukkude kataloog" + +#: src/shar.c:654 src/shar.c:695 +msgid "created" +msgstr "loodud" + +#: src/shar.c:655 src/shar.c:695 +msgid "failed to create" +msgstr "loomine ebannestus" + +#: src/shar.c:685 +msgid "Too many directories for mkdir generation" +msgstr "Liiga palju katalooge mkdir ksule" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "%s ei saa kasutada" + +#: src/shar.c:799 src/shar.c:2068 +msgid "-C is being deprecated, use -Z instead" +msgstr "-C on ebasoovitab, kasutage -Z" + +#: src/shar.c:852 src/unshar.c:377 +msgid "Cannot get current directory name" +msgstr "Ei nnestu tuvastada jooksva kataloogi nime" + +#: src/shar.c:938 +msgid "Must unpack archives in sequence!" +msgstr "Arhiive tuleb lahti pakkida jrjest!" + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "Palun pakkige lahti osa" + +#: src/shar.c:939 src/shar.c:1483 +msgid "next!" +msgstr "jrgmine!" + +#: src/shar.c:967 +#, c-format +msgid "%s: Not a regular file" +msgstr "%s: Pole tavaline fail" + +#: src/shar.c:982 +#, c-format +msgid "In shar: remaining size %s\n" +msgstr "sharis: suurus veel %s\n" + +#: src/shar.c:993 src/shar.c:1388 +#, c-format +msgid "New file, remaining %s, " +msgstr "Uus fail, jrgi %s, " + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "Limiit on ikka %s\n" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "restore of" +msgstr "taastame" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "failed" +msgstr "ebannestus" + +#: src/shar.c:1011 src/shar.c:1408 +msgid "End of part" +msgstr "Osa lpp" + +#: src/shar.c:1012 src/shar.c:1409 +msgid "continue with part" +msgstr "jtkan osaga" + +#: src/shar.c:1025 src/shar.c:1501 +#, c-format +msgid "Starting file %s\n" +msgstr "Alustan fili %s\n" + +#: src/shar.c:1060 +msgid "empty" +msgstr "thi" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(thi)" + +#: src/shar.c:1085 +#, c-format +msgid "Cannot open file %s" +msgstr "Faili %s ei saa avada" + +#: src/shar.c:1122 +msgid "compressed" +msgstr "kompressitud" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "gzipitud" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "bzipitud" + +#: src/shar.c:1125 +msgid "binary" +msgstr "binaar" + +#: src/shar.c:1126 +msgid "(compressed)" +msgstr "(kompressitud)" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "(gzipitud)" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "(bzipitud)" + +#: src/shar.c:1129 +msgid "(binary)" +msgstr "(binaar)" + +#: src/shar.c:1142 +msgid "Could not fork" +msgstr "fork ebannestus" + +#: src/shar.c:1147 src/shar.c:1207 +#, c-format +msgid "File %s (%s)" +msgstr "Fail %s (%s)" + +#: src/shar.c:1201 +msgid "text" +msgstr "tekst" + +#: src/shar.c:1202 +msgid "(text)" +msgstr "(tekst)" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "kirjutan le" + +#: src/shar.c:1249 +msgid "overwrite" +msgstr "kirjutan le" + +#: src/shar.c:1250 +msgid "[no, yes, all, quit] (no)?" +msgstr "[ei, jah, kik, vlju] (ei)?" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "vljastamine katkestatud" + +#: src/shar.c:1252 src/shar.c:1257 +msgid "SKIPPING" +msgstr "JTAN VAHELE" + +#: src/shar.c:1257 +msgid "(file already exists)" +msgstr "(fail on juba olemas)" + +#: src/shar.c:1275 +#, c-format +msgid "Saving %s (%s)" +msgstr "Salvestan %s (%s)" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "vljastan" + +#: src/shar.c:1414 +msgid "End of" +msgstr "Lpp" + +#: src/shar.c:1415 +msgid "archive" +msgstr "arhiiv" + +#: src/shar.c:1416 +msgid "part" +msgstr "osa" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "Fail" + +#: src/shar.c:1419 +msgid "is continued in part" +msgstr "jtkub osas" + +#: src/shar.c:1479 +msgid "Please unpack part 1 first!" +msgstr "Palun pakkige lahti esmalt osa 1!" + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "JTAN IKKA VAHELE" + +#: src/shar.c:1505 +msgid "continuing file" +msgstr "jtkan faili" + +#: src/shar.c:1526 +msgid "is complete" +msgstr "on valmis" + +#: src/shar.c:1535 +msgid "uudecoding file" +msgstr "uudekodeerin faili" + +#: src/shar.c:1549 +msgid "uncompressing file" +msgstr "unkompressin faili" + +#: src/shar.c:1560 +msgid "gunzipping file" +msgstr "gunzipin faili" + +#: src/shar.c:1571 +msgid "bunzipping file" +msgstr "bunzipin faili" + +#: src/shar.c:1636 +msgid "MD5 check failed" +msgstr "MD5 kontroll ebannestus" + +#: src/shar.c:1697 +msgid "original size" +msgstr "algne suurus" + +#: src/shar.c:1698 +msgid "current size" +msgstr "praegune suurus" + +#: src/shar.c:1758 +#, c-format +msgid "Opening `%s'" +msgstr "Avan `%s'" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "Sulen `%s'" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Lisainfot saate ksuga Try `%s --help'.\n" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Kasutamine: %s [VTI]... [FAIL]...\n" + +#: src/shar.c:1786 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Kohustuslikud argumendid pikkades vtmetel on kohustuslikud ka lhikestel.\n" + +#: src/shar.c:1789 +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"\n" +"Tagasiside:\n" +" --help esita see abiinfo\n" +" --version esita versiooni info\n" +" -q, --quiet, --silent ra vljasta tagasiside teateid lokaalselt\n" + +#: src/shar.c:1797 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Failide valimine:\n" +" -p, --intermix-type luba -[BTzZ] faililoendites moodi muutmiseks\n" +" -S, --stdin-file-list loe failide loend standardsisendist\n" + +#: src/shar.c:1804 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Failide valimine:\n" +" -p, --intermix-type luba -[BTz] faililoendites moodi muutmiseks\n" +" -S, --stdin-file-list loe failide loend standardsisendist\n" + +#: src/shar.c:1811 +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"\n" +"Vljundi jagamine:\n" +" -o, --output-prefix=PREFIKS vljasta faili PREFIKS.01 kuni PREFIKS.NN\n" +" -l, --whole-size-limit=MAHT jaga arhiiv, mitte failid, MAHT KB osadeks\n" +" -L, --split-size-limit=MAHT jaga arhiiv vi failid MAHT KB osadeks\n" + +#: src/shar.c:1818 +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"\n" +"Shar piste kontrollimine:\n" +" -n, --archive-name=NIMI mra arhiivi nimi\n" +" -s, --submitter=AADRESS muuda looja nime\n" +" -a, --net-headers vljasta Submitted-by: & Archive-name: pised\n" +" -c, --cut-mark shar algusse `cut' rida\n" +"\n" +"Failide paigutamise valik:\n" +" -M, --mixed-uuencode uuencode kasutatakse vajadusel (vaikimisi)\n" +" -T, --text-files kik failid on tekstifailid\n" +" -B, --uuencode kik failid on binaarsed, kasuta uuencode\n" +" -z, --gzip kasuta kikide failidega gzip ja uuencode\n" +" -g, --level-for-gzip=TASE kasuta gzip -TASE (vaikimisi 9)\n" +" -j, --bzip2 kasuta kikide failidega bzip2 ja uuencode\n" + +#: src/shar.c:1835 +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "" +" -Z, --compress kompressi ja uukodeeri kik failid\n" +" -b, --bits-per-code=BITTE kasutad compress -bBITTE (vaikimisi 12)\n" + +#: src/shar.c:1840 +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"\n" +"lekandmiste kaitse:\n" +" -w, --no-character-count ra kasuta suuruse kontrolliks `wc -c'\n" +" -D, --no-md5-digest ra kasuta kontrolliks `md5sum'\n" +" -F, --force-prefix kasuta igal real prefiks smbolit\n" +" -d, --here-delimiter=SNE kasuta SNE failide eraldamiseks arhiivis\n" +"\n" +"Erinevat tpi shar arhiivide loomine:\n" +" -V, --vanilla-operation loo vga lihtne shar\n" +" -P, --no-piping kasuta unshar ajal ainult ajutisi faile\n" +" -x, --no-check-existing kirjuta olemasolevad failid le\n" +" -X, --query-user enne lekirjutamist ksi (mitte Netis)\n" +" -m, --no-timestamp ra taasta failide muutmise aegu\n" +" -Q, --quiet-unshar vldi unshar ajal teateid\n" +" -f, --basename sltumata hierarhiast taasta hte kataloogi\n" +" --no-i18n ra loo rahvuskeelte toega skripti\n" + +#: src/shar.c:1858 +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "" +"\n" +"Vti -o on nutav vtmega -l vi -L, vti -n on nutav vtmega -a.\n" + +#: src/shar.c:1863 +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "Vti -g kasutab ka vtit -z, vti -b kasutab ka vtit -Z.\n" + +#: src/shar.c:1867 +msgid "Option -g implies -z.\n" +msgstr "Vti -g kasutab ka vtit -z.\n" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "Vigadest teatage aadressil <%s>.\n" + +#: src/shar.c:2005 +msgid "DEBUG was not selected at compile time" +msgstr "DEBUG ei ole kompileerimise ajal mratud" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "letamatu piirang %s\n" + +#: src/shar.c:2064 +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "See ssteem ei toeta vtit -Z ('compress'), kasutage selle asemel -z" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "Pehme piirang %s\n" + +#: src/shar.c:2116 +#, c-format +msgid "illegal output prefix\n" +msgstr "" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "" +"Autoriigused %s Free Software Foundation, Inc.\n" +"See on vaba tarkvara; kopeerimise tingimused leiate lhtetekstist. Igasugune\n" +"garantii puudub; isegi KESKMISE/TAVALISE KVALITEEDI GARANTIITA vi SOBIVUSELE\n" +"TEATUD KINDLAKS EESMRGIKS.\n" + +#: src/shar.c:2210 +msgid "WARNING: No user interaction in vanilla mode" +msgstr "HOIATUS: kasutaja ei saa lihtsa arhiivi loomisse sekkuda" + +#: src/shar.c:2222 +msgid "WARNING: Non-text storage options overridden" +msgstr "HOIATUS: Mitte tekstilise paigutamise vtmed mber mratud" + +#: src/shar.c:2278 +msgid "No input files" +msgstr "Sisendfaile pole" + +#: src/shar.c:2284 +msgid "Cannot use -a option without -n" +msgstr "Vtit -a ei saa vtmeta -n kasutada" + +#: src/shar.c:2290 +msgid "Cannot use -l or -L option without -o" +msgstr "Vtit -l ega -L ei saa vtmeta -o kasutada" + +#: src/shar.c:2302 +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "PALUN vltige -X shar'e Usenetis ja avalikes vrkudes" + +#: src/shar.c:2343 +msgid "You have unpacked the last part" +msgstr "Te olete viimase osa lahti pakkinud" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "Loodud %d faili\n" + +#: src/shar.c:2356 +msgid "removed" +msgstr "eemaldatud" + +#: src/shar.c:2357 +msgid "failed to remove" +msgstr "eemaldamine ebannestus" + +#: src/unshar.c:169 +#, c-format +msgid "Found no shell commands in %s" +msgstr "%s ei sisalda ksklusi ksuinterpretaatorile" + +#: src/unshar.c:185 +#, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%s paistab olema C kood, mitte ksuinterpretaatori arhiiv" + +#: src/unshar.c:221 +#, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Failis %s puuduvad peale `cut' ksklust edasised ksud" + +#: src/unshar.c:242 +#, c-format +msgid "%s is probably not a shell archive" +msgstr "%s pole tenoliselt ksuinterpretaatori arhiiv" + +#: src/unshar.c:243 +#, c-format +msgid "The `cut' line was followed by: %s" +msgstr "Reale `cut' jrgnes: %s" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "Kivitan protsessi `sh'" + +#: src/unshar.c:318 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"Kohustuslikud argumendid pikkadele vtmetele on kohustuslikud ka " +"lhikestele.\n" +"\n" +" -d, --directory=KATALOOG enne lahtipakkimist mine KATALOOGI\n" +" -c, --overwrite edasta failide lekirjutamiseks shar arhiivi -" +"c\n" +" -e, --exit-0 sama, kui `--split-at=\"exit 0\"'\n" +" -E, --split-at=SNE poolita hendatud arhiivid peale SNE\n" +" -f, --force sama, kui `-c'\n" +" --help esita see abiinfo\n" +" --version esita versiooni info\n" +"\n" +"Kui FAIL puudub, loetakse standardsisendit.\n" + +#: src/unshar.c:395 +#, c-format +msgid "Cannot chdir to `%s'" +msgstr "Kataloogi `%s' ei nnestu siseneda" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +msgid "standard input" +msgstr "standardsisend" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, c-format +msgid "%s: Write error" +msgstr "%s: Viga kirjutamisel" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, c-format +msgid "%s: Short file" +msgstr "%s: Lhike fail" + +#: src/uudecode.c:156 +#, c-format +msgid "%s: No `end' line" +msgstr "%s: Puudub rida `end'" + +#: src/uudecode.c:220 +#, c-format +msgid "%s: data following `=' padding character" +msgstr "%s: titesmbolile `=' jrgnevad andmed" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, c-format +msgid "%s: illegal line" +msgstr "%s: vigane rida" + +#: src/uudecode.c:306 +#, c-format +msgid "%s: No `begin' line" +msgstr "%s: Puudub rida `begin'" + +#: src/uudecode.c:338 +#, c-format +msgid "%s: Illegal ~user" +msgstr "%s: Vigane ~kasutaja" + +#: src/uudecode.c:345 +#, c-format +msgid "%s: No user `%s'" +msgstr "%s: Kasutaja `%s' puudub" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "%s ei saa kasutada" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "ei kirjuta FIFO faili (%s)" + +#: src/uudecode.c:369 +#, c-format +msgid "not following symlink (%s)" +msgstr "ei jrgi nimeviidet (%s)" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "Kasutamine: %s [FAIL]...\n" + +#: src/uudecode.c:417 +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"Kohustuslikud argumendid pikkadele vtmetele on kohustuslikud ka " +"lhikestele.\n" +" -o, --output-file=FAIL suuna vljund FAILI\n" +" --help esita see abiinfo\n" +" --version esita versiooni info\n" + +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +msgid "Write error" +msgstr "Viga kirjutamisel" + +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +msgid "Read error" +msgstr "Viga lugemisel" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "Kasutamine: %s [SISENDFAIL] SIHTFAIL\n" + +#: src/uuencode.c:205 +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"\n" +" -m, --base64 kasuta RFC1521 vastavat base64 kodeerimist\n" +" --help esita see abiinfo\n" +" --version esita versiooni info\n" Files sharutils-4.3.78/po/fi.gmo and sharutils-4.3.79/po/fi.gmo differ Index: po/fi.po diff -u -r -N sharutils-4.3.78/po/fi.po sharutils-4.3.79/po/fi.po --- sharutils-4.3.78/po/fi.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/fi.po 2005-04-25 20:08:36.000000000 -0700 @@ -0,0 +1,786 @@ +# Finnish messages for sharutils. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the sharutils package. +# Lauri Nurmi , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-01-24 19:55+0200\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/error.c:131 lib/error.c:159 +msgid "Unknown system error" +msgstr "Tuntematon järjestelmävirhe" + +#: lib/getopt.c:694 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: valitsin \"%s\" on moniselitteinen\n" + +#: lib/getopt.c:719 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: valitsin \"--%s\" ei salli argumenttia\n" + +#: lib/getopt.c:724 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: valitsin \"%c%s\" ei salli argumenttia\n" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: valitsin \"%s\" vaatii argumentin\n" + +#: lib/getopt.c:771 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: tunnistamaton valitsin \"--%s\"\n" + +#: lib/getopt.c:775 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: tunnistamaton valitsin \"%c%s\"\n" + +#: lib/getopt.c:801 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: virheellinen valitsin -- %c\n" + +#: lib/getopt.c:804 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: virheellinen valitsin -- %c\n" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: valitsin vaatii argumentin -- %c\n" + +#: lib/getopt.c:881 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: valitsin \"-W %s\" on moniselitteinen\n" + +#: lib/getopt.c:899 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: valitsin \"-W %s\" ei salli argumenttia\n" + +#: lib/xmalloc.c:66 +msgid "memory exhausted" +msgstr "muisti lopussa" + +#: src/shar.c:631 +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "" +"VAROITUS: aikaleimoja ei palauteta. Harkitse GNU:n \\\"touch\\\"-ohjelman " + +#: src/shar.c:633 +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "hankkimista ja asentamista... (Levitetään GNU Fileutils -paketissa.)" + +#: src/shar.c:644 +msgid "failed to create locking directory" +msgstr "lukkohakemiston luominen epäonnistui" + +#: src/shar.c:654 src/shar.c:2356 +msgid "lock directory" +msgstr "lukkohakemisto" + +#: src/shar.c:654 src/shar.c:695 +msgid "created" +msgstr "luotu" + +#: src/shar.c:655 src/shar.c:695 +msgid "failed to create" +msgstr "luominen epäonnistui" + +#: src/shar.c:685 +msgid "Too many directories for mkdir generation" +msgstr "Liian monta hakemistoa mkdir-luontiin" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "Tiedostoa %s ei voi käyttää" + +#: src/shar.c:799 src/shar.c:2068 +msgid "-C is being deprecated, use -Z instead" +msgstr "-C on poistumassa käytöstä, käytä sen sijaan -Z" + +#: src/shar.c:852 src/unshar.c:377 +msgid "Cannot get current directory name" +msgstr "Nykyisen hakemiston nimeä ei voida selvittää" + +#: src/shar.c:938 +msgid "Must unpack archives in sequence!" +msgstr "Arkistot on purettava järjestyksessä!" + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "Pura osa" + +#: src/shar.c:939 src/shar.c:1483 +msgid "next!" +msgstr "seuraavaksi!" + +#: src/shar.c:967 +#, c-format +msgid "%s: Not a regular file" +msgstr "%s: Ei ole tavallinen tiedosto" + +#: src/shar.c:982 +#, c-format +msgid "In shar: remaining size %s\n" +msgstr "shar(): jäljellä oleva koko %s\n" + +#: src/shar.c:993 src/shar.c:1388 +#, c-format +msgid "New file, remaining %s, " +msgstr "Uusi tiedosto, jäljellä %s, " + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "Raja edelleen %s\n" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "restore of" +msgstr "tiedoston" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "failed" +msgstr "palautus epäonnistui" + +#: src/shar.c:1011 src/shar.c:1408 +msgid "End of part" +msgstr "Osan loppu" + +#: src/shar.c:1012 src/shar.c:1409 +msgid "continue with part" +msgstr "jatka osalla" + +#: src/shar.c:1025 src/shar.c:1501 +#, c-format +msgid "Starting file %s\n" +msgstr "Aloitetaan tiedostoa %s\n" + +#: src/shar.c:1060 +msgid "empty" +msgstr "tyhjä" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(tyhjä)" + +#: src/shar.c:1085 +#, c-format +msgid "Cannot open file %s" +msgstr "Tiedostoa %s ei voi avata" + +#: src/shar.c:1122 +msgid "compressed" +msgstr "tiivistetty" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "gzip-tiivistetty" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "bzip-tiivistetty" + +#: src/shar.c:1125 +msgid "binary" +msgstr "binääri" + +#: src/shar.c:1126 +msgid "(compressed)" +msgstr "(tiivistetty)" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "(gzip-tiivistetty)" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "(bzip-tiivistetty)" + +#: src/shar.c:1129 +msgid "(binary)" +msgstr "(binääri)" + +#: src/shar.c:1142 +msgid "Could not fork" +msgstr "Haarauttaminen epäonnistui" + +#: src/shar.c:1147 src/shar.c:1207 +#, c-format +msgid "File %s (%s)" +msgstr "Tiedosto %s (%s)" + +#: src/shar.c:1201 +msgid "text" +msgstr "teksti" + +#: src/shar.c:1202 +msgid "(text)" +msgstr "(teksti)" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "ylikirjoitetaan" + +#: src/shar.c:1249 +msgid "overwrite" +msgstr "ylikirjoita" + +#: src/shar.c:1250 +msgid "[no, yes, all, quit] (no)?" +msgstr "[no, yes, all, quit] (no)?" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "purku keskeytetty" + +#: src/shar.c:1252 src/shar.c:1257 +msgid "SKIPPING" +msgstr "OHITETAAN" + +#: src/shar.c:1257 +msgid "(file already exists)" +msgstr "(tiedosto on jo olemassa)" + +#: src/shar.c:1275 +#, c-format +msgid "Saving %s (%s)" +msgstr "Tallennetaan %s (%s)" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "puretaan" + +#: src/shar.c:1414 +msgid "End of" +msgstr "' '" + +#: src/shar.c:1415 +msgid "archive" +msgstr "Arkiston loppu" + +#: src/shar.c:1416 +msgid "part" +msgstr "Osan loppu" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "Tiedosto" + +#: src/shar.c:1419 +msgid "is continued in part" +msgstr "jatkuu osassa" + +#: src/shar.c:1479 +msgid "Please unpack part 1 first!" +msgstr "Pura osa 1 ensin!" + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "OHITETAAN EDELLEEN" + +#: src/shar.c:1505 +msgid "continuing file" +msgstr "jatketaan tiedostoa" + +#: src/shar.c:1526 +msgid "is complete" +msgstr "on täydellinen" + +#: src/shar.c:1535 +msgid "uudecoding file" +msgstr "puretaan tiedoston uu-koodaus" + +#: src/shar.c:1549 +msgid "uncompressing file" +msgstr "puretaan tiedoston tiivistys" + +#: src/shar.c:1560 +msgid "gunzipping file" +msgstr "puretaan tiedoston gzip-tiivistys" + +#: src/shar.c:1571 +msgid "bunzipping file" +msgstr "puretaan tiedoston bzip-tiivistys" + +#: src/shar.c:1636 +msgid "MD5 check failed" +msgstr "MD5-tarkastus epäonnistui" + +#: src/shar.c:1697 +msgid "original size" +msgstr "alkuperäinen koko" + +#: src/shar.c:1698 +msgid "current size" +msgstr "nykyinen koko" + +#: src/shar.c:1758 +#, c-format +msgid "Opening `%s'" +msgstr "Avataan \"%s\"" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "Suljetaan \"%s\"" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Lisätietoja saa komennolla \"%s --help\".\n" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" + +#: src/shar.c:1786 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille " +"valitsimille.\n" + +#: src/shar.c:1789 +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"\n" +"Palautteen antaminen:\n" +" --help näytä tämä ohje ja poistu\n" +" --version näytä versiotiedot ja poistu\n" +" -q, --quiet, --silent älä tulosta monisanaisia viestejä paikallisesti\n" + +#: src/shar.c:1797 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Tiedostojen valinta:\n" +" -p, --intermix-type salli tilan vaihto tiedostoluetteloissa\n" +" käyttäen -[BTzZ]\n" +" -S, --stdin-file-list lue tiedostoluettelo vakiosyötteestä\n" + +#: src/shar.c:1804 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Tiedostojen valinta:\n" +" -p, --intermix-type salli tilan vaihto tiedostoluetteloissa\n" +" käyttäen -[BTz]\n" +" -S, --stdin-file-list lue tiedostoluettelo vakiosyötteestä\n" + +#: src/shar.c:1811 +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"\n" +"Tulosteen halkaiseminen:\n" +" -o, --output-prefix=ETULIITE tulosta tiedostoihin ETULIITE.01 - ETULIITE." +"NN\n" +" -l, --whole-size-limit=KOKO halkaise arkisto, ei tiedostoja, KOKO " +"kilotavuun\n" +" -L, --split-size-limit=KOKO halkaise arkisto tai tiedostot KOKO " +"kilotavuun\n" + +#: src/shar.c:1818 +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"\n" +"Arkiston otsakkeiden säätely:\n" +" -n, --archive-name=NIMI käytä NIMEä arkiston kuvailuun\n" +" -s, --submitter=OSOITE kumoa lähettäjän nimi\n" +" -a, --net-headers tulosta otsakkeet Submitted-by: ja Archinve-" +"Name:\n" +" -c, --cut-mark aloita arkisto katkaisurivillä\n" +"\n" +"Tiedostojen varastointitavan valinta:\n" +" -M, --mixed-uuencode valitse uu-koodaus dynaamisesti\n" +" -T, --text-files käsittele kaikki tiedostot tekstinä\n" +" -B, --uuencode käsittele kaikki tiedostot binäärisinä, " +"käyttäen\n" +" uu-koodausta\n" +" -z, --gzip gzip-tiivistä ja uu-koodaa kaikki tiedostot\n" +" -g, --level-for-gzip=TASO anna gzip-ohjelmalle valitsin -TASO (oletus " +"9)\n" +" -j, --bzip2 bzip2-tiivistä ja uu-koodaa kaikki tiedostot\n" + +#: src/shar.c:1835 +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "" +" -Z, --compress tiivistä ja uu-koodaa kaikki tiedostot\n" +" -b, --bits-per-code=MÄÄRÄ anna valitsin -bMÄÄRÄ (oletus 12)\n" +" compress-komennolle\n" + +#: src/shar.c:1840 +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"\n" +"Suojaus siirtoa varten:\n" +" -w, --no-character-count älä käytä koon tarkistamiseen komentoa \"wc -" +"c\"\n" +" -D, --no-md5-digest älä käytä varmentamiseen \"md5sum\"-" +"koostetta\n" +" -F, --force-prefix pakota etuliitemerkki jokaiselle riville\n" +" -d, --here-delimiter=MJONO käytä MJONOa arkiston tiedostojen " +"erottamiseen\n" +"\n" +"Erilaisten arkistojen tuottaminen:\n" +" -V, --vanilla-operation tuota hyvin yksinkertaisia ja helppokäyttöisiä\n" +" arkistoja\n" +" -P, --no-piping käytä purkamisen aikana vain " +"väliaikaistiedostoja\n" +" -x, --no-check-existing ylikirjoita olemassaolevat tiedostot kysymättä\n" +" -X, --query-user kysy käyttäjältä ennen ylikirjoitusta (älä " +"käytä\n" +" verkkoon tuleviin arkistoihin)\n" +" -m, --no-timestamp älä palauta tiedostojen muutosaikoja\n" +" -Q, --quiet-unshar vältä monisanaisia viestejä arkistoa " +"purettaessa\n" +" -f, --basename palauta yhteen hakemistoon, " +"hakemistorakenteesta\n" +" välitämättä\n" +" --no-i18n älä tuota kansainvälistettyä " +"kuorikomentotiedostoa\n" + +#: src/shar.c:1858 +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "" +"\n" +"Valitsin -o vaaditaan valitsimen -l tai -L kanssa, valitsin -n vaaditaan\n" +"valitsimen -a kanssa.\n" + +#: src/shar.c:1863 +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "" +"Valitsin -g sisältää valitsimen -z, valitsin -b sisältää valitsimen -Z.\n" + +#: src/shar.c:1867 +msgid "Option -g implies -z.\n" +msgstr "Valitsin -g sisältää valitsimen -z.\n" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "" +"Ilmoita ohjelmistovioista osoitteeseen <%s>.\n" +"Suomennoksen virheistä voi ilmoittaa muualle.\n" + +#: src/shar.c:2005 +msgid "DEBUG was not selected at compile time" +msgstr "DEBUG:ia ei otettu käyttöön käännösaikana" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "Kova raja %s\n" + +#: src/shar.c:2064 +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "" +"Tämä järjestelmä ei tue valitsinta -Z (\"compress\"-ohjelma), käytä sen " +"sijaan valitsinta -z" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "Pehmeä raja %s\n" + +#: src/shar.c:2116 +#, c-format +msgid "illegal output prefix\n" +msgstr "virheellinen tulostiedoston etuliite\n" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "" +"Copyright © %s Free Software Foundation, Inc.\n" +"Tämä on vapaa ohjelmisto; katso kopiointiehdot lähdekoodista. Takuuta EI\n" +"ole, ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN.\n" + +#: src/shar.c:2210 +msgid "WARNING: No user interaction in vanilla mode" +msgstr "VAROITUS: Yksinkertaisessa tilassa ei ole vuorovaikutteisuutta" + +#: src/shar.c:2222 +msgid "WARNING: Non-text storage options overridden" +msgstr "VAROITUS: Ei-tekstin varastointivalinnat ohitettu" + +#: src/shar.c:2278 +msgid "No input files" +msgstr "Ei syötetiedostoja" + +#: src/shar.c:2284 +msgid "Cannot use -a option without -n" +msgstr "Valitsinta -a ei voi käyttää ilman valitsinta -n" + +#: src/shar.c:2290 +msgid "Cannot use -l or -L option without -o" +msgstr "Valitsimia -l ja -L ei voi käyttää ilman valitsinta -o" + +#: src/shar.c:2302 +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "" +"VÄLTÄ valitsimella -X luotuja arkistoja keskusteluryhmissä ja julkisissa " +"verkoissa" + +#: src/shar.c:2343 +msgid "You have unpacked the last part" +msgstr "Viimeinen osa on purettu" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "Luotiin %d tiedostoa\n" + +#: src/shar.c:2356 +msgid "removed" +msgstr "poistettu" + +#: src/shar.c:2357 +msgid "failed to remove" +msgstr "poistaminen epäonnistui" + +#: src/unshar.c:169 +#, c-format +msgid "Found no shell commands in %s" +msgstr "Tiedostosta %s ei löytynyt kuorikomentoja" + +#: src/unshar.c:185 +#, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%s vaikuttaa pelkältä C-koodilta, ei kuoriarkistolta" + +#: src/unshar.c:221 +#, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Tiedostosta %s ei löytynyt kuorikomentoja leikkauskohdan jälkeen." + +#: src/unshar.c:242 +#, c-format +msgid "%s is probably not a shell archive" +msgstr "%s ei todennäköisesti ole kuoriarkisto" + +#: src/unshar.c:243 +#, c-format +msgid "The `cut' line was followed by: %s" +msgstr "Leikkausriviä seurasi: %s" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "Käynnistetään \"sh\"-prosessi" + +#: src/unshar.c:318 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille " +"valitsimille.\n" +"\n" +" -d, --directory=HAKEMISTO siirry HAKEMISTOoon ennen purkua\n" +" -c, --overwrite anna shar-komentotiedostolle valitsin -c\n" +" tiedostojen ylikirjoittamiseksi\n" +" -e, --exit-0 sama kuin \"--split-at=\"exit 0\" \"\n" +" -E, --split-at=MJONO halkaise yhdistetyt arkistot MJONOn jälkeen\n" +" -f, --force sama kuin \"-c\"\n" +" --help näytä tämä ohje ja poistu\n" +" --version näytä versiotiedot ja poistu\n" +"\n" +"Jos TIEDOSTOa ei anneta, luetaan vakiosyötettä.\n" + +#: src/unshar.c:395 +#, c-format +msgid "Cannot chdir to `%s'" +msgstr "Hakemistoon \"%s\" siirtyminen epäonnistui" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +msgid "standard input" +msgstr "vakiosyöte" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, c-format +msgid "%s: Write error" +msgstr "%s: Kirjoitusvirhe" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, c-format +msgid "%s: Short file" +msgstr "%s: Osittainen tiedosto" + +#: src/uudecode.c:156 +#, c-format +msgid "%s: No `end' line" +msgstr "%s: Lopetusriviä \"end\" ei ole" + +#: src/uudecode.c:220 +#, c-format +msgid "%s: data following `=' padding character" +msgstr "%s: dataa täytemerkin \"=\" jälkeen" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, c-format +msgid "%s: illegal line" +msgstr "%s: virheellinen rivi" + +#: src/uudecode.c:306 +#, c-format +msgid "%s: No `begin' line" +msgstr "%s: Aloitusriviä \"begin\" ei ole" + +#: src/uudecode.c:338 +#, c-format +msgid "%s: Illegal ~user" +msgstr "%s: Virheellinen ~käyttäjä" + +#: src/uudecode.c:345 +#, c-format +msgid "%s: No user `%s'" +msgstr "%s: Käyttäjää \"%s\" ei ole" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "tiedostoa %s ei voi käyttää" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "FIFO-putkeen ei kirjoiteta (%s)" + +#: src/uudecode.c:369 +#, c-format +msgid "not following symlink (%s)" +msgstr "ei seurata symlinkkiä (%s)" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "Käyttö: %s [TIEDOSTO]...\n" + +#: src/uudecode.c:417 +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille " +"valitsimille.\n" +" -o, --output-file=TIED ohjaa tuloste TIEDostoon\n" +" --help näytä tämä ohje ja poistu\n" +" --version tulosta versiotiedot ja poistu\n" + +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +msgid "Write error" +msgstr "Kirjoitusvirhe" + +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +msgid "Read error" +msgstr "Lukuvirhe" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "Käyttö: %s [SYÖTETIEDOSTO] ETÄTIEDOSTO\n" + +#: src/uuencode.c:205 +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"\n" +" -m, --base64 käytä base64-koodausta RFC 1521:n mukaisesti\n" +" --help näytä tämä ohje ja poistu\n" +" --version tulosta versiotiedot ja poistu\n" Files sharutils-4.3.78/po/fr.gmo and sharutils-4.3.79/po/fr.gmo differ Index: po/fr.po diff -u -r -N sharutils-4.3.78/po/fr.po sharutils-4.3.79/po/fr.po --- sharutils-4.3.78/po/fr.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/fr.po 2005-04-25 20:08:37.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU sharutils 4.3.75\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-12-03 08:00-0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \n" @@ -115,7 +115,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "L'option -C tombe en dsutude, utilisez -Z de prfrence." -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Incapable d'obtenir le nom du rpertoire courant." @@ -341,12 +341,12 @@ msgid "Closing `%s'" msgstr "Fermeture de %s " -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour en savoir davantage, faites: %s --help .\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\n" @@ -528,7 +528,7 @@ msgstr "L'option -g force l'option -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter toutes anomalies <%s>.\n" @@ -557,7 +557,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -612,36 +612,36 @@ msgid "failed to remove" msgstr "chec de destruction" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Aucune commande retrouve dans %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s ressemble plus du code C qu' une archive de type shar ." -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Aucune commande retrouve aprs la ligne de dmarcation (cut), dans %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s n'est probablement pas une archive de type shar ." -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "La ligne de dmarcation (cut) tait suivie par %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Dmarrage du processus sh ." -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -670,15 +670,23 @@ "\n" "Sans FICHIER, la lecture s'effectue partir de l'entre standard.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Ne peut changer le rpertoire %s " -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "entre standard" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/gl.gmo and sharutils-4.3.79/po/gl.gmo differ Index: po/gl.po diff -u -r -N sharutils-4.3.78/po/gl.po sharutils-4.3.79/po/gl.po --- sharutils-4.3.78/po/gl.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/gl.po 2005-04-25 20:08:37.000000000 -0700 @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.2c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2000-05-30 09:45+0200\n" "Last-Translator: Jess Bravo lvarez \n" "Language-Team: Galician \n" @@ -121,7 +121,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C vai ficar obsoleta, utilice -Z no seu lugar" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Non se pode obte-lo nome do directorio actual" @@ -353,12 +353,12 @@ msgid "Closing `%s'" msgstr "Pechando `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probe `%s --help' para mis informacin.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uso: %s [OPCIN]... [FICHEIRO]...\n" @@ -516,7 +516,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -544,7 +544,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -597,36 +597,36 @@ msgid "failed to remove" msgstr "fallo borralo" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Non se atoparon comandos de shell en %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s semella cdigo C, non un arquivo de shell" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Non se atopou ningn comando de shell despois da lia de corte en %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s probablemente non un arquivo de shell" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "A lia de corte estaba seguida por: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Executando o proceso `sh'" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -655,15 +655,23 @@ "\n" "Se non se indica FICHEIRO, lese da entrada estndar.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Non se pode cambiar directorio `%s'" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "entrada estndar" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/hu.gmo and sharutils-4.3.79/po/hu.gmo differ Index: po/hu.po diff -u -r -N sharutils-4.3.78/po/hu.po sharutils-4.3.79/po/hu.po --- sharutils-4.3.78/po/hu.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/hu.po 2005-04-25 20:08:37.000000000 -0700 @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils-4.3.70\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-08-05 11:43GMT\n" "Last-Translator: Gbor Istvn \n" "Language-Team: Hungarian \n" @@ -117,7 +117,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "a '-C'-vel val kezds kifogsolhat , hasznlja helyette a '-Z'-t " -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Nem lehet megtudni az knyvtr nevt" @@ -346,12 +346,12 @@ msgid "Closing `%s'" msgstr "A '%s' bezrsa" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prblja a `%s --help'-et tbb informcirt.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Hasznlat: %s [KAPCSOL]... [FJL]...\n" @@ -528,7 +528,7 @@ msgstr "A '-g' magba foglalja a '-z'.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Hibajelentseket a(z) <%s> cmre kldj.\n" @@ -558,7 +558,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -612,36 +612,36 @@ msgid "failed to remove" msgstr "nem sikerlt eltvoltani" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Talltam egy nem parancsrtelmez parancsot a %s-ben" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "A %s C kdnak nz ki s nem parancsrtelmez archvumnak" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Talltam egy nem parancsrtelmez parancsot a %s cut utn" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s taln nem parancsrtelmez archv" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "A kivgs sort %s kvette" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "'sh' mvelet indtsa" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -668,15 +668,23 @@ "\n" "Ha nincs bemeneti fjl akkor a szabvnyos bemenetrl olvas.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Nem lehet belpni a '%s' knyvtrba" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "szabvnyos bemenet" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/it.gmo and sharutils-4.3.79/po/it.gmo differ Index: po/it.po diff -u -r -N sharutils-4.3.78/po/it.po sharutils-4.3.79/po/it.po --- sharutils-4.3.78/po/it.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/it.po 2005-04-25 20:08:37.000000000 -0700 @@ -0,0 +1,782 @@ +# Italian messages for sharutils. +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the sharutils package. +# Marco Colombo , 2004, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-03-05 10:56+0000\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: lib/error.c:131 lib/error.c:159 +msgid "Unknown system error" +msgstr "Errore di sistema sconosciuto" + +#: lib/getopt.c:694 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: l'opzione '%s' è ambigua\n" + +#: lib/getopt.c:719 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: l'opzione '--%s' non accetta argomenti\n" + +#: lib/getopt.c:724 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: l'opzione '%c%s' non accetta argomenti\n" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: l'opzione '%s' richiede un argomento\n" + +#: lib/getopt.c:771 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: opzione '--%s' non riconosciuta\n" + +#: lib/getopt.c:775 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: opzione '%c%s' non riconosciuta\n" + +#: lib/getopt.c:801 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: opzione illecita -- %c\n" + +#: lib/getopt.c:804 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: opzione non valida -- %c\n" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: l'opzione richiede un argomento -- %c\n" + +#: lib/getopt.c:881 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: l'opzione '-W %s' è ambigua\n" + +#: lib/getopt.c:899 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: l'opzione '-W %s' non accetta argomenti\n" + +#: lib/xmalloc.c:66 +msgid "memory exhausted" +msgstr "memoria esaurita" + +#: src/shar.c:631 +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "ATTENZIONE: orario del file non ripristinato. Si suggerisce" + +# cos'è questo \\? +#: src/shar.c:633 +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "di installare GNU 'touch', distribuito nei GNU File Utilities." + +#: src/shar.c:644 +msgid "failed to create locking directory" +msgstr "creazione della directory di lock non riuscita" + +#: src/shar.c:654 src/shar.c:2356 +msgid "lock directory" +msgstr "directory di lock" + +#: src/shar.c:654 src/shar.c:695 +msgid "created" +msgstr "creato" + +#: src/shar.c:655 src/shar.c:695 +msgid "failed to create" +msgstr "creazione non riuscita" + +# Qui ho seguito la traduzione francese. +#: src/shar.c:685 +msgid "Too many directories for mkdir generation" +msgstr "Troppe directory da creare" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "Impossibile accedere a %s" + +#: src/shar.c:799 src/shar.c:2068 +msgid "-C is being deprecated, use -Z instead" +msgstr "-C è deprecato, usare -Z al suo posto" + +#: src/shar.c:852 src/unshar.c:377 +msgid "Cannot get current directory name" +msgstr "Impossibile ottenere il nome della directory corrente" + +#: src/shar.c:938 +msgid "Must unpack archives in sequence!" +msgstr "Gli archivi vanno estratti in sequenza." + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "Estrarre parte" + +#: src/shar.c:939 src/shar.c:1483 +msgid "next!" +msgstr "prossimo" + +#: src/shar.c:967 +#, c-format +msgid "%s: Not a regular file" +msgstr "%s: non è un file normale" + +#: src/shar.c:982 +#, c-format +msgid "In shar: remaining size %s\n" +msgstr "In shar: dimensione rimanente %s\n" + +#: src/shar.c:993 src/shar.c:1388 +#, c-format +msgid "New file, remaining %s, " +msgstr "Nuovo file, rimane %s, " + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "Il limite è ancora %s\n" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "restore of" +msgstr "ripristino di" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "failed" +msgstr "non riuscito" + +#: src/shar.c:1011 src/shar.c:1408 +msgid "End of part" +msgstr "Fine parte" + +#: src/shar.c:1012 src/shar.c:1409 +msgid "continue with part" +msgstr "continua con parte" + +#: src/shar.c:1025 src/shar.c:1501 +#, c-format +msgid "Starting file %s\n" +msgstr "Inizio file %s\n" + +#: src/shar.c:1060 +msgid "empty" +msgstr "vuoto" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(vuoto)" + +#: src/shar.c:1085 +#, c-format +msgid "Cannot open file %s" +msgstr "Impossibile aprire il file %s" + +#: src/shar.c:1122 +msgid "compressed" +msgstr "compresso" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "compresso con gzip" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "compresso con bzip" + +#: src/shar.c:1125 +msgid "binary" +msgstr "binario" + +#: src/shar.c:1126 +msgid "(compressed)" +msgstr "(compresso)" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "(compresso con gzip)" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "(compresso con bzip)" + +#: src/shar.c:1129 +msgid "(binary)" +msgstr "(binario)" + +#: src/shar.c:1142 +msgid "Could not fork" +msgstr "Impossibile effettuare un fork" + +#: src/shar.c:1147 src/shar.c:1207 +#, c-format +msgid "File %s (%s)" +msgstr "File %s (%s)" + +#: src/shar.c:1201 +msgid "text" +msgstr "testo" + +#: src/shar.c:1202 +msgid "(text)" +msgstr "(testo)" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "sovrascrittura in corso" + +#: src/shar.c:1249 +msgid "overwrite" +msgstr "sovrascrivere" + +#: src/shar.c:1250 +msgid "[no, yes, all, quit] (no)?" +msgstr "[n=no , y=sì, a=tutti, q=interrompi] (no)?" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "estrazione interrotta" + +#: src/shar.c:1252 src/shar.c:1257 +msgid "SKIPPING" +msgstr "IGNORATO" + +#: src/shar.c:1257 +msgid "(file already exists)" +msgstr "(il file esiste già)" + +#: src/shar.c:1275 +#, c-format +msgid "Saving %s (%s)" +msgstr "Salvataggio di %s (%s)" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "estrazione" + +#: src/shar.c:1414 +msgid "End of" +msgstr "Fine di" + +#: src/shar.c:1415 +msgid "archive" +msgstr "archivio" + +#: src/shar.c:1416 +msgid "part" +msgstr "parte" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "File" + +#: src/shar.c:1419 +msgid "is continued in part" +msgstr "continua in parte" + +#: src/shar.c:1479 +msgid "Please unpack part 1 first!" +msgstr "Estrarre prima la parte 1." + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "IGNORATO ANCORA" + +#: src/shar.c:1505 +msgid "continuing file" +msgstr "continuazione del file" + +#: src/shar.c:1526 +msgid "is complete" +msgstr "è completo" + +#: src/shar.c:1535 +msgid "uudecoding file" +msgstr "esecuzione di uudecode sul file" + +#: src/shar.c:1549 +msgid "uncompressing file" +msgstr "estrazione di un file compress" + +#: src/shar.c:1560 +msgid "gunzipping file" +msgstr "estrazione di un file gzip" + +#: src/shar.c:1571 +msgid "bunzipping file" +msgstr "estrazione di un file bzip" + +#: src/shar.c:1636 +msgid "MD5 check failed" +msgstr "Controllo MD5 fallito" + +#: src/shar.c:1697 +msgid "original size" +msgstr "dimensione originale" + +#: src/shar.c:1698 +msgid "current size" +msgstr "dimensione corrente" + +#: src/shar.c:1758 +#, c-format +msgid "Opening `%s'" +msgstr "Apertura di '%s'" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "Chiusura di '%s'" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Usare '%s --help' per maggiori informazioni.\n" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Uso: %s [OPZIONE]... [FILE]...\n" + +#: src/shar.c:1786 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " +"corte.\n" + +#: src/shar.c:1789 +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"\n" +"Aiuto e informazioni:\n" +" --help mostra questo aiuto ed esce\n" +" --version mostra le informazioni sulla versione ed esce\n" +" -q, --quiet, --silent non mostra messaggi prolissi localmente\n" + +#: src/shar.c:1797 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Selezione dei file:\n" +" -p, --intermix-type permette -[BTzZ] nella lista dei file per " +"modificare\n" +" la modalità\n" +" -S, --stdin-file-list legge la lista dei file dallo standard input\n" +"\n" + +#: src/shar.c:1804 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Selezione dei file:\n" +" -p, --intermix-type permette -[BTzZ] nella lista dei file per " +"modificare\n" +" la modalità\n" +" -S, --stdin-file-list legge la lista dei file dallo standard input\n" +"\n" + +#: src/shar.c:1811 +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"\n" +"Divisione dell'output:\n" +" -o, --output-prefix=PREFISSO i nomi dei file di output vanno da " +"PREFISSO.01\n" +" fino a PREFISSO.NN\n" +" -l, --whole-size-limit=NUM divide gli archivi, non i file, ogni NUM " +"kbyte\n" +" -L, --split-size-limit=NUM divide gli archivi o i file ogni NUM " +"kilobyte\n" + +# stock: impacchettare? +#: src/shar.c:1818 +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"\n" +"Controllo delle intestazioni:\n" +" -n, --archive-name=NOME usa NOME come titolo dell'archivio\n" +" -s, --submitter=INDIRIZZO cambia il nome del creatore\n" +" -a, --net-headers crea gli header Submitted-by: e Archive-name:\n" +" -c, --cut-mark crea demarcazione di taglio all'inizio del " +"file\n" +" (riga 'Cut Here')\n" +"\n" +"Modalità di impacchettamento:\n" +" -M, --mixed-uuencode decide dinamicamente se usare uuencode\n" +" (predefinito)\n" +" -T, --text-files tratta tutti i file come testo\n" +" -B, --uuencode tratta tutti i file come binari, usa " +"uuencode\n" +" -z, --gzip esegue gzip e uuencode su tutti i file\n" +" -g, --level-for-gzip=LIVELLO passa -LIVELLO (predefinito 9) a gzip\n" +" -j, --bzip2 esegue bzip2 e uuencode su tutti i file\n" + +#: src/shar.c:1835 +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "" +" -Z, --compress esegue compress e uuencode su tutti i file\n" +" -b, --bits-per-code=BITS passa -bBITS (predefinito 12) a compress\n" + +# Qui ho seguito la traduzione francese. +#: src/shar.c:1840 +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"\n" +"Protezione contro errori di trasmissione:\n" +" -w, --no-character-count non usa 'wc -c' per controllare le " +"dimensioni\n" +" -D, --no-md5-digest non usa 'md5sum' per verificare il " +"contenuto\n" +" -F, --force-prefix forza il carattere di prefisso su ogni riga\n" +" -d, --here-delimiter=STRINGA usa STRINGA per delimitare i file in shar\n" +"\n" +"Modalità di archiviazione:\n" +" -V, --vanilla-operation produce archivi semplici e poco esigenti\n" +" -P, --no-piping usa file temporanei durante l'estrazione\n" +" -x, --no-check-existing sovrascrive i file esistenti\n" +" -X, --query-user chiede conferma prima di sovrascrivere i file\n" +" (non per la rete)\n" +" -m, --no-timestamp non ripristina le date originali dei file\n" +" -Q, --quiet-unshar evita messaggi prolissi durante l'estrazione\n" +" -f, --basename estrae i file in una sola directory\n" +" --no-i18n non produce uno script internazionalizzato\n" + +#: src/shar.c:1858 +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "" +"\n" +"L'opzione -o è richiesta con -l o -L, l'opzione -n è richiesta con -a.\n" + +#: src/shar.c:1863 +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "L'opzione -g implica -z, l'opzione -b implica -Z.\n" + +#: src/shar.c:1867 +msgid "Option -g implies -z.\n" +msgstr "L'opzione -g implica -z.\n" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "Segnalare i bug a <%s>.\n" + +#: src/shar.c:2005 +msgid "DEBUG was not selected at compile time" +msgstr "DEBUG non è stato selezionato alla compilazione" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "Limite duro %s\n" + +#: src/shar.c:2064 +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "Questo sistema non supporta -Z ('compress'), usare -z al suo posto" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "Limite morbido %s\n" + +#: src/shar.c:2116 +#, c-format +msgid "illegal output prefix\n" +msgstr "prefisso di output illecito\n" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Questo è software libero; si vedano i sorgenti per le condizioni di copia.\n" +"NON c'è alcuna garanzia; neppure di COMMERCIABILITÀ o di IDONEITÀ AD UNO\n" +"SCOPO PARTICOLARE.\n" + +# FIXME: vanilla: standard? semplice? +#: src/shar.c:2210 +msgid "WARNING: No user interaction in vanilla mode" +msgstr "ATTENZIONE: nessun intervento dell'utente in modalità standard." + +# FIXME +#: src/shar.c:2222 +msgid "WARNING: Non-text storage options overridden" +msgstr "ATTENZIONE: opzioni di archiviazione non di testo cambiate" + +#: src/shar.c:2278 +msgid "No input files" +msgstr "Nessun file di input" + +#: src/shar.c:2284 +msgid "Cannot use -a option without -n" +msgstr "Impossibile usare l'opzione -a senza -n" + +#: src/shar.c:2290 +msgid "Cannot use -l or -L option without -o" +msgstr "Impossibile usare le opzioni -l o -L senza -o" + +#: src/shar.c:2302 +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "PER FAVORE evitare di creare shar con -X su Usenet o reti pubbliche" + +#: src/shar.c:2343 +msgid "You have unpacked the last part" +msgstr "Ultima parte estratta" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "Creati %d file\n" + +#: src/shar.c:2356 +msgid "removed" +msgstr "rimosso" + +#: src/shar.c:2357 +msgid "failed to remove" +msgstr "eliminazione fallita" + +#: src/unshar.c:169 +#, c-format +msgid "Found no shell commands in %s" +msgstr "Nessun comando di shell trovato in %s" + +#: src/unshar.c:185 +#, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%s sembra codice C grezzo, non un archivio della shell" + +#: src/unshar.c:221 +#, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Nessun comando di shell trovato dopo 'cut' in %s" + +#: src/unshar.c:242 +#, c-format +msgid "%s is probably not a shell archive" +msgstr "%s probabilmente non è un archivio della shell" + +#: src/unshar.c:243 +#, c-format +msgid "The `cut' line was followed by: %s" +msgstr "La linea 'cut' era seguita da: %s" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "Avvio del processo 'sh'" + +#: src/unshar.c:318 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " +"corte.\n" +"\n" +" -d, --directory=DIRECTORY si sposta in DIRECTORY prima di estrarre\n" +" -c, --overwrite passa -c allo script di shar per " +"sovrascrivere\n" +" i file\n" +" -e, --exit-0 come '--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING divide dopo STRING i file di shar concatenati\n" +" -f, --force come '-c'\n" +" --help mostra questo aiuto ed esce\n" +" --version mostra le informazioni sulla versione ed esc\n" +"\n" +"Se nessun FILE è indicato, viene letto lo standard input.\n" + +#: src/unshar.c:395 +#, c-format +msgid "Cannot chdir to `%s'" +msgstr "Impossibile spostarsi in '%s'" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +msgid "standard input" +msgstr "standard input" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, c-format +msgid "%s: Write error" +msgstr "%s: errore di scrittura" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, c-format +msgid "%s: Short file" +msgstr "%s: file corto" + +#: src/uudecode.c:156 +#, c-format +msgid "%s: No `end' line" +msgstr "%s: riga 'end' mancante" + +#: src/uudecode.c:220 +#, c-format +msgid "%s: data following `=' padding character" +msgstr "%s: altri dati seguono il carattere di riempimento '='" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, c-format +msgid "%s: illegal line" +msgstr "%s: riga illecita" + +#: src/uudecode.c:306 +#, c-format +msgid "%s: No `begin' line" +msgstr "%s: manca la riga 'begin'" + +# NdT: utente illecito mi sembra proprio brutto +#: src/uudecode.c:338 +#, c-format +msgid "%s: Illegal ~user" +msgstr "%s: ~utente non valido" + +#: src/uudecode.c:345 +#, c-format +msgid "%s: No user `%s'" +msgstr "%s: utente '%s' non esistente" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "impossibile accedere a %s" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "scrittura FIFO negata (%s)" + +#: src/uudecode.c:369 +#, c-format +msgid "not following symlink (%s)" +msgstr "collegamenti simbolici non seguiti (%s)" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "Uso: %s [FILE]...\n" + +#: src/uudecode.c:417 +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " +"corte.\n" +" -o, --output-file=FILE salva l'output su FILE\n" +" --help mostra questo aiuto ed esce\n" +" --version mostra le informazioni sulla versione ed esce\n" + +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +msgid "Write error" +msgstr "Errore di scrittura" + +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +msgid "Read error" +msgstr "Errore di lettura" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "Uso: %s [INFILE] FILEREMOTO\n" + +#: src/uuencode.c:205 +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"\n" +" -m, --base64 usa la codifica base64 come definita in RFC1521\n" +" --help mostra questo aiuto ed esce\n" +" --version mostra le informazioni sulla versione ed esce\n" Files sharutils-4.3.78/po/ja.gmo and sharutils-4.3.79/po/ja.gmo differ Index: po/ja.po diff -u -r -N sharutils-4.3.78/po/ja.po sharutils-4.3.79/po/ja.po --- sharutils-4.3.78/po/ja.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/ja.po 2005-04-25 20:08:37.000000000 -0700 @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU sharutils 4.3.73\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-08-03 23:59+0900\n" "Last-Translator: IIDA Yosiaki \n" "Language-Team: Japanese \n" @@ -119,7 +119,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-CˤϥĤƤޤ-Z򤪻Ȥ" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "ߤΥǥ쥯ȥ꡼̾Ǥޤ" @@ -348,12 +348,12 @@ msgid "Closing `%s'" msgstr "`%s'ĤƤޤ" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "ܤ`%s --help'¹ԤƤ\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ˡ: %s [ץ]... [ե]...\n" @@ -514,7 +514,7 @@ msgstr "ץ-g-zޤߤޤ\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -545,7 +545,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -601,36 +601,36 @@ msgid "failed to remove" msgstr "˼Ԥޤ" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "%sˤϥ롦ޥɤĤޤ" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%sCΥɤǡˤǤϤޤ" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "%s`cut'θ˥롦ޥɤĤޤ" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%sϡ餯ˤǤϤޤ" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "%s³`cut'Ԥޤ" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "`sh'Υץ򳫻Ϥޤ" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -655,15 +655,23 @@ "\n" "եꤷʤСɸϤɤߤޤ\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "`%s'chdirǤޤ" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "ɸ" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/nb.gmo and sharutils-4.3.79/po/nb.gmo differ Index: po/nb.po diff -u -r -N sharutils-4.3.78/po/nb.po sharutils-4.3.79/po/nb.po --- sharutils-4.3.78/po/nb.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/nb.po 2005-04-25 20:08:37.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU gettext 0.10.12\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-06-25 20:04+0200\n" "Last-Translator: Karl Anders ygard \n" "Language-Team: Norwegian-bokml \n" @@ -115,7 +115,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 #, fuzzy msgid "Cannot get current directory name" msgstr "kan ikke skifte til filkatalog \"%s\"" @@ -342,12 +342,12 @@ msgid "Closing `%s'" msgstr "" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, fuzzy, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prv %s --help for mer informasjon\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" @@ -450,7 +450,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -478,7 +478,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -528,36 +528,36 @@ msgid "failed to remove" msgstr "" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -572,15 +572,23 @@ "If no FILE, standard input is read.\n" msgstr "" -#: src/unshar.c:399 +#: src/unshar.c:395 #, fuzzy, c-format msgid "Cannot chdir to `%s'" msgstr "kan ikke skifte til filkatalog \"%s\"" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "standard inn" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/nl.gmo and sharutils-4.3.79/po/nl.gmo differ Index: po/nl.po diff -u -r -N sharutils-4.3.78/po/nl.po sharutils-4.3.79/po/nl.po --- sharutils-4.3.78/po/nl.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/nl.po 2005-04-25 20:08:37.000000000 -0700 @@ -1,22 +1,26 @@ +# translation of sharutils-4.3.78.po to Dutch # Dutch messages for GNU sharutils. -# Copyright (C) 1996 Free Software Foundation, Inc. -# Erick Branderhorst , 1996. +# Copyright (C) 1996, 2005 Free Software Foundation, Inc. +# Erick Branderhorst , 1996, 2005. +# Freek de Kruijf , 2005. # msgid "" msgstr "" -"Project-Id-Version: GNU sharutils 4.2.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" -"PO-Revision-Date: 1996-09-18 16:39 MET DST\n" -"Last-Translator: Erick Branderhorst \n" -"Language-Team: Dutch \n" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-01-31 17:43+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/error.c:131 lib/error.c:159 msgid "Unknown system error" -msgstr "Onbekende systeem fout" +msgstr "Onbekende systeemfout" #: lib/getopt.c:694 #, c-format @@ -26,7 +30,7 @@ #: lib/getopt.c:719 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: optie `--%s' verwacht geen argument\n" +msgstr "%s: optie `--%s' staat geen argument toe\n" #: lib/getopt.c:724 #, c-format @@ -36,7 +40,7 @@ #: lib/getopt.c:742 lib/getopt.c:915 #, c-format msgid "%s: option `%s' requires an argument\n" -msgstr "%s: optie `%s' verwacht een argument\n" +msgstr "%s: optie `%s' vereist een argument\n" #: lib/getopt.c:771 #, c-format @@ -61,26 +65,26 @@ #: lib/getopt.c:834 lib/getopt.c:964 #, c-format msgid "%s: option requires an argument -- %c\n" -msgstr "%s: optie verwacht een argument -- %c\n" +msgstr "%s: optie vereist een argument -- %c\n" #: lib/getopt.c:881 -#, fuzzy, c-format +#, c-format msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: optie `%s' is niet eenduidig\n" +msgstr "%s: optie `-W %s' is niet eenduidig\n" #: lib/getopt.c:899 -#, fuzzy, c-format +#, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: optie `--%s' verwacht geen argument\n" +msgstr "%s: optie `-W %s' staat geen argument toe\n" #: lib/xmalloc.c:66 -#, fuzzy msgid "memory exhausted" msgstr "geen geheugen meer beschikbaar" #: src/shar.c:631 msgid "WARNING: not restoring timestamps. Consider getting and" -msgstr "LET OP: tijdsaanduiding niet teruggezet. Overweeg het verkrijgen en" +msgstr "" +"WAARSCHUWING: tijdsaanduidingen niet teruggezet. Overweeg het verkrijgen en" #: src/shar.c:633 msgid "installing GNU \\`touch', distributed in GNU File Utilities..." @@ -88,11 +92,11 @@ #: src/shar.c:644 msgid "failed to create locking directory" -msgstr "gefaald in het aanmaken van lock directory" +msgstr "het aanmaken van 'lock'-map is mislukt" #: src/shar.c:654 src/shar.c:2356 msgid "lock directory" -msgstr "lock directory" +msgstr "'lock'-map" #: src/shar.c:654 src/shar.c:695 msgid "created" @@ -100,11 +104,11 @@ #: src/shar.c:655 src/shar.c:695 msgid "failed to create" -msgstr "gefaald bij aanmaken" +msgstr "het aanmaken is mislukt" #: src/shar.c:685 msgid "Too many directories for mkdir generation" -msgstr "Teveel directories om aan te maken" +msgstr "Te veel mappen om aan te maken" #: src/shar.c:745 src/shar.c:972 #, c-format @@ -115,13 +119,13 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C is verouderd, gebruik nu -Z" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" -msgstr "Kan de naam van het huidige directory niet vinden" +msgstr "Kan de naam van het huidige map niet vinden" #: src/shar.c:938 msgid "Must unpack archives in sequence!" -msgstr "Moet archieven in volgorde uitpakken!" +msgstr "Archieven alleen in volgorde uitpakken!" #: src/shar.c:939 src/shar.c:1482 msgid "Please unpack part" @@ -137,19 +141,19 @@ msgstr "%s: Geen gewoon bestand" #: src/shar.c:982 -#, fuzzy, c-format +#, c-format msgid "In shar: remaining size %s\n" -msgstr "In shar: resterende grootte %ld\n" +msgstr "In shar: resterende grootte %s\n" #: src/shar.c:993 src/shar.c:1388 -#, fuzzy, c-format +#, c-format msgid "New file, remaining %s, " -msgstr "Nieuw bestand, nu nog %ld" +msgstr "Nieuw bestand, nu nog %s, " #: src/shar.c:994 src/shar.c:1389 -#, fuzzy, c-format +#, c-format msgid "Limit still %s\n" -msgstr "Resterende grootte %d\n" +msgstr "De grens is nog steeds %s\n" #: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 msgid "restore of" @@ -157,11 +161,11 @@ #: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 msgid "failed" -msgstr "gefaald" +msgstr "mislukt" #: src/shar.c:1011 src/shar.c:1408 msgid "End of part" -msgstr "Einde deel" +msgstr "Einde van deel" #: src/shar.c:1012 src/shar.c:1409 msgid "continue with part" @@ -170,7 +174,7 @@ #: src/shar.c:1025 src/shar.c:1501 #, c-format msgid "Starting file %s\n" -msgstr "Begin met bestand %s\n" +msgstr "Beginbestand %s\n" #: src/shar.c:1060 msgid "empty" @@ -183,7 +187,7 @@ #: src/shar.c:1085 #, c-format msgid "Cannot open file %s" -msgstr "Kan het bestand %s niet openen" +msgstr "Kan bestand %s niet openen" #: src/shar.c:1122 msgid "compressed" @@ -194,9 +198,8 @@ msgstr "gemaakt met gzip" #: src/shar.c:1124 -#, fuzzy msgid "bzipped" -msgstr "gemaakt met gzip" +msgstr "gemaakt met bzip2" #: src/shar.c:1125 msgid "binary" @@ -208,12 +211,11 @@ #: src/shar.c:1127 msgid "(gzipped)" -msgstr "(gzipped)" +msgstr "(gemaakt met gzip)" #: src/shar.c:1128 -#, fuzzy msgid "(bzipped)" -msgstr "(gzipped)" +msgstr "(gemaakt met bzip2)" #: src/shar.c:1129 msgid "(binary)" @@ -221,7 +223,7 @@ #: src/shar.c:1142 msgid "Could not fork" -msgstr "`fork' faalde" +msgstr "'Fork' mislukt" #: src/shar.c:1147 src/shar.c:1207 #, c-format @@ -254,7 +256,7 @@ #: src/shar.c:1252 src/shar.c:1257 msgid "SKIPPING" -msgstr "OVERSLAAN" +msgstr "BEZIG MET OVERSLAAN" #: src/shar.c:1257 msgid "(file already exists)" @@ -263,7 +265,7 @@ #: src/shar.c:1275 #, c-format msgid "Saving %s (%s)" -msgstr "Stel %s (%s) veilig" +msgstr "Bezig %s (%s) op te slaan" #: src/shar.c:1280 msgid "extracting" @@ -295,11 +297,11 @@ #: src/shar.c:1497 msgid "STILL SKIPPING" -msgstr "EN MAAR OVERSLAAN" +msgstr "NOG STEEDS BEZIG MET OVERSLAAN" #: src/shar.c:1505 msgid "continuing file" -msgstr "vergaan met bestand" +msgstr "doorgaan met bestand" #: src/shar.c:1526 msgid "is complete" @@ -307,24 +309,23 @@ #: src/shar.c:1535 msgid "uudecoding file" -msgstr "decoderen bestand (uudecode)" +msgstr "bezig met decoderen bestand (uudecode)" #: src/shar.c:1549 msgid "uncompressing file" -msgstr "decomprimeren bestand" +msgstr "bezig met decomprimeren van bestand" #: src/shar.c:1560 msgid "gunzipping file" -msgstr "gunzippen bestand" +msgstr "bezig met decomprimeren (gunzip) van bestand" #: src/shar.c:1571 -#, fuzzy msgid "bunzipping file" -msgstr "gunzippen bestand" +msgstr "bezig met decomprimeren (bunzip2) van bestand" #: src/shar.c:1636 msgid "MD5 check failed" -msgstr "MD5 kontrolle faalde" +msgstr "MD5 controle mislukt" #: src/shar.c:1697 msgid "original size" @@ -337,32 +338,30 @@ #: src/shar.c:1758 #, c-format msgid "Opening `%s'" -msgstr "Open `%s'" +msgstr "Bezig `%s' te openen" #: src/shar.c:1769 #, c-format msgid "Closing `%s'" -msgstr "Sluit `%s'" +msgstr "Bezig `%s' te sluiten" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" -msgstr "Aanroep: %s [OPTIE]... [BESTAND]...\n" +msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" #: src/shar.c:1786 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" -"Verplichte argumenten voor opties in de lange vorm zijn ook nodig\n" -"voor de corresponderende korte opties.\n" +"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n" #: src/shar.c:1789 -#, fuzzy msgid "" "\n" "Giving feedback:\n" @@ -371,9 +370,10 @@ " -q, --quiet, --silent do not output verbose messages locally\n" msgstr "" "\n" -" -h, --help toon hulptekst en beindig programma\n" -" -m, --base64 gebruik base64 codering zoals in RFC1521\n" -" -v, --version toon versie-informatie en beindig programma\n" +"Terugmelding:\n" +" --help toon deze hulptekst en beindig programma\n" +" --version toon versie-informatie en beindig programma\n" +" -q, --quiet, --silent toon lokaal geen uitgebreide berichten\n" #: src/shar.c:1797 msgid "" @@ -382,6 +382,11 @@ " -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" " -S, --stdin-file-list read file list from standard input\n" msgstr "" +"\n" +"Selectie van bestanden:\n" +" -p, --intermix-type sta -[BTzZ] toe in bestandslijsten om\n" +" de modus te veranderen\n" +" -S, --stdin-file-list lees bestandslijst eerst van standaardinvoer\n" #: src/shar.c:1804 msgid "" @@ -390,6 +395,11 @@ " -p, --intermix-type allow -[BTz] in file lists to change mode\n" " -S, --stdin-file-list read file list from standard input\n" msgstr "" +"\n" +"Selectie van bestanden:\n" +" -p, --intermix-type sta -[BTz] toe in bestandslijsten om\n" +" de modus te veranderen\n" +" -S, --stdin-file-list lees bestandslijst eerst van standaardinvoer\n" #: src/shar.c:1811 msgid "" @@ -399,9 +409,15 @@ " -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" " -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" msgstr "" +"\n" +"Uitvoer splitsen:\n" +" -o, --output-prefix=VOORL uitvoer naar bestand VOORL.01 tot VOORL.NN\n" +" -l, --whole-size-limit=GRTT splits archief, niet bestanden, in GRTT " +"kilobytes\n" +" -L, --split-size-limit=GRTT splits archief, of bestanden, tot GRTT " +"kilobytes\n" #: src/shar.c:1818 -#, fuzzy msgid "" "\n" "Controlling the shar headers:\n" @@ -424,7 +440,7 @@ " -s, --submitter=ADRES vervang de naam van de archivaris door ADRES\n" " -a, --net-headers voeg kopregels Submitted-by: en Archive-name: " "toe\n" -" -c, --cut-mark begin de shar met een `cut' regel\n" +" -c, --cut-mark begin de shar met een afbreekregel\n" "\n" "Hoe bestanden behandeld worden:\n" " -M, --mixed-uuencode laat shar beslissen of uuencode nodig is\n" @@ -432,17 +448,18 @@ " -T, --text-files alle bestanden zijn tekstbestanden\n" " -B, --uuencode alle bestanden zijn binair, gebruik uuencode\n" " -z, --gzip pas gzip en uuencode toe op alle bestanden\n" -" -g, --level-for-gzip=NIVEAU gebruik gzip mit optie -NIVEAU (standaard -" +" -g, --level-for-gzip=NIVEAU gebruik gzip met optie -NIVEAU (standaard -" "9)\n" -" -Z, --compress pas compress en uuencode toe op alle " -"bestanden\n" -" -b, --bits-per-code=BITS gebruik compress met -BITS (standaard -12)\n" +" -j, --bzip2 pas bzip2 en uuencode toe op alle bestanden\n" #: src/shar.c:1835 msgid "" " -Z, --compress compress and uuencode all files\n" " -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" msgstr "" +" -Z, --compress pas compress en uuencode toe op alle " +"bestanden\n" +" -b, --bits-per-code=BITS geef -bBITS (default 12) door aan compress\n" #: src/shar.c:1840 msgid "" @@ -465,82 +482,87 @@ msgstr "" "\n" "Bescherming tegen transmissie:\n" -" -w, --no-character-count gebruik geen `wc -c' voor grootte kontrolle\n" -" -D, --no-md5-digest gebruik geen `md5sum' om te verifieren\n" -" -F, --force-prefix gebruik een voorvoegkarkater op elke regel\n" -" -d, --here-delimiter=STRING gebruik STRING om bestanden te scheiden in " +" -w, --no-character-count gebruik geen `wc -c' voor groottecontrole\n" +" -D, --no-md5-digest gebruik geen `md5sum' om te verifiren\n" +" -F, --force-prefix gebruik het voorvoegkarakter op elke regel\n" +" -d, --here-delimiter=TEKST gebruik TEKST om bestanden te scheiden in de " "shar\n" "\n" "Aanmaken van verschillende soorten shars:\n" -" -V, --vanilla-operation maak eenvoudige en undemanding shars\n" +" -V, --vanilla-operation maak eenvoudige en weinig eisende shars\n" " -P, --no-piping gebruik tijdelijke bestanden tijdens unshar\n" " -x, --no-check-existing overschrijf bestaande bestanden blindelings\n" " -X, --query-user vraag gebruiker voor overschrijven bestanden\n" -" (niet voor NET)\n" -" -m, --no-timestamp zet de bestandsmodificatie tijd niet terug\n" +" (niet voor Net)\n" +" -m, --no-timestamp zet de bestandsmodificatie datum/tijd niet " +"terug\n" " -Q, --quiet-unshar voorkom meldingen tijdens unshar\n" -" -f, --basename terugzetten in een directory, hierarchie " +" -f, --basename terugzetten in n directory, hirarchie " "negerend\n" -" --no-i18n maak geen genternationaliseerd shell skript\n" +" --no-i18n maak geen genternationaliseerd shellscript\n" #: src/shar.c:1858 -#, fuzzy msgid "" "\n" "Option -o is required with -l or -L, option -n is required with -a.\n" msgstr "" "\n" -"Optie -o is nodig bij -l of -L, optie -n is nodig bij -a.\n" -"Optie -g impliceert -z, optie -b impliceert -Z.\n" +"Optie -o is vereist bij -l of -L, optie -n is vereist bij -a.\n" #: src/shar.c:1863 msgid "Option -g implies -z, option -b implies -Z.\n" -msgstr "" +msgstr "Optie -g impliceert -z, optie -b impliceert -Z.\n" #: src/shar.c:1867 msgid "Option -g implies -z.\n" -msgstr "" +msgstr "Optie -g impliceert -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" +"Rapporteer bugs naar <%s>.\n" +"Rapporteer opmerkingen over de vertaling naar .\n" #: src/shar.c:2005 msgid "DEBUG was not selected at compile time" msgstr "DEBUG niet meevertaald" #: src/shar.c:2025 -#, fuzzy, c-format +#, c-format msgid "Hard limit %s\n" -msgstr "Harde limiet %dk\n" +msgstr "Harde limiet %s\n" #: src/shar.c:2064 msgid "This system doesn't support -Z ('compress'), use -z instead" -msgstr "" +msgstr "Dit systeem ondersteunt -Z ('compress') niet, gebruik -z" #: src/shar.c:2099 -#, fuzzy, c-format +#, c-format msgid "Soft limit %s\n" -msgstr "Zachte grens %dk\n" +msgstr "Zachte grens %s\n" #: src/shar.c:2116 #, c-format msgid "illegal output prefix\n" -msgstr "" +msgstr "onjuiste uitvoervoorloopnaam\n" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s 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" msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Dit is vrije software; zie de bronbestanden voor de kopieervoorwaarden.\n" +"Er is GEEN garantie; ook niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR\n" +"EEN BEPAALD DOEL.\n" #: src/shar.c:2210 msgid "WARNING: No user interaction in vanilla mode" -msgstr "LET OP: De `vanilla' mode is niet interactief" +msgstr "WAARSCHUWING: De `vanilla' mode is niet interactief" #: src/shar.c:2222 msgid "WARNING: Non-text storage options overridden" @@ -548,7 +570,7 @@ #: src/shar.c:2278 msgid "No input files" -msgstr "Geen invoer bestanden" +msgstr "Geen invoerbestanden" #: src/shar.c:2284 msgid "Cannot use -a option without -n" @@ -556,11 +578,11 @@ #: src/shar.c:2290 msgid "Cannot use -l or -L option without -o" -msgstr "De opties -l and -L kunnen niet zonder -n gebruikt worden" +msgstr "De opties -l of -L kunnen niet zonder -o gebruikt worden" #: src/shar.c:2302 msgid "PLEASE avoid -X shars on Usenet or public networks" -msgstr "Vermijd a.u.b. -X shars op Usenet en op openbare netwerken" +msgstr "Vermijd -X shars op Usenet en op openbare netwerken" #: src/shar.c:2343 msgid "You have unpacked the last part" @@ -577,38 +599,38 @@ #: src/shar.c:2357 msgid "failed to remove" -msgstr "verwijderen niet gelukt" +msgstr "verwijderen mislukt" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" -msgstr "Vond geen shell opdrachten in %s" +msgstr "Geen shell-opdrachten in %s gevonden" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s ziet eruit als een C programma, niet als een shell-archief" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Vond geen shell opdrachten na `cut' in %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s is waarschijnlijk geen shell-archief" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" -msgstr "De `cut' regel werd gevolgd door: %s" +msgstr "Op de `cut' regel volgt: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" -msgstr "Start een `sh' proces" +msgstr "Bezig een `sh'-proces op te starten" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -624,31 +646,38 @@ msgstr "" "Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n" "\n" -" -d, --directory=DIRECTORY verander naar DIRECTORY alvorens uit te " -"pakken\n" -" -c, --overwrite geef -c aan shar skript voor \n" -" overschrijven bestanden\n" +" -d, --directory=MAP ga naar MAP alvorens uit te pakken\n" +" -c, --overwrite geef -c aan shar script voor het\n" +" overschrijven van bestanden\n" " -e, --exit-0 zelfde als `--split-at=\"exit 0\"'\n" -" -E, --split-at=STRING splits samengevoegde shars na STRING\n" +" -E, --split-at=TEKST splits samengevoegde shars na TEKST\n" " -f, --force zelfde als `-c'\n" " --help toon hulptekst en beindig programma\n" " --version toon versie-informatie en beindig programma\n" "\n" -"Als er geen BESTAND is, lees standaardinvoer.\n" +"Als er geen BESTAND is, lees van standaardinvoer.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" -msgstr "`chdir %s' faalt" +msgstr "Huidige map op `%s' zetten is mislukt" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" -#: src/unshar.c:462 +#: src/unshar.c:464 msgid "standard input" -msgstr "standaard invoer" +msgstr "standaardinvoer" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" #: src/uudecode.c:110 src/uudecode.c:400 -#, fuzzy, c-format +#, c-format msgid "%s: Write error" -msgstr "Schrijffout" +msgstr "%s: Schrijffout" #: src/uudecode.c:128 src/uudecode.c:211 #, c-format @@ -658,12 +687,12 @@ #: src/uudecode.c:156 #, c-format msgid "%s: No `end' line" -msgstr "%s: Geen `end' regel" +msgstr "%s: Geen `end'-regel" #: src/uudecode.c:220 #, c-format msgid "%s: data following `=' padding character" -msgstr "%s: data volgende op `=' padding karakter" +msgstr "%s: gegevens volgend op `=' padding-karakter" #: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 #, c-format @@ -673,12 +702,12 @@ #: src/uudecode.c:306 #, c-format msgid "%s: No `begin' line" -msgstr "%s: Geen `begin' regel" +msgstr "%s: Geen `begin'-regel" #: src/uudecode.c:338 #, c-format msgid "%s: Illegal ~user" -msgstr "%s: Illegale ~gebruiker" +msgstr "%s: Onjuiste ~gebruiker" #: src/uudecode.c:345 #, c-format @@ -686,27 +715,26 @@ msgstr "%s: Er bestaat geen gebruiker `%s'" #: src/uudecode.c:361 -#, fuzzy, c-format +#, c-format msgid "cannot access %s" -msgstr "Kan geen toegang krijgen tot %s" +msgstr "kan geen toegang krijgen tot %s" #: src/uudecode.c:365 #, c-format msgid "denied writing FIFO (%s)" -msgstr "" +msgstr "kan niet naar FIFO (%s) schrijven" #: src/uudecode.c:369 #, c-format msgid "not following symlink (%s)" -msgstr "" +msgstr "symbolische koppeling (%s) wordt niet gevolgd" #: src/uudecode.c:416 #, c-format msgid "Usage: %s [FILE]...\n" -msgstr "Aanroep: %s [BESTAND]...\n" +msgstr "Gebruik: %s [BESTAND]...\n" #: src/uudecode.c:417 -#, fuzzy msgid "" "Mandatory arguments to long options are mandatory to short options too.\n" " -o, --output-file=FILE direct output to FILE\n" @@ -714,25 +742,24 @@ " --version output version information and exit\n" msgstr "" "Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n" -" -h, --help toon hulptekst en beindig programma\n" -" -v, --version toon versie-informatie en beindig programma\n" " -o, --output-file=BESTAND uitvoer naar BESTAND\n" +" --help toon deze hulptekst en beindig programma\n" +" --version toon versie-informatie en beindig programma\n" #: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 msgid "Write error" -msgstr "Schrijffout" +msgstr "Fout bij schrijven" #: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 msgid "Read error" -msgstr "Leesfout" +msgstr "Fout bij lezen" #: src/uuencode.c:204 #, c-format msgid "Usage: %s [INFILE] REMOTEFILE\n" -msgstr "Aanroep: %s [LOKAAL_BESTAND] NIETLOKAAL_BESTAND\n" +msgstr "Gebruik: %s [LOKAAL_BESTAND] NIETLOKAAL_BESTAND\n" #: src/uuencode.c:205 -#, fuzzy msgid "" "\n" " -m, --base64 use base64 encoding as of RFC1521\n" @@ -740,48 +767,6 @@ " --version output version information and exit\n" msgstr "" "\n" -" -h, --help toon hulptekst en beindig programma\n" " -m, --base64 gebruik base64 codering zoals in RFC1521\n" -" -v, --version toon versie-informatie en beindig programma\n" - -#~ msgid "" -#~ "\n" -#~ "Giving feedback:\n" -#~ " --help display this help and exit\n" -#~ " --version output version information and exit\n" -#~ " -q, --quiet, --silent do not output verbose messages locally\n" -#~ "\n" -#~ "Selecting files:\n" -#~ " -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" -#~ " -S, --stdin-file-list read file list from standard input\n" -#~ "\n" -#~ "Splitting output:\n" -#~ " -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX." -#~ "NN\n" -#~ " -l, --whole-size-limit=SIZE split archive, not files, to SIZE " -#~ "kilobytes\n" -#~ " -L, --split-size-limit=SIZE split archive, or files, to SIZE " -#~ "kilobytes\n" -#~ msgstr "" -#~ "\n" -#~ "Programma informatie:\n" -#~ " --help vertoon alleen deze hulptekst\n" -#~ " --version vertoon alleen de programmaversie\n" -#~ " -q, --quiet, --silent praat hier niet te veel\n" -#~ "\n" -#~ "Bestandskeuze:\n" -#~ " -p, --intermix-type sta -[BTzZ] toe in de bestandslijst om " -#~ "halverwege\n" -#~ " van mode te veranderen\n" -#~ " -S, --stdin-file-list lees de bestandslijst van standaard invoer\n" -#~ "\n" -#~ "Uitvoerverdeling:\n" -#~ " -o, --output-prefix=PREFIX maak uitvoerbestanden PREFIX.01 t/m " -#~ "PREFIX.NN\n" -#~ " -l, --whole-size-limit=GROOTTE verdeel het archief in stukken van " -#~ "hooguit\n" -#~ " GROOTTE KB (maar splits de bestanden " -#~ "niet)\n" -#~ " -L, --split-size-limit=GROOTTE verdeel archief of bestanden in stukken " -#~ "van\n" -#~ " hooguit GROOTTE KB\n" +" --help toon deze hulptekst en beindig programma\n" +" --version toon versie-informatie en beindig programma\n" Files sharutils-4.3.78/po/nn.gmo and sharutils-4.3.79/po/nn.gmo differ Index: po/nn.po diff -u -r -N sharutils-4.3.78/po/nn.po sharutils-4.3.79/po/nn.po --- sharutils-4.3.78/po/nn.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/nn.po 2005-04-25 20:08:37.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU gettext 0.10.12\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-06-25 20:04+0200\n" "Last-Translator: Karl Anders ygard \n" "Language-Team: Norwegian-nynorsk \n" @@ -114,7 +114,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 #, fuzzy msgid "Cannot get current directory name" msgstr "kan ikkje skifte til filkatalog \"%s\"" @@ -341,12 +341,12 @@ msgid "Closing `%s'" msgstr "" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, fuzzy, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prv %s --help for meir informasjon\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" @@ -449,7 +449,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -477,7 +477,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -527,36 +527,36 @@ msgid "failed to remove" msgstr "" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -571,15 +571,23 @@ "If no FILE, standard input is read.\n" msgstr "" -#: src/unshar.c:399 +#: src/unshar.c:395 #, fuzzy, c-format msgid "Cannot chdir to `%s'" msgstr "kan ikkje skifte til filkatalog \"%s\"" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/pt.gmo and sharutils-4.3.79/po/pt.gmo differ Index: po/pt.po diff -u -r -N sharutils-4.3.78/po/pt.po sharutils-4.3.79/po/pt.po --- sharutils-4.3.78/po/pt.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/pt.po 2005-04-25 20:08:37.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU sharutils\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-06-24 20:30+0200\n" "Last-Translator: unknown\n" "Language-Team: Portugese \n" @@ -114,7 +114,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C est a cair em desuso, utilize antes -Z" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "No se consegue obter o nome da directoria corrente" @@ -342,12 +342,12 @@ msgid "Closing `%s'" msgstr "Fechando `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Para mais informao, tente `%s --help'.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Utilizao: %s [OPO]... [FICHEIRO]...\n" @@ -477,7 +477,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -505,7 +505,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -555,36 +555,36 @@ msgid "failed to remove" msgstr "" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "No foi encontrado nenhum comando de shell, em %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s parece ser cdigo C em bruto, no um arquivo de shell" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "No foi encontrado nenhum comando de shell aps o `cut', em %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s provavelmente nao um arquivo de shell" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr " linha de demarcao seguiu-se: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Arrancando o processo `sh'" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -599,15 +599,23 @@ "If no FILE, standard input is read.\n" msgstr "" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "No possvel mudar para a directoria `%s'" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "entrada standard" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/ru.gmo and sharutils-4.3.79/po/ru.gmo differ Index: po/ru.po diff -u -r -N sharutils-4.3.78/po/ru.po sharutils-4.3.79/po/ru.po --- sharutils-4.3.78/po/ru.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/ru.po 2005-04-25 20:08:37.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.2c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 1998-11-29 02:01+07:00\n" "Last-Translator: Const Kaplinsky \n" "Language-Team: Russian \n" @@ -115,7 +115,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr " -C , -Z" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr " " @@ -344,12 +344,12 @@ msgid "Closing `%s'" msgstr " `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr " `%s --help' .\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr ": %s []... []...\n" @@ -507,7 +507,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -535,7 +535,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -589,36 +589,36 @@ msgid "failed to remove" msgstr " " -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr " %s shell- " -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s C-, shell-" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr " %s `cut' shell- " -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr ", %s shell-" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr " `cut' : %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr " `sh'" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -644,15 +644,23 @@ "\n" " , .\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr " `%s' " -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr " " +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, fuzzy, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/rw.gmo and sharutils-4.3.79/po/rw.gmo differ Index: po/rw.po diff -u -r -N sharutils-4.3.78/po/rw.po sharutils-4.3.79/po/rw.po --- sharutils-4.3.78/po/rw.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/rw.po 2005-04-25 20:08:37.000000000 -0700 @@ -0,0 +1,813 @@ +# Kinyarwanda translations for sharutils package. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the sharutils package. +# Steve Murphy , 2005. +# Steve performed initial rough translation from compendium built from translations provided by the following translators: +# Philibert Ndandali , 2005. +# Viateur MUGENZI , 2005. +# Noëlla Mupole , 2005. +# Carole Karema , 2005. +# JEAN BAPTISTE NGENDAHAYO , 2005. +# Augustin KIBERWA , 2005. +# Donatien NSENGIYUMVA , 2005. +# Antoine Bigirimana , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-04-04 10:55-0700\n" +"Last-Translator: Steven Michael Murphy \n" +"Language-Team: Kinyarwanda \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/error.c:131 lib/error.c:159 +#, fuzzy +msgid "Unknown system error" +msgstr "Sisitemu Ikosa" + +#: lib/getopt.c:694 +#, fuzzy, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s:Ihitamo ni" + +#: lib/getopt.c:719 +#, fuzzy, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s:Ihitamo Kwemerera" + +#: lib/getopt.c:724 +#, fuzzy, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s:Ihitamo Kwemerera" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, fuzzy, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s:Ihitamo" + +#: lib/getopt.c:771 +#, fuzzy, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s:Ihitamo" + +#: lib/getopt.c:775 +#, fuzzy, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s:Ihitamo" + +#: lib/getopt.c:801 +#, fuzzy, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s:Ihitamo" + +#: lib/getopt.c:804 +#, fuzzy, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s:Sibyo Ihitamo" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, fuzzy, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s:Ihitamo" + +#: lib/getopt.c:881 +#, fuzzy, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s:Ihitamo ni" + +#: lib/getopt.c:899 +#, fuzzy, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s:Ihitamo Kwemerera" + +#: lib/xmalloc.c:66 +#, fuzzy +msgid "memory exhausted" +msgstr "Ububiko" + +#: src/shar.c:631 +#, fuzzy +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "OYA Na" + +#: src/shar.c:633 +#, fuzzy +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "gukora iyinjizaporogaramu:%s in Idosiye" + +#: src/shar.c:644 +#, fuzzy +msgid "failed to create locking directory" +msgstr "Byanze Kuri Kurema bushyinguro" + +#: src/shar.c:654 src/shar.c:2356 +#, fuzzy +msgid "lock directory" +msgstr "bushyinguro" + +# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_DOC_CREATED.text +#: src/shar.c:654 src/shar.c:695 +#, fuzzy +msgid "created" +msgstr "Byaremwe" + +#: src/shar.c:655 src/shar.c:695 +#, fuzzy +msgid "failed to create" +msgstr "Byanze Kuri Kurema" + +#: src/shar.c:685 +#, fuzzy +msgid "Too many directories for mkdir generation" +msgstr "ububiko bw'amaderese kugirango" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "" + +#: src/shar.c:799 src/shar.c:2068 +#, fuzzy +msgid "-C is being deprecated, use -Z instead" +msgstr "-C ni Bitemewe. Gukoresha" + +#: src/shar.c:852 src/unshar.c:377 +#, fuzzy +msgid "Cannot get current directory name" +msgstr "Kubona KIGEZWEHO bushyinguro Izina:" + +#: src/shar.c:938 +#, fuzzy +msgid "Must unpack archives in sequence!" +msgstr "Ubushyinguro in" + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "" + +#: src/shar.c:939 src/shar.c:1483 +#, fuzzy +msgid "next!" +msgstr "Ibikurikira>" + +#: src/shar.c:967 +#, fuzzy, c-format +msgid "%s: Not a regular file" +msgstr "%s:a Ibisanzwe IDOSIYE" + +#: src/shar.c:982 +#, fuzzy, c-format +msgid "In shar: remaining size %s\n" +msgstr "Ingano" + +#: src/shar.c:993 src/shar.c:1388 +#, fuzzy, c-format +msgid "New file, remaining %s, " +msgstr "IDOSIYE" + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +#, fuzzy +msgid "restore of" +msgstr "Kugarura Bya" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +#, fuzzy +msgid "failed" +msgstr "Byanze" + +#: src/shar.c:1011 src/shar.c:1408 +#, fuzzy +msgid "End of part" +msgstr "Impera Bya" + +#: src/shar.c:1012 src/shar.c:1409 +#, fuzzy +msgid "continue with part" +msgstr "urifuzagukomeza Na:" + +#: src/shar.c:1025 src/shar.c:1501 +#, fuzzy, c-format +msgid "Starting file %s\n" +msgstr "IDOSIYE" + +#: src/shar.c:1060 +msgid "empty" +msgstr "kirimo ubusa" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(ubusa)" + +#: src/shar.c:1085 +#, fuzzy, c-format +msgid "Cannot open file %s" +msgstr "Gufungura IDOSIYE" + +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.Graphic.Format..1.text +#: src/shar.c:1122 +#, fuzzy +msgid "compressed" +msgstr "Byegeranijwe" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "" + +# #-#-#-#-# goodies.pot (PACKAGE VERSION) #-#-#-#-# +# goodies/source\filter.vcl\epbm\dlgepbm.src:DLG_EXPORT_EPBM.RB_RAW.text +# #-#-#-#-# goodies.pot (PACKAGE VERSION) #-#-#-#-# +# goodies/source\filter.vcl\epgm\dlgepgm.src:DLG_EXPORT_EPGM.RB_RAW.text +# #-#-#-#-# goodies.pot (PACKAGE VERSION) #-#-#-#-# +# goodies/source\filter.vcl\eppm\dlgeppm.src:DLG_EXPORT_EPPM.RB_RAW.text +#: src/shar.c:1125 +#, fuzzy +msgid "binary" +msgstr "Nyabibiri" + +#: src/shar.c:1126 +#, fuzzy +msgid "(compressed)" +msgstr "(Byegeranijwe" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "" + +#: src/shar.c:1129 +#, fuzzy +msgid "(binary)" +msgstr "(Nyabibiri" + +#: src/shar.c:1142 +#, fuzzy +msgid "Could not fork" +msgstr "OYA" + +# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_HFCMD_FILE.text +#: src/shar.c:1147 src/shar.c:1207 +#, fuzzy, c-format +msgid "File %s (%s)" +msgstr "IDOSIYE" + +#: src/shar.c:1201 +msgid "text" +msgstr "umwandiko" + +# #-#-#-#-# scp.pot (PACKAGE VERSION) #-#-#-#-# +# scp/source\office\profile.lng:STR_VALUE_OBJECT_TEXT.text +# #-#-#-#-# scp.pot (PACKAGE VERSION) #-#-#-#-# +# scp/source\office\profile.lng:STR_DIR_OFFICEOBJECT_WRITER.text +#: src/shar.c:1202 +#, fuzzy +msgid "(text)" +msgstr "(Umwandiko" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "" + +# sfx2/source\doc\new.src:DLG_NEW_FILE.CB_MERGE_STYLE.text +#: src/shar.c:1249 +#, fuzzy +msgid "overwrite" +msgstr "Guhindura" + +#: src/shar.c:1250 +#, fuzzy +msgid "[no, yes, all, quit] (no)?" +msgstr "[Oya Yego Byose Kuvamo Oya" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "" + +#: src/shar.c:1252 src/shar.c:1257 +#, fuzzy +msgid "SKIPPING" +msgstr "Gusimbuka:%s" + +#: src/shar.c:1257 +#, fuzzy +msgid "(file already exists)" +msgstr "(IDOSIYE" + +#: src/shar.c:1275 +#, fuzzy, c-format +msgid "Saving %s (%s)" +msgstr "Mu kubika" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "" + +#: src/shar.c:1414 +#, fuzzy +msgid "End of" +msgstr "Impera Bya" + +#: src/shar.c:1415 +msgid "archive" +msgstr "" + +#: src/shar.c:1416 +msgid "part" +msgstr "" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "Idosiye " + +#: src/shar.c:1419 +#, fuzzy +msgid "is continued in part" +msgstr "ni in" + +#: src/shar.c:1479 +#, fuzzy +msgid "Please unpack part 1 first!" +msgstr "1. Itangira" + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "" + +#: src/shar.c:1505 +#, fuzzy +msgid "continuing file" +msgstr "IDOSIYE" + +#: src/shar.c:1526 +#, fuzzy +msgid "is complete" +msgstr "ni Byuzuye" + +#: src/shar.c:1535 +#, fuzzy +msgid "uudecoding file" +msgstr "IDOSIYE" + +#: src/shar.c:1549 +#, fuzzy +msgid "uncompressing file" +msgstr "IDOSIYE" + +#: src/shar.c:1560 +#, fuzzy +msgid "gunzipping file" +msgstr "IDOSIYE" + +#: src/shar.c:1571 +#, fuzzy +msgid "bunzipping file" +msgstr "IDOSIYE" + +#: src/shar.c:1636 +#, fuzzy +msgid "MD5 check failed" +msgstr "Kugenzura... Byanze" + +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.BMP.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.MET.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.PCT.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.SVM.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.WMF.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.Graphic.Export.EMF.ExportMode..0.text +# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-# +# officecfg/registry\schema\org\openoffice\Office\Math.xcs:....Print.Size..0.text +#: src/shar.c:1697 +#, fuzzy +msgid "original size" +msgstr "Ingano mwimerere" + +#: src/shar.c:1698 +#, fuzzy +msgid "current size" +msgstr "KIGEZWEHO Ingano" + +#: src/shar.c:1758 +#, fuzzy, c-format +msgid "Opening `%s'" +msgstr "Gufungura %s%S" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, fuzzy, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "kugirango Birenzeho Ibisobanuro" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#: src/shar.c:1786 +#, fuzzy +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "ingingo Kuri Amahitamo kugirango Amahitamo" + +#: src/shar.c:1789 +#, fuzzy +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"Ifashayobora Kugaragaza iyi Ifashayobora Na Verisiyo Ibisohoka Verisiyo " +"Ibisobanuro Na Q OYA Ibisohoka Ubutumwa" + +#: src/shar.c:1797 +#, fuzzy +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"Idosiye P Ubwoko Kwemerera in IDOSIYE Intonde Kuri Guhindura>> IDOSIYE " +"Urutonde Gusoma IDOSIYE Urutonde Bivuye Bisanzwe" + +#: src/shar.c:1804 +#, fuzzy +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"Idosiye P Ubwoko Kwemerera in IDOSIYE Intonde Kuri Guhindura>> IDOSIYE " +"Urutonde Gusoma IDOSIYE Urutonde Bivuye Bisanzwe" + +#: src/shar.c:1811 +#, fuzzy +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"Ibisohoka o Ibisohoka Imbanziriza Ibisohoka Kuri IDOSIYE 01 Gihinguranya L " +"Ingano Gutandukanya OYA Idosiye Kuri Gutandukanya Ingano Gutandukanya " +"Cyangwa Idosiye Kuri" + +#: src/shar.c:1818 +#, fuzzy +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"i Imitwe N Izina: Gukoresha Kuri Inyandiko i S i a Cyuzuye Imitwe Ibisohoka " +"ku Izina: C Gukata Ikimenyetso Gutangira i Na: a Gukata Idosiye Bivanze " +"Mburabuzi Umwandiko Idosiye Byose Idosiye Nka Byose Idosiye Nka Nyabibiri " +"Gukoresha Z Na Byose g urwego kugirango Mburabuzi 9 Kuri j Na Byose" + +#: src/shar.c:1835 +#, fuzzy +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "-Kwegeranya Kwegeranya Na Byose B ITEGEKONGENGA Mburabuzi 12 Kuri" + +#: src/shar.c:1840 +#, fuzzy +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"W Oya Inyuguti IBARA OYA Gukoresha Kuri Kugenzura... Oya OYA Gukoresha Kuri " +"Imbanziriza i Imbanziriza Inyuguti ku buri D Gukoresha Kuri i Idosiye in i " +"Bya V Byoroheje Na Oya Gukoresha By'igihe gito Idosiye ku X Oya Kugenzura... " +"Guhindura Ikibazo# Ukoresha: Ukoresha: Mbere Idosiye OYA kugirango M Oya OYA " +"Kugarura IDOSIYE Amatariki Ubutumwa ku F Kugarura in bushyinguro Oya OYA " +"Igikonoshwa" + +#: src/shar.c:1858 +#, fuzzy +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "o ni Bya ngombwa Na: L Cyangwa Ihitamo N ni Bya ngombwa Na: a" + +#: src/shar.c:1863 +#, fuzzy +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "g Z Ihitamo B" + +#: src/shar.c:1867 +#, fuzzy +msgid "Option -g implies -z.\n" +msgstr "g Z" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, fuzzy, c-format +msgid "Report bugs to <%s>.\n" +msgstr "Kuri" + +#: src/shar.c:2005 +#, fuzzy +msgid "DEBUG was not selected at compile time" +msgstr "OYA Byahiswemo ku Gukusanya Igihe" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "" + +#: src/shar.c:2064 +#, fuzzy +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "Sisitemu Gushigikira Gukoresha Z" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "" + +#: src/shar.c:2116 +#, fuzzy, c-format +msgid "illegal output prefix\n" +msgstr "Ibisohoka" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, fuzzy, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "C ni Kigenga i Inkomoko kugirango ni OYA ATARIIGIHARWE kugirango Cyangwa A" + +#: src/shar.c:2210 +#, fuzzy +msgid "WARNING: No user interaction in vanilla mode" +msgstr "Ukoresha: Imikoranire in Ubwoko" + +#: src/shar.c:2222 +#, fuzzy +msgid "WARNING: Non-text storage options overridden" +msgstr "Umwandiko Amahitamo" + +#: src/shar.c:2278 +#, fuzzy +msgid "No input files" +msgstr "Iyinjiza Idosiye" + +#: src/shar.c:2284 +#, fuzzy +msgid "Cannot use -a option without -n" +msgstr "Gukoresha a Ihitamo N" + +#: src/shar.c:2290 +#, fuzzy +msgid "Cannot use -l or -L option without -o" +msgstr "Gukoresha L Cyangwa Ihitamo o" + +#: src/shar.c:2302 +#, fuzzy +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "ku Cyangwa Rusange" + +#: src/shar.c:2343 +#, fuzzy +msgid "You have unpacked the last part" +msgstr "i Iheruka" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "" + +# 5072 +#: src/shar.c:2356 +#, fuzzy +msgid "removed" +msgstr "Cyavanyweho" + +#: src/shar.c:2357 +#, fuzzy +msgid "failed to remove" +msgstr "Byanze Kuri Gukuraho..." + +#: src/unshar.c:169 +#, fuzzy, c-format +msgid "Found no shell commands in %s" +msgstr "Oya Igikonoshwa Amabwiriza in" + +#: src/unshar.c:185 +#, fuzzy, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%snka C ITEGEKONGENGA OYA a Igikonoshwa" + +#: src/unshar.c:221 +#, fuzzy, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Oya Igikonoshwa Amabwiriza Nyuma in" + +#: src/unshar.c:242 +#, fuzzy, c-format +msgid "%s is probably not a shell archive" +msgstr "%sni OYA a Igikonoshwa" + +#: src/unshar.c:243 +#, fuzzy, c-format +msgid "The `cut' line was followed by: %s" +msgstr "Umurongo ku" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "" + +#: src/unshar.c:318 +#, fuzzy +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"ingingo Kuri Amahitamo kugirango Amahitamo D bushyinguro Guhindura>> Kuri " +"Mbere C Guhindura C Kuri IYANDIKA kugirango E Gusohoka 0 Nka Gutandukanya ku " +"Gusohoka 0 E Gutandukanya ku Gutandukanya Nyuma F Nka Ifashayobora " +"Kugaragaza iyi Ifashayobora Na Verisiyo Ibisohoka Verisiyo Ibisobanuro Na " +"Oya Bisanzwe Iyinjiza ni Gusoma" + +#: src/unshar.c:395 +#, fuzzy, c-format +msgid "Cannot chdir to `%s'" +msgstr "Kuri" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +#, fuzzy +msgid "standard input" +msgstr "Bisanzwe Iyinjiza" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, fuzzy, c-format +msgid "%s: Write error" +msgstr "%s:Ikosa" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, fuzzy, c-format +msgid "%s: Short file" +msgstr "%s:IDOSIYE" + +#: src/uudecode.c:156 +#, fuzzy, c-format +msgid "%s: No `end' line" +msgstr "%s:Umurongo" + +#: src/uudecode.c:220 +#, fuzzy, c-format +msgid "%s: data following `=' padding character" +msgstr "%s:Ibyatanzwe Wuzuza: Inyuguti" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, fuzzy, c-format +msgid "%s: illegal line" +msgstr "%s:Umurongo" + +#: src/uudecode.c:306 +#, fuzzy, c-format +msgid "%s: No `begin' line" +msgstr "%s:Umurongo" + +#: src/uudecode.c:338 +#, fuzzy, c-format +msgid "%s: Illegal ~user" +msgstr "%s:Ukoresha:" + +#: src/uudecode.c:345 +#, fuzzy, c-format +msgid "%s: No user `%s'" +msgstr "%s:Ukoresha:" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "" + +#: src/uudecode.c:369 +#, fuzzy, c-format +msgid "not following symlink (%s)" +msgstr "OYA" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "" + +#: src/uudecode.c:417 +#, fuzzy +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"ingingo Kuri Amahitamo Kuri Amahitamo o Ibisohoka IDOSIYE Ibisohoka Kuri " +"Ifashayobora Kugaragaza iyi Ifashayobora Na Verisiyo Ibisohoka Verisiyo " +"Ibisobanuro Na" + +# svtools/source\misc\errtxt.src:RID_ERRHDL.ERRCODE_CLASS_WRITE.text +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +#, fuzzy +msgid "Write error" +msgstr "Kwandika ikosa" + +# 4952 +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +#, fuzzy +msgid "Read error" +msgstr "Ikosa ryo mu Isoma" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "" + +#: src/uuencode.c:205 +#, fuzzy +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"-M Gukoresha Imisobekere: Nka Bya Ifashayobora Kugaragaza iyi Ifashayobora " +"Na Verisiyo Ibisohoka Verisiyo Ibisobanuro Na" Index: po/sharutils.pot diff -u -r -N sharutils-4.3.78/po/sharutils.pot sharutils-4.3.79/po/sharutils.pot --- sharutils-4.3.78/po/sharutils.pot 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/sharutils.pot 2005-04-25 20:08:36.000000000 -0700 @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -116,7 +116,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "" @@ -342,12 +342,12 @@ msgid "Closing `%s'" msgstr "" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" @@ -449,7 +449,7 @@ msgstr "" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -477,7 +477,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -526,36 +526,36 @@ msgid "failed to remove" msgstr "" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -570,15 +570,23 @@ "If no FILE, standard input is read.\n" msgstr "" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/sr.gmo and sharutils-4.3.79/po/sr.gmo differ Index: po/sr.po diff -u -r -N sharutils-4.3.78/po/sr.po sharutils-4.3.79/po/sr.po --- sharutils-4.3.78/po/sr.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/sr.po 2005-04-25 20:08:38.000000000 -0700 @@ -0,0 +1,766 @@ +# sharutils translation into Serbian +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the sharutils package. +# NOTE: *** Below is the real last translator! *** +# Filip Miletić , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-01-25 08:20-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/error.c:131 lib/error.c:159 +msgid "Unknown system error" +msgstr "Неодређена системска грешка" + +#: lib/getopt.c:694 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: опција `%s' је двосмислена\n" + +#: lib/getopt.c:719 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: опција `--%s' не допушта аргумент\n" + +#: lib/getopt.c:724 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: опција `%c%s' не допушта аргумент\n" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: за опцију `%s' потребан је аргумент\n" + +#: lib/getopt.c:771 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: опција `--%s' није препозната\n" + +#: lib/getopt.c:775 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: опција `%c%s' није препозната\n" + +#: lib/getopt.c:801 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: неисправна опција -- %c\n" + +#: lib/getopt.c:804 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: неважећа опција -- %c\n" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: опција захтева да се наведе аргумент -- %c\n" + +#: lib/getopt.c:881 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: опција `-W %s' је двосмислена\n" + +#: lib/getopt.c:899 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: опција `-W %s' не допушта навођење аргумента\n" + +#: lib/xmalloc.c:66 +msgid "memory exhausted" +msgstr "нема довољно меморије" + +#: src/shar.c:631 +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "УПОЗОРЕЊЕ: време и датум се не мењају. Како би било да инсталирате" + +#: src/shar.c:633 +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "GNU \\\\`touch', који се налази међу GNU алатима за датотеке..." + +#: src/shar.c:644 +msgid "failed to create locking directory" +msgstr "креирање директоријума за браву није успело" + +#: src/shar.c:654 src/shar.c:2356 +msgid "lock directory" +msgstr "директоријум за браву" + +#: src/shar.c:654 src/shar.c:695 +msgid "created" +msgstr "направљен" + +#: src/shar.c:655 src/shar.c:695 +msgid "failed to create" +msgstr "није направљен" + +#: src/shar.c:685 +msgid "Too many directories for mkdir generation" +msgstr "Директоријума има превише за mkdir" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "Не може се приступити %s" + +#: src/shar.c:799 src/shar.c:2068 +msgid "-C is being deprecated, use -Z instead" +msgstr "-C је застарела опција, користите -Z" + +#: src/shar.c:852 src/unshar.c:377 +msgid "Cannot get current directory name" +msgstr "Не може се прочитати име тренутног директоријума" + +#: src/shar.c:938 +msgid "Must unpack archives in sequence!" +msgstr "Архиве се морају отпаковати редом!" + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "Молим распакујте део" + +#: src/shar.c:939 src/shar.c:1483 +msgid "next!" +msgstr "следећи!" + +#: src/shar.c:967 +#, c-format +msgid "%s: Not a regular file" +msgstr "%s: Није уобичајен тип датотеке" + +#: src/shar.c:982 +#, c-format +msgid "In shar: remaining size %s\n" +msgstr "У архиви: преостала величина %s\n" + +#: src/shar.c:993 src/shar.c:1388 +#, c-format +msgid "New file, remaining %s, " +msgstr "Нова датотека, остаје %s, " + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "Граница је и даље %s\n" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "restore of" +msgstr "обнављање" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "failed" +msgstr "није успело" + +#: src/shar.c:1011 src/shar.c:1408 +msgid "End of part" +msgstr "Крај дела" + +#: src/shar.c:1012 src/shar.c:1409 +msgid "continue with part" +msgstr "Настави са делом" + +#: src/shar.c:1025 src/shar.c:1501 +#, c-format +msgid "Starting file %s\n" +msgstr "Крећем са датотеком %s\n" + +#: src/shar.c:1060 +msgid "empty" +msgstr "празно" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(празно)" + +#: src/shar.c:1085 +#, c-format +msgid "Cannot open file %s" +msgstr "Не може се отворити %s" + +#: src/shar.c:1122 +msgid "compressed" +msgstr "сабијен" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "гзипован" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "бзипован" + +#: src/shar.c:1125 +msgid "binary" +msgstr "бинарни" + +#: src/shar.c:1126 +msgid "(compressed)" +msgstr "(сабијен)" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "(гзипован)" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "(бзипован)" + +#: src/shar.c:1129 +msgid "(binary)" +msgstr "(бинаран)" + +#: src/shar.c:1142 +msgid "Could not fork" +msgstr "Програм се није могао поделити (fork)" + +#: src/shar.c:1147 src/shar.c:1207 +#, c-format +msgid "File %s (%s)" +msgstr "Датотека %s (%s)" + +#: src/shar.c:1201 +msgid "text" +msgstr "текст" + +#: src/shar.c:1202 +msgid "(text)" +msgstr "(текст)" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "преписивање" + +#: src/shar.c:1249 +msgid "overwrite" +msgstr "преписати" + +#: src/shar.c:1250 +msgid "[no, yes, all, quit] (no)?" +msgstr "[не: no, да: yes, све: all, крај: quit] (no)?" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "распакивање je обустављено" + +#: src/shar.c:1252 src/shar.c:1257 +msgid "SKIPPING" +msgstr "ПРЕСКАЧЕМ" + +#: src/shar.c:1257 +msgid "(file already exists)" +msgstr "(датотека већ постоји)" + +#: src/shar.c:1275 +#, c-format +msgid "Saving %s (%s)" +msgstr "Снимам %s (%s)" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "распакујем" + +#: src/shar.c:1414 +msgid "End of" +msgstr "Крај" + +#: src/shar.c:1415 +msgid "archive" +msgstr "архиве" + +#: src/shar.c:1416 +msgid "part" +msgstr "дела" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "Датотека" + +#: src/shar.c:1419 +msgid "is continued in part" +msgstr "се делом наставља" + +#: src/shar.c:1479 +msgid "Please unpack part 1 first!" +msgstr "Молим прво отпакујте део 1!" + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "И ДАЉЕ ПРЕСКАЧЕМ" + +#: src/shar.c:1505 +msgid "continuing file" +msgstr "настављам датотеку" + +#: src/shar.c:1526 +msgid "is complete" +msgstr "је довршен" + +#: src/shar.c:1535 +msgid "uudecoding file" +msgstr "декодирам датотеку (uudecode)" + +#: src/shar.c:1549 +msgid "uncompressing file" +msgstr "распакујем датотеку" + +#: src/shar.c:1560 +msgid "gunzipping file" +msgstr "распакујем гзипом" + +#: src/shar.c:1571 +msgid "bunzipping file" +msgstr "распакујем бзипом" + +#: src/shar.c:1636 +msgid "MD5 check failed" +msgstr "МД5 провера није успела" + +#: src/shar.c:1697 +msgid "original size" +msgstr "полазна величина" + +#: src/shar.c:1698 +msgid "current size" +msgstr "тренутна величина" + +#: src/shar.c:1758 +#, c-format +msgid "Opening `%s'" +msgstr "Отварам `%s'" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "Затварам `%s'" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Навођењем `%s --help' добијате помоћ.\n" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Usage: %s [OPTION]... [FILE]...\n" + +#: src/shar.c:1786 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "Обавезни аргументи за дугачке опције су обавезни и за кратке опције.\n" + +#: src/shar.c:1789 +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"\n" +"Информације:\n" +" --help прикажи текст помоћи и заврши рад\n" +" --version прикажи ознаку верзије и заврши рад\n" +" -q, --quiet, --silent не исписуј детаљне извештаје\n" + +#: src/shar.c:1797 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Избор датотека:\n" +" -p, --intermix-type допусти да -[BTzZ] у списку датотека промени мод\n" +" -S, --stdin-file-list учитај списак датотека са стандардног улаза\n" + +#: src/shar.c:1804 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Избор датотека:\n" +" -p, --intermix-type допусти да -[BTz] у списку датотека промени мод\n" +" -S, --stdin-file-list учитај списак датотека са стандардног улаза\n" + +#: src/shar.c:1811 +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"\n" +"Дељење излаза:\n" +" -o, --output-prefix=PREFIX излазне датотеке ће имати име PREFIX.01 \n" +" до PREFIX.NN\n" +" -l, --whole-size-limit=SIZE подели архиву, не датотеке, у делове " +"величине \n" +" SIZE килобајта\n" +" -L, --split-size-limit=SIZE подели архиву, или датотеке у делове " +"величине\n" +" SIZE килобајта\n" + +#: src/shar.c:1818 +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"\n" +"Управљање shar заглављима:\n" +" -n, --archive-name=NAME користи NAME као документацију архиве\n" +" -s, --submitter=ADDRESS преправи име пошиљаоца\n" +" -a, --net-headers запиши заглавља Submitted-by: и Archive-name:\n" +" -c, --cut-mark започни архиву ознаком за сечење\n" +"\n" +"Бирање начина за паковање датотека:\n" +" -M, --mixed-uuencode динамички одреди да ли ће се користити " +"uuencode\n" +" -T, --text-files прогласи све датотеке за текстуалне\n" +" -B, --uuencode прогласи све датотеке за бинарне и користи\n" +" uuencode\n" +" -z, --gzip све датотеке пропусти кроз gzip и uuencode\n" +" -g, --level-for-gzip=LEVEL задај ниво компресије -LEVEL (сада је 9) за " +"gzip\n" +" -j, --bzip2 све датотеке пропусти кроз bzip2 и uuencode\n" + +#: src/shar.c:1835 +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "" +" -Z, --compress сабиј и кодирај све датотеке са uuencode\n" +" -b, --bits-per-code=BITS постави опцију -bBITS (сада 12) за compress\n" + +#: src/shar.c:1840 +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"\n" +"Заштита од грешака у преносу:\n" +" -w, --no-character-count не проверавај величину са `wc -c'\n" +" -D, --no-md5-digest не користи проверу са `md5sum'\n" +" -F, --force-prefix префикс сваке линије биће задати знак\n" +" -d, --here-delimiter=STRING користи STRING за раздвајање датотека\n" +"\n" +"Прављење разних врста архива:\n" +" -V, --vanilla-operation направи једноставне и мало захтевне архиве\n" +" -P, --no-piping обавезно користи привремене датотеке при раду\n" +" -x, --no-check-existing увек бриши постојеће датотеке\n" +" -X, --query-user питај корисника пре брисања датотека\n" +" -m, --no-timestamp не мењај датум и време креирања датотеке\n" +" -Q, --quiet-unshar избегавај испис детаљних порука при раду\n" +" -f, --basename распакуј у исти директоријум без обзира на све\n" +" --no-i18n не користи подршку за интернационализацију\n" + +#: src/shar.c:1858 +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "" +"\n" +"Опција -o се мора користити са -l или -L, опција -n се мора користити са -" +"a.\n" + +#: src/shar.c:1863 +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "Опција -g повлачи -z, опција -b повлачи -Z.\n" + +#: src/shar.c:1867 +msgid "Option -g implies -z.\n" +msgstr "Опција -g повлачи -z.\n" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "" +"Грешке пријавите на адресу <%s>.\n" +"Поруке у вези овог превода слати на адресу .\n" + +#: src/shar.c:2005 +msgid "DEBUG was not selected at compile time" +msgstr "Прекидач DEBUG није био одабран при превођењу" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "Строго ограничење %s\n" + +#: src/shar.c:2064 +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "Овај систем не подржава -Z ('compress'), користите уместо тога -z" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "Благо ограничење %s\n" + +#: src/shar.c:2116 +#, c-format +msgid "illegal output prefix\n" +msgstr "неисправан излазни префикс\n" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "" +"Copyright (C) %s Задужбина за слободан софтвер, корп.\n" +"Ово је слободан софтвер; погледајте изворни код за услове копирања. НЕМА \n" +"гаранције; не гарантује се ни да је програм одговарајућег квалитета нити\n" +"да одговара намени.\n" + +#: src/shar.c:2210 +msgid "WARNING: No user interaction in vanilla mode" +msgstr "УПОЗОРЕЊЕ: у обичном моду рада се не интерагује са корисником" + +#: src/shar.c:2222 +msgid "WARNING: Non-text storage options overridden" +msgstr "УПОЗОРЕЊЕ: Опције за обраду не-текстуалних датотека су промењене" + +#: src/shar.c:2278 +msgid "No input files" +msgstr "Нису наведене улазне датотеке" + +#: src/shar.c:2284 +msgid "Cannot use -a option without -n" +msgstr "Опција -a се не може користити без -n" + +#: src/shar.c:2290 +msgid "Cannot use -l or -L option without -o" +msgstr "Опције -l или -L се не могу користити без -o" + +#: src/shar.c:2302 +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "" +"МОЛИМО да не користите архиве прављене са -X на Usenet-у и јавним мрежама" + +#: src/shar.c:2343 +msgid "You have unpacked the last part" +msgstr "Распаковали сте последњи део" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "Записано је %d фајл(ов)(а)\n" + +#: src/shar.c:2356 +msgid "removed" +msgstr "уклоњен" + +#: src/shar.c:2357 +msgid "failed to remove" +msgstr "није уклоњен" + +#: src/unshar.c:169 +#, c-format +msgid "Found no shell commands in %s" +msgstr "Нема команди шкољке у %s" + +#: src/unshar.c:185 +#, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%s личи на изворни код у језику C, а не на архиву" + +#: src/unshar.c:221 +#, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Нема команди шкољке после `cut' у %s" + +#: src/unshar.c:242 +#, c-format +msgid "%s is probably not a shell archive" +msgstr "%s вероватно није архива" + +#: src/unshar.c:243 +#, c-format +msgid "The `cut' line was followed by: %s" +msgstr "Линију `cut' пратило је: %s" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "Покрећем процес `sh'" + +#: src/unshar.c:318 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"Обавезни аргументи за дугачке опције су обавезни такође и за кратке опције.\n" +"\n" +" -d, --directory=DIRECTORY иди у директоријум DIRECTORY пре распакивања\n" +" -c, --overwrite достави опцију -c скрипти за преписивање " +"датотека\n" +" -e, --exit-0 исто као `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING подели архиве после STRING\n" +" -f, --force исто као `-c'\n" +" --help прикажи овај текст помоћи и заврши са радом\n" +" --version прикажи ознаку верзије и заврши са радом\n" +"\n" +"Ако ДАТОТЕКА није наведена, чита се са стандардног улаза.\n" + +#: src/unshar.c:395 +#, c-format +msgid "Cannot chdir to `%s'" +msgstr "Није могуће пребацити се у `%s'" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +msgid "standard input" +msgstr "стандардни улаз" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, c-format +msgid "%s: Write error" +msgstr "%s: Грешка при упису" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, c-format +msgid "%s: Short file" +msgstr "%s: Кратка датотека" + +#: src/uudecode.c:156 +#, c-format +msgid "%s: No `end' line" +msgstr "%s: Нема линије за крај (`end') " + +#: src/uudecode.c:220 +#, c-format +msgid "%s: data following `=' padding character" +msgstr "%s: подаци следе иза знака `='" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, c-format +msgid "%s: illegal line" +msgstr "%s: неисправна линија" + +#: src/uudecode.c:306 +#, c-format +msgid "%s: No `begin' line" +msgstr "%s: Нема почетне линије (`begin')" + +#: src/uudecode.c:338 +#, c-format +msgid "%s: Illegal ~user" +msgstr "%s: Неисправан ~корисник" + +#: src/uudecode.c:345 +#, c-format +msgid "%s: No user `%s'" +msgstr "%s: Корисник `%s' не постји" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "није могуће приступити %s" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "не може се уписати FIFO (%s)" + +#: src/uudecode.c:369 +#, c-format +msgid "not following symlink (%s)" +msgstr "не пратим симболичку везу (%s)" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "Употреба: %s [ДАТОТЕКА]...\n" + +#: src/uudecode.c:417 +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"Обавезни аргументи за дуге опције су обавезни и за кратке опције.\n" +" -o, --output-file=FILE директан излаз у FILE\n" +" --help прикажи текст помоћи и заврши са радом\n" +" --version прикажи ознаке верзије и заврши са радом\n" + +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +msgid "Write error" +msgstr "Грешка при упису" + +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +msgid "Read error" +msgstr "Грешка при читању" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "УПОТРЕБА: %s [УЛАЗНА_ДАТ] УДАЉЕНА_ДАТ\n" + +#: src/uuencode.c:205 +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"\n" +" -m, --base64 користи base64 кодирање, према RFC1521\n" +" --help прикажи текст помоћи и заврши са радом\n" +" --version прикажи ознаку верзије и заврши са радом\n" Index: po/stamp-po diff -u -r -N sharutils-4.3.78/po/stamp-po sharutils-4.3.79/po/stamp-po --- sharutils-4.3.78/po/stamp-po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/stamp-po 2005-04-25 20:08:39.000000000 -0700 @@ -0,0 +1 @@ +timestamp Files sharutils-4.3.78/po/sv.gmo and sharutils-4.3.79/po/sv.gmo differ Index: po/sv.po diff -u -r -N sharutils-4.3.78/po/sv.po sharutils-4.3.79/po/sv.po --- sharutils-4.3.78/po/sv.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/sv.po 2005-04-25 20:08:38.000000000 -0700 @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.3.75\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-12-07 00:11+0100\n" "Last-Translator: Jan Djrv \n" "Language-Team: Swedish \n" @@ -116,7 +116,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C kommer att tas bort, anvnd -Z i stllet" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Kan inte komma t namnet p aktuell katalog" @@ -342,12 +342,12 @@ msgid "Closing `%s'" msgstr "Stnger \"%s\"" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Frsk med \"%s --help\" fr ytterligare information.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anvndning: %s [FLAGGA]... [FIL]...\n" @@ -511,7 +511,7 @@ msgstr "Flaggan -g medfr -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "" @@ -541,7 +541,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -595,36 +595,36 @@ msgid "failed to remove" msgstr "kunde inte tas bort" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "Hittade inga skalkommandon i %s" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s ser ut som C-kod, inte som ett skalarkiv" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "Hittade inga skalkommandon efter \"klipp-hr\" i %s" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s r frmodligen inte ett skalarkiv" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "\"klipp-hr\"-raden fljdes av: %s" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Startar en skalprocess" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -650,15 +650,23 @@ "\n" "Om ingen FIL ges s lses standard in.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "Kan inte g till katalog \"%s\"" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "standard in" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/tr.gmo and sharutils-4.3.79/po/tr.gmo differ Index: po/tr.po diff -u -r -N sharutils-4.3.78/po/tr.po sharutils-4.3.79/po/tr.po --- sharutils-4.3.78/po/tr.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/tr.po 2005-04-25 20:08:38.000000000 -0700 @@ -1,19 +1,20 @@ -# sharutils-4.3.75 +# translation of sharutils-4.3.78.po to Turkish +# sharutils-4.3.78'in Trke evirisi # Copyright (C) 2002 Free Software Foundation, Inc. -# Eyp Hakan Duran , 2002. +# Eyp Hakan Duran , 2002, 2004, 2005. # msgid "" msgstr "" -"Project-Id-Version: sharutils 4.3.75\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" -"PO-Revision-Date: 2002-12-05 15:22GMT\n" +"Project-Id-Version: sharutils-4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-01-25 20:23+0200\n" "Last-Translator: Eyp Hakan Duran \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-9\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 0.9.5\n" +"X-Generator: KBabel 1.3\n" #: lib/error.c:131 lib/error.c:159 msgid "Unknown system error" @@ -115,7 +116,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C reddediliyor, yerine -Z kullann" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "Yrrlkteki dizin ad okunamyor" @@ -341,12 +342,12 @@ msgid "Closing `%s'" msgstr "`%s' kapatlyor" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi iin `%s --help' yazn.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Kullanm: %s [SEENEK]... [DOSYA]...\n" @@ -511,7 +512,7 @@ msgstr "-g seenei -z gerektirir.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Yazlm hatalarn <%s>'e bildiriniz.\n" @@ -537,9 +538,9 @@ #: src/shar.c:2116 #, c-format msgid "illegal output prefix\n" -msgstr "" +msgstr "kurald kt neki\n" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -592,36 +593,36 @@ msgid "failed to remove" msgstr "karlamad" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "%s'de kabuk komutu bulunamad" -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%s, kabuk arivinden ok, ham C kodunu andryor." -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "%s'deki `kesme'den sonra kabuk komutu bulunamad" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s, muhtemelen bir kabuk arivi deil" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr "`kesme' izgisini %s izliyor" -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "`sh' ilemi balatlyor" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -649,15 +650,23 @@ "\n" "DOSYA yoksa, standart girdi okunur.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "`%s' e girilemiyor" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "standart girdi" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Files sharutils-4.3.78/po/vi.gmo and sharutils-4.3.79/po/vi.gmo differ Index: po/vi.po diff -u -r -N sharutils-4.3.78/po/vi.po sharutils-4.3.79/po/vi.po --- sharutils-4.3.78/po/vi.po 1969-12-31 16:00:00.000000000 -0800 +++ sharutils-4.3.79/po/vi.po 2005-04-25 20:08:38.000000000 -0700 @@ -0,0 +1,777 @@ +# Vietnamese Translation for sharutils-4.3.78. +# Copyright (C) 2005 Free Software Foundation, Inc. +# Clytie Siddall , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sharutils 4.3.78\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" +"PO-Revision-Date: 2005-02-02 23:11+1030\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: lib/error.c:131 lib/error.c:159 +msgid "Unknown system error" +msgstr "Lỗi hệ thống chưa biết" + +#: lib/getopt.c:694 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: tùy chọn `%s' mơ hồ\n" + +#: lib/getopt.c:719 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: tùy chọn `--%s' không cho phép đối số\n" + +#: lib/getopt.c:724 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: tùy chọn `%c%s' không cho phép đối số\n" + +#: lib/getopt.c:742 lib/getopt.c:915 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: tùy chọn `%s' cần đến đối số\n" + +#: lib/getopt.c:771 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: tùy chọn không chấp nhận `--%s'\n" + +#: lib/getopt.c:775 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: tùy chọn không chấp nhận `%c%s'\n" + +#: lib/getopt.c:801 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: không cho phép tùy chọn ấy -- %c\n" + +#: lib/getopt.c:804 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: tùy chọn không thích hợp -- %c\n" + +#: lib/getopt.c:834 lib/getopt.c:964 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: tùy chọn cần đến đối số -- %c\n" + +#: lib/getopt.c:881 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: tùy chọn `-W %s' mơ hồ\n" + +#: lib/getopt.c:899 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: tùy chọn `-W %s' không cho phép đối số\n" + +#: lib/xmalloc.c:66 +msgid "memory exhausted" +msgstr "hết bộ nhớ" + +#: src/shar.c:631 +msgid "WARNING: not restoring timestamps. Consider getting and" +msgstr "CẢNH BÁO: không phục hồi nhãn thời gian. Bạn nên gọi và" + +#: src/shar.c:633 +msgid "installing GNU \\`touch', distributed in GNU File Utilities..." +msgstr "" +"cài đặt GNU \\ `touch' mà được phân phối trong GNU File Utilities (Trình " +"tiện ích về tập tin của GNU)..." + +#: src/shar.c:644 +msgid "failed to create locking directory" +msgstr "không tạo được thư mục có thể khóa" + +#: src/shar.c:654 src/shar.c:2356 +msgid "lock directory" +msgstr "khóa thư mục" + +#: src/shar.c:654 src/shar.c:695 +msgid "created" +msgstr "tạo ra rồi" + +#: src/shar.c:655 src/shar.c:695 +msgid "failed to create" +msgstr "không tạo được" + +#: src/shar.c:685 +msgid "Too many directories for mkdir generation" +msgstr "Quá nhiều thư mục để tạo ra cách mkdir" + +#: src/shar.c:745 src/shar.c:972 +#, c-format +msgid "Cannot access %s" +msgstr "Không truy cập được %s" + +#: src/shar.c:799 src/shar.c:2068 +msgid "-C is being deprecated, use -Z instead" +msgstr "-C bị phản đối nên hãy sử dụng -Z thay thế" + +#: src/shar.c:852 src/unshar.c:377 +msgid "Cannot get current directory name" +msgstr "Không gọi được tên thư mục hiện có" + +#: src/shar.c:938 +msgid "Must unpack archives in sequence!" +msgstr "Phải giải nén tập tin lưu trữ theo thứ tư đúng." + +#: src/shar.c:939 src/shar.c:1482 +msgid "Please unpack part" +msgstr "Hãy giải nén phần" + +#: src/shar.c:939 src/shar.c:1483 +msgid "next!" +msgstr "lần tới" + +#: src/shar.c:967 +#, c-format +msgid "%s: Not a regular file" +msgstr "%s: không phải là tập tin chuẩn" + +#: src/shar.c:982 +#, c-format +msgid "In shar: remaining size %s\n" +msgstr "Trong shar: cỡ còn lại %s\n" + +#: src/shar.c:993 src/shar.c:1388 +#, c-format +msgid "New file, remaining %s, " +msgstr "Tập tin mới, còn lại %s, " + +#: src/shar.c:994 src/shar.c:1389 +#, c-format +msgid "Limit still %s\n" +msgstr "Lại bị hạn chế %s\n" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "restore of" +msgstr "phục hồi" + +#: src/shar.c:1010 src/shar.c:1398 src/shar.c:1602 src/shar.c:1620 +msgid "failed" +msgstr "không được" + +#: src/shar.c:1011 src/shar.c:1408 +msgid "End of part" +msgstr "Kết thức phần" + +#: src/shar.c:1012 src/shar.c:1409 +msgid "continue with part" +msgstr "tiếp tục với phần" + +#: src/shar.c:1025 src/shar.c:1501 +#, c-format +msgid "Starting file %s\n" +msgstr "Đang bắt đầu tập tin %s\n" + +#: src/shar.c:1060 +msgid "empty" +msgstr "trống" + +#: src/shar.c:1061 +msgid "(empty)" +msgstr "(trống)" + +#: src/shar.c:1085 +#, c-format +msgid "Cannot open file %s" +msgstr "Không mở được tập tin %s" + +#: src/shar.c:1122 +msgid "compressed" +msgstr "nén" + +#: src/shar.c:1123 +msgid "gzipped" +msgstr "nén gzip" + +#: src/shar.c:1124 +msgid "bzipped" +msgstr "nén bzip" + +#: src/shar.c:1125 +msgid "binary" +msgstr "nhị phân" + +#: src/shar.c:1126 +msgid "(compressed)" +msgstr "(nén)" + +#: src/shar.c:1127 +msgid "(gzipped)" +msgstr "(nén gzip)" + +#: src/shar.c:1128 +msgid "(bzipped)" +msgstr "(nén bzip)" + +#: src/shar.c:1129 +msgid "(binary)" +msgstr "(nhị phân)" + +#: src/shar.c:1142 +msgid "Could not fork" +msgstr "Không tạo xử lý con được" + +#: src/shar.c:1147 src/shar.c:1207 +#, c-format +msgid "File %s (%s)" +msgstr "Tập tin %s (%s)" + +#: src/shar.c:1201 +msgid "text" +msgstr "văn bản" + +#: src/shar.c:1202 +msgid "(text)" +msgstr "(văn bản)" + +#: src/shar.c:1248 +msgid "overwriting" +msgstr "đang ghi đề" + +#: src/shar.c:1249 +msgid "overwrite" +msgstr "ghi đề" + +#: src/shar.c:1250 +msgid "[no, yes, all, quit] (no)?" +msgstr "[không, có, tất cả, thoát] (không?)" + +#: src/shar.c:1251 +msgid "extraction aborted" +msgstr "việc giải nén bị hủy" + +#: src/shar.c:1252 src/shar.c:1257 +msgid "SKIPPING" +msgstr "ĐANG BỎ QUA" + +#: src/shar.c:1257 +msgid "(file already exists)" +msgstr "(có tập tin ấy rồi)" + +#: src/shar.c:1275 +#, c-format +msgid "Saving %s (%s)" +msgstr "Đang lưu %s (%s)" + +#: src/shar.c:1280 +msgid "extracting" +msgstr "đang giải nén" + +#: src/shar.c:1414 +msgid "End of" +msgstr "Kết thức của" + +#: src/shar.c:1415 +msgid "archive" +msgstr "tập tin lưu trữ" + +#: src/shar.c:1416 +msgid "part" +msgstr "phần" + +#: src/shar.c:1418 src/shar.c:1526 +msgid "File" +msgstr "Tập tin" + +#: src/shar.c:1419 +msgid "is continued in part" +msgstr "tiếp tục trong phần" + +#: src/shar.c:1479 +msgid "Please unpack part 1 first!" +msgstr "Hãy giải nén phần đầu trước hết." + +#: src/shar.c:1497 +msgid "STILL SKIPPING" +msgstr "LẠI ĐANG BỎ QUA" + +#: src/shar.c:1505 +msgid "continuing file" +msgstr "đang tiếp tục tập tin" + +#: src/shar.c:1526 +msgid "is complete" +msgstr "xong rồi" + +#: src/shar.c:1535 +msgid "uudecoding file" +msgstr "đang giải nén tập tin mã uu" + +#: src/shar.c:1549 +msgid "uncompressing file" +msgstr "đang giải nén tập tin" + +#: src/shar.c:1560 +msgid "gunzipping file" +msgstr "đang giải nén tập tin gzip" + +#: src/shar.c:1571 +msgid "bunzipping file" +msgstr "đang giải nén tập tin bzip" + +#: src/shar.c:1636 +msgid "MD5 check failed" +msgstr "Không kiểm tra MD5 được" + +#: src/shar.c:1697 +msgid "original size" +msgstr "cỡ gốc" + +#: src/shar.c:1698 +msgid "current size" +msgstr "cỡ hiện có" + +#: src/shar.c:1758 +#, c-format +msgid "Opening `%s'" +msgstr "Đang mở `%s'" + +#: src/shar.c:1769 +#, c-format +msgid "Closing `%s'" +msgstr "Đang đóng `%s'" + +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Hãy thử lệnh `%s --help' để tìm thông tin thêm.\n" + +#: src/shar.c:1785 src/unshar.c:317 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Cách sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" + +#: src/shar.c:1786 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Tất cả đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy " +"chọn ngắn.\n" + +#: src/shar.c:1789 +msgid "" +"\n" +"Giving feedback:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -q, --quiet, --silent do not output verbose messages locally\n" +msgstr "" +"\n" +"Cách gởi thông tin phải hồi:\n" +" --help hiển thị _trợ giúp_ này rồi thoát\n" +" --version xuất thông tin _phiên bản_ rồi thoát\n" +" -q, --quiet, --silent không xuất thông điệp dài trên máy địa phương " +"(_im_)\n" + +#: src/shar.c:1797 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTzZ] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Cách chọn tập tin:\n" +" -p, --intermix-type cho phép đối số -[BTzZ] trong danh sách tập tin để " +"đổi chế độ (_trộn-lẫn-loại_)\n" +" -S, --stdin-file-list đọc _danh sách tập tin_ trong _dữ liệu nhập " +"chuẩn_\n" + +#: src/shar.c:1804 +msgid "" +"\n" +"Selecting files:\n" +" -p, --intermix-type allow -[BTz] in file lists to change mode\n" +" -S, --stdin-file-list read file list from standard input\n" +msgstr "" +"\n" +"Cách chọn tập tin:\n" +" -p, --intermix-type cho phép đối số -[BTz] trong danh sách tập tin để " +"đổi chế độ (_trộn-lẫn-loại_)\n" +" -S, --stdin-file-list đọc _danh sách tập tin_ trong _dữ liệu nhập " +"chuẩn_\n" + +#: src/shar.c:1811 +msgid "" +"\n" +"Splitting output:\n" +" -o, --output-prefix=PREFIX output to file PREFIX.01 through PREFIX.NN\n" +" -l, --whole-size-limit=SIZE split archive, not files, to SIZE kilobytes\n" +" -L, --split-size-limit=SIZE split archive, or files, to SIZE kilobytes\n" +msgstr "" +"\n" +"Cách chia tách dữ liệu xuất:\n" +" -o, --output-prefix=TIỀN_TỐ _xuất_ vào các tập tin TIỀN_TỐ.01 đến " +"TIỀN_TỐ.NN (_tiền tố_\n" +" -l, --whole-size-limit=CỠ chia tách tập tin lưu trữ (không phải tập tin) " +"ra phần CỠ KB (_toàn-cỡ-hạn-chế_)\n" +" -L, --split-size-limit=CỠ _chia tách_ tập tin lưu trữ, hay tập tin, ra " +"phần CỠ KB (_cỡ-hạn-chế_)\n" + +#: src/shar.c:1818 +msgid "" +"\n" +"Controlling the shar headers:\n" +" -n, --archive-name=NAME use NAME to document the archive\n" +" -s, --submitter=ADDRESS override the submitter name\n" +" -a, --net-headers output Submitted-by: & Archive-name: headers\n" +" -c, --cut-mark start the shar with a cut line\n" +"\n" +"Selecting how files are stocked:\n" +" -M, --mixed-uuencode dynamically decide uuencoding (default)\n" +" -T, --text-files treat all files as text\n" +" -B, --uuencode treat all files as binary, use uuencode\n" +" -z, --gzip gzip and uuencode all files\n" +" -g, --level-for-gzip=LEVEL pass -LEVEL (default 9) to gzip\n" +" -j, --bzip2 bzip2 and uuencode all files\n" +msgstr "" +"\n" +"Cách điều kiện dòng đầu shar:\n" +" -n, --archive-name=TÊN sử dụng _TÊN_ để ghi thông tin về _tập tin lưu " +"trữ_\n" +" -s, --submitter=ĐỊA_CHỈ không chiụ nghe theo tên _trình đưa ra_\n" +" -a, --net-headers xuất _dòng đầu_ Submitted-by: (ai đưa ra) & " +"Archive-name: (tên tập tin lưu trữ) (_Mạng_) \n" +" -c, --cut-mark bắt đầu shar với đường _cắt_ (_dấu_)\n" +"\n" +"Chọn cách lưu trữ tập tin:\n" +" -M, --mixed-uuencode quyết định _mã uu_ một cách động (mặc định)\n" +" -T, --text-files xử lý tất cả _tập tin_ là _văn bản_\n" +" -B, --uuencode xử lý tất cả tập tin là nhị phân, sử dụng _mã " +"uu_\n" +" -z, --gzip nén tất cả tập tin bằng _gzip_ và mã uu\n" +" -g, --level-for-gzip=MỨC chuyển -MỨC (mặc định 9) sang trình gzip\n" +" -j, --bzip2 nén tất cả tập tin bằng _bzip2_ và mã uu\n" + +#: src/shar.c:1835 +msgid "" +" -Z, --compress compress and uuencode all files\n" +" -b, --bits-per-code=BITS pass -bBITS (default 12) to compress\n" +msgstr "" +" -Z, --compress _nén_ và mã uu hóa tất cả tập tin\n" +" -b, --bits-per-code=BIT chuyển -bBIT (mặc định 12) sang trình nén\n" + +#: src/shar.c:1840 +msgid "" +"\n" +"Protecting against transmission:\n" +" -w, --no-character-count do not use `wc -c' to check size\n" +" -D, --no-md5-digest do not use `md5sum' digest to verify\n" +" -F, --force-prefix force the prefix character on every line\n" +" -d, --here-delimiter=STRING use STRING to delimit the files in the shar\n" +"\n" +"Producing different kinds of shars:\n" +" -V, --vanilla-operation produce very simple and undemanding shars\n" +" -P, --no-piping exclusively use temporary files at unshar time\n" +" -x, --no-check-existing blindly overwrite existing files\n" +" -X, --query-user ask user before overwriting files (not for Net)\n" +" -m, --no-timestamp do not restore file modification dates & times\n" +" -Q, --quiet-unshar avoid verbose messages at unshar time\n" +" -f, --basename restore in one directory, despite hierarchy\n" +" --no-i18n do not produce internationalized shell script\n" +msgstr "" +"\n" +"Cách ngăn cản việc truyền:\n" +" -w, --no-character-count _không_ sử dụng lệnh `wc -c' để kiểm tra cỡ " +"(_ký-tự-đếm_)\n" +" -D, --no-md5-digest _không_ sử dụng digest (điều tóm tắt) " +"loại`md5sum' để kiểm chứng\n" +" -F, --force-prefix _ép buộc_ ký tự _tiền tố_ trong mọi đường\n" +" -d, --here-delimiter=CHUỖI sử dụng CHUỖI để _định giới_ những tập tin " +"khác trong shar ấy (_đây_)\n" +"\n" +"Cách làm những shar loại khác:\n" +" -V, --vanilla-operation làm shar loại đơn giản và dễ sử dụng (_vani [sự " +"chọn cơ bản] thì hành_\n" +" -P, --no-piping sử dụng chỉ tập tin tạm thời khi unshar (_không " +"sử dụng ống dẫn_)\n" +" -x, --no-check-existing ghi đề tập tin _tồn tại, không kiểm tra_ trước\n" +" -X, --query-user hỏi người dùng_ trước khi ghi đề tập tin (không " +"phải cho Mạng)\n" +" -m, --no-timestamp _không_ phục hồi _giờ_ và ngày sửa đổi tập tin " +"(_nhãn_) \n" +" -Q, --quiet-unshar tránh hiển thị thông điệp dài khi unshar (_im_)\n" +" -f, --basename phục hồi trong cùng một thư mục, không kể phân " +"cấp (_tên-cơ-bản_)\n" +" --no-i18n _không_ ghi tập lệnh vỏ đã _quốc tế hóa_\n" + +#: src/shar.c:1858 +msgid "" +"\n" +"Option -o is required with -l or -L, option -n is required with -a.\n" +msgstr "" +"\n" +"Cần đến tùy chọn -o với -l or -L, tùy chọn -n với -a.\n" + +#: src/shar.c:1863 +msgid "Option -g implies -z, option -b implies -Z.\n" +msgstr "Tùy chọn -g ngụ ý -z, tùy chọn -b ngụ ý -Z.\n" + +#: src/shar.c:1867 +msgid "Option -g implies -z.\n" +msgstr "Tùy chọn -g ngụ ý -z.\n" + +#. TRANSLATORS: add the contact address for your translation team! +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "Hãy thông báo lỗi nào cho %.0s.\n" + +#: src/shar.c:2005 +msgid "DEBUG was not selected at compile time" +msgstr "Đã không chọn tùy chọn DEBUG (gỡ lỗi) khi biên dich" + +#: src/shar.c:2025 +#, c-format +msgid "Hard limit %s\n" +msgstr "Hạn chế cứng %s\n" + +#: src/shar.c:2064 +msgid "This system doesn't support -Z ('compress'), use -z instead" +msgstr "" +"Hệ thống này không hỗ trợ tùy chọn -Z (nén) thì hãy sử dụng -z thay thế" + +#: src/shar.c:2099 +#, c-format +msgid "Soft limit %s\n" +msgstr "Hạn chế mềm %s\n" + +#: src/shar.c:2116 +#, c-format +msgid "illegal output prefix\n" +msgstr "không cho phép tiền tố xuất ấy\n" + +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 +#, c-format, no-wrap +msgid "" +"Copyright (C) %s 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" +msgstr "" +"Bản quyền (C) năm %s của Free Software Foundation. Inc.\n" +"Phần mềm này tự do; hãy xem nguồn để tìm điều kiện sao chép. Không có \n" +"bảo đảm gì cả, dù khả năng bán hay khả năng làm việc dứt khoát.\n" + +#: src/shar.c:2210 +msgid "WARNING: No user interaction in vanilla mode" +msgstr "CẢNH BÁO: Trong chế độ vani (đơn giản) thì người dùng không nhập gì" + +#: src/shar.c:2222 +msgid "WARNING: Non-text storage options overridden" +msgstr "CẢNH BÁO: Không chịu nghe theo tùy chọn lưu trữ không là văn bản" + +#: src/shar.c:2278 +msgid "No input files" +msgstr "Không có tập tin nhập" + +#: src/shar.c:2284 +msgid "Cannot use -a option without -n" +msgstr "Cách sử dụng tùy chọn -a phải nhập -n" + +#: src/shar.c:2290 +msgid "Cannot use -l or -L option without -o" +msgstr "Cách sử dụng tùy chọn -l hay -L phải nhập -o" + +#: src/shar.c:2302 +msgid "PLEASE avoid -X shars on Usenet or public networks" +msgstr "Quan trọng là bạn không shar loại -X trên Usenet hay mạng công" + +#: src/shar.c:2343 +msgid "You have unpacked the last part" +msgstr "Đã giải nén xong mọi phần rồi" + +#: src/shar.c:2345 +#, c-format +msgid "Created %d files\n" +msgstr "Đã tạo %d tập tin rồi\n" + +#: src/shar.c:2356 +msgid "removed" +msgstr "bỏ rồi" + +#: src/shar.c:2357 +msgid "failed to remove" +msgstr "không bỏ được" + +#: src/unshar.c:169 +#, c-format +msgid "Found no shell commands in %s" +msgstr "Đã không tìm lệnh vỏ nào trong %s" + +#: src/unshar.c:185 +#, c-format +msgid "%s looks like raw C code, not a shell archive" +msgstr "%s hình như mã thô C, không phải tập tin lưu trữ loại vỏ" + +#: src/unshar.c:221 +#, c-format +msgid "Found no shell commands after `cut' in %s" +msgstr "Sau lệnh `cut' (cắt) trong %s thì chưa tìm lệnh vỏ nào" + +#: src/unshar.c:242 +#, c-format +msgid "%s is probably not a shell archive" +msgstr "gần chắc là %s không là tập tin lưu trữ loại vỏ" + +#: src/unshar.c:243 +#, c-format +msgid "The `cut' line was followed by: %s" +msgstr "%s theo đường `cut' (cắt)" + +#: src/unshar.c:269 +msgid "Starting `sh' process" +msgstr "Đang bắt đầu xử lý `sh'" + +#: src/unshar.c:318 +msgid "" +"Mandatory arguments to long options are mandatory for short options too.\n" +"\n" +" -d, --directory=DIRECTORY change to DIRECTORY before unpacking\n" +" -c, --overwrite pass -c to shar script for overwriting files\n" +" -e, --exit-0 same as `--split-at=\"exit 0\"'\n" +" -E, --split-at=STRING split concatenated shars after STRING\n" +" -f, --force same as `-c'\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +"\n" +"If no FILE, standard input is read.\n" +msgstr "" +"Tất cả đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy " +"chọn ngắn.\n" +"\n" +" -d, --directory=THƯ_MỤC đổi vào _THƯ MỤC_ trước khi giải nén\n" +" -c, --overwrite chuyển tùy chọn -c sang tập lệnh shar để _ghi " +"đề_ tập tin\n" +" -e, --exit-0 bằng `--split-at=\"exit 0\"'\n" +" -E, --split-at=CHUỖI _chia tách_ những shar nối nhau sau CHUỖI\n" +" -f, --force bằng `-c' (_ép buộc_)\n" +" --help hiển thị _trợ giúp_ này rồi thoát\n" +" --version xuất thông tin _phiên bản_ rồi thoát\n" +"\n" +"Nếu không có TẬP TIN nào thì sẽ đọc dữ liệu nhập chuẩn.\n" + +#: src/unshar.c:395 +#, c-format +msgid "Cannot chdir to `%s'" +msgstr "Không thể chdir (đổi thư mục) vào `%s'" + +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 +msgid "standard input" +msgstr "dữ liệu nhập chuẩn" + +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + +#: src/uudecode.c:110 src/uudecode.c:400 +#, c-format +msgid "%s: Write error" +msgstr "%s: lỗi ghi" + +#: src/uudecode.c:128 src/uudecode.c:211 +#, c-format +msgid "%s: Short file" +msgstr "%s: tập tin ngắn" + +#: src/uudecode.c:156 +#, c-format +msgid "%s: No `end' line" +msgstr "%s: không có đường `end' (kết thức)" + +#: src/uudecode.c:220 +#, c-format +msgid "%s: data following `=' padding character" +msgstr "%s: dữ liệu theo `=' ký tự đệm" + +#: src/uudecode.c:244 src/uudecode.c:252 src/uudecode.c:266 +#, c-format +msgid "%s: illegal line" +msgstr "%s: không cho phép đường ấy" + +#: src/uudecode.c:306 +#, c-format +msgid "%s: No `begin' line" +msgstr "%s: không có đường `begin' (bắt đầu) nào" + +#: src/uudecode.c:338 +#, c-format +msgid "%s: Illegal ~user" +msgstr "%s: không cho phép ~người dùng ấy" + +#: src/uudecode.c:345 +#, c-format +msgid "%s: No user `%s'" +msgstr "%s: không có người dùng `%s'" + +#: src/uudecode.c:361 +#, c-format +msgid "cannot access %s" +msgstr "không truy cập được %s" + +#: src/uudecode.c:365 +#, c-format +msgid "denied writing FIFO (%s)" +msgstr "việc ghi FIFO bị từ chối (%s)" + +#: src/uudecode.c:369 +#, c-format +msgid "not following symlink (%s)" +msgstr "không theo liên kết tượng trưng (%s)" + +#: src/uudecode.c:416 +#, c-format +msgid "Usage: %s [FILE]...\n" +msgstr "Cách sử dụng: %s [TẬP_TIN]...\n" + +#: src/uudecode.c:417 +msgid "" +"Mandatory arguments to long options are mandatory to short options too.\n" +" -o, --output-file=FILE direct output to FILE\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"Tất cả đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy " +"chọn ngắn.\n" +" -o, --output-file=TẬP_TIN _xuất_ trực tiếp vào _TẬP TIN_\n" +" --help hiển thị _trợ giúp_ này rồi thoát\n" +" --version xuất thông tin _phiên bản_ rồi thoát\n" + +#: src/uuencode.c:131 src/uuencode.c:292 src/uuencode.c:299 +msgid "Write error" +msgstr "Lỗi ghi" + +#: src/uuencode.c:153 src/uuencode.c:184 src/uuencode.c:186 +msgid "Read error" +msgstr "Lỗi đọc" + +#: src/uuencode.c:204 +#, c-format +msgid "Usage: %s [INFILE] REMOTEFILE\n" +msgstr "Cách sử dụng: %s [TẬP_TIN_NỘI_BỘ] TẬP_TIN_TỪ_XA\n" + +#: src/uuencode.c:205 +msgid "" +"\n" +" -m, --base64 use base64 encoding as of RFC1521\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +msgstr "" +"\n" +" -m, --base64 sử dụng mã hóa cơ số 64 như theo RFC1521\n" +" --help hiển thị _trợ giúp_ này rồi thoát\n" +" --version xuất thông tin _phiên bản_ rồi thoát\n" Files sharutils-4.3.78/po/zh_TW.gmo and sharutils-4.3.79/po/zh_TW.gmo differ Index: po/zh_TW.po diff -u -r -N sharutils-4.3.78/po/zh_TW.po sharutils-4.3.79/po/zh_TW.po --- sharutils-4.3.78/po/zh_TW.po 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/po/zh_TW.po 2005-04-25 20:08:38.000000000 -0700 @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sharutils 4.3.73\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-09-26 10:42-0700\n" +"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n" +"POT-Creation-Date: 2005-04-25 20:08-0700\n" "PO-Revision-Date: 2002-08-03 20:13 +8\n" "Last-Translator: Yuan-Chen Cheng \n" "Language-Team: Chinese (traditional) \n" @@ -114,7 +114,7 @@ msgid "-C is being deprecated, use -Z instead" msgstr "-C QŧiAΡAϥ -Z N" -#: src/shar.c:852 src/unshar.c:381 +#: src/shar.c:852 src/unshar.c:377 msgid "Cannot get current directory name" msgstr "oثelؿWr" @@ -343,12 +343,12 @@ msgid "Closing `%s'" msgstr " `%s'" -#: src/shar.c:1781 src/unshar.c:315 src/uudecode.c:412 src/uuencode.c:200 +#: src/shar.c:1781 src/unshar.c:313 src/uudecode.c:412 src/uuencode.c:200 #, c-format msgid "Try `%s --help' for more information.\n" msgstr " `%s --help' HŪhT.\n" -#: src/shar.c:1785 src/unshar.c:319 +#: src/shar.c:1785 src/unshar.c:317 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ϥΡG%s [Ѽ] CCC[ɮ]CCC\n" @@ -504,7 +504,7 @@ msgstr "Ѽ -g ] -z.\n" #. TRANSLATORS: add the contact address for your translation team! -#: src/shar.c:1872 src/unshar.c:334 src/uudecode.c:423 src/uuencode.c:210 +#: src/shar.c:1872 src/unshar.c:332 src/uudecode.c:423 src/uuencode.c:210 #, c-format msgid "Report bugs to <%s>.\n" msgstr "N{~ie <%s>, ½Ķ~ie zh-l10n@linux.org.tw.\n" @@ -532,7 +532,7 @@ msgid "illegal output prefix\n" msgstr "" -#: src/shar.c:2163 src/unshar.c:419 src/uudecode.c:461 src/uuencode.c:250 +#: src/shar.c:2163 src/unshar.c:415 src/uudecode.c:461 src/uuencode.c:250 #, fuzzy, c-format, no-wrap msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -584,36 +584,36 @@ msgid "failed to remove" msgstr "" -#: src/unshar.c:171 +#: src/unshar.c:169 #, c-format msgid "Found no shell commands in %s" msgstr "䤣 shell ROAb %s " -#: src/unshar.c:187 +#: src/unshar.c:185 #, c-format msgid "%s looks like raw C code, not a shell archive" msgstr "%sݰ_ӹl C {XA@ Shell ɮק" -#: src/unshar.c:223 +#: src/unshar.c:221 #, c-format msgid "Found no shell commands after `cut' in %s" msgstr "b %s ̭ `cut' 䤣 shell RO" -#: src/unshar.c:244 +#: src/unshar.c:242 #, c-format msgid "%s is probably not a shell archive" msgstr "%s iणO@ shell ɮק" -#: src/unshar.c:245 +#: src/unshar.c:243 #, c-format msgid "The `cut' line was followed by: %s" msgstr " `cut' Ҧb@b: %s " -#: src/unshar.c:271 +#: src/unshar.c:269 msgid "Starting `sh' process" msgstr "Ұ `sh' {" -#: src/unshar.c:320 +#: src/unshar.c:318 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" "\n" @@ -639,15 +639,23 @@ "\n" "pGS FILE, ѼзǿJŪJ.\n" -#: src/unshar.c:399 +#: src/unshar.c:395 #, c-format msgid "Cannot chdir to `%s'" msgstr "LkJؿ `%s'" -#: src/unshar.c:462 +#: src/unshar.c:442 src/unshar.c:504 +msgid "allocate file name buffer" +msgstr "" + +#: src/unshar.c:464 msgid "standard input" msgstr "зǿJ" +#: src/unshar.c:525 +msgid "allocate file buffer" +msgstr "" + #: src/uudecode.c:110 src/uudecode.c:400 #, c-format msgid "%s: Write error" Index: src/Makefile.am diff -u -r -N sharutils-4.3.78/src/Makefile.am sharutils-4.3.79/src/Makefile.am --- sharutils-4.3.78/src/Makefile.am 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/src/Makefile.am 2005-01-30 06:36:18.000000000 -0800 @@ -27,7 +27,7 @@ localedir = $(datadir)/locale -INCLUDES = -I$(srcdir) -I.. -I$(top_srcdir)/lib -I../intl +AM_CPPFLAGS = -I$(srcdir) -I.. -I$(top_srcdir)/lib -I../intl DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ # stolen from fileutils-4.1.9: Index: src/Makefile.in diff -u -r -N sharutils-4.3.78/src/Makefile.in sharutils-4.3.79/src/Makefile.in --- sharutils-4.3.78/src/Makefile.in 2005-01-23 10:02:54.000000000 -0800 +++ sharutils-4.3.79/src/Makefile.in 2005-04-25 20:07:56.000000000 -0700 @@ -48,13 +48,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -128,8 +136,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -140,6 +153,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -218,7 +232,7 @@ EXTRA_DIST = compress-dummy.in mail-files.in mailshar.in remsync.in DISTCLEANFILES = @ADD_SCRIPT@ localedir = $(datadir)/locale -INCLUDES = -I$(srcdir) -I.. -I$(top_srcdir)/lib -I../intl +AM_CPPFLAGS = -I$(srcdir) -I.. -I$(top_srcdir)/lib -I../intl # stolen from fileutils-4.1.9: # Sometimes, the expansion of @LIBINTL@ includes -lc which may Index: src/unshar.c diff -u -r -N sharutils-4.3.78/src/unshar.c sharutils-4.3.79/src/unshar.c --- sharutils-4.3.78/src/unshar.c 2005-01-23 10:01:31.000000000 -0800 +++ sharutils-4.3.79/src/unshar.c 2005-04-25 19:53:13.000000000 -0700 @@ -38,9 +38,6 @@ #include "gettext.h" #define _(str) gettext (str) -/* Buffer size for holding a file name. FIXME: No fix limit in GNU... */ -#define NAME_BUFFER_SIZE 1024 - /* Buffer size for shell process input. */ #define SHELL_BUFFER_SIZE 8196 @@ -76,6 +73,7 @@ #define starting_with(data, pattern) \ (memcmp (data, pattern, sizeof (pattern) - 1) == 0) +static FILE* load_stdin (char **p_name_buf); /*-------------------------------------------------------------------------. | For a DATA string and a PATTERN containing one or more embedded | @@ -359,10 +357,8 @@ int argc; char *const *argv; { - size_t size_read; FILE *file; - char name_buffer[NAME_BUFFER_SIZE]; - char copy_buffer[NAME_BUFFER_SIZE]; + char* name_buffer; int optchar; program_name = argv[0]; @@ -420,7 +416,7 @@ 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\ "), - "1994, 1995, 1996"); + "1994, 1995, 1996, 2005"); exit (EXIT_SUCCESS); } @@ -428,44 +424,123 @@ usage (EXIT_SUCCESS); if (optind < argc) - for (; optind < argc; optind++) - { - if (argv[optind][0] == '/') - stpcpy (name_buffer, argv[optind]); - else - { - char *cp = stpcpy (name_buffer, current_directory); - *cp++ = '/'; - stpcpy (cp, argv[optind]); - } - if (file = fopen (name_buffer, "r"), !file) - error (EXIT_FAILURE, errno, name_buffer); - unarchive_shar_file (name_buffer, file); - fclose (file); - } - else { - sprintf (name_buffer, "/tmp/unsh.%05d", (int) getpid ()); - unlink (name_buffer); + size_t buflen = 0; + argv += optind; - if (file = fopen (name_buffer, "w+"), !file) - error (EXIT_FAILURE, errno, name_buffer); -#ifndef __MSDOS__ - unlink (name_buffer); /* will be deleted on fclose */ -#endif + for (; optind < argc; optind++) + { + char* arg = *(argv++); + size_t sz = strlen (current_directory) + strlen (argv[optind]) + 2; + if (sz > buflen) + { + buflen = sz + 32; + name_buffer = (name_buffer == NULL) + ? malloc (buflen) + : realloc (name_buffer, buflen); + if (name_buffer == NULL) + error (EXIT_FAILURE, ENOMEM, _("allocate file name buffer")); + } + + if (argv[optind][0] == '/') + strcpy (name_buffer, argv[optind]); + else + { + char *cp = stpcpy (name_buffer, current_directory); + *cp++ = '/'; + strcpy (cp, argv[optind]); + } + if (file = fopen (name_buffer, "r"), !file) + error (EXIT_FAILURE, errno, name_buffer); + unarchive_shar_file (name_buffer, file); + fclose (file); + } - while (size_read = fread (copy_buffer, 1, sizeof (copy_buffer), stdin), - size_read != 0) - fwrite (copy_buffer, size_read, 1, file); - rewind (file); + } + else + { + file = load_stdin (&name_buffer); unarchive_shar_file (_("standard input"), file); fclose (file); -#ifdef __MSDOS__ - unlink (name_buffer); -#endif } exit (EXIT_SUCCESS); } + + +static FILE* +load_stdin (char **p_name_buf) +{ + static const char z_tmpfile[] = "unsh.XXXXXX"; + char *pz_fname; + FILE *fp; + + /* + * FIXME: actually configure this stuff: + */ +#if defined(_SC_PAGESIZE) + long pg_sz = sysconf (_SC_PAGESIZE); +#elif defined(_SC_PAGE_SIZE) + long pg_sz = sysconf (_SC_PAGE_SIZE); +#elif defined(HAVE_GETPAGESIZE) + long pg_sz = getpagesize(); +#else +# define pg_sz 8192 +#endif + + { + size_t name_size; + char *pz_tmp = getenv ("TMPDIR"); + + if (pz_tmp == NULL) + pz_tmp = "/tmp"; + + name_size = strlen (pz_tmp) + sizeof (z_tmpfile) + 1; + *p_name_buf = pz_fname = malloc (name_size); + + if (pz_fname == NULL) + error (EXIT_FAILURE, ENOMEM, _("allocate file name buffer")); + + sprintf (pz_fname, "%s/%s", pz_tmp, z_tmpfile); + } + + { + int fd = mkstemp (pz_fname); + if (fd < 0) + error (EXIT_FAILURE, errno, pz_fname); + + fp = fdopen (fd, "w+"); + } + + if (fp == NULL) + error (EXIT_FAILURE, errno, pz_fname); + + { + char *buf = malloc (pg_sz); + size_t size_read; + + if (buf == NULL) + error (EXIT_FAILURE, ENOMEM, _("allocate file buffer")); + + while (size_read = fread (buf, 1, pg_sz, stdin), + size_read != 0) + fwrite (buf, size_read, 1, fp); + + free (buf); + } + + rewind (fp); + + return fp; +} + +/* + * Local Variables: + * mode: C + * c-file-style: "gnu" + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * end of agen5/autogen.c */ Index: tests/Makefile.in diff -u -r -N sharutils-4.3.78/tests/Makefile.in sharutils-4.3.79/tests/Makefile.in --- sharutils-4.3.78/tests/Makefile.in 2005-01-23 10:36:13.000000000 -0800 +++ sharutils-4.3.79/tests/Makefile.in 2005-04-25 20:07:56.000000000 -0700 @@ -40,13 +40,21 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes.m4 \ + $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ + $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/malloc.m4 \ + $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \ - $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ + $(top_srcdir)/m4/sharutils.m4 $(top_srcdir)/m4/signed.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ + $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrtoimax.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -88,8 +96,13 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ +GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ +HAVE_ASPRINTF = @HAVE_ASPRINTF@ +HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ +HAVE_SNPRINTF = @HAVE_SNPRINTF@ +HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL_COMPRESS_LINK = @INSTALL_COMPRESS_LINK@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -100,6 +113,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@