Initial commit of ProzGUI 2.0.5beta

This commit is contained in:
Mario Fetka
2010-08-31 16:20:51 +02:00
commit 2c74bbef1c
280 changed files with 133987 additions and 0 deletions

226
libprozilla/ABOUT-NLS Normal file
View File

@@ -0,0 +1,226 @@
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.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do *not*
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should 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.
One advise in advance
=====================
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias or message inheritance) as the
implementation here. It is also not possible to offer this additional
functionality on top of a `catgets' implementation. Future versions of
GNU `gettext' will very likely convey even more functionality. So it
might be a good idea to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system provides
usable `catgets' (if using this is selected by the installer) or
`gettext' functions. If neither is available, 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:
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
will respectively bypass any pre-existing `catgets' or `gettext' to use
the internationalizing routines provided within this package, enable
the use of the `catgets' functions (if found on the locale system), 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
./configure --with-included-gettext
to prevent auto-detection.
By default the configuration process will not test for the `catgets'
function and therefore they will not be used. The reasons are already
given above: the emulation on top of `catgets' cannot provide all the
extensions provided by the GNU `gettext' library. If you nevertheless
want to use the `catgets' functions use
./configure --with-catgets
to enable the test for `catgets' (this causes no harm if `catgets' is
not available on your system). If you really select this option we
would like to hear about the reasons because we cannot think of any
good one ourself.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
ISO 639 `LL' two-letter code prior to using the programs in the
package. For example, let's suppose that you speak German. At the
shell prompt, merely execute `setenv LANG de' (in `csh'),
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
can be done from your `.login' or `.profile' file, once and for all.
An operating system might already offer message localization for
many of its programs, while other programs have been installed locally
with the full capabilities of GNU `gettext'. Just using `gettext'
extended syntax for `LANG' would break proper localization of already
available operating system programs. In this case, users should set
both `LANGUAGE' and `LANG' variables in their environment, as programs
using GNU `gettext' give preference to `LANGUAGE'. For example, some
Swedish users would rather read translations in German than English for
when Swedish is not available. This is easily accomplished by setting
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list, courtesy of Linux
International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of December
1997:
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Swedish `sv', and Turkish `tr'.
For example, you may reach the Chinese translation team by writing to
`zh@li.org'.
If you'd like to volunteer to *work* at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is *not* the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
*actively* in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of December
1997. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination.
Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv
.----------------------------------------------------.
bash | [] [] [] | 3
bison | [] [] [] | 3
clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] [] | 6
diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] [] [] | 9
flex | [] [] [] [] | 4
gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] [] | 12
grep | [] [] [] [] [] [] [] [] [] [] | 10
hello | [] [] [] [] [] [] [] [] [] [] [] | 11
id-utils | [] [] [] | 3
indent | [] [] [] [] [] | 5
libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] [] | 6
make | [] [] [] [] [] [] | 6
music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] [] [] [] | 8
sharutils | [] [] [] [] [] [] | 6
tar | [] [] [] [] [] [] [] [] [] [] [] | 11
texinfo | [] [] [] | 3
textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8
`----------------------------------------------------'
17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv
27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If December 1997 seems to be old, you may fetch a more recent copy
of this `ABOUT-NLS' file on most GNU archive sites.

21
libprozilla/AUTHORS Normal file
View File

@@ -0,0 +1,21 @@
-------------------------------------------------------------------------------
Authors
-------------------------------------------------------------------------------
Main author:
------------
Kalum Somaratana <kalum@genesys.ro>
Contributions:
--------------
Uwe Hermann <uh1763@hermann-uwe.de>
Michael Duelli <m.duelli@web.de>
Gustavo Noronha Silva <kov@debian.org>
Ralph Slooten <ralph.slooten@quicknet.nl>
Ruben Boer <ruben@dirty-pages.nl>
Flower <floweros@golia.ro>
Emanuele Tatti <emanu_mary@inwind.it>

340
libprozilla/COPYING Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 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
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

0
libprozilla/CREDITS Normal file
View File

31
libprozilla/CVS/Entries Normal file
View File

@@ -0,0 +1,31 @@
D/docs////
D/intl////
D/man////
D/po////
D/src////
/ABOUT-NLS/1.1/Fri Sep 7 09:32:56 2001//
/COPYING/1.1.1.1/Fri Sep 7 09:32:56 2001//
/INSTALL/1.1.1.1/Fri Sep 7 09:32:56 2001//
/Makefile.am/1.5/Fri Sep 7 09:32:56 2001//
/NEWS/1.2/Fri Sep 7 09:32:56 2001//
/README/1.6/Fri Sep 7 09:32:56 2001//
/TODO/1.15/Fri Sep 7 09:32:56 2001//
/acconfig.h/1.2/Fri Sep 7 09:32:56 2001//
/acinclude.m4/1.5/Fri Sep 7 09:32:56 2001//
/config.guess/1.1/Fri Sep 7 09:32:56 2001//
/config.sub/1.1/Fri Sep 7 09:32:56 2001//
/install-sh/1.1.1.1/Fri Sep 7 09:32:56 2001//
/ltconfig/1.1/Fri Sep 7 09:32:56 2001//
/ltmain.sh/1.1/Fri Sep 7 09:32:56 2001//
/missing/1.1.1.1/Fri Sep 7 09:32:56 2001//
/mkinstalldirs/1.2/Fri Sep 7 09:32:56 2001//
/AUTHORS/1.8/Thu Sep 20 07:28:37 2001//
/CREDITS/1.1/Sat Sep 29 05:24:56 2001//
/Makefile.in/1.8/Fri Oct 26 12:13:07 2001//
/aclocal.m4/1.10/Fri Oct 26 12:13:06 2001//
/stamp-h.in/1.1.1.1/Fri Oct 26 12:13:17 2001//
/ChangeLog/1.69/Sun Oct 21 04:35:48 2001//
/config.h.in/1.20/Sun Oct 21 04:30:17 2001//
/configure/1.23/Fri Oct 26 12:13:07 2001//
/configure.in/1.17/Fri Oct 26 12:12:35 2001//
/libtool/1.1/Sat Oct 27 23:17:46 2001//

View File

@@ -0,0 +1 @@
libprozilla

1
libprozilla/CVS/Root Normal file
View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

964
libprozilla/ChangeLog Normal file
View File

@@ -0,0 +1,964 @@
-------------------------------------------------------------------------------
ChangeLog
-------------------------------------------------------------------------------
2003-02-16 Kalum / Grendel <kalum@delrom.ro>
* src/download.c: Now the download is to a single file, the old
download to portions was done away with, now it downloads the
segments to a single file thus there is no joining.
2002-02-02 Kalum / Grendel <kalum@delrom.ro>
* src/ftpsearch.c: Added support for filesearching.com's type of
search engine.
Eric Lassauge <ros_at1@muzillac.tls.mms.fr> contributed a patch
which added french language support and also fixed my spelling
mistakes as well.
2001-10-21 Kalum / Grendel <kalum@delrom.ro>
* Include sys/stat.h
2001-10-10 Kalum / Grendel <kalum@delrom.ro>
* src/http.c (ftp_get_url_info_from_http_proxy): Changed to use
GET instead of HEAD to get HTTP info.
2001-10-10 Kalum / Grendel <kalum@delrom.ro>
* Now the URL parser doesnt touch hex chars.
2001-10-04 Kalum / Grendel <kalum@delrom.ro>
* src/ping.c (proz_cancel_mass_ping): Added, cancels a mass ping
request.
2001-10-03 Kalum / Grendel <kalum@delrom.ro>
* src/ftpsearch.c:
void proz_cancel_mirror_list_request(ftps_request_t *)
This will cancel a request for getting mirrors.
2001-09-30 Kalum / Grendel <kalum@delrom.ro>
* src/download.c (proz_download_join_downloads): Now creates the
joining thread itself.
* src/prozilla.h:
uerr_t proz_download_get_join_status(download_t *download);
float proz_download_get_file_build_percentage(download_t * download);
void proz_download_cancel_joining_thread(download_t * download)
Were added to the library.
* joining_thread added to download_t struct definition;
2001-09-30 Kalum / Grendel <kalum@delrom.ro>
* src/connection.c (proz_get_url_info_loop): This now creates the thread that gets info by itself, there is no need to create it by calling pthread as earlier was necessary.
2001-09-29 Kalum / Grendel <kalum@delrom.ro>
* Improved the consisetncy of the API based on suggestions by
Christophe Fergeau<christophe.fergeau@laposte.net>.
* src/prozilla.h: In the download_t struct, cchanged the
connections pointer type to **, and called it pconnections.
* src/connection.c (proz_connection_init): Prototype changed to
proz_connection_init(urlinfo *url,pthread_mutex_t * mutex);
* src/prozilla.h: proz_connection_set_url(connection_t * connection, urlinfo *url) added.
2001-09-29 Kalum / Grendel <kalum@delrom.ro>
* I have added a function which checks to see whether all the
connections have encountered the same user specified error.
* Updated libprozillas runtime handling so that it can handle
ftpsearch returned servers that dont support FTP REST.
2001-09-28 Kalum / Grendel <kalum@delrom.ro>
* src/download.c (proz_download_init): boolean
proz_download_all_dls_status, proz_download_all_dls_err we added
and download.c updated accordingly.
2001-09-28 Kalum / Grendel <kalum@delrom.ro>
* src/download.h: Added download_query_conns_status_count which
returns the number of connections with the status spcified, and
updated download.c to use it.
2001-09-27 Kalum / Grendel <kalum@delrom.ro>
* src/connect.c (connect_to_server): Now uses its own timeout struct
2001-9-23 Kalum / Grendel <kalum@delrom.ro>
* FTPSearch and pinging and multiple server downloads work, with
error handling too.
* Bug fix related to not adding the original server if it is not
in the list.
2001-09-20 Kalum / Grendel <kalum@delrom.ro>
* src/url.c (proz_copy_url): Added.
2001-09-17 Kalum / Grendel <kalum@delrom.ro>
* src/prozilla.h: mirror_path_t added
* src/download.c (proz_download_handle_threads): Now handles
FTPCWDFAIL in the main thread.
2001-09-2 Kalum / Grendel <kalum@delrom.ro>
* Kreazy's itallian translation was added, ping.c, ping.h,
ftpsearch.c and ftpsearch.h were added in preparation to adding
ftpsearch support to the library.
2001-08-32 Kalum / Grendel <kalum@delrom.ro>
* Gustavo's libtolising patch was added to libprozilla, now shared
libraries can be created.
2001-08-25 Kalum / Grendel <kalum@delrom.ro>
* src/ftp.c (proz_ftp_get_url_info): Now the password is printed
as a set of "xxxx"'s when logging in.
2001-08-21 Kalum / Grendel <kalum@delrom.ro>
* configure.in: Changed enble compiler warnings from min to no, as
the intl dir was not compiling properly due to the --pedantic
option.
2001-08-12 Kalum / Grendel <kalum@delrom.ro>
* src/prozilla.h: int proz_download_delete_target added.
2001-08-11 Kalum / Grendel <kalum@delrom.ro>
* src/url.c: Completely updated the source from url.c in wget 1.7,
so now we have improved url parsing.
2001-08-10 Kalum / Grendel <kalum@delrom.ro>
* src/prozilla.h: int proz_download_target_exist(download_t *
download) added whcih checks to see whether the target file
exists.
2001-08-08 Kalum / Grendel <kalum@delrom.ro>
* src/debug.c void proz_debug_delete_log() added, and now the
logfile is stored as $HOEDIR/.prozilla/debug.log
2001-08-06 Kalum / Grendel <kalum@delrom.ro>
* src/download.h: void download_calc_throttle_factor(download_t
*download)
* src/prozilla.h: dl_status
proz_connection_get_status(connection_t * connection) was added.
2001-08-05 Kalum / Grendel <kalum@delrom.ro>
* src/prozilla.h: max_bps_per_dl added to libprozinfo.
* src/download.c (cleanup_joining_thread): When the files are
joined this will delete the target output file if the thread is
cancelled
2001-07-31 Kalum / Grendel <kalum@delrom.ro>
* src/http-retr.c (proz_http_get_file): Fixed a bug which occured
when resuming where prozilla mistakenly identified a server as
returning a wrong contlen. Added another hs strcut called
hs_after_get to do this.
2001-07-29 Kalum / Grendel <kalum@delrom.ro>
* src/main.c (proz_init): the dl_dir logfile_dir use local copies
of the dirs
2001-07-29 Kalum / Grendel <kalum@delrom.ro>
* src/logfile.c: the logfile is checked in log_dir now
2001-07-27 Kalum / Grendel <kalum@delrom.ro>
* DOcumentation updated.
2001-07-20 Kalum / Grendel <kalum@delrom.ro>
* src/download.h: download_any_dls_local_fatal added.
2001-07-18 Kalum / Grendel <kalum@delrom.ro>
* src/prozilla.h: output_dir added to the runtime struct this
shows the directory to build the outputfile.
2001-07-11 Kalum / Grendel <kalum@delrom.ro>
* src/main.c: proz_set_connection_retry_delay(struct timeval
*delay) aded.
2001-07-11 Kalum / Grendel <kalum@delrom.ro>
* src/download.c (proz_download_init): added a acess_mutex for the
download_t struct
2001-07-06 <kalum@delrom.ro>
* src/http.c: support was added for using the no-cache directive
for HTTP proxies.
* src/prozilla.h: http_no_cache, added.
2001-07-05 <kalum@delrom.ro>
* src/download.c (proz_download_free_download): Added,
conditionally frees the data of the download struct
2001-07-05 <kalum@delrom.ro>
* src/connection.c (connection_free_connection): Added,
conditionally frees the data in the connection struct.
2001-07-03 <kalum@delrom.ro>
* src/download.c (proz_download_get_est_time_left): The tiem left
was not correctly displayed when resuming a download, fixed
this.
2001-07-02 <kalum@delrom.ro>
* src/http.c, src/http-retr.c: Support for HTTP proxy servers was
improved, it now works with servers like squid, wwwoffle.
2001-07-01 <kalum@delrom.ro>
* src/prozilla.h: added access_mutex to connection_t struct which
is a mutex used to lock acesss to data in the struct that is
accesed/written by other threads
2001-06-27 <kalum@delrom.ro>
* src/ftp-retr.c (proz_ftp_get_file): Handles FTPCONREFUSED.
2001-06-24 <kalum@delrom.ro>
* src/http.c (cleanup_httpsocks): moved it to http.c from http-retr.c
* src/ftp.c (cleanup_ftpsocks): moved it to ftp.c from ftp-retr.c
* src/misc.c (proz_strerror): This function will return a string
representation of prozillas error codes.
2001-06-22 <kalum@delrom.ro>
* Updated the GNU gettext sources in the intl diretory to version
gettext-0.10.38.
2001-06-21 <kalum@delrom.ro>
* src/url.c (url_merge): Merges a url with another link (which can
be relative or absolute) and returns the resulting URL, this is mainly
used for redirections
2001-06-21 <kalum@delrom.ro>
* src/download.c (proz_download_get_average_speed): Rewrote the
function, improving the accuracy.
2001-06-20 <kalum@delrom.ro>
* src/ftp-retr.h: added cleanup_ftpsocks which is popped so that
when the thread terminates no unclosed sockets will remain.
* src/http-retr.h: added cleanup_httpsocks which is popped so that
when the thread terminates no unclosed sockets will remain.
* src/misc.c (close_sock): Will free a socket and zero the value,
updated all references to close to close_socket
* src/debug.h (proz_debug): added debug_init which deletes a prior
debug.log file if present.
2001-06-19 <kalum@delrom.ro>
* src/ftp.c (proz_ftp_get_url_info): Fixed bug when getting info
about a file
2001-06-18 <kalum@delrom.ro>
* src/logfile.c: Changed several functions to proz_log_xxxx and
moved the logfile structure to prozilla.h.
* (proz_log_read_logfile): Added a boolean type which indicates
whether to load the info about the connections allocation or
not.
2001-06-16 <kalum@delrom.ro>
* src/ftpparse.c (size_returner): If the string returned from the
FTP LIST command is 0 or 2 assume that the file is not present
on the server.
2001-06-16 <kalum@delrom.ro>
* src/prozilla.h: added long proz_download_get_est_time_left
returns the estimlted download time in secs.
2001-06-11 <kalum@delrom.ro>
* src/http-retr.c (proz_http_get_file): Fixed a bug where the data
conenction was not closed when CANTRESUME was detected.
2001-06-11 <kalum@delrom.ro>
* src/http.c (ftp_get_url_info_from_http_proxy): Enables getting
FTP file related info through HTTP proxies.
* src/http-retr.c (ftp_get_file_from_http_proxy): Enables getting
FTP files through HTTP proxies.
2001-06-07 <kalum@delrom.ro>
* Added KoV's patch for gettext internatinalisation support
* src/main.c: Added proz_use_http_proxy proz_use_ftp_proxy
* src/ftp.c (ftp_login): Fixed a bug related to logging in to ftp
proxies.
2001-06-02 <kalum@delrom.ro>
* src/connection.c (proz_get_url_info_loop): Made this thread
immediately cancellable.
2001-05-30 <kalum@delrom.ro>
* libprozilla has now generic http and ftp download functions, and
has resume support too. Several functions related to
downloading, and handling the nultithreaed downloads were added
to download.c
2001-05-14 <kalum@delrom.ro>
* src/connection.c (proz_get_url_info_loop): added
* src/prozilla.h: added conn_retry_delay to libprozillartinfo
which specifies the retry interval for co9nnenctions added
max_attempts, which is the number of times a connection will be
retried.
2001-05-10 <kalum@delrom.ro>
* Ran gnu indent with the options "-kr -i2 -bli0 -bl
-nfca" to get the course upto the coding standards.
2001-05-08 <kalum@delrom.ro>
* src/ftp.c (proz_ftp_get_url_info): Forgot to close the ctrl_sock
in certain error conditions, FIXED.
* src/download.c (proz_download_join_downloads): This func will
join the downloaded portions.
2001-05-06 <kalum@delrom.ro>
* src/download.c (proz_download_delete_download): This function
will delete the downloaded file portions together with the
downloads logfile.
* src/prozilla.h (download_t): added boolean type resume_support;
added a extra argument to proz_download_start_downloads, which
specifies whether to load resume info and start the dl.
Tue May 8 21:15:49 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO: Removed all 'DONE' entries. Just for testing if CVS
automatically sends mails to prozilla-cvs@delrom.ro upon every
CVS commit...
2001-05-04 <kalum@delrom.ro>
* src/http-retr.c (http_loop_handle_error): added.
* src/ftp-retr.c (ftp_loop_handle_error): added
* src/prozilla.h: Moved all the proz_xxxx functions to prozilla.h,
and the connection_t and download_t structs and necessary enums
as well.
Now the person who users the library should only have to include
prozilla.h
* src/download.c (proz_download_get_total_bytes_got): added it.
2001-05-03 <kalum@delrom.ro>
* src/prozilla.h (enum): added DLERR, DLOK, DLINPROGRESS as return
types for proz_download_handle_threads
* src/connection.c (proz_connection_get_total_bytes_got):
Returns the total number of bytes that have been saved to the file
* src/download.c (proz_download_get_connection): Added.
* src/connection.c (proz_connection_get_status_string): This will
return a textual representation of the status of a conenction.
* src/download.h (download_t): Added main_file_size, resume_mode
* src/download.c (proz_download_init): Changed the type of
connection->status_change_mutex to recursive
* (proz_download_all_dls_complete): Returns TRUE if all the
connections have been completed
2001-05-01 <kalum@delrom.ro>
* src/prozilla.h (enum): rearranged the uerr_t enum for clarity.
2001-04-30 <kalum@delrom.ro>
* src/download.c (proz_download_handle_threads):created it to handle the threads.
* src/connection.c (connection_retr_fsize_known): fixed a bug in which the wrong size wass passed to krecv.
2001-04-29 <kalum@delrom.ro>
* src/prozilla.h (libprozinfo): added default_timeout.
2001-04-27 <kalum@delrom.ro>
* src/ftp.c (proz_ftp_get_url_info): added additional show_message
function calls.
2001-04-25 <kalum@delrom.ro>
* src/url.h: changed parseurl, to proz_parse_url, since it would
be used external routines and updated all sources accordingly
* Added C++ style #ifdef __cplusplus to all headers
2001-04-24 <kalum@delrom.ro>
* src/connection.h (connection_t):
* src/prozilla.h (libprozinfo): added dl_dir and log_dir.
* src/download.h (download_t): added dl_dir [PATH_MAX] which is the base dir to which the file segments will be downloaded to, and log_dir which is the dir to which the log files are saved, currently it is the same as dl_dir but we can change it later.
* src/download.c (proz_setup_connections_no_ftpsearch):
* src/misc.c (show_message): added a wrapper for routine to callback a message displaying routine.
* src/connection.c (connection_retr_fsize_known):
This will open connection->localfile and read from
connection->data_sock (which should be already setup) till the
requested number of bytes are read.
Now since we explicitly know how much bytes to get we can do so,
and is the server closes the connection prematurely we know that
it has hapenned (because it hasn't supplied the required number
of bytes) and return a READERR.
* src/http-retr.h, src/http-retr.c, src/ftp-retr.h, src/ftp-retr.c:
Initial Import to CVS with support for file transfer.
2001-04-21 <kalum@delrom.ro>
* src/prozilla.h (enum): added FILEGETOK,
* src/connection.c (connection_retr_fsize_not_known):
This will open connection->localfile and read from
connection->data_sock (which should be already setup) till a EOF
is reached or the server closes the connection, in which case there is no way to know
whether we got the complete file.
Sun Apr 22 17:02:50 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO, src/connect.c, src/connection.c, src/connection.h,
src/download.c, src/download.h, src/ftp.c, src/http.c, src/misc.c,
src/prozilla.h, src/test.c: Cosmetic changes and coding-style fixes.
* docs/HACKING: TABs are allowed in Makefile.am's.
Advise contributors to send
several smaller patches rather than one big patch...
* src/connect.c, src/connection.c, src/http.c, src/netrc.c, src/url.c,
src/url.h: Use kfree() instead of free() everywhere.
* src/http.c: Brought up to current coding-standards. Removed casts
of the result of kmalloc() and krealloc().
* src/http.h: Added prototypes for all functions in src/http.c.
2001-04-20 <kalum@delrom.ro>
* src/download.c: added proz_init_download, and
proz_setup_connections, the prototypes may have to be changed later, I
couldnt figure out this part, I'll start over it once I have the
http/ftp download part of a connection ready.
2001-04-20 <kalum@delrom.ro>
* src/test.c (main): Updated the test program a bit to test out
the http proxy code
* src/http.c (proz_http_get_url_info): Now gets a http urls
attributes, proxy support too added
* src/http.c: Added support routines to http.c
* src/connection.h (connection_t): added type http_stat_t for http
* src/prozilla.h: added struct http_stat_t, and DEFAULT_USER_AGENT
* src/connection.h (connection_t): added user_agent and
new_location for http
* src/connection.h (connection_t): added a pointer to a
status_change_mutex, the mutex will be in the download_struct.
Fri Apr 20 14:32:35 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO, src/connection.h, src/download.h, src/ftp.c, src/ftp.h,
src/http.c, src/http.h, src/main.c, src/test.c:
Cosmetic changes and coding-style fixes and fixed typos.
* docs/HACKING: Added an example code segment.
* src/http.h: Fixed typo which prevented http.o from compiling.
* src/url.c, src/url.h: Use boolean instead of int where appropriate.
* src/url.h: Remove prototypes for non-existing functions. Convert
all prototypes to ANSI prototypes, i.e. list the variable names
in the prototype...
2001-04-20 <kalum@delrom.ro>
* src/ftp.c (ftp_setup_data_sock_1): moved the code for setting up
a data socket from ftp_get_url_info to here, as we will need
these functions when receiving a file.
* src/main.c (proz_set_xxx_proxy): wrote it..
* src/main.c (proz_shutdown): kfrees libprozrtinfo.xxx_proxy
2001-04-20 <kalum@delrom.ro>
* src/http.c, src/http.h: added to repository.
2001-04-19 <kalum@delrom.ro>
* src/ftp.h (struct): removed ftp_stat_t
Thu Apr 19 19:49:30 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* docs/HACKING: Cosmetic changes.
* src/test.c: Added a few missing '\n's. If you give an URL on the
commandline use that, otherwise use the hardcoded URL in test.c.
Thu Apr 19 18:20:47 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO, src/connect.c, src/connect.h, src/connection.c,
src/connection.h, src/download.h, src/ftp.c, src/ftp.h, src/main.c,
src/misc.c, src/misc.h, src/test.c:
Cosmetic changes and coding style fixes.
* config.h.in, configure: Autogenerated.
* docs/HACKING: Several Updates. Added information about indentation
width, brace style, names, TODO, FIXME and NOTE, ChangeLog entries,
comments, automatically generated files and common.h
* src/prozilla.h: Added the proz_set_http_proxy() and
proz_set_ftp_proxy() again, because I removed them mistakenly.
2001-04-19 <kalum@delrom.ro>
* src/connect.h, src/connect.c: Added accept_connection(), should
this file be in ftp.c instead?
* src/connection.h (connection_t): pasv_addr[6] has mistakenly
been of type timeval, corrected it to unsigned char.
* src/ftp.h: Added ftp_size().
* src/connection.h, src/connection.c: Added proz_init_conection(),
and proz_cleanup_connection().
* src/misc.h, src/misc.c: Added kfree() which frees memory if
neccessary.
* src/test.c: Tests the file size getting code.
Thu Apr 19 15:32:26 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* README: Added installation information.
* TODO: Added item 'Use libtool'.
* src/connection.h, src/ftp.c, src/ftp.h, src/misc.c, src/misc.h,
src/prozilla.h: Use boolean instead of int where appropriate.
* src/debug.c: (proz_debug): Automatically add a '\n' to every
debug-message, so you dont need to write proz_debug("foo\n") anymore.
* src/ftp.c: Log every message sent and received with proz_debug().
* src/prozilla.h: Set MAX_MSG_SIZE to 2048.
Thu Apr 19 06:39:55 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* AUTHORS: Added Michael Duelli <m.duelli@web.de>.
* docs/HACKING: Removed ftpparse.[ch] from the
'Code from other projects' list. Added URL to glibc download.
* src/ftp.c, src/ftp.h: Cosmetic changes.
* src/ftpparse.c: Brought up to current coding style standards etc...
Include common.h. Added some 'const's where appropriate.
Return boolean instead of int in some functions.
(main): Simplified code a bit. Use EXIT_SUCCESS.
* src/ftpparse.h: Changed prototypes to also show variable names.
Added '#ifndef FTPPARSE_H' etc. to prevent multiple inclusions.
2001-04-19 <kalum@delrom.ro>
* src/ftpparse.h src/ftpparse.c: Removed the offending DJB created
files and added Michaels versions which were written from
scratch.
Wed Apr 18 22:36:49 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* Makefile.am: Added docs to SUBDIRS.
* Makefile.in, config.h.in, configure: Autogenerated.
* README: Moved CVS info into docs/HACKING.
* configure.in: Added docs/Makefile to AC_OUTPUT().
* docs/HACKING, docs/Makefile.am, docs/Makefile.in: Added files.
* src/connection.c, src/connection.h, src/ftp.c, src/ftp.h, src/test.c:
Renamed connection_info to connection_t.
* src/main.c: Renamed some variables. Added a few comments.
* src/prozilla.h: Removed unused prototypes proz_set_http_proxy()
and proz_set_ftp_proxy().
Wed Apr 18 19:58:54 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* src/connect.c, src/connection.h, src/ftp.h, src/misc.h:
Cosmetic changes.
* src/debug.c, src/debug.h: Made debug_mutex static. Renamed some
variables.
* src/ftp.c, src/ftp.h: Changed several 'char *' to 'const char *'.
(get_ftp_return): Renamed to ftp_get_return().
(ftp_send_msg): Renamed some variables. Added missing va_end().
(ftp_login): Replaced those ugly if-else-chains with switch
constructs, which are more readable IMHO.
(use_ftp_proxy): Renamed to ftp_use_proxy().
(proz_ftp_get_url_info): Renamed to ftp_get_url_info().
* src/prozilla.h: Removed unused prototypes for proz_use_http_proxy()
and proz_use_ftp_proxy().
2001-04-18 <kalum@delrom.ro>
* src/ftp.c (ftp_login): added sevral "\r\n"'s where I had
forgotten to put them :(
2001-04-18 <kalum@delrom.ro>
* src/ftp.c (ftp_login): Added proxy support :)
2001-04-17 <kalum@delrom.ro>
* src/ftp.c (ftp_send_msg): changed the prototype to uerr_t
ftp_send_msg(connection_info *connection, const char *cmdspec,
...)
* src/prozilla.h: Added data type longstring 1024 bytes
* src/connection.h (connection_info): changed the type of
xxx_proxy to a pointer, proxy_info *
Tue Apr 17 13:38:35 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* config.h.in, configure, src/Makefile.in: Autogenerated.
* configure.in: Check for lots more #include files.
* src/Makefile.am: Added several missing files to
libprozilla_a_SOURCES.
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/debug.c, src/debug.h, src/download.c, src/download.h, src/ftp.c,
src/ftp.h, src/main.c, src/misc.c, src/misc.h, src/netrc.c,
src/netrc.h, src/prozilla.h, src/test.c, src/url.c, src/url.h:
Put all system #includes in src/common.h and just include "common.h".
* src/ftp.c: Coding style fixes.
* src/prozilla.h: Moved the #defines TRUE and FALSE to src/common.h.
* src/common.h: Added file. Contains all necessary system #includes,
typedefs a 'boolean' type, conditionally #defines vsnprintf() and
snprintf() to __vsnprintf() and __snprintf() if necessary and
also #defines YES and NO.
2001-04-17 <kalum@delrom.ro>
* src/ftp.c (use_ftp_proxy): added this func which is self
explanatory ;)
* src/prozilla.h: Added several enums to proxy_type to describe
various proxies.
2001-04-16 <kalum@delrom.ro>
* src/test.c: added config.h to test.c
Mon Apr 16 21:28:31 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* acinclude.m4: Remove CVS Id tags.
* aclocal.m4, config.h.in, configure: Regenerated automatically.
* configure.in: Check for strchr() and strrchr().
* src/connect.c, src/connect.h: Include <sys/types.h>. The second
argument of connect_to_server() is 'const char *' now.
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/debug.c, src/ftp.c, src/ftp.h, src/main.c, src/misc.c,
src/misc.h, src/netrc.c, src/netrc.h, src/prozilla.h, src/test.c,
src/url.c, src/url.h: Coding style and indentation changes.
* src/download.c: Include <config.h>.
* src/download.h: Prevent multiple inclusions...
* src/ftp.c, src/ftp.h: Removed the 'len' argument of ftp_send_msg(),
because it's always strlen(connection->szBuffer).
Mon Apr 16 15:32:43 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO: Added 'Bandwidth throttling'.
* aclocal.m4, config.h.in, configure: Automatically generated.
* configure.in: Check for pwd.h, strtol(), strncasecmp(), snprintf(),
vsnprintf(), __snprintf() and __vsnprintf(). Remove checks for
strstr() and gettimeofday() because we don't use them anywhere.
* src/ftp.c, src/main.c, src/misc.c, src/misc.h, src/netrc.c,
src/url.c, src/url.h: Renamed nstrdup() to kstrdup() to be
consistent with kmalloc() and krealloc()...
* src/main.c, src/prozilla.h: Remove useless includes.
(proz_shutdown): Now returns void. (proz_die): Exit with
EXIT_FAILURE not with EXIT_SUCCESS.
Mon Apr 16 09:14:52 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* aclocal.m4, config.h.in, configure, src/Makefile.in:
Automatically generated.
* configure.in: Added configure option --enable-compiler-warnings.
Possible arguments are no/min/yes. Default is min.
* src/Makefile.am: Commented out variable settings, they don't seem
to be necessary. I'm not sure, though...
* src/connect.c, src/misc.c: Added/fixed a few comments.
* src/ftp.c, src/main.c: Use nstrdup() instead of strdup().
* src/main.c: (set_defaults): Removed because it was empty.
* src/test.c: Added several includes, so it now compiles with
--enable-compiler-warnings=yes.
Mon Apr 16 08:07:10 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/debug.c, src/download.c, src/download.h, src/ftp.c, src/ftp.h,
src/ftpparse.h, src/main.c, src/misc.c, src/misc.h, src/netrc.c,
src/netrc.h, src/prozilla.h, src/url.c, src/url.h:
Cosmetic changes, mostly of the CVS 'Id' tag and its location.
* src/debug.h, src/test.c: Replaced the CVS 'Revision' tag with
the 'Id' tag.
* src/main.c: (proz_init): Use kmalloc() instead of malloc().
(proz_die): Fix possible buffer overflow by using vsnprintf() instead
of vsprintf().
2001-04-15 <kalum@delrom.ro>
* src/prozilla.h: added home_dir and netrc_list to libprozinfo struct
* src/connection.h: added is_dir, is_file etc, to connetion.h to
provide information about the url.
* Removed the $log entries, now the only cvs info is the Id
tag
Sat Apr 14 20:34:41 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* TODO, src/netrc.h, src/url.h: Cosmetic changes.
* acconfig.h, configure.in: Check for socklent_t by calling
TYPE_SOCKLEN_T.
* acinclude.m4: Added TYPE_SOCKLEN_T.
* aclocal.m4, config.h.in, configure: Automatically generated.
* src/debug.c: (proz_debug): Fix a possible buffer overflow by using
vsnprintf() instead of vsprintf().
* src/netrc.c: Include <config.h>. Don't use error_at_line().
Remove all code enclosed by '#ifdef STANDALONE' and '#endif',
because we don't use this code standalone...
* src/netrc.c, src/url.c: Properly check whether to include
<string.h> or <strings.h> or <memory.h>.
Sat Apr 14 17:34:23 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* Makefile.am, Makefile.in: Removed unnecessary DIST_SUBDIRS.
* Makefile.in, aclocal.m4, config.h.in, configure, mkinstalldirs,
src/Makefile.in: Regenerated automatically.
* configure.in: Added standard GPL-header. Require at least
autoconf 2.13. Removed AM_SANITY_CHECK. Added lots of checks, e.g.
for -lnsl or -lsocket (which is needed on some systems e.g. Solaris).
Check for headers (memory.h string.h time.h fcntl.h assert.h).
Removed AC_FUNC_SETVBUF_REVERSED. Cosmetic changes.
* src/Makefile.am: Cosmetic changes.
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/ftp.c, src/main.c, src/misc.c, src/misc.h, src/prozilla.h:
Removed unnecessary includes, added missing includes. Properly check
whether to include <string.h> or <strings.h> or <memory.h>.
Check whether to include <time.h> or <sys/time.h> or both.
* src/ftp.c, src/ftp.h: (get_ftp_return): Make it a static function.
(ftp_send_msg): Second argument is 'unsigned int' instead of 'int'
now. (ftp_get_reply): Make it a static function.
Added missing prototype for proz_ftp_get_url_info().
* acinclude.m4, acconfig.h: Added files.
* man/Makefile: Removed file.
2001-04-14 <kalum@delrom.ro>
* src/ftp.c (proz_ftp_get_url_info): Creating a function to fetch info about ftp url's
* Cleaned up the cvs logs in files
2001-04-13 <kalum@delrom.ro>
* Added src/download.c and src/download.h
* src/connection.h: added use_http_proxy and use_ftp_proxy to the connection structure.
Fri Apr 13 18:08:52 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* README: Removed info about the prozilla mailinglist because it
has been removed. All the subscribers are in the prozilla-users
mailinglist now.
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/ftp.c, src/ftp.h, src/main.c, src/misc.c, src/misc.h,
src/prozilla.h, src/test.c: Cosmetic changes.
* src/connect.c: Call socket() with the third argument being
IPPROTO_TCP instead of 0. Do not cast result of krealloc().
(accept_connection): Removed, because it is not used anywhere.
* src/debug.c, src/debug.h: Renamed debug_prz() to proz_debug().
* src/ftp.c: Make BUFFER_SIZE a #define (not a const int).
Do not cast the result of alloca(). Remove all those sizeof(char)
multiplications, because sizeof(char) is '1' per definition.
Fri Apr 13 16:08:07 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* ChangeLog, src/connect.c, src/connect.h, src/connection.c,
src/connection.h, src/debug.c, src/debug.h, src/download.c,
src/download.h, src/ftp.c, src/ftp.h, src/main.c, src/misc.c,
src/misc.h, src/prozilla.h, src/test.c:
Cosmetic changes. Use the same GPL-header in all files.
* src/connect.c, src/ftp.c, src/misc.c, src/netrc.c, src/url.c:
Removed unnecessary casts of the result of kmalloc().
* src/main.c: Removed unnecessary includes of <ncurses.h> and
<curses.h>.
2001-04-13 <kalum@delrom.ro>
* src/prozilla.h: The library functions will be in the form of proz_xxx
(struct): added the structure proxy_info
* src/prozilla.h: moved the definition of struct _urlinfo from url.h to prozilla.h
Thu Apr 12 15:55:04 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* AUTHORS, NEWS, README: Wrote initial documentation.
* TODO: Added file.
* src/connect.c, src/connect.h, src/connection.c, src/connection.h,
src/debug.c, src/debug.h, src/ftp.c, src/ftp.h, src/main.c,
src/misc.h, src/prozilla.h, src/url.c, src/url.h: Cosmetic changes.
* src/connection.h: Removed two C++ style comments.
* src/main.c: Added two missing 'void's in function declarations.
Call exit() with EXIT_SUCCESS as parameter, not with 0.
* src/test.c: Added the standard GPL-header. Use EXIT_SUCCESS.
Thu Apr 12 14:46:32 CEST 2001 Uwe Hermann <uh1763@hermann-uwe.de>
* src/misc.c, src/misc.h: Removed unnecessary includes <malloc.h> and
<curses.h>. (kmalloc): If size is zero, return NULL. The
error-message now prints the number of bytes you tried to allocate.
(is_number): The argument is 'const' now. Empty strings count as
non-number.
2001-03-26 <kalum@delrom.ro>
* src/ftp.h: struct ftp_connection_info was added.
2001-03-18 <kalum@delrom.ro>
* configure.in: Calls the autoconf macro AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R.
* src/connect.c: Added a gethostname_r wrapper called k_gethostname, and added autoconf support for 5 or 6 args for it.
2001-03-14 <kalum@delrom.ro>
* src/connect.c (connect_to_server): changed the data type for the timeout argument to struct timeval
2001-03-13 <kalum@delrom.ro>
* src/misc.c (get_prefixed_file): uncommented it, we need to do something about the runtime structure, like havng libprozillas own runtime structure.

182
libprozilla/INSTALL Normal file
View File

@@ -0,0 +1,182 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

7
libprozilla/Makefile.am Normal file
View File

@@ -0,0 +1,7 @@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
SUBDIRS = intl po docs src
DIST_SUBDIRS = $(SUBDIRS)
DIST_OTHER = COPYING

555
libprozilla/Makefile.in Normal file
View File

@@ -0,0 +1,555 @@
# Makefile.in generated by automake 1.7 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
THREAD_LIBS = @THREAD_LIBS@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = intl po docs src
DIST_SUBDIRS = $(SUBDIRS)
DIST_OTHER = COPYING
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = intl/Makefile
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS TODO acconfig.h acinclude.m4 \
aclocal.m4 config.guess config.h.in config.sub configure \
configure.in depcomp install-sh ltmain.sh missing mkinstalldirs
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.h.in
distclean-hdr:
-rm -f config.h stamp-h1
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/intl $(distdir)/po
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& $(mkinstalldirs) $$dc_destdir \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
--with-included-gettext \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-libtool clean-recursive ctags \
ctags-recursive dist dist-all dist-gzip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

4
libprozilla/NEWS Normal file
View File

@@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
News
-------------------------------------------------------------------------------

62
libprozilla/README Normal file
View File

@@ -0,0 +1,62 @@
-------------------------------------------------------------------------------
libprozilla README
-------------------------------------------------------------------------------
Description
-----------
libprozilla is a library which provides functions to download a file in
portions using multiple connections, thus speeding up the download process.
It supports the HTTP and FTP protocols as well as the file resume feature.
License
-------
libprozilla - a download accelerator library
Copyright (C) 2001 Kalum Somaratna
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
See COPYING for details.
Installation
------------
* ./configure
* make
* make install
Mailinglists
------------
There are several mailinglists you can subscribe to.
All mailinglists are archived. The archives can be viewed online.
prozilla-users:
* Discussions, user requests, suggestions and help.
* Subscribe at: http://www.genesys.ro/mailman/listinfo/prozilla
* Archive: http://www.genesys.ro/pipermail/prozilla/
Homepage
--------
prozilla.genesys.ro

29
libprozilla/TODO Normal file
View File

@@ -0,0 +1,29 @@
-------------------------------------------------------------------------------
Todo
-------------------------------------------------------------------------------
* Write or generate API documentation.
* Honor the environment variables http_proxy and ftp_proxy.
NOTE: Should this be part of libprozilla or the interface?
* Port to other platforms than GNU/Linux, e.g. SunOS/Solaris, FreeBSD etc...
* Add cookies support.
* DONE: Make the threads download to a single file, will need a state monitor
which saves the state of each thread to resume properly.
* DONE: Bandwidth throttling?
* DONE: Use libtool.
* DONE: I need to stat the file's size, so we have to check and include
sys/stat.h in common.h
* DONE: refreer support ftp
* The FTP through HTTP proxying needs a bit of chechin on how it would
handle login rejection attempts when the ftp server disallows it
* DONE: write a function for getting the version of libprozilla

25
libprozilla/acconfig.h Normal file
View File

@@ -0,0 +1,25 @@
/* For use by autoheader. */
#ifndef CONFIG_H
#define CONFIG_H /* To stop multiple inclusions. */
/* Enable GNU extensions. */
#undef _GNU_SOURCE
/* How many arguments does gethostbyname_r() take? */
#undef HAVE_FUNC_GETHOSTBYNAME_R_6
#undef HAVE_FUNC_GETHOSTBYNAME_R_5
#undef HAVE_FUNC_GETHOSTBYNAME_R_3
/* Define to 'int' if not already defined by the system. */
#undef socklen_t
@TOP@
/* autoheader generated things inserted here. */
@BOTTOM@
#endif /* CONFIG_H */

666
libprozilla/acinclude.m4 Normal file
View File

@@ -0,0 +1,666 @@
dnl @synopsis AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R
dnl
dnl Provides a test to determine the correct
dnl way to call gethostbyname_r:
dnl
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_6 if it needs 6 arguments (e.g linux)
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_5 if it needs 5 arguments (e.g. solaris)
dnl - defines HAVE_FUNC_GETHOSTBYNAME_R_3 if it needs 3 arguments (e.g. osf/1)
dnl
dnl If used in conjunction in gethostname.c the api demonstrated
dnl in test.c can be used regardless of which gethostbyname_r
dnl exists. These example files found at
dnl <http://www.csn.ul.ie/~caolan/publink/gethostbyname_r>.
dnl
dnl Based on David Arnold's autoconf suggestion in the threads faq.
dnl
dnl @author Caolan McNamara <caolan@skynet.ie>
dnl
AC_DEFUN(AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R,
[AC_CACHE_CHECK(for which type of gethostbyname_r, ac_cv_func_which_gethostname_r, [
AC_CHECK_FUNC(gethostbyname_r, [
AC_TRY_COMPILE([
# include <netdb.h>
], [
char *name;
struct hostent *he;
struct hostent_data data;
(void) gethostbyname_r(name, he, &data);
],ac_cv_func_which_gethostname_r=three,
[
dnl ac_cv_func_which_gethostname_r=no
AC_TRY_COMPILE([
# include <netdb.h>
], [
char *name;
struct hostent *he, *res;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop)
],ac_cv_func_which_gethostname_r=six,
[
dnl ac_cv_func_which_gethostname_r=no
AC_TRY_COMPILE([
# include <netdb.h>
], [
char *name;
struct hostent *he;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &h_errnop)
],ac_cv_func_which_gethostname_r=five,ac_cv_func_which_gethostname_r=no)
]
)
]
)]
,ac_cv_func_which_gethostname_r=no)])
if test $ac_cv_func_which_gethostname_r = six; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
elif test $ac_cv_func_which_gethostname_r = five; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
elif test $ac_cv_func_which_gethostname_r = three; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
fi
])
dnl @synopsis TYPE_SOCKLEN_T
dnl
dnl Check whether sys/socket.h defines type socklen_t. Please note
dnl that some systems require sys/types.h to be included before
dnl sys/socket.h can be compiled.
dnl
dnl @author Lars Brinkhoff <lars@nocrew.org>
dnl
AC_DEFUN([TYPE_SOCKLEN_T],
[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
[
AC_TRY_COMPILE(
[#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t len = 42; return 0;],
ac_cv_type_socklen_t=yes,
ac_cv_type_socklen_t=no)
])
if test $ac_cv_type_socklen_t != yes; then
AC_DEFINE(socklen_t, int)
fi
])
#serial AM1
dnl From Bruno Haible.
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no)
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext
# functionality.
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
# serial 10
dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
dnl depending on --{enable,disable}-{shared,static} and on the presence of
dnl AM-DISABLE-SHARED). Otherwise, a static library
dnl $(top_builddir)/intl/libintl.a will be created.
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
dnl implementations (in libc or libintl) without the ngettext() function
dnl will be ignored.
dnl LIBDIR is used to find the intl libraries. If empty,
dnl the value `$(top_builddir)/intl/' is used.
dnl
dnl The result of the configuration is one of three cases:
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
dnl and used.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 2) GNU gettext has been found in the system's C library.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 3) No internationalization, always use English msgid.
dnl Catalog format: none
dnl Catalog extension: none
dnl The use of .gmo is historical (it was needed to avoid overwriting the
dnl GNU format catalogs when building on a platform with an X/Open gettext),
dnl but we keep it in order not to force irrelevant filename changes on the
dnl maintainers.
dnl
AC_DEFUN([AM_WITH_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)
BUILD_INCLUDED_LIBINTL=no
USE_INCLUDED_LIBINTL=no
INTLLIBS=
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
AC_DEFINE(ENABLE_NLS, 1,
[Define to 1 if translation of program messages to the user's native language
is requested.])
AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH(included-gettext,
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If GNU gettext is available we use this. Else we have
dnl to fall back to GNU NLS library.
CATOBJEXT=NONE
dnl Add a version number to the cache macros.
define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
AC_CACHE_CHECK([for GNU gettext in libintl],
gt_cv_func_gnugettext_libintl,
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -lintl $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
extern int _nl_msg_cat_cntr;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
LIBS="$gt_save_LIBS"])
fi
dnl If an already present or preinstalled GNU gettext() is found,
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
AC_DEFINE(HAVE_GETTEXT, 1,
[Define if the GNU gettext() function is already present or preinstalled.])
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
dnl If iconv() is in a separate libiconv library, then anyone
dnl linking with libintl{.a,.so} also needs to link with
dnl libiconv.
INTLLIBS="-lintl $LIBICONV"
fi
gt_save_LIBS="$LIBS"
LIBS="$LIBS $INTLLIBS"
AC_CHECK_FUNCS(dcgettext)
LIBS="$gt_save_LIBS"
dnl Search for GNU msgfmt in the PATH.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
dnl Search for GNU xgettext in the PATH.
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
CATOBJEXT=.gmo
fi
])
if test "$CATOBJEXT" = "NONE"; then
dnl GNU gettext is not found in the C library.
dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions used to generate GNU NLS library.
INTLOBJS="\$(GETTOBJS)"
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
AC_SUBST(MSGFMT)
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.gmo
INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
fi
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; then
: ;
else
AC_MSG_RESULT(
[found msgfmt 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 /dev/null >/dev/null 2>&1; then
: ;
else
AC_MSG_RESULT(
[found xgettext program is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
fi
dnl We need to process the po/ directory.
POSUB=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"
sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
fi
;;
esac
done])
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
BUILD_INCLUDED_LIBINTL=yes
fi
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
dnl compile.
dnl bison is only needed for the maintainer (who touches plural.y). But in
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
dnl the rule in general Makefile. Now, some people carelessly touch the
dnl files or have a broken "make" program, hence the plural.c rule will
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
dnl present or too old.
AC_CHECK_PROGS([INTLBISON], [bison])
if test -z "$INTLBISON"; then
ac_verc_fail=yes
else
dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
changequote([,])dnl
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
esac
AC_MSG_RESULT([$ac_prog_version])
fi
if test $ac_verc_fail = yes; then
INTLBISON=:
fi
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
done
dnl Make all variables we use known to autoconf.
AC_SUBST(BUILD_INCLUDED_LIBINTL)
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT)
AC_SUBST(GMOFILES)
AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
nls_cv_header_libgt=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
AC_SUBST(DATADIRNAME)
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
AC_SUBST(INSTOBJEXT)
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
AC_SUBST(GENCAT)
])
dnl Usage: Just like AM_WITH_NLS, which see.
AC_DEFUN([AM_GNU_GETTEXT],
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])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([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([jm_GLIBC21])dnl
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 getcwd getegid geteuid \
getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
AM_ICONV
AM_LANGINFO_CODESET
AM_LC_MESSAGES
AM_WITH_NLS([$1],[$2],[$3])
if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
for presentlang in $ALL_LINGUAS; do
useit=no
for desiredlang in ${LINGUAS-$ALL_LINGUAS}; 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
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
fi
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
dnl Construct list of names of catalog files to be constructed.
if test -n "$LINGUAS"; then
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
fi
fi
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"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
])
#serial 2
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)
#serial AM2
dnl From Bruno Haible.
AC_DEFUN([AM_ICONV],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
AC_ARG_WITH([libiconv-prefix],
[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
for dir in `echo "$withval" | tr : ' '`; do
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
done
])
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_func_iconv=yes)
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_lib_iconv=yes
am_cv_func_iconv=yes)
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL(am_cv_proto_iconv, [
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
extern
#ifdef __cplusplus
"C"
#endif
#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
AC_MSG_RESULT([$]{ac_t:-
}[$]am_cv_proto_iconv)
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
[Define as const if the declaration of iconv() needs const.])
fi
LIBICONV=
if test "$am_cv_lib_iconv" = yes; then
LIBICONV="-liconv"
fi
AC_SUBST(LIBICONV)
])
#serial 1
# 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"])
]
)
# Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext
# functionality.
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
# serial 2
AC_DEFUN([AM_LC_MESSAGES],
[if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
fi])
# Search path for a program which passes the given test.
# Ulrich Drepper <drepper@cygnus.com>, 1996.
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# License but which still want to provide support for the GNU gettext
# functionality.
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
# serial 2
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.
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.
;;
*)
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"
dnl If no 4th arg is given, leave the cache variable unset,
dnl so AC_PATH_PROGS will keep looking.
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
])dnl
;;
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
AC_MSG_RESULT([$]$1)
else
AC_MSG_RESULT(no)
fi
AC_SUBST($1)dnl
])

5207
libprozilla/aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

1363
libprozilla/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

327
libprozilla/config.h.in Normal file
View File

@@ -0,0 +1,327 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* For use by autoheader. */
#ifndef CONFIG_H
#define CONFIG_H /* To stop multiple inclusions. */
/* Enable GNU extensions. */
#undef _GNU_SOURCE
/* How many arguments does gethostbyname_r() take? */
#undef HAVE_FUNC_GETHOSTBYNAME_R_6
#undef HAVE_FUNC_GETHOSTBYNAME_R_5
#undef HAVE_FUNC_GETHOSTBYNAME_R_3
/* Define to 'int' if not already defined by the system. */
#undef socklen_t
/* autoheader generated things inserted here. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <assert.h> header file. */
#undef HAVE_ASSERT_H
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* 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 you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `getegid' function. */
#undef HAVE_GETEGID
/* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID
/* Define to 1 if you have the `getgid' function. */
#undef HAVE_GETGID
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* 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 `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT
/* Define to 1 if you have the `__argz_next' function. */
#undef HAVE___ARGZ_NEXT
/* Define to 1 if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define to 1 if you have the `__snprintf' function. */
#undef HAVE___SNPRINTF
/* Define to 1 if you have the `__vsnprintf' function. */
#undef HAVE___VSNPRINTF
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* 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.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Version number of package */
#undef VERSION
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
#endif /* CONFIG_H */

1470
libprozilla/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

13925
libprozilla/configure vendored Executable file

File diff suppressed because it is too large Load Diff

152
libprozilla/configure.in Normal file
View File

@@ -0,0 +1,152 @@
dnl ***************************************************************************
dnl libprozilla - a download accelerator library
dnl Copyright (C) 2001 Kalum Somaratna
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dnl ***************************************************************************
AC_PREREQ(2.13)
AC_INIT(src/connect.c)
AM_INIT_AUTOMAKE(libprozilla, 1.0.x-cvs)
AM_CONFIG_HEADER(config.h)
AC_DEFINE(_GNU_SOURCE)
AC_LANG_C
AC_CANONICAL_HOST
dnl ---------------------------------------------------------------------------
dnl Checks for programs.
dnl ---------------------------------------------------------------------------
AC_PROG_CC
AC_AIX
AC_ISC_POSIX
AC_MINIX
AM_PROG_CC_STDC
AC_PROG_INSTALL
AM_ENABLE_STATIC
AM_DISABLE_SHARED
AC_PROG_LIBTOOL
dnl -------------
dnl gettext stuff
dnl -------------
ALL_LINGUAS="pt_BR ro nl it fr"
AM_GNU_GETTEXT
dnl ---------------------------------------------------------------------------
dnl Checks for libraries.
dnl ---------------------------------------------------------------------------
case $host in
*-*-freebsd*)
THREAD_LIBS="-pthread"
;;
*-*-openbsd*)
THREAD_LIBS="-pthread"
;;
*)
AC_CHECK_LIB(pthread, pthread_create,
THREAD_LIBS="-lpthread",
AC_MSG_ERROR([** The pthread library is not installed.**]))
;;
esac
AC_SUBST(THREAD_LIBS)
# Whenever both -lsocket and -lnsl are needed, it seems to be always the
# case that gethostbyname requires -lnsl. So, check -lnsl first, for it
# to be in LIBS before the setsockopt checks are performed. *However*,
# on SINIX-N 5.43, this is false, and gethostent seems to be a better
# candidate. So, let's use it below instead of gethostbyname, and see.
# [ This is ripped from GNU tar. ]
AC_CHECK_FUNC(gethostent)
if test $ac_cv_func_gethostent = no; then
AC_CHECK_LIB(nsl, gethostent)
fi
AC_CHECK_FUNC(setsockopt)
if test $ac_cv_func_setsockopt = no; then
AC_CHECK_LIB(socket, setsockopt)
fi
dnl ---------------------------------------------------------------------------
dnl Checks for header files.
dnl ---------------------------------------------------------------------------
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS(stdio.h stdlib.h unistd.h ctype.h errno.h sys/types.h)
AC_CHECK_HEADERS(sys/stat.h sys/socket.h netinet/in.h arpa/inet.h netdb.h pthread.h)
AC_CHECK_HEADERS(memory.h string.h strings.h time.h sys/time.h pwd.h)
AC_CHECK_HEADERS(fcntl.h assert.h limits.h)
dnl ---------------------------------------------------------------------------
dnl Checks for typedefs, structures, and compiler characteristics.
dnl ---------------------------------------------------------------------------
AC_C_CONST
AC_TYPE_SIZE_T
TYPE_SOCKLEN_T
dnl ---------------------------------------------------------------------------
dnl Checks for library functions.
dnl ---------------------------------------------------------------------------
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(select socket strdup strerror strtol strncasecmp)
AC_CHECK_FUNCS(snprintf vsnprintf __snprintf __vsnprintf strchr strrchr)
AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R
dnl ---------------------------------------------------------------------------
dnl Handle user-specified --enable-FEATURE options.
dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE(compiler-warnings, [ --enable-compiler-warnings=[no/min/yes] Issue warnings? (default=no)], , enable_compiler_warnings=no, enable_compiler_warnings=no)
CFLAGS="-Wall -ggdb -D_REENTRANT"
if test "x$GCC" != "xyes"; then
enable_compiler_warnings = "no";
fi
if test "x$enable_compiler_warnings" != "xno"; then
if test "x$enable_compiler_warnings" = "xmin"; then
CFLAGS="$CFLAGS -g -ansi -pedantic"
fi
if test "x$enable_compiler_warnings" = "xyes"; then
CFLAGS="$CFLAGS \
-g -ansi -pedantic -W -Wtraditional -Wshadow -Wpointer-arith \
-Wcast-qual -Wcast-align -Wwrite-strings -Wconversion \
-Waggregate-return -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -Winline"
fi
fi
AC_OUTPUT(Makefile docs/Makefile src/Makefile intl/Makefile po/Makefile.in)

423
libprozilla/depcomp Executable file
View File

@@ -0,0 +1,423 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 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.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'. We will use -o /dev/null later,
# however we can't do the remplacement now because
# `-o $object' might simply not be used
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
-*)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

View File

@@ -0,0 +1,4 @@
/HACKING/1.6/Fri Sep 7 09:32:56 2001//
/Makefile.am/1.1/Fri Sep 7 09:32:56 2001//
/Makefile.in/1.5/Fri Oct 26 12:13:19 2001//
D

View File

@@ -0,0 +1 @@
libprozilla/docs

View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

198
libprozilla/docs/HACKING Normal file
View File

@@ -0,0 +1,198 @@
-------------------------------------------------------------------------------
Information for developers and contributors
-------------------------------------------------------------------------------
This documentation shall give some hints to developers and contributors.
Please send comments and suggestions to the prozilla mailinglist.
Coding guidelines
-----------------
* Use an indentation width of 2 spaces.
Braces are put on a separate line, not on the same line as the
if/while/for etc. statements. The braces themselves are not indented, only
the code within the braces.
Example:
if (foo == TRUE)
{
while (bar != NULL)
{
do_something("Test.", 19);
do_something_else();
}
}
else
{
printf("Foo is not TRUE.\n");
exit(EXIT_SUCCESS);
}
* Put a space after each comma.
* Do *not* put spaces between the function-name and the opening brace:
Wrong: foo ("Test", 19);
Correct: foo("Test", 19);
* Do not put a space when referring to a pointer.
Wrong: void foo(const char * message);
Correct: void foo(const char *message);
* Do not use any TABs in the code. The only files where you should use TABs
is the ChangeLog and the Makefile.am's.
* Write only 80 characters per line where possible.
Have a look at the already existing code for examples.
Names
-----
Always use good, unabbreviated, correctly-spelled meaningful names.
All functions, variables, enums, #defines etc. which are intended to be used
by the programs which link against libprozilla, are prefixed with proz_
or PROZ_.
Examples:
proz_init();
#define PROZ_MAX_CONNECTIONS 19
etc.
TODO, FIXME and NOTE
--------------------
Use the keywords 'TODO', 'FIXME' and 'NOTE' in the source-code comments
to remind yourself or other developers of things which still need to be
done or fixed.
You can then do a simple 'grep TODO *.[ch]' to find all those comments...
ChangeLog entries
-----------------
Everytime you make a change to any of the files, you must write a ChangeLog
entry with your name, email adress and the date. Please try to write
verbosive comments and also give reasons why you wrote/changed something
if that reason is not obvious...
You can use 'cvs -z3 diff -Nu * | vim -' to view the differences between your
code and the latest CVS-code. Use this as a help to write the ChangeLog entry.
Changes to the file 'ChangeLog' can be omitted, because this file is changed
*everytime* anyway...
If you commit a patch from another developer or a contributor, add his name
and email-adress to the file AUTHORS. Also write a small message in the
ChangeLog which says e.g. 'Applied patch from Joe Foo <foo@bar.com>.'.
Do the same if someone reports and/or fixes a bug: Add him to AUTHORS and add
a ChangeLog entry, e.g. 'Fixed a bug reported by Joe Foo <foo@bar.com>.'.
Comments
--------
* Do not comment obvious code (i++ /* Increment i. */ etc...).
* Only use C-style comments (/* Foo. */) and not C++-style comments (// Foo.).
* All comments should start with a capital letter and end with a dot.
Tools used
----------
We use the following tools for this project:
* autoconf 2.13 or better
ftp://ftp.gnu.org/gnu/autoconf/
* automake 1.4 or better
ftp://ftp.gnu.org/gnu/automake/
Code from other projects
------------------------
* getopt.c, getopt.h:
Purpose: Commandline options parsing code.
Author: ???
License: GPL.
From: ftp://ftp.gnu.org/gnu/glibc/
Comments: Unmodified version from glibc.
* netrc.c, netrc.h:
Purpose: Parse the .netrc file to get hosts, accounts, and passwords.
Author: Gordon Matzigkeit <gord@gnu.ai.mit.edu>
License: GPL
From: ???
Comments: Modified for libprozilla.
* url.c, url.h:
Purpose: URL handling code.
Author: ???
License: GPL.
From: ???
Comments: Modified for libprozilla.
Automatically generated files
-----------------------------
The following files are automatically generated by either aclocal, autoheader
autoconf or automake. Do not edit them directly.
Makefile.in
aclocal.m4
config.h.in
configure
install-sh
missing
mkinstalldirs
stamp-h.in
docs/Makefile.in
src/Makefile.in
common.h
--------
All libprozilla files include the common.h file. This file #includes all
headers we need, #defines some things like TRUE and FALSE, typedefs
a 'boolean' type etc...
Patches
-------
Send your patches (diff -u) to the prozilla mailinglist.
If you changed several things in the code or fixed more than one problem,
please send a separate patch for each of the fixes. If everything is in one
single patch file, the patch is a lot harder to understand, check and apply.
Mailinglists
------------
Read the README.
CVS
---
You can access the libprozilla CVS repository anonymously (read-only access)
by issueing the following commands:
cvs -d :pserver:anonymous@cvs.delrom.ro:/home/cvsroot login
Press enter when prompted for the password.
cvs -d :pserver:anonymous@cvs.delrom.ro:/home/cvsroot co libprozilla

View File

@@ -0,0 +1,6 @@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
EXTRA_DIST = HACKING

View File

@@ -0,0 +1,294 @@
# Makefile.in generated by automake 1.7 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
THREAD_LIBS = @THREAD_LIBS@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = HACKING
subdir = docs
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu docs/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

251
libprozilla/install-sh Executable file
View File

@@ -0,0 +1,251 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

View File

@@ -0,0 +1,34 @@
/ChangeLog/1.2/Fri Sep 7 09:32:56 2001//
/Makefile.in/1.2/Fri Sep 7 09:32:56 2001//
/VERSION/1.2/Fri Sep 7 09:32:56 2001//
/bindtextdom.c/1.2/Fri Sep 7 09:32:56 2001//
/config.charset/1.1/Fri Sep 7 09:32:56 2001//
/dcgettext.c/1.2/Fri Sep 7 09:32:56 2001//
/dcigettext.c/1.1/Fri Sep 7 09:32:56 2001//
/dcngettext.c/1.1/Fri Sep 7 09:32:56 2001//
/dgettext.c/1.2/Fri Sep 7 09:32:56 2001//
/dngettext.c/1.1/Fri Sep 7 09:32:56 2001//
/explodename.c/1.2/Fri Sep 7 09:32:56 2001//
/finddomain.c/1.2/Fri Sep 7 09:32:56 2001//
/gettext.c/1.2/Fri Sep 7 09:32:56 2001//
/gettext.h/1.2/Fri Sep 7 09:32:56 2001//
/gettextP.h/1.2/Fri Sep 7 09:32:56 2001//
/hash-string.h/1.2/Fri Sep 7 09:32:56 2001//
/intl-compat.c/1.2/Fri Sep 7 09:32:56 2001//
/l10nflist.c/1.2/Fri Sep 7 09:32:56 2001//
/libgettext.h/1.2/Fri Sep 7 09:32:56 2001//
/libgnuintl.h/1.1/Fri Sep 7 09:32:56 2001//
/libintl.glibc/1.1/Fri Sep 7 09:32:56 2001//
/loadinfo.h/1.2/Fri Sep 7 09:32:56 2001//
/loadmsgcat.c/1.2/Fri Sep 7 09:32:56 2001//
/localcharset.c/1.1/Fri Sep 7 09:32:56 2001//
/locale.alias/1.1/Fri Sep 7 09:32:56 2001//
/localealias.c/1.2/Fri Sep 7 09:32:56 2001//
/ngettext.c/1.1/Fri Sep 7 09:32:56 2001//
/plural.c/1.1/Fri Sep 7 09:32:56 2001//
/plural.y/1.1/Fri Sep 7 09:32:56 2001//
/po2tbl.sed/1.1/Fri Sep 7 09:32:56 2001//
/ref-add.sin/1.1/Fri Sep 7 09:32:56 2001//
/ref-del.sin/1.1/Fri Sep 7 09:32:56 2001//
/textdomain.c/1.2/Fri Sep 7 09:32:56 2001//
D

View File

@@ -0,0 +1 @@
libprozilla/intl

View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

1746
libprozilla/intl/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,312 @@
# Makefile for directory with message catalog handling in GNU NLS Utilities.
# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ..
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
transform = @program_transform_name@
libdir = @libdir@
includedir = @includedir@
datadir = @datadir@
localedir = $(datadir)/locale
gettextsrcdir = $(datadir)/gettext/intl
aliaspath = $(localedir)
subdir = intl
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@
mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
l = @INTL_LIBTOOL_SUFFIX_PREFIX@
AR = ar
CC = @CC@
LIBTOOL = @LIBTOOL@
RANLIB = @RANLIB@
YACC = @INTLBISON@ -y -d
YFLAGS = --name-prefix=__gettext
DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
-DLIBDIR=\"$(libdir)\" @DEFS@
CPPFLAGS = @CPPFLAGS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h
COMHDRS = gettext.h gettextP.h hash-string.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 \
localcharset.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 localcharset.$lo
GETTOBJS = 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 = libintl.glibc
DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.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=1
LTV_REVISION=1
LTV_AGE=0
.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
all: all-@USE_INCLUDED_LIBINTL@
all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
all-no: all-no-@BUILD_INCLUDED_LIBINTL@
all-no-yes: libgnuintl.$la
all-no-no:
libintl.a libgnuintl.a: $(OBJECTS)
rm -f $@
$(AR) cru $@ $(OBJECTS)
$(RANLIB) $@
libintl.la libgnuintl.la: $(OBJECTS)
$(LIBTOOL) --mode=link \
$(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
$(OBJECTS) @LIBICONV@ \
-version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
-rpath $(libdir) \
-no-undefined
libintl.h: libgnuintl.h
cp $(srcdir)/libgnuintl.h libintl.h
charset.alias: 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.
# If you want to use the one which comes with this version of the
# 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 \
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
$(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
$(LIBTOOL) --mode=install \
$(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
else \
: ; \
fi
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
$(mkinstalldirs) $(DESTDIR)$(libdir); \
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
dest=$(DESTDIR)$(libdir)/charset.alias; \
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
orig=$(DESTDIR)$(libdir)/charset.alias; \
sed -f ref-add.sed $$orig > $$temp; \
$(INSTALL_DATA) $$temp $$dest; \
rm -f $$temp; \
else \
if test @GLIBC21@ = no; then \
orig=charset.alias; \
sed -f ref-add.sed $$orig > $$temp; \
$(INSTALL_DATA) $$temp $$dest; \
rm -f $$temp; \
fi; \
fi; \
$(mkinstalldirs) $(DESTDIR)$(localedir); \
test -f $(DESTDIR)$(localedir)/locale.alias \
&& orig=$(DESTDIR)$(localedir)/locale.alias \
|| orig=$(srcdir)/locale.alias; \
temp=$(DESTDIR)$(localedir)/t-locale.alias; \
dest=$(DESTDIR)$(localedir)/locale.alias; \
sed -f ref-add.sed $$orig > $$temp; \
$(INSTALL_DATA) $$temp $$dest; \
rm -f $$temp; \
else \
: ; \
fi
install-data: all
if test "$(PACKAGE)" = "gettext"; then \
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
$(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
$(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
dists="$(DISTFILES.common)"; \
for file in $$dists; do \
$(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
dists="$(DISTFILES.generated)"; \
for file in $$dists; do \
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
$(INSTALL_DATA) $$dir/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
dists="$(DISTFILES.obsolete)"; \
for file in $$dists; do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \
: ; \
fi
# Define this as empty until I found a useful application.
installcheck:
uninstall:
if test "$(PACKAGE)" = "gettext" \
&& test '@INTLOBJS@' = '$(GETTOBJS)'; then \
rm -f $(DESTDIR)$(includedir)/libintl.h; \
$(LIBTOOL) --mode=uninstall \
rm -f $(DESTDIR)$(libdir)/libintl.$la; \
else \
: ; \
fi
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
dest=$(DESTDIR)$(libdir)/charset.alias; \
sed -f ref-del.sed $$dest > $$temp; \
if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
rm -f $$dest; \
else \
$(INSTALL_DATA) $$temp $$dest; \
fi; \
rm -f $$temp; \
fi; \
if test -f $(DESTDIR)$(localedir)/locale.alias; then \
temp=$(DESTDIR)$(localedir)/t-locale.alias; \
dest=$(DESTDIR)$(localedir)/locale.alias; \
sed -f ref-del.sed $$dest > $$temp; \
if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
rm -f $$dest; \
else \
$(INSTALL_DATA) $$temp $$dest; \
fi; \
rm -f $$temp; \
fi; \
else \
: ; \
fi
if test "$(PACKAGE)" = "gettext"; then \
for file in VERSION ChangeLog $(DISTFILES.common) $(DISTFILES.generated); do \
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
done; \
else \
: ; \
fi
info dvi:
$(OBJECTS): ../config.h libgnuintl.h
bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
tags: TAGS
TAGS: $(HEADERS) $(SOURCES)
here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
id: ID
ID: $(HEADERS) $(SOURCES)
here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
mostlyclean:
rm -f *.a *.la *.o *.lo core core.*
rm -f 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 \
rm -f ChangeLog.inst $(DISTFILES.normal); \
else \
: ; \
fi
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
# GNU gettext needs not contain the file `VERSION' but contains some
# 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)"; \
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; \
ln $$dir/$$file $(distdir) 2> /dev/null \
|| cp -p $$dir/$$file $(distdir); \
done
Makefile: Makefile.in ../config.status
cd .. \
&& 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.
.NOEXPORT:

1
libprozilla/intl/VERSION Normal file
View File

@@ -0,0 +1 @@
GNU gettext library from gettext-0.10.38

View File

@@ -0,0 +1,368 @@
/* Implementation of the bindtextdomain(3) function
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
#include "gettextP.h"
#ifdef _LIBC
/* We have to handle multi-threaded applications. */
# include <bits/libc-lock.h>
#else
/* Provide dummy implementation if this is outside glibc. */
# define __libc_rwlock_define(CLASS, NAME)
# define __libc_rwlock_wrlock(NAME)
# define __libc_rwlock_unlock(NAME)
#endif
/* The internal variables in the standalone libintl.a must have different
names than the internal variables in GNU libc, otherwise programs
using libintl.a cannot be linked statically. */
#if !defined _LIBC
# define _nl_default_dirname _nl_default_dirname__
# define _nl_domain_bindings _nl_domain_bindings__
#endif
/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
#ifndef offsetof
# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
#endif
/* @@ end of prolog @@ */
/* Contains the default location of the message catalogs. */
extern const char _nl_default_dirname[];
/* List with bindings of specific domains. */
extern struct binding *_nl_domain_bindings;
/* Lock variable to protect the global data in the gettext implementation. */
__libc_rwlock_define (extern, _nl_state_lock)
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define BINDTEXTDOMAIN __bindtextdomain
# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
# ifndef strdup
# define strdup(str) __strdup (str)
# endif
#else
# define BINDTEXTDOMAIN bindtextdomain__
# define BIND_TEXTDOMAIN_CODESET 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
modified, only the current value is returned.
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;
{
struct binding *binding;
int modified;
/* Some sanity checks. */
if (domainname == NULL || domainname[0] == '\0')
{
if (dirnamep)
*dirnamep = NULL;
if (codesetp)
*codesetp = NULL;
return;
}
__libc_rwlock_wrlock (_nl_state_lock);
modified = 0;
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
{
int compare = strcmp (domainname, binding->domainname);
if (compare == 0)
/* We found it! */
break;
if (compare < 0)
{
/* It is not in the list. */
binding = NULL;
break;
}
}
if (binding != NULL)
{
if (dirnamep)
{
const char *dirname = *dirnamep;
if (dirname == NULL)
/* The current binding has be to returned. */
*dirnamep = binding->dirname;
else
{
/* The domain is already bound. If the new value and the old
one are equal we simply do nothing. Otherwise replace the
old binding. */
char *result = binding->dirname;
if (strcmp (dirname, result) != 0)
{
if (strcmp (dirname, _nl_default_dirname) == 0)
result = (char *) _nl_default_dirname;
else
{
#if defined _LIBC || defined HAVE_STRDUP
result = strdup (dirname);
#else
size_t len = strlen (dirname) + 1;
result = (char *) malloc (len);
if (__builtin_expect (result != NULL, 1))
memcpy (result, dirname, len);
#endif
}
if (__builtin_expect (result != NULL, 1))
{
if (binding->dirname != _nl_default_dirname)
free (binding->dirname);
binding->dirname = result;
modified = 1;
}
}
*dirnamep = result;
}
}
if (codesetp)
{
const char *codeset = *codesetp;
if (codeset == NULL)
/* The current binding has be to returned. */
*codesetp = binding->codeset;
else
{
/* The domain is already bound. If the new value and the old
one are equal we simply do nothing. Otherwise replace the
old binding. */
char *result = binding->codeset;
if (result == NULL || strcmp (codeset, result) != 0)
{
#if defined _LIBC || defined HAVE_STRDUP
result = strdup (codeset);
#else
size_t len = strlen (codeset) + 1;
result = (char *) malloc (len);
if (__builtin_expect (result != NULL, 1))
memcpy (result, codeset, len);
#endif
if (__builtin_expect (result != NULL, 1))
{
if (binding->codeset != NULL)
free (binding->codeset);
binding->codeset = result;
binding->codeset_cntr++;
modified = 1;
}
}
*codesetp = result;
}
}
}
else if ((dirnamep == NULL || *dirnamep == NULL)
&& (codesetp == NULL || *codesetp == NULL))
{
/* Simply return the default values. */
if (dirnamep)
*dirnamep = _nl_default_dirname;
if (codesetp)
*codesetp = NULL;
}
else
{
/* We have to create a new binding. */
size_t len = strlen (domainname) + 1;
struct binding *new_binding =
(struct binding *) malloc (offsetof (struct binding, domainname) + len);
if (__builtin_expect (new_binding == NULL, 0))
goto failed;
memcpy (new_binding->domainname, domainname, len);
if (dirnamep)
{
const char *dirname = *dirnamep;
if (dirname == NULL)
/* The default value. */
dirname = _nl_default_dirname;
else
{
if (strcmp (dirname, _nl_default_dirname) == 0)
dirname = _nl_default_dirname;
else
{
char *result;
#if defined _LIBC || defined HAVE_STRDUP
result = strdup (dirname);
if (__builtin_expect (result == NULL, 0))
goto failed_dirname;
#else
size_t len = strlen (dirname) + 1;
result = (char *) malloc (len);
if (__builtin_expect (result == NULL, 0))
goto failed_dirname;
memcpy (result, dirname, len);
#endif
dirname = result;
}
}
*dirnamep = dirname;
new_binding->dirname = (char *) dirname;
}
else
/* The default value. */
new_binding->dirname = (char *) _nl_default_dirname;
new_binding->codeset_cntr = 0;
if (codesetp)
{
const char *codeset = *codesetp;
if (codeset != NULL)
{
char *result;
#if defined _LIBC || defined HAVE_STRDUP
result = strdup (codeset);
if (__builtin_expect (result == NULL, 0))
goto failed_codeset;
#else
size_t len = strlen (codeset) + 1;
result = (char *) malloc (len);
if (__builtin_expect (result == NULL, 0))
goto failed_codeset;
memcpy (result, codeset, len);
#endif
codeset = result;
new_binding->codeset_cntr++;
}
*codesetp = codeset;
new_binding->codeset = (char *) codeset;
}
else
new_binding->codeset = NULL;
/* Now enqueue it. */
if (_nl_domain_bindings == NULL
|| strcmp (domainname, _nl_domain_bindings->domainname) < 0)
{
new_binding->next = _nl_domain_bindings;
_nl_domain_bindings = new_binding;
}
else
{
binding = _nl_domain_bindings;
while (binding->next != NULL
&& strcmp (domainname, binding->next->domainname) > 0)
binding = binding->next;
new_binding->next = binding->next;
binding->next = new_binding;
}
modified = 1;
/* Here we deal with memory allocation failures. */
if (0)
{
failed_codeset:
if (new_binding->dirname != _nl_default_dirname)
free (new_binding->dirname);
failed_dirname:
free (new_binding);
failed:
if (dirnamep)
*dirnamep = NULL;
if (codesetp)
*codesetp = NULL;
}
}
/* If we modified any binding, we flush the caches. */
if (modified)
++_nl_msg_cat_cntr;
__libc_rwlock_unlock (_nl_state_lock);
}
/* 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;
{
set_binding_values (domainname, &dirname, NULL);
return (char *) dirname;
}
/* 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;
{
set_binding_values (domainname, NULL, &codeset);
return (char *) codeset;
}
#ifdef _LIBC
/* Aliases for function names in GNU C Library. */
weak_alias (__bindtextdomain, bindtextdomain);
weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
#endif

438
libprozilla/intl/config.charset Executable file
View File

@@ -0,0 +1,438 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
# Copyright (C) 2000-2001 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.
#
# The table consists of lines of the form
# ALIAS CANONICAL
#
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
# ALIAS is compared in a case sensitive way.
#
# CANONICAL is the GNU canonical name for this character encoding.
# It must be an encoding supported by libiconv. Support by GNU libc is
# also desirable. CANONICAL is case insensitive. Usually an upper case
# MIME charset name is preferred.
# The current list of GNU canonical charset names is as follows.
#
# name 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 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-15 glibc aix osf solaris freebsd
# KOI8-R glibc solaris freebsd yes
# KOI8-U glibc freebsd yes
# 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 win32 dos
# CP922 aix
# CP932 aix win32 dos
# CP943 aix
# CP949 osf win32 dos
# CP950 win32 dos
# CP1046 aix
# CP1124 aix
# CP1129 aix
# CP1250 win32
# CP1251 glibc win32
# CP1252 aix win32
# CP1253 win32
# CP1254 win32
# CP1255 win32
# CP1256 win32
# CP1257 win32
# 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
# BIG5HKSCS glibc
# GBK aix osf win32 dos
# GB18030 glibc
# SJIS hpux osf solaris freebsd
# JOHAB glibc win32
# TIS-620 glibc aix hpux osf solaris
# VISCII glibc yes
# 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
#
# Note: Names which are not marked as being a MIME name should not be used in
# Internet protocols for information interchange (mail, news, etc.).
#
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
# must understand both names and treat them as equivalent.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
host="$1"
os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
echo "# This file contains a table of character encoding aliases,"
echo "# suitable for operating system '${os}'."
echo "# It was automatically generated from config.charset."
# List of references, updated during installation:
echo "# Packages using this file: "
case "$os" in
linux* | *-gnu*)
# With glibc-2.1 or newer, we don't need any canonicalization,
# because glibc has iconv and both glibc and libiconv support all
# GNU canonical names directly. Therefore, the Makefile does not
# need to install the alias file at all.
# The following applies only to glibc-2.0.x and older libcs.
echo "ISO_646.IRV:1983 ASCII"
;;
aix*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-6 ISO-8859-6"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "IBM-850 CP850"
echo "IBM-856 CP856"
echo "IBM-921 ISO-8859-13"
echo "IBM-922 CP922"
echo "IBM-932 CP932"
echo "IBM-943 CP943"
echo "IBM-1046 CP1046"
echo "IBM-1124 CP1124"
echo "IBM-1129 CP1129"
echo "IBM-1252 CP1252"
echo "IBM-eucCN GB2312"
echo "IBM-eucJP EUC-JP"
echo "IBM-eucKR EUC-KR"
echo "IBM-eucTW EUC-TW"
echo "big5 BIG5"
echo "GBK GBK"
echo "TIS-620 TIS-620"
echo "UTF-8 UTF-8"
;;
hpux*)
echo "iso88591 ISO-8859-1"
echo "iso88592 ISO-8859-2"
echo "iso88595 ISO-8859-5"
echo "iso88596 ISO-8859-6"
echo "iso88597 ISO-8859-7"
echo "iso88598 ISO-8859-8"
echo "iso88599 ISO-8859-9"
echo "iso885915 ISO-8859-15"
echo "roman8 HP-ROMAN8"
echo "arabic8 HP-ARABIC8"
echo "greek8 HP-GREEK8"
echo "hebrew8 HP-HEBREW8"
echo "turkish8 HP-TURKISH8"
echo "kana8 HP-KANA8"
echo "tis620 TIS-620"
echo "big5 BIG5"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
echo "hp15CN GB2312"
#echo "ccdc ?" # what is this?
echo "SJIS SJIS"
echo "utf8 UTF-8"
;;
irix*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-9 ISO-8859-9"
echo "eucCN GB2312"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
;;
osf*)
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "cp850 CP850"
echo "big5 BIG5"
echo "dechanyu DEC-HANYU"
echo "dechanzi GB2312"
echo "deckanji DEC-KANJI"
echo "deckorean EUC-KR"
echo "eucJP EUC-JP"
echo "eucKR EUC-KR"
echo "eucTW EUC-TW"
echo "GBK GBK"
echo "KSC5601 CP949"
echo "sdeckanji EUC-JP"
echo "SJIS SJIS"
echo "TACTIS TIS-620"
echo "UTF-8 UTF-8"
;;
solaris*)
echo "646 ASCII"
echo "ISO8859-1 ISO-8859-1"
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
echo "ISO8859-6 ISO-8859-6"
echo "ISO8859-7 ISO-8859-7"
echo "ISO8859-8 ISO-8859-8"
echo "ISO8859-9 ISO-8859-9"
echo "ISO8859-15 ISO-8859-15"
echo "koi8-r KOI8-R"
echo "BIG5 BIG5"
echo "gb2312 GB2312"
echo "cns11643 EUC-TW"
echo "5601 EUC-KR"
echo "eucJP EUC-JP"
echo "PCK SJIS"
echo "TIS620.2533 TIS-620"
#echo "sun_eu_greek ?" # what is this?
echo "UTF-8 UTF-8"
;;
freebsd*)
# FreeBSD 4.2 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 "US-ASCII ASCII"
for l in la_LN lt_LN; do
echo "$l.ASCII ASCII"
done
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
echo "$l.ISO_8859-1 ISO-8859-1"
echo "$l.DIS_8859-15 ISO-8859-15"
done
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
echo "$l.ISO_8859-2 ISO-8859-2"
done
for l in la_LN lt_LT; do
echo "$l.ISO_8859-4 ISO-8859-4"
done
for l in ru_RU ru_SU; do
echo "$l.KOI8-R KOI8-R"
echo "$l.ISO_8859-5 ISO-8859-5"
echo "$l.CP866 CP866"
done
echo "uk_UA.KOI8-U KOI8-U"
echo "zh_TW.BIG5 BIG5"
echo "zh_TW.Big5 BIG5"
echo "zh_CN.EUC GB2312"
echo "ja_JP.EUC EUC-JP"
echo "ja_JP.SJIS SJIS"
echo "ja_JP.Shift_JIS SJIS"
echo "ko_KR.EUC EUC-KR"
;;
beos*)
# BeOS has a single locale, and it has UTF-8 encoding.
echo "* UTF-8"
;;
msdosdjgpp*)
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
echo "#"
echo "# The encodings given here may not all be correct."
echo "# If you find that the encoding given for your language and"
echo "# country is not the one your DOS machine actually uses, just"
echo "# correct it in this file, and send a mail to"
echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
echo "# and Bruno Haible <haible@clisp.cons.org>."
echo "#"
echo "C ASCII"
# ISO-8859-1 languages
echo "ca CP850"
echo "ca_ES CP850"
echo "da CP865" # not CP850 ??
echo "da_DK CP865" # not CP850 ??
echo "de CP850"
echo "de_AT CP850"
echo "de_CH CP850"
echo "de_DE CP850"
echo "en CP850"
echo "en_AU CP850" # not CP437 ??
echo "en_CA CP850"
echo "en_GB CP850"
echo "en_NZ CP437"
echo "en_US CP437"
echo "en_ZA CP850" # not CP437 ??
echo "es CP850"
echo "es_AR CP850"
echo "es_BO CP850"
echo "es_CL CP850"
echo "es_CO CP850"
echo "es_CR CP850"
echo "es_CU CP850"
echo "es_DO CP850"
echo "es_EC CP850"
echo "es_ES CP850"
echo "es_GT CP850"
echo "es_HN CP850"
echo "es_MX CP850"
echo "es_NI CP850"
echo "es_PA CP850"
echo "es_PY CP850"
echo "es_PE CP850"
echo "es_SV CP850"
echo "es_UY CP850"
echo "es_VE CP850"
echo "et CP850"
echo "et_EE CP850"
echo "eu CP850"
echo "eu_ES CP850"
echo "fi CP850"
echo "fi_FI CP850"
echo "fr CP850"
echo "fr_BE CP850"
echo "fr_CA CP850"
echo "fr_CH CP850"
echo "fr_FR CP850"
echo "ga CP850"
echo "ga_IE CP850"
echo "gd CP850"
echo "gd_GB CP850"
echo "gl CP850"
echo "gl_ES CP850"
echo "id CP850" # not CP437 ??
echo "id_ID CP850" # not CP437 ??
echo "is CP861" # not CP850 ??
echo "is_IS CP861" # not CP850 ??
echo "it CP850"
echo "it_CH CP850"
echo "it_IT CP850"
echo "lt CP775"
echo "lt_LT CP775"
echo "lv CP775"
echo "lv_LV CP775"
echo "nb CP865" # not CP850 ??
echo "nb_NO CP865" # not CP850 ??
echo "nl CP850"
echo "nl_BE CP850"
echo "nl_NL CP850"
echo "nn CP865" # not CP850 ??
echo "nn_NO CP865" # not CP850 ??
echo "no CP865" # not CP850 ??
echo "no_NO CP865" # not CP850 ??
echo "pt CP850"
echo "pt_BR CP850"
echo "pt_PT CP850"
echo "sv CP850"
echo "sv_SE CP850"
# ISO-8859-2 languages
echo "cs CP852"
echo "cs_CZ CP852"
echo "hr CP852"
echo "hr_HR CP852"
echo "hu CP852"
echo "hu_HU CP852"
echo "pl CP852"
echo "pl_PL CP852"
echo "ro CP852"
echo "ro_RO CP852"
echo "sk CP852"
echo "sk_SK CP852"
echo "sl CP852"
echo "sl_SI CP852"
echo "sq CP852"
echo "sq_AL CP852"
echo "sr CP852" # CP852 or CP866 or CP855 ??
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
# ISO-8859-3 languages
echo "mt CP850"
echo "mt_MT CP850"
# ISO-8859-5 languages
echo "be CP866"
echo "be_BE CP866"
echo "bg CP866" # not CP855 ??
echo "bg_BG CP866" # not CP855 ??
echo "mk CP866" # not CP855 ??
echo "mk_MK CP866" # not CP855 ??
echo "ru KOI8-R" # not CP866 ??
echo "ru_RU KOI8-R" # not CP866 ??
# ISO-8859-6 languages
echo "ar CP864"
echo "ar_AE CP864"
echo "ar_DZ CP864"
echo "ar_EG CP864"
echo "ar_IQ CP864"
echo "ar_IR CP864"
echo "ar_JO CP864"
echo "ar_KW CP864"
echo "ar_MA CP864"
echo "ar_OM CP864"
echo "ar_QA CP864"
echo "ar_SA CP864"
echo "ar_SY CP864"
# ISO-8859-7 languages
echo "el CP869"
echo "el_GR CP869"
# ISO-8859-8 languages
echo "he CP862"
echo "he_IL CP862"
# ISO-8859-9 languages
echo "tr CP857"
echo "tr_TR CP857"
# Japanese
echo "ja CP932"
echo "ja_JP CP932"
# Chinese
echo "zh_CN GBK"
echo "zh_TW CP950" # not CP938 ??
# Korean
echo "kr CP949" # not CP934 ??
echo "kr_KR CP949" # not CP934 ??
# Thai
echo "th CP874"
echo "th_TH CP874"
# Other
echo "eo CP850"
echo "eo_EO CP850"
;;
esac

View File

@@ -0,0 +1,57 @@
/* Implementation of the dcgettext(3) function.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define DCGETTEXT __dcgettext
# define DCIGETTEXT __dcigettext
#else
# define DCGETTEXT dcgettext__
# define DCIGETTEXT dcigettext__
#endif
/* 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;
{
return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__dcgettext, dcgettext);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
/* Implementation of the dcngettext(3) function.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define DCNGETTEXT __dcngettext
# define DCIGETTEXT __dcigettext
#else
# define DCNGETTEXT dcngettext__
# define DCIGETTEXT dcigettext__
#endif
/* 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;
{
return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__dcngettext, dcngettext);
#endif

View File

@@ -0,0 +1,58 @@
/* Implementation of the dgettext(3) function.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define DGETTEXT __dgettext
# define DCGETTEXT __dcgettext
#else
# define DGETTEXT dgettext__
# define DCGETTEXT dcgettext__
#endif
/* Look up MSGID in the DOMAINNAME message catalog of the current
LC_MESSAGES locale. */
char *
DGETTEXT (domainname, msgid)
const char *domainname;
const char *msgid;
{
return DCGETTEXT (domainname, msgid, LC_MESSAGES);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__dgettext, dgettext);
#endif

View File

@@ -0,0 +1,60 @@
/* Implementation of the dngettext(3) function.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <locale.h>
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define DNGETTEXT __dngettext
# define DCNGETTEXT __dcngettext
#else
# define DNGETTEXT dngettext__
# define DCNGETTEXT dcngettext__
#endif
/* 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;
{
return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__dngettext, dngettext);
#endif

View File

@@ -0,0 +1,191 @@
/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "loadinfo.h"
/* On some strange systems still no definition of NULL is found. Sigh! */
#ifndef NULL
# if defined __STDC__ && __STDC__
# define NULL ((void *) 0)
# else
# define NULL 0
# endif
#endif
/* @@ end of prolog @@ */
char *
_nl_find_language (name)
const char *name;
{
while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
&& name[0] != '+' && name[0] != ',')
++name;
return (char *) name;
}
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;
{
enum { undecided, xpg, cen } syntax;
char *cp;
int mask;
*modifier = NULL;
*territory = NULL;
*codeset = NULL;
*normalized_codeset = NULL;
*special = NULL;
*sponsor = NULL;
*revision = NULL;
/* Now we determine the single parts of the locale name. First
look for the language. Termination symbols are `_' and `@' if
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
mask = 0;
syntax = undecided;
*language = cp = name;
cp = _nl_find_language (*language);
if (*language == cp)
/* This does not make sense: language has to be specified. Use
this entry as it is without exploding. Perhaps it is an alias. */
cp = strchr (*language, '\0');
else if (cp[0] == '_')
{
/* Next is the territory. */
cp[0] = '\0';
*territory = ++cp;
while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
&& cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
++cp;
mask |= TERRITORY;
if (cp[0] == '.')
{
/* Next is the codeset. */
syntax = xpg;
cp[0] = '\0';
*codeset = ++cp;
while (cp[0] != '\0' && cp[0] != '@')
++cp;
mask |= XPG_CODESET;
if (*codeset != cp && (*codeset)[0] != '\0')
{
*normalized_codeset = _nl_normalize_codeset (*codeset,
cp - *codeset);
if (strcmp (*codeset, *normalized_codeset) == 0)
free ((char *) *normalized_codeset);
else
mask |= XPG_NORM_CODESET;
}
}
}
if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
{
/* Next is the modifier. */
syntax = cp[0] == '@' ? xpg : cen;
cp[0] = '\0';
*modifier = ++cp;
while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
&& cp[0] != ',' && cp[0] != '_')
++cp;
mask |= XPG_MODIFIER | CEN_AUDIENCE;
}
if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
{
syntax = cen;
if (cp[0] == '+')
{
/* Next is special application (CEN syntax). */
cp[0] = '\0';
*special = ++cp;
while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
++cp;
mask |= CEN_SPECIAL;
}
if (cp[0] == ',')
{
/* Next is sponsor (CEN syntax). */
cp[0] = '\0';
*sponsor = ++cp;
while (cp[0] != '\0' && cp[0] != '_')
++cp;
mask |= CEN_SPONSOR;
}
if (cp[0] == '_')
{
/* Next is revision (CEN syntax). */
cp[0] = '\0';
*revision = ++cp;
mask |= CEN_REVISION;
}
}
/* For CEN syntax values it might be important to have the
separator character in the file name, not for XPG syntax. */
if (syntax == xpg)
{
if (*territory != NULL && (*territory)[0] == '\0')
mask &= ~TERRITORY;
if (*codeset != NULL && (*codeset)[0] == '\0')
mask &= ~XPG_CODESET;
if (*modifier != NULL && (*modifier)[0] == '\0')
mask &= ~XPG_MODIFIER;
}
return mask;
}

View File

@@ -0,0 +1,197 @@
/* Handle list of needed message catalogs
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#if defined HAVE_UNISTD_H || defined _LIBC
# include <unistd.h>
#endif
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* List of already loaded domains. */
static struct loaded_l10nfile *_nl_loaded_domains;
/* Return a data structure describing the message catalog described by
the DOMAINNAME and CATEGORY parameters with respect to the currently
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;
{
struct loaded_l10nfile *retval;
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;
const char *alias_value;
int mask;
/* LOCALE can consist of up to four recognized parts for the XPG syntax:
language[_territory[.codeset]][@modifier]
and six parts for the CEN syntax:
language[_territory][+audience][+special][,[sponsor][_revision]]
Beside the first part all of them are allowed to be missing. If
the full specified locale is not found, the less specific one are
looked for. The various parts will be stripped off according to
the following order:
(1) revision
(2) sponsor
(3) special
(4) codeset
(5) normalized codeset
(6) territory
(7) audience/modifier
*/
/* If we have already tested for this locale entry there has to
be one data set in the list of loaded domains. */
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
strlen (dirname) + 1, 0, locale, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, domainname, 0);
if (retval != NULL)
{
/* We know something about this locale. */
int cnt;
if (retval->decided == 0)
_nl_load_domain (retval, domainbinding);
if (retval->data != NULL)
return retval;
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
{
if (retval->successor[cnt]->decided == 0)
_nl_load_domain (retval->successor[cnt], domainbinding);
if (retval->successor[cnt]->data != NULL)
break;
}
return cnt >= 0 ? retval : NULL;
/* NOTREACHED */
}
/* See whether the locale value is an alias. If yes its value
*overwrites* the alias name. No test for the original value is
done. */
alias_value = _nl_expand_alias (locale);
if (alias_value != NULL)
{
#if defined _LIBC || defined HAVE_STRDUP
locale = strdup (alias_value);
if (locale == NULL)
return NULL;
#else
size_t len = strlen (alias_value) + 1;
locale = (char *) malloc (len);
if (locale == NULL)
return NULL;
memcpy (locale, alias_value, len);
#endif
}
/* Now we determine the single parts of the locale name. First
look for the language. Termination symbols are `_' and `@' if
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
mask = _nl_explode_name (locale, &language, &modifier, &territory,
&codeset, &normalized_codeset, &special,
&sponsor, &revision);
/* Create all possible locale entries which might be interested in
generalization. */
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
strlen (dirname) + 1, mask, language, territory,
codeset, normalized_codeset, modifier, special,
sponsor, revision, domainname, 1);
if (retval == NULL)
/* This means we are out of core. */
return NULL;
if (retval->decided == 0)
_nl_load_domain (retval, domainbinding);
if (retval->data == NULL)
{
int cnt;
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
{
if (retval->successor[cnt]->decided == 0)
_nl_load_domain (retval->successor[cnt], domainbinding);
if (retval->successor[cnt]->data != NULL)
break;
}
}
/* The room for an alias was dynamically allocated. Free it now. */
if (alias_value != NULL)
free (locale);
/* The space for normalized_codeset is dynamically allocated. Free it. */
if (mask & XPG_NORM_CODESET)
free ((void *) normalized_codeset);
return retval;
}
#ifdef _LIBC
static void __attribute__ ((unused))
free_mem (void)
{
struct loaded_l10nfile *runp = _nl_loaded_domains;
while (runp != NULL)
{
struct loaded_l10nfile *here = runp;
if (runp->data != NULL)
_nl_unload_domain ((struct loaded_domain *) runp->data);
runp = runp->next;
free ((char *) here->filename);
free (here);
}
}
text_set_element (__libc_subfreeres, free_mem);
#endif

View File

@@ -0,0 +1,63 @@
/* Implementation of gettext(3) function.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef _LIBC
# define __need_NULL
# include <stddef.h>
#else
# include <stdlib.h> /* Just for NULL. */
#endif
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define GETTEXT __gettext
# define DCGETTEXT __dcgettext
#else
# define GETTEXT gettext__
# define DCGETTEXT dcgettext__
#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). */
char *
GETTEXT (msgid)
const char *msgid;
{
return DCGETTEXT (NULL, msgid, LC_MESSAGES);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__gettext, gettext);
#endif

101
libprozilla/intl/gettext.h Normal file
View File

@@ -0,0 +1,101 @@
/* Description of GNU message catalog format: general file layout.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _GETTEXT_H
#define _GETTEXT_H 1
#if HAVE_LIMITS_H || _LIBC
# include <limits.h>
#endif
/* @@ end of prolog @@ */
/* The magic number of the GNU message catalog format. */
#define _MAGIC 0x950412de
#define _MAGIC_SWAPPED 0xde120495
/* Revision number of the currently used .mo (binary) file format. */
#define MO_REVISION_NUMBER 0
/* The following contortions are an attempt to use the C preprocessor
to determine an unsigned integral type that is 32 bits wide. An
alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
when cross-compiling. */
#if __STDC__
# define UINT_MAX_32_BITS 4294967295U
#else
# define UINT_MAX_32_BITS 0xFFFFFFFF
#endif
/* If UINT_MAX isn't defined, assume it's a 32-bit type.
This should be valid for all systems GNU cares about because
that doesn't include 16-bit systems, and only modern systems
(that certainly have <limits.h>) have 64+-bit integral types. */
#ifndef UINT_MAX
# define UINT_MAX UINT_MAX_32_BITS
#endif
#if UINT_MAX == UINT_MAX_32_BITS
typedef unsigned nls_uint32;
#else
# if USHRT_MAX == UINT_MAX_32_BITS
typedef unsigned short nls_uint32;
# else
# if ULONG_MAX == UINT_MAX_32_BITS
typedef unsigned long nls_uint32;
# else
/* The following line is intended to throw an error. Using #error is
not portable enough. */
"Cannot determine unsigned 32-bit data type."
# endif
# endif
#endif
/* Header for binary .mo file format. */
struct mo_file_header
{
/* The magic number. */
nls_uint32 magic;
/* The revision number of the file format. */
nls_uint32 revision;
/* 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. */
nls_uint32 trans_tab_offset;
/* Size of hashing table. */
nls_uint32 hash_tab_size;
/* Offset of first hashing entry. */
nls_uint32 hash_tab_offset;
};
struct string_desc
{
/* Length of addressed string. */
nls_uint32 length;
/* Offset of string in file. */
nls_uint32 offset;
};
/* @@ begin of epilog @@ */
#endif /* gettext.h */

251
libprozilla/intl/gettextP.h Normal file
View File

@@ -0,0 +1,251 @@
/* Header describing internals of libintl library.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _GETTEXTP_H
#define _GETTEXTP_H
#include <stddef.h> /* Get size_t. */
#ifdef _LIBC
# include "../iconv/gconv_int.h"
#else
# if HAVE_ICONV
# include <iconv.h>
# endif
#endif
#include "loadinfo.h"
#include "gettext.h" /* Get nls_uint32. */
/* @@ end of prolog @@ */
#ifndef PARAMS
# if __STDC__
# define PARAMS(args) args
# else
# define PARAMS(args) ()
# endif
#endif
#ifndef internal_function
# define internal_function
#endif
/* Tell the compiler when a conditional or integer expression is
almost always true or almost always false. */
#ifndef HAVE_BUILTIN_EXPECT
# define __builtin_expect(expr, val) (expr)
#endif
#ifndef W
# define W(flag, data) ((flag) ? SWAP (data) : (data))
#endif
#ifdef _LIBC
# include <byteswap.h>
# define SWAP(i) bswap_32 (i)
#else
static inline nls_uint32
SWAP (i)
nls_uint32 i;
{
return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
}
#endif
/* This is the representation of the expressions to determine the
plural form. */
struct expression
{
int nargs; /* Number of arguments. */
enum operator
{
/* Without arguments: */
var, /* The variable "n". */
num, /* Decimal number. */
/* Unary operators: */
lnot, /* Logical NOT. */
/* Binary operators: */
mult, /* Multiplication. */
divide, /* Division. */
module, /* Module operation. */
plus, /* Addition. */
minus, /* Subtraction. */
less_than, /* Comparison. */
greater_than, /* Comparison. */
less_or_equal, /* Comparison. */
greater_or_equal, /* Comparison. */
equal, /* Comparision for equality. */
not_equal, /* Comparision for inequality. */
land, /* Logical AND. */
lor, /* Logical OR. */
/* Ternary operators: */
qmop /* Question mark operator. */
} operation;
union
{
unsigned long int num; /* Number value for `num'. */
struct expression *args[3]; /* Up to three arguments. */
} val;
};
/* This is the data structure to pass information to the parser and get
the result in a thread-safe way. */
struct parse_args
{
const char *cp;
struct expression *res;
};
/* The representation of an opened message catalog. */
struct loaded_domain
{
const char *data;
int use_mmap;
size_t mmap_size;
int must_swap;
nls_uint32 nstrings;
struct string_desc *orig_tab;
struct string_desc *trans_tab;
nls_uint32 hash_size;
nls_uint32 *hash_tab;
int codeset_cntr;
#ifdef _LIBC
__gconv_t conv;
#else
# if HAVE_ICONV
iconv_t conv;
# endif
#endif
char **conv_tab;
struct expression *plural;
unsigned long int nplurals;
};
/* We want to allocate a string at the end of the struct. But ISO C
doesn't allow zero sized arrays. */
#ifdef __GNUC__
# define ZERO 0
#else
# define ZERO 1
#endif
/* A set of settings bound to a message domain. Used to store settings
from bindtextdomain() and bind_textdomain_codeset(). */
struct binding
{
struct binding *next;
char *dirname;
int codeset_cntr; /* Incremented each time codeset changes. */
char *codeset;
char domainname[ZERO];
};
/* A counter which is incremented each time some previous translations
become invalid.
This variable is part of the external ABI of the GNU libintl. */
extern int _nl_msg_cat_cntr;
struct loaded_l10nfile *_nl_find_domain PARAMS ((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))
internal_function;
void _nl_unload_domain PARAMS ((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))
internal_function;
void _nl_free_domain_conv PARAMS ((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))
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));
#else
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));
#endif
#ifdef _LIBC
extern void __gettext_free_exp PARAMS ((struct expression *exp))
internal_function;
extern int __gettextparse PARAMS ((void *arg));
#else
extern void gettext_free_exp__ PARAMS ((struct expression *exp))
internal_function;
extern int gettextparse__ PARAMS ((void *arg));
#endif
/* @@ begin of epilog @@ */
#endif /* gettextP.h */

View File

@@ -0,0 +1,58 @@
/* Description of GNU message catalog format: string hashing function.
Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* @@ end of prolog @@ */
#ifndef PARAMS
# if __STDC__
# 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
/* 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;
{
unsigned long int hval, g;
const char *str = str_param;
/* Compute the hash value for the given string. */
hval = 0;
while (*str != '\0')
{
hval <<= 4;
hval += (unsigned long int) *str++;
g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
if (g != 0)
{
hval ^= g >> (HASHWORDBITS - 8);
hval ^= g;
}
}
return hval;
}

View File

@@ -0,0 +1,165 @@
/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
Library.
Copyright (C) 1995, 2000, 2001 Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "libgnuintl.h"
#include "gettextP.h"
/* @@ end of prolog @@ */
/* This file redirects the gettext functions (without prefix or suffix) to
those defined in the included GNU gettext library (with "__" suffix).
It is compiled into libintl when the included GNU gettext library is
configured --with-included-gettext.
This redirection works also in the case that the system C library or
the system libintl library contain gettext/textdomain/... functions.
If it didn't, we would need to add preprocessor level redirections to
libgnuintl.h of the following form:
# define gettext gettext__
# define dgettext dgettext__
# define dcgettext dcgettext__
# define ngettext ngettext__
# define dngettext dngettext__
# define dcngettext dcngettext__
# define textdomain textdomain__
# define bindtextdomain bindtextdomain__
# define bind_textdomain_codeset bind_textdomain_codeset__
How does this redirection work? There are two cases.
A. When libintl.a is linked into an executable, it works because
functions defined in the executable always override functions in
the shared libraries.
B. When libintl.so is used, it works because
1. those systems defining gettext/textdomain/... in the C library
(namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are
ELF systems and define these symbols as weak, thus explicitly
letting other shared libraries override it.
2. those systems defining gettext/textdomain/... in a standalone
libintl.so library (namely, Solaris 2.3 and newer) have this
shared library in /usr/lib, and the linker will search /usr/lib
*after* the directory where the GNU gettext library is installed.
A third case, namely when libintl.a is linked into a shared library
whose name is not libintl.so, is not supported. In this case, on
Solaris, when -lintl precedes the linker option for the shared library
containing GNU gettext, the system's gettext would indeed override
the GNU gettext. Anyone doing this kind of stuff must be clever enough
to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker
command line. */
#undef gettext
#undef dgettext
#undef dcgettext
#undef ngettext
#undef dngettext
#undef dcngettext
#undef textdomain
#undef bindtextdomain
#undef bind_textdomain_codeset
char *
gettext (msgid)
const char *msgid;
{
return gettext__ (msgid);
}
char *
dgettext (domainname, msgid)
const char *domainname;
const char *msgid;
{
return dgettext__ (domainname, msgid);
}
char *
dcgettext (domainname, msgid, category)
const char *domainname;
const char *msgid;
int category;
{
return dcgettext__ (domainname, msgid, category);
}
char *
ngettext (msgid1, msgid2, n)
const char *msgid1;
const char *msgid2;
unsigned long int n;
{
return ngettext__ (msgid1, msgid2, n);
}
char *
dngettext (domainname, msgid1, msgid2, n)
const char *domainname;
const char *msgid1;
const char *msgid2;
unsigned long int n;
{
return dngettext__ (domainname, msgid1, msgid2, n);
}
char *
dcngettext (domainname, msgid1, msgid2, n, category)
const char *domainname;
const char *msgid1;
const char *msgid2;
unsigned long int n;
int category;
{
return dcngettext__ (domainname, msgid1, msgid2, n, category);
}
char *
textdomain (domainname)
const char *domainname;
{
return textdomain__ (domainname);
}
char *
bindtextdomain (domainname, dirname)
const char *domainname;
const char *dirname;
{
return bindtextdomain__ (domainname, dirname);
}
char *
bind_textdomain_codeset (domainname, codeset)
const char *domainname;
const char *codeset;
{
return bind_textdomain_codeset__ (domainname, codeset);
}

View File

@@ -0,0 +1,404 @@
/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Tell glibc's <string.h> to provide a prototype for stpcpy().
This must come before <config.h> because <config.h> may include
<features.h>, and once <features.h> has been included, it's too late. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <string.h>
#if !HAVE_STRCHR && !defined _LIBC
# ifndef strchr
# define strchr index
# endif
#endif
#if defined _LIBC || defined HAVE_ARGZ_H
# include <argz.h>
#endif
#include <ctype.h>
#include <sys/types.h>
#include <stdlib.h>
#include "loadinfo.h"
/* On some strange systems still no definition of NULL is found. Sigh! */
#ifndef NULL
# if defined __STDC__ && __STDC__
# define NULL ((void *) 0)
# else
# define NULL 0
# endif
#endif
/* @@ end of prolog @@ */
#ifdef _LIBC
/* Rename the non ANSI C functions. This is required by the standard
because some ANSI C functions will require linking with this object
file and the name space must not be polluted. */
# ifndef stpcpy
# define stpcpy(dest, src) __stpcpy(dest, src)
# endif
#else
# ifndef HAVE_STPCPY
static char *stpcpy PARAMS ((char *dest, const char *src));
# endif
#endif
/* Define function which are usually not available. */
#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;
{
size_t count = 0;
while (len > 0)
{
size_t part_len = strlen (argz);
argz += part_len + 1;
len -= part_len + 1;
count++;
}
return count;
}
# undef __argz_count
# define __argz_count(argz, len) argz_count__ (argz, len)
#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
#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;
{
while (len > 0)
{
size_t part_len = strlen (argz);
argz += part_len;
len -= part_len + 1;
if (len > 0)
*argz++ = sep;
}
}
# undef __argz_stringify
# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
#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;
{
if (entry)
{
if (entry < argz + argz_len)
entry = strchr (entry, '\0') + 1;
return entry >= argz + argz_len ? NULL : (char *) entry;
}
else
if (argz_len > 0)
return argz;
else
return 0;
}
# undef __argz_next
# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
/* Return number of bits set in X. */
static int pop PARAMS ((int x));
static inline int
pop (x)
int x;
{
/* We assume that no more than 16 bits are used. */
x = ((x & ~0x5555) >> 1) + (x & 0x5555);
x = ((x & ~0x3333) >> 2) + (x & 0x3333);
x = ((x >> 4) + x) & 0x0f0f;
x = ((x >> 8) + x) & 0xff;
return x;
}
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;
{
char *abs_filename;
struct loaded_l10nfile *last = NULL;
struct loaded_l10nfile *retval;
char *cp;
size_t entries;
int cnt;
/* Allocate room for the full file name. */
abs_filename = (char *) malloc (dirlist_len
+ strlen (language)
+ ((mask & TERRITORY) != 0
? strlen (territory) + 1 : 0)
+ ((mask & XPG_CODESET) != 0
? strlen (codeset) + 1 : 0)
+ ((mask & XPG_NORM_CODESET) != 0
? strlen (normalized_codeset) + 1 : 0)
+ (((mask & XPG_MODIFIER) != 0
|| (mask & CEN_AUDIENCE) != 0)
? strlen (modifier) + 1 : 0)
+ ((mask & CEN_SPECIAL) != 0
? strlen (special) + 1 : 0)
+ (((mask & CEN_SPONSOR) != 0
|| (mask & CEN_REVISION) != 0)
? (1 + ((mask & CEN_SPONSOR) != 0
? strlen (sponsor) + 1 : 0)
+ ((mask & CEN_REVISION) != 0
? strlen (revision) + 1 : 0)) : 0)
+ 1 + strlen (filename) + 1);
if (abs_filename == NULL)
return NULL;
retval = NULL;
last = NULL;
/* Construct file name. */
memcpy (abs_filename, dirlist, dirlist_len);
__argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR);
cp = abs_filename + (dirlist_len - 1);
*cp++ = '/';
cp = stpcpy (cp, language);
if ((mask & TERRITORY) != 0)
{
*cp++ = '_';
cp = stpcpy (cp, territory);
}
if ((mask & XPG_CODESET) != 0)
{
*cp++ = '.';
cp = stpcpy (cp, codeset);
}
if ((mask & XPG_NORM_CODESET) != 0)
{
*cp++ = '.';
cp = stpcpy (cp, normalized_codeset);
}
if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
{
/* This component can be part of both syntaces but has different
leading characters. For CEN we use `+', else `@'. */
*cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
cp = stpcpy (cp, modifier);
}
if ((mask & CEN_SPECIAL) != 0)
{
*cp++ = '+';
cp = stpcpy (cp, special);
}
if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
{
*cp++ = ',';
if ((mask & CEN_SPONSOR) != 0)
cp = stpcpy (cp, sponsor);
if ((mask & CEN_REVISION) != 0)
{
*cp++ = '_';
cp = stpcpy (cp, revision);
}
}
*cp++ = '/';
stpcpy (cp, filename);
/* Look in list of already loaded domains whether it is already
available. */
last = NULL;
for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
if (retval->filename != NULL)
{
int compare = strcmp (retval->filename, abs_filename);
if (compare == 0)
/* We found it! */
break;
if (compare < 0)
{
/* It's not in the list. */
retval = NULL;
break;
}
last = retval;
}
if (retval != NULL || do_allocate == 0)
{
free (abs_filename);
return retval;
}
retval = (struct loaded_l10nfile *)
malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
* (1 << pop (mask))
* sizeof (struct loaded_l10nfile *)));
if (retval == NULL)
return NULL;
retval->filename = abs_filename;
retval->decided = (__argz_count (dirlist, dirlist_len) != 1
|| ((mask & XPG_CODESET) != 0
&& (mask & XPG_NORM_CODESET) != 0));
retval->data = NULL;
if (last == NULL)
{
retval->next = *l10nfile_list;
*l10nfile_list = retval;
}
else
{
retval->next = last->next;
last->next = retval;
}
entries = 0;
/* If the DIRLIST is a real list the RETVAL entry corresponds not to
a real file. So we have to use the DIRLIST separation mechanism
of the inner loop. */
cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
for (; cnt >= 0; --cnt)
if ((cnt & ~mask) == 0
&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
{
/* Iterate over all elements of the DIRLIST. */
char *dir = NULL;
while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
!= NULL)
retval->successor[entries++]
= _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
language, territory, codeset,
normalized_codeset, modifier, special,
sponsor, revision, filename, 1);
}
retval->successor[entries] = NULL;
return retval;
}
/* Normalize codeset name. There is no standard for the codeset
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. */
const char *
_nl_normalize_codeset (codeset, name_len)
const char *codeset;
size_t name_len;
{
int len = 0;
int only_digit = 1;
char *retval;
char *wp;
size_t cnt;
for (cnt = 0; cnt < name_len; ++cnt)
if (isalnum (codeset[cnt]))
{
++len;
if (isalpha (codeset[cnt]))
only_digit = 0;
}
retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
if (retval != NULL)
{
if (only_digit)
wp = stpcpy (retval, "iso");
else
wp = retval;
for (cnt = 0; cnt < name_len; ++cnt)
if (isalpha (codeset[cnt]))
*wp++ = tolower (codeset[cnt]);
else if (isdigit (codeset[cnt]))
*wp++ = codeset[cnt];
*wp = '\0';
}
return (const char *) retval;
}
/* @@ begin of epilog @@ */
/* We don't want libintl.a to depend on any other library. So we
avoid the non-standard function stpcpy. In GNU C Library this
function is available, though. Also allow the symbol HAVE_STPCPY
to be defined. */
#if !_LIBC && !HAVE_STPCPY
static char *
stpcpy (dest, src)
char *dest;
const char *src;
{
while ((*dest++ = *src++) != '\0')
/* Do nothing. */ ;
return dest - 1;
}
#endif

View File

@@ -0,0 +1,48 @@
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
#if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
# include <libintl.h>
#else
# define gettext(Msgid) (Msgid)
# define dgettext(Domainname, Msgid) (Msgid)
# define dcgettext(Domainname, Msgid, Category) (Msgid)
# define ngettext(Msgid1, Msgid2, N) \
((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
# define dngettext(Domainname, Msgid1, Msgid2, N) \
((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
# define textdomain(Domainname) ((char *) (Domainname))
# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname))
# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset))
#endif
/* For automatical extraction of messages sometimes no real
translation is needed. Instead the string itself is the result. */
#define gettext_noop(Str) (Str)
#endif /* _LIBGETTEXT_H */

View File

@@ -0,0 +1,127 @@
/* Message catalogs for internationalization.
Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _LIBINTL_H
#define _LIBINTL_H 1
#include <locale.h>
/* 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, <locale.h> defines __LOCALE_H then includes <libintl.h> (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
# 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
# define gettext gettext
#endif
#ifndef PARAMS
# if __STDC__ || defined __cplusplus
# define PARAMS(args) args
# else
# define PARAMS(args) ()
# endif
#endif
#ifdef __cplusplus
extern "C" {
#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). */
extern char *gettext PARAMS ((const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
int __category));
/* Similar to `gettext' but select the plural form corresponding to the
number N. */
extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
unsigned long int __n));
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n));
/* Similar to `dcgettext' but select the plural form corresponding to the
number N. */
extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n,
int __category));
/* 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". */
extern char *textdomain PARAMS ((const char *__domainname));
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
extern char *bindtextdomain PARAMS ((const char *__domainname,
const char *__dirname));
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
extern char *bind_textdomain_codeset PARAMS ((const char *__domainname,
const char *__codeset));
/* Optimized version of the functions above. */
#if defined __OPTIMIZED
/* These are macros, but could also be inline functions. */
# define gettext(msgid) \
dgettext (NULL, msgid)
# define dgettext(domainname, msgid) \
dcgettext (domainname, msgid, LC_MESSAGES)
# define ngettext(msgid1, msgid2, n) \
dngettext (NULL, msgid1, msgid2, n)
# define dngettext(domainname, msgid1, msgid2, n) \
dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
#endif /* Optimizing. */
#ifdef __cplusplus
}
#endif
#endif /* libintl.h */

View File

@@ -0,0 +1,116 @@
/* Message catalogs for internationalization.
Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
This file is derived from the file libgettext.h in the GNU gettext package.
The GNU C Library 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 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. 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 <features.h>
/* We define an additional symbol to signal that we use the GNU
implementation of gettext. */
#define __USE_GNU_GETTEXT 1
__BEGIN_DECLS
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
extern char *gettext (__const char *__msgid) __THROW;
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
extern char *dgettext (__const char *__domainname, __const char *__msgid)
__THROW;
extern char *__dgettext (__const char *__domainname, __const char *__msgid)
__THROW __attribute_format_arg__ (2);
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
extern char *dcgettext (__const char *__domainname,
__const char *__msgid, int __category) __THROW;
extern char *__dcgettext (__const char *__domainname,
__const char *__msgid, int __category)
__THROW __attribute_format_arg__ (2);
/* Similar to `gettext' but select the plural form corresponding to the
number N. */
extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
unsigned long int __n)
__THROW __attribute_format_arg__ (1);
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
extern char *dngettext (__const char *__domainname, __const char *__msgid1,
__const char *__msgid2, unsigned long int __n)
__THROW __attribute_format_arg__ (2);
/* Similar to `dcgettext' but select the plural form corresponding to the
number N. */
extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
__const char *__msgid2, unsigned long int __n,
int __category)
__THROW __attribute_format_arg__ (2);
/* 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". */
extern char *textdomain (__const char *__domainname) __THROW;
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
extern char *bindtextdomain (__const char *__domainname,
__const char *__dirname) __THROW;
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
extern char *bind_textdomain_codeset (__const char *__domainname,
__const char *__codeset) __THROW;
/* Optimized version of the function above. */
#if defined __OPTIMIZE__
/* We need NULL for `gettext'. */
# define __need_NULL
# include <stddef.h>
/* We need LC_MESSAGES for `dgettext'. */
# include <locale.h>
/* These must be macros. Inlined functions are useless because the
`__builtin_constant_p' predicate in dcgettext would always return
false. */
# define gettext(msgid) dgettext (NULL, msgid)
# define dgettext(domainname, msgid) \
dcgettext (domainname, msgid, LC_MESSAGES)
# define ngettext(msgid1, msgid2, n) dngettext (NULL, msgid1, msgid2, n)
# define dngettext(domainname, msgid1, msgid2, n) \
dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
#endif /* Optimizing. */
__END_DECLS
#endif /* libintl.h */

108
libprozilla/intl/loadinfo.h Normal file
View File

@@ -0,0 +1,108 @@
/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _LOADINFO_H
#define _LOADINFO_H 1
#ifndef PARAMS
# if __STDC__
# define PARAMS(args) args
# else
# define PARAMS(args) ()
# endif
#endif
#ifndef internal_function
# define internal_function
#endif
/* Tell the compiler when a conditional or integer expression is
almost always true or almost always false. */
#ifndef HAVE_BUILTIN_EXPECT
# define __builtin_expect(expr, val) (expr)
#endif
/* Separator in PATH like lists of pathnames. */
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
/* Win32, OS/2, DOS */
# define PATH_SEPARATOR ';'
#else
/* Unix */
# define PATH_SEPARATOR ':'
#endif
/* Encoding of locale name parts. */
#define CEN_REVISION 1
#define CEN_SPONSOR 2
#define CEN_SPECIAL 4
#define XPG_NORM_CODESET 8
#define XPG_CODESET 16
#define TERRITORY 32
#define CEN_AUDIENCE 64
#define XPG_MODIFIER 128
#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
struct loaded_l10nfile
{
const char *filename;
int decided;
const void *data;
struct loaded_l10nfile *next;
struct loaded_l10nfile *successor[1];
};
/* Normalize codeset name. There is no standard for the codeset
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 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));
extern const char *_nl_expand_alias PARAMS ((const char *name));
/* normalized_codeset is dynamically allocated and has to be freed by
the caller. */
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 char *_nl_find_language PARAMS ((const char *name));
#endif /* loadinfo.h */

View File

@@ -0,0 +1,566 @@
/* Load needed message catalogs.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
This must come before <config.h> because <config.h> may include
<features.h>, and once <features.h> has been included, it's too late. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef __GNUC__
# define alloca __builtin_alloca
# define HAVE_ALLOCA 1
#else
# if defined HAVE_ALLOCA_H || defined _LIBC
# include <alloca.h>
# else
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca
char *alloca ();
# endif
# endif
# endif
#endif
#include <stdlib.h>
#include <string.h>
#if defined HAVE_UNISTD_H || defined _LIBC
# include <unistd.h>
#endif
#ifdef _LIBC
# include <langinfo.h>
# include <locale.h>
#endif
#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
|| (defined _LIBC && defined _POSIX_MAPPED_FILES)
# include <sys/mman.h>
# undef HAVE_MMAP
# define HAVE_MMAP 1
#else
# undef HAVE_MMAP
#endif
#include "gettext.h"
#include "gettextP.h"
#ifdef _LIBC
# include "../locale/localeinfo.h"
#endif
/* @@ end of prolog @@ */
#ifdef _LIBC
/* Rename the non ISO C functions. This is required by the standard
because some ISO C functions will require linking with this object
file and the name space must not be polluted. */
# define open __open
# define close __close
# define read __read
# define mmap __mmap
# define munmap __munmap
#endif
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define PLURAL_PARSE __gettextparse
#else
# define PLURAL_PARSE gettextparse__
#endif
/* For those losing systems which don't have `alloca' we have to add
some additional code emulating it. */
#ifdef HAVE_ALLOCA
# define freea(p) /* nothing */
#else
# define alloca(n) malloc (n)
# define freea(p) free (p)
#endif
/* For systems that distinguish between text and binary I/O.
O_BINARY is usually declared in <fcntl.h>. */
#if !defined O_BINARY && defined _O_BINARY
/* For MSC-compatible compilers. */
# define O_BINARY _O_BINARY
# define O_TEXT _O_TEXT
#endif
#ifdef __BEOS__
/* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */
# undef O_BINARY
# undef O_TEXT
#endif
/* On reasonable systems, binary I/O is the default. */
#ifndef O_BINARY
# 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;
#if (defined __GNUC__ && !defined __APPLE_CC__) \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
/* These structs are the constant expression for the germanic plural
form determination. It represents the expression "n != 1". */
static const struct expression plvar =
{
.nargs = 0,
.operation = var,
};
static const struct expression plone =
{
.nargs = 0,
.operation = num,
.val =
{
.num = 1
}
};
static struct expression germanic_plural =
{
.nargs = 2,
.operation = not_equal,
.val =
{
.args =
{
[0] = (struct expression *) &plvar,
[1] = (struct expression *) &plone
}
}
};
# define INIT_GERMANIC_PLURAL()
#else
/* For compilers without support for ISO C 99 struct/union initializers:
Initialization at run-time. */
static struct expression plvar;
static struct expression plone;
static struct expression germanic_plural;
static void
init_germanic_plural ()
{
if (plone.val.num == 0)
{
plvar.nargs = 0;
plvar.operation = var;
plone.nargs = 0;
plone.operation = num;
plone.val.num = 1;
germanic_plural.nargs = 2;
germanic_plural.operation = not_equal;
germanic_plural.val.args[0] = &plvar;
germanic_plural.val.args[1] = &plone;
}
}
# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
#endif
/* 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;
{
/* Find out about the character set the file is encoded with.
This can be found (in textual form) in the entry "". If this
entry does not exist or if this does not contain the `charset='
information, we will assume the charset matches the one the
current locale and we don't have to perform any conversion. */
char *nullentry;
size_t nullentrylen;
/* Preinitialize fields, to avoid recursion during _nl_find_msg. */
domain->codeset_cntr =
(domainbinding != NULL ? domainbinding->codeset_cntr : 0);
#ifdef _LIBC
domain->conv = (__gconv_t) -1;
#else
# if HAVE_ICONV
domain->conv = (iconv_t) -1;
# endif
#endif
domain->conv_tab = NULL;
/* Get the header entry. */
nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
if (nullentry != NULL)
{
#if defined _LIBC || HAVE_ICONV
const char *charsetstr;
charsetstr = strstr (nullentry, "charset=");
if (charsetstr != NULL)
{
size_t len;
char *charset;
const char *outcharset;
charsetstr += strlen ("charset=");
len = strcspn (charsetstr, " \t\n");
charset = (char *) alloca (len + 1);
# if defined _LIBC || HAVE_MEMPCPY
*((char *) mempcpy (charset, charsetstr, len)) = '\0';
# else
memcpy (charset, charsetstr, len);
charset[len] = '\0';
# endif
/* The output charset should normally be determined by the
locale. But sometimes the locale is not used or not correctly
set up, so we provide a possibility for the user to override
this. Moreover, the value specified through
bind_textdomain_codeset overrides both. */
if (domainbinding != NULL && domainbinding->codeset != NULL)
outcharset = domainbinding->codeset;
else
{
outcharset = getenv ("OUTPUT_CHARSET");
if (outcharset == NULL || outcharset[0] == '\0')
{
# ifdef _LIBC
outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string;
# else
# if HAVE_ICONV
extern const char *locale_charset (void);
outcharset = locale_charset ();
# endif
# endif
}
}
# ifdef _LIBC
/* We always want to use transliteration. */
outcharset = norm_add_slashes (outcharset, "TRANSLIT");
charset = norm_add_slashes (charset, NULL);
if (__gconv_open (outcharset, charset, &domain->conv,
GCONV_AVOID_NOCONV)
!= __GCONV_OK)
domain->conv = (__gconv_t) -1;
# else
# if HAVE_ICONV
/* When using GNU libiconv, we want to use transliteration. */
# if _LIBICONV_VERSION >= 0x0105
len = strlen (outcharset);
{
char *tmp = (char *) alloca (len + 10 + 1);
memcpy (tmp, outcharset, len);
memcpy (tmp + len, "//TRANSLIT", 10 + 1);
outcharset = tmp;
}
# endif
domain->conv = iconv_open (outcharset, charset);
# if _LIBICONV_VERSION >= 0x0105
freea (outcharset);
# endif
# endif
# endif
freea (charset);
}
#endif /* _LIBC || HAVE_ICONV */
}
return nullentry;
}
/* Frees the codeset dependent parts of an opened message catalog. */
void
internal_function
_nl_free_domain_conv (domain)
struct loaded_domain *domain;
{
if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
free (domain->conv_tab);
#ifdef _LIBC
if (domain->conv != (__gconv_t) -1)
__gconv_close (domain->conv);
#else
# if HAVE_ICONV
if (domain->conv != (iconv_t) -1)
iconv_close (domain->conv);
# endif
#endif
}
/* Load the message catalogs specified by FILENAME. If it is no valid
message catalog do nothing. */
void
internal_function
_nl_load_domain (domain_file, domainbinding)
struct loaded_l10nfile *domain_file;
struct binding *domainbinding;
{
int fd;
size_t size;
#ifdef _LIBC
struct stat64 st;
#else
struct stat st;
#endif
struct mo_file_header *data = (struct mo_file_header *) -1;
int use_mmap = 0;
struct loaded_domain *domain;
const char *nullentry;
domain_file->decided = 1;
domain_file->data = NULL;
/* Note that it would be useless to store domainbinding in domain_file
because domainbinding might be == NULL now but != NULL later (after
a call to bind_textdomain_codeset). */
/* If the record does not represent a valid locale the FILENAME
might be NULL. This can happen when according to the given
specification the locale file name is different for XPG and CEN
syntax. */
if (domain_file->filename == NULL)
return;
/* Try to open the addressed file. */
fd = open (domain_file->filename, O_RDONLY | O_BINARY);
if (fd == -1)
return;
/* We must know about the size of the file. */
if (
#ifdef _LIBC
__builtin_expect (fstat64 (fd, &st) != 0, 0)
#else
__builtin_expect (fstat (fd, &st) != 0, 0)
#endif
|| __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
|| __builtin_expect (size < sizeof (struct mo_file_header), 0))
{
/* Something went wrong. */
close (fd);
return;
}
#ifdef HAVE_MMAP
/* Now we are ready to load the file. If mmap() is available we try
this first. If not available or it failed we try to load it. */
data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
MAP_PRIVATE, fd, 0);
if (__builtin_expect (data != (struct mo_file_header *) -1, 1))
{
/* mmap() call was successful. */
close (fd);
use_mmap = 1;
}
#endif
/* If the data is not yet available (i.e. mmap'ed) we try to load
it manually. */
if (data == (struct mo_file_header *) -1)
{
size_t to_read;
char *read_ptr;
data = (struct mo_file_header *) malloc (size);
if (data == NULL)
return;
to_read = size;
read_ptr = (char *) data;
do
{
long int nb = (long int) read (fd, read_ptr, to_read);
if (nb <= 0)
{
#ifdef EINTR
if (nb == -1 && errno == EINTR)
continue;
#endif
close (fd);
return;
}
read_ptr += nb;
to_read -= nb;
}
while (to_read > 0);
close (fd);
}
/* Using the magic number we can test whether it really is a message
catalog file. */
if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED,
0))
{
/* The magic number is wrong: not a message catalog file. */
#ifdef HAVE_MMAP
if (use_mmap)
munmap ((caddr_t) data, size);
else
#endif
free (data);
return;
}
domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
if (domain == NULL)
return;
domain_file->data = domain;
domain->data = (char *) data;
domain->use_mmap = use_mmap;
domain->mmap_size = size;
domain->must_swap = data->magic != _MAGIC;
/* Fill in the information about the available tables. */
switch (W (domain->must_swap, data->revision))
{
case 0:
domain->nstrings = W (domain->must_swap, data->nstrings);
domain->orig_tab = (struct string_desc *)
((char *) data + W (domain->must_swap, data->orig_tab_offset));
domain->trans_tab = (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));
break;
default:
/* This is an invalid revision. */
#ifdef HAVE_MMAP
if (use_mmap)
munmap ((caddr_t) data, size);
else
#endif
free (data);
free (domain);
domain_file->data = NULL;
return;
}
/* Now initialize the character set converter from the character set
the file is encoded with (found in the header entry) to the domain's
specified character set or the locale's character set. */
nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
/* Also look for a plural specification. */
if (nullentry != NULL)
{
const char *plural;
const char *nplurals;
plural = strstr (nullentry, "plural=");
nplurals = strstr (nullentry, "nplurals=");
if (plural == NULL || nplurals == NULL)
goto no_plural;
else
{
/* First get the number. */
char *endp;
unsigned long int n;
struct parse_args args;
nplurals += 9;
while (*nplurals != '\0' && isspace (*nplurals))
++nplurals;
#if defined HAVE_STRTOUL || defined _LIBC
n = strtoul (nplurals, &endp, 10);
#else
for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
n = n * 10 + (*endp - '0');
#endif
domain->nplurals = n;
if (nplurals == endp)
goto no_plural;
/* Due to the restrictions bison imposes onto the interface of the
scanner function we have to put the input string and the result
passed up from the parser into the same structure which address
is passed down to the parser. */
plural += 7;
args.cp = plural;
if (PLURAL_PARSE (&args) != 0)
goto no_plural;
domain->plural = args.res;
}
}
else
{
/* By default we are using the Germanic form: singular form only
for `one', the plural form otherwise. Yes, this is also what
English is using since English is a Germanic language. */
no_plural:
INIT_GERMANIC_PLURAL ();
domain->plural = &germanic_plural;
domain->nplurals = 2;
}
}
#ifdef _LIBC
void
internal_function
_nl_unload_domain (domain)
struct loaded_domain *domain;
{
if (domain->plural != &germanic_plural)
__gettext_free_exp (domain->plural);
_nl_free_domain_conv (domain);
# ifdef _POSIX_MAPPED_FILES
if (domain->use_mmap)
munmap ((caddr_t) domain->data, domain->mmap_size);
else
# endif /* _POSIX_MAPPED_FILES */
free ((void *) domain->data);
free (domain);
}
#endif

View File

@@ -0,0 +1,271 @@
/* Determine a canonical name for the current locale's character encoding.
Copyright (C) 2000-2001 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 <haible@clisp.cons.org>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDDEF_H
# include <stddef.h>
#endif
#include <stdio.h>
#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if defined _WIN32 || defined __WIN32__
# undef WIN32 /* avoid warning on mingw32 */
# define WIN32
#endif
#ifndef WIN32
# if HAVE_LANGINFO_CODESET
# include <langinfo.h>
# else
# if HAVE_SETLOCALE
# include <locale.h>
# endif
# endif
#else /* WIN32 */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif
#ifndef DIRECTORY_SEPARATOR
# define DIRECTORY_SEPARATOR '/'
#endif
#ifndef ISSLASH
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
#endif
/* The following static variable is declared 'volatile' to avoid a
possible multithread problem in the function get_charset_aliases. If we
are running in a threaded environment, and if two threads initialize
'charset_aliases' simultaneously, both will produce the same value,
and everything will be ok if the two assignments to 'charset_aliases'
are atomic. But I don't know what will happen if the two assignments mix. */
#if __STDC__ != 1
# define volatile /* empty */
#endif
/* Pointer to the contents of the charset.alias file, if it has already been
read, else NULL. Its format is:
ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
static char * volatile charset_aliases;
/* Return a pointer to the contents of the charset.alias file. */
static const char *
get_charset_aliases ()
{
char *cp;
cp = charset_aliases;
if (cp == NULL)
{
#ifndef WIN32
FILE *fp;
const char *dir = LIBDIR;
const char *base = "charset.alias";
char *file_name;
/* Concatenate dir and base into freshly allocated file_name. */
{
size_t dir_len = strlen (dir);
size_t base_len = strlen (base);
int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
if (file_name != NULL)
{
memcpy (file_name, dir, dir_len);
if (add_slash)
file_name[dir_len] = DIRECTORY_SEPARATOR;
memcpy (file_name + dir_len + add_slash, base, base_len + 1);
}
}
if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
/* Out of memory or file not found, treat it as empty. */
cp = "";
else
{
/* Parse the file's contents. */
int c;
char buf1[50+1];
char buf2[50+1];
char *res_ptr = NULL;
size_t res_size = 0;
size_t l1, l2;
for (;;)
{
c = getc (fp);
if (c == EOF)
break;
if (c == '\n' || c == ' ' || c == '\t')
continue;
if (c == '#')
{
/* Skip comment, to end of line. */
do
c = getc (fp);
while (!(c == EOF || c == '\n'));
if (c == EOF)
break;
continue;
}
ungetc (c, fp);
if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
break;
l1 = strlen (buf1);
l2 = strlen (buf2);
if (res_size == 0)
{
res_size = l1 + 1 + l2 + 1;
res_ptr = malloc (res_size + 1);
}
else
{
res_size += l1 + 1 + l2 + 1;
res_ptr = realloc (res_ptr, res_size + 1);
}
if (res_ptr == NULL)
{
/* Out of memory. */
res_size = 0;
break;
}
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
strcpy (res_ptr + res_size - (l2 + 1), buf2);
}
fclose (fp);
if (res_size == 0)
cp = "";
else
{
*(res_ptr + res_size) = '\0';
cp = res_ptr;
}
}
if (file_name != NULL)
free (file_name);
#else /* 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. */
cp = "CP936" "\0" "GBK" "\0"
"CP1361" "\0" "JOHAB" "\0";
#endif
charset_aliases = cp;
}
return cp;
}
/* Determine the current locale's character encoding, and canonicalize it
into one of the canonical names listed in config.charset.
The result must not be freed; it is statically allocated.
If the canonical name cannot be determined, the result is a non-canonical
name. */
#ifdef STATIC
STATIC
#endif
const char *
locale_charset ()
{
const char *codeset;
const char *aliases;
#ifndef WIN32
# if HAVE_LANGINFO_CODESET
/* Most systems support nl_langinfo (CODESET) nowadays. */
codeset = nl_langinfo (CODESET);
# else
/* On old systems which lack it, use setlocale or getenv. */
const char *locale = NULL;
/* But most old systems don't have a complete set of locales. Some
(like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
use setlocale here; it would return "C" when it doesn't support the
locale name the user has set. */
# if HAVE_SETLOCALE && 0
locale = setlocale (LC_CTYPE, NULL);
# endif
if (locale == NULL || locale[0] == '\0')
{
locale = getenv ("LC_ALL");
if (locale == NULL || locale[0] == '\0')
{
locale = getenv ("LC_CTYPE");
if (locale == NULL || locale[0] == '\0')
locale = getenv ("LANG");
}
}
/* On some old systems, one used to set locale = "iso8859_1". On others,
you set it to "language_COUNTRY.charset". In any case, we resolve it
through the charset.alias file. */
codeset = locale;
# endif
#else /* WIN32 */
static char buf[2 + 10 + 1];
/* Win32 has a function returning the locale's codepage as a number. */
sprintf (buf, "CP%u", GetACP ());
codeset = buf;
#endif
if (codeset == NULL)
/* The canonical name cannot be determined. */
codeset = "";
/* Resolve alias. */
for (aliases = get_charset_aliases ();
*aliases != '\0';
aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
if (strcmp (codeset, aliases) == 0
|| (aliases[0] == '*' && aliases[1] == '\0'))
{
codeset = aliases + strlen (aliases) + 1;
break;
}
return codeset;
}

View File

@@ -0,0 +1,77 @@
# Locale name alias data base.
# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# The format of this file is the same as for the corresponding file of
# the X Window System, which normally can be found in
# /usr/lib/X11/locale/locale.alias
# A single line contains two fields: an alias and a substitution value.
# All entries are case independent.
# Note: This file is far from being complete. If you have a value for
# your own site which you think might be useful for others too, share
# it with the rest of us. Send it using the `glibcbug' script to
# bugs@gnu.org.
# Packages using this file:
bokmal no_NO.ISO-8859-1
bokm<EFBFBD>l no_NO.ISO-8859-1
catalan ca_ES.ISO-8859-1
croatian hr_HR.ISO-8859-2
czech cs_CZ.ISO-8859-2
danish da_DK.ISO-8859-1
dansk da_DK.ISO-8859-1
deutsch de_DE.ISO-8859-1
dutch nl_NL.ISO-8859-1
eesti et_EE.ISO-8859-1
estonian et_EE.ISO-8859-1
finnish fi_FI.ISO-8859-1
fran<EFBFBD>ais fr_FR.ISO-8859-1
french fr_FR.ISO-8859-1
galego gl_ES.ISO-8859-1
galician gl_ES.ISO-8859-1
german de_DE.ISO-8859-1
greek el_GR.ISO-8859-7
hebrew iw_IL.ISO-8859-8
hrvatski hr_HR.ISO-8859-2
hungarian hu_HU.ISO-8859-2
icelandic is_IS.ISO-8859-1
italian it_IT.ISO-8859-1
japanese ja_JP.eucJP
japanese.euc ja_JP.eucJP
ja_JP ja_JP.eucJP
ja_JP.ujis ja_JP.eucJP
japanese.sjis ja_JP.SJIS
korean ko_KR.eucKR
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
nynorsk nn_NO.ISO-8859-1
polish pl_PL.ISO-8859-2
portuguese pt_PT.ISO-8859-1
romanian ro_RO.ISO-8859-2
russian ru_RU.ISO-8859-5
slovak sk_SK.ISO-8859-2
slovene sl_SI.ISO-8859-2
slovenian sl_SI.ISO-8859-2
spanish es_ES.ISO-8859-1
swedish sv_SE.ISO-8859-1
thai th_TH.TIS-620
turkish tr_TR.ISO-8859-9

View File

@@ -0,0 +1,403 @@
/* Handle aliases for locale names.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
This must come before <config.h> because <config.h> may include
<features.h>, and once <features.h> has been included, it's too late. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <ctype.h>
#include <stdio.h>
#include <sys/types.h>
#ifdef __GNUC__
# define alloca __builtin_alloca
# define HAVE_ALLOCA 1
#else
# if defined HAVE_ALLOCA_H || defined _LIBC
# include <alloca.h>
# else
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca
char *alloca ();
# endif
# endif
# endif
#endif
#include <stdlib.h>
#include <string.h>
#if !HAVE_STRCHR && !defined _LIBC
# ifndef strchr
# define strchr index
# endif
#endif
#include "gettextP.h"
/* @@ end of prolog @@ */
#ifdef _LIBC
/* Rename the non ANSI C functions. This is required by the standard
because some ANSI C functions will require linking with this object
file and the name space must not be polluted. */
# define strcasecmp __strcasecmp
# ifndef mempcpy
# define mempcpy __mempcpy
# endif
# define HAVE_MEMPCPY 1
/* We need locking here since we can be called from different places. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, lock);
#endif
#ifndef internal_function
# define internal_function
#endif
/* For those losing systems which don't have `alloca' we have to add
some additional code emulating it. */
#ifdef HAVE_ALLOCA
# define freea(p) /* nothing */
#else
# define alloca(n) malloc (n)
# define freea(p) free (p)
#endif
#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
# undef fgets
# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
#endif
#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
# undef feof
# define feof(s) feof_unlocked (s)
#endif
struct alias_map
{
const char *alias;
const char *value;
};
static char *string_space;
static size_t string_space_act;
static size_t string_space_max;
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))
internal_function;
static int extend_alias_table PARAMS ((void));
static int alias_compare PARAMS ((const struct alias_map *map1,
const struct alias_map *map2));
const char *
_nl_expand_alias (name)
const char *name;
{
static const char *locale_alias_path = LOCALE_ALIAS_PATH;
struct alias_map *retval;
const char *result = NULL;
size_t added;
#ifdef _LIBC
__libc_lock_lock (lock);
#endif
do
{
struct alias_map item;
item.alias = name;
if (nmap > 0)
retval = (struct alias_map *) bsearch (&item, map, nmap,
sizeof (struct alias_map),
(int (*) PARAMS ((const void *,
const void *))
) alias_compare);
else
retval = NULL;
/* We really found an alias. Return the value. */
if (retval != NULL)
{
result = retval->value;
break;
}
/* Perhaps we can find another alias file. */
added = 0;
while (added == 0 && locale_alias_path[0] != '\0')
{
const char *start;
while (locale_alias_path[0] == PATH_SEPARATOR)
++locale_alias_path;
start = locale_alias_path;
while (locale_alias_path[0] != '\0'
&& locale_alias_path[0] != PATH_SEPARATOR)
++locale_alias_path;
if (start < locale_alias_path)
added = read_alias_file (start, locale_alias_path - start);
}
}
while (added != 0);
#ifdef _LIBC
__libc_lock_unlock (lock);
#endif
return result;
}
static size_t
internal_function
read_alias_file (fname, fname_len)
const char *fname;
int fname_len;
{
FILE *fp;
char *full_fname;
size_t added;
static const char aliasfile[] = "/locale.alias";
full_fname = (char *) alloca (fname_len + sizeof aliasfile);
#ifdef HAVE_MEMPCPY
mempcpy (mempcpy (full_fname, fname, fname_len),
aliasfile, sizeof aliasfile);
#else
memcpy (full_fname, fname, fname_len);
memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
#endif
fp = fopen (full_fname, "r");
freea (full_fname);
if (fp == NULL)
return 0;
added = 0;
while (!feof (fp))
{
/* It is a reasonable approach to use a fix buffer here because
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];
char *alias;
char *value;
char *cp;
if (fgets (buf, sizeof buf, fp) == NULL)
/* 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 (cp[0]))
++cp;
/* A leading '#' signals a comment line. */
if (cp[0] != '\0' && cp[0] != '#')
{
alias = cp++;
while (cp[0] != '\0' && !isspace (cp[0]))
++cp;
/* Terminate alias name. */
if (cp[0] != '\0')
*cp++ = '\0';
/* Now look for the beginning of the value. */
while (isspace (cp[0]))
++cp;
if (cp[0] != '\0')
{
size_t alias_len;
size_t value_len;
value = cp++;
while (cp[0] != '\0' && !isspace (cp[0]))
++cp;
/* Terminate value. */
if (cp[0] == '\n')
{
/* This has to be done to make the following test
for the end of line possible. We are looking for
the terminating '\n' which do not overwrite here. */
*cp++ = '\0';
*cp = '\n';
}
else if (cp[0] != '\0')
*cp++ = '\0';
if (nmap >= maxmap)
if (__builtin_expect (extend_alias_table (), 0))
return added;
alias_len = strlen (alias) + 1;
value_len = strlen (value) + 1;
if (string_space_act + alias_len + value_len > string_space_max)
{
/* Increase size of memory pool. */
size_t new_size = (string_space_max
+ (alias_len + value_len > 1024
? alias_len + value_len : 1024));
char *new_pool = (char *) realloc (string_space, new_size);
if (new_pool == NULL)
return added;
if (__builtin_expect (string_space != new_pool, 0))
{
size_t i;
for (i = 0; i < nmap; i++)
{
map[i].alias += new_pool - string_space;
map[i].value += new_pool - string_space;
}
}
string_space = new_pool;
string_space_max = new_size;
}
map[nmap].alias = memcpy (&string_space[string_space_act],
alias, alias_len);
string_space_act += alias_len;
map[nmap].value = memcpy (&string_space[string_space_act],
value, value_len);
string_space_act += value_len;
++nmap;
++added;
}
}
}
/* Should we test for ferror()? I think we have to silently ignore
errors. --drepper */
fclose (fp);
if (added > 0)
qsort (map, nmap, sizeof (struct alias_map),
(int (*) PARAMS ((const void *, const void *))) alias_compare);
return added;
}
static int
extend_alias_table ()
{
size_t new_size;
struct alias_map *new_map;
new_size = maxmap == 0 ? 100 : 2 * maxmap;
new_map = (struct alias_map *) realloc (map, (new_size
* sizeof (struct alias_map)));
if (new_map == NULL)
/* Simply don't extend: we don't have any more core. */
return -1;
map = new_map;
maxmap = new_size;
return 0;
}
#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;
{
#if defined _LIBC || defined HAVE_STRCASECMP
return strcasecmp (map1->alias, map2->alias);
#else
const unsigned char *p1 = (const unsigned char *) map1->alias;
const unsigned char *p2 = (const unsigned char *) map2->alias;
unsigned char c1, c2;
if (p1 == p2)
return 0;
do
{
/* I know this seems to be odd but the tolower() function in
some systems libc cannot handle nonalpha characters. */
c1 = isupper (*p1) ? tolower (*p1) : *p1;
c2 = isupper (*p2) ? tolower (*p2) : *p2;
if (c1 == '\0')
break;
++p1;
++p2;
}
while (c1 == c2);
return c1 - c2;
#endif
}

View File

@@ -0,0 +1,67 @@
/* Implementation of ngettext(3) function.
Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef _LIBC
# define __need_NULL
# include <stddef.h>
#else
# include <stdlib.h> /* Just for NULL. */
#endif
#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
#include <locale.h>
/* @@ end of prolog @@ */
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define NGETTEXT __ngettext
# define DCNGETTEXT __dcngettext
#else
# define NGETTEXT ngettext__
# define DCNGETTEXT dcngettext__
#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). */
char *
NGETTEXT (msgid1, msgid2, n)
const char *msgid1;
const char *msgid2;
unsigned long int n;
{
return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__ngettext, ngettext);
#endif

1325
libprozilla/intl/plural.c Normal file

File diff suppressed because it is too large Load Diff

412
libprozilla/intl/plural.y Normal file
View File

@@ -0,0 +1,412 @@
%{
/* Expression parsing for plural form selection.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* The bison generated parser uses alloca. AIX 3 forces us to put this
declaration at the beginning of the file. The declaration in bison's
skeleton file comes too late. This must come before <config.h>
because <config.h> may include arbitrary system headers. */
#if defined _AIX && !defined __GNUC__
#pragma alloca
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h>
#include "gettextP.h"
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define FREE_EXPRESSION __gettext_free_exp
#else
# define FREE_EXPRESSION gettext_free_exp__
# define __gettextparse gettextparse__
#endif
#define YYLEX_PARAM &((struct parse_args *) arg)->cp
#define YYPARSE_PARAM arg
%}
%pure_parser
%expect 10
%union {
unsigned long int num;
enum operator op;
struct expression *exp;
}
%{
/* 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));
/* Allocation of expressions. */
static struct expression *
new_exp (nargs, op, args)
int nargs;
enum operator op;
struct expression * const *args;
{
int i;
struct expression *newp;
/* If any of the argument could not be malloc'ed, just return NULL. */
for (i = nargs - 1; i >= 0; i--)
if (args[i] == NULL)
goto fail;
/* Allocate a new expression. */
newp = (struct expression *) malloc (sizeof (*newp));
if (newp != NULL)
{
newp->nargs = nargs;
newp->operation = op;
for (i = nargs - 1; i >= 0; i--)
newp->val.args[i] = args[i];
return newp;
}
fail:
for (i = nargs - 1; i >= 0; i--)
FREE_EXPRESSION (args[i]);
return NULL;
}
static inline struct expression *
new_exp_0 (op)
enum operator op;
{
return new_exp (0, op, NULL);
}
static inline struct expression *
new_exp_1 (op, right)
enum operator op;
struct expression *right;
{
struct expression *args[1];
args[0] = right;
return new_exp (1, op, args);
}
static struct expression *
new_exp_2 (op, left, right)
enum operator op;
struct expression *left;
struct expression *right;
{
struct expression *args[2];
args[0] = left;
args[1] = right;
return new_exp (2, op, args);
}
static inline struct expression *
new_exp_3 (op, bexp, tbranch, fbranch)
enum operator op;
struct expression *bexp;
struct expression *tbranch;
struct expression *fbranch;
{
struct expression *args[3];
args[0] = bexp;
args[1] = tbranch;
args[2] = fbranch;
return new_exp (3, op, args);
}
%}
/* This declares that all operators have the same associativity and the
precedence order as in C. See [Harbison, Steele: C, A Reference Manual].
There is no unary minus and no bitwise operators.
Operators with the same syntactic behaviour have been merged into a single
token, to save space in the array generated by bison. */
%right '?' /* ? */
%left '|' /* || */
%left '&' /* && */
%left EQUOP2 /* == != */
%left CMPOP2 /* < > <= >= */
%left ADDOP2 /* + - */
%left MULOP2 /* * / % */
%right '!' /* ! */
%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
%token <num> NUMBER
%type <exp> exp
%%
start: exp
{
if ($1 == NULL)
YYABORT;
((struct parse_args *) arg)->res = $1;
}
;
exp: exp '?' exp ':' exp
{
$$ = new_exp_3 (qmop, $1, $3, $5);
}
| exp '|' exp
{
$$ = new_exp_2 (lor, $1, $3);
}
| exp '&' exp
{
$$ = new_exp_2 (land, $1, $3);
}
| exp EQUOP2 exp
{
$$ = new_exp_2 ($2, $1, $3);
}
| exp CMPOP2 exp
{
$$ = new_exp_2 ($2, $1, $3);
}
| exp ADDOP2 exp
{
$$ = new_exp_2 ($2, $1, $3);
}
| exp MULOP2 exp
{
$$ = new_exp_2 ($2, $1, $3);
}
| '!' exp
{
$$ = new_exp_1 (lnot, $2);
}
| 'n'
{
$$ = new_exp_0 (var);
}
| NUMBER
{
if (($$ = new_exp_0 (num)) != NULL)
$$->val.num = $1;
}
| '(' exp ')'
{
$$ = $2;
}
;
%%
void
internal_function
FREE_EXPRESSION (exp)
struct expression *exp;
{
if (exp == NULL)
return;
/* Handle the recursive case. */
switch (exp->nargs)
{
case 3:
FREE_EXPRESSION (exp->val.args[2]);
/* FALLTHROUGH */
case 2:
FREE_EXPRESSION (exp->val.args[1]);
/* FALLTHROUGH */
case 1:
FREE_EXPRESSION (exp->val.args[0]);
/* FALLTHROUGH */
default:
break;
}
free (exp);
}
static int
yylex (lval, pexp)
YYSTYPE *lval;
const char **pexp;
{
const char *exp = *pexp;
int result;
while (1)
{
if (exp[0] == '\0')
{
*pexp = exp;
return YYEOF;
}
if (exp[0] != ' ' && exp[0] != '\t')
break;
++exp;
}
result = *exp++;
switch (result)
{
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
{
unsigned long int n = result - '0';
while (exp[0] >= '0' && exp[0] <= '9')
{
n *= 10;
n += exp[0] - '0';
++exp;
}
lval->num = n;
result = NUMBER;
}
break;
case '=':
if (exp[0] == '=')
{
++exp;
lval->op = equal;
result = EQUOP2;
}
else
result = YYERRCODE;
break;
case '!':
if (exp[0] == '=')
{
++exp;
lval->op = not_equal;
result = EQUOP2;
}
break;
case '&':
case '|':
if (exp[0] == result)
++exp;
else
result = YYERRCODE;
break;
case '<':
if (exp[0] == '=')
{
++exp;
lval->op = less_or_equal;
}
else
lval->op = less_than;
result = CMPOP2;
break;
case '>':
if (exp[0] == '=')
{
++exp;
lval->op = greater_or_equal;
}
else
lval->op = greater_than;
result = CMPOP2;
break;
case '*':
lval->op = mult;
result = MULOP2;
break;
case '/':
lval->op = divide;
result = MULOP2;
break;
case '%':
lval->op = module;
result = MULOP2;
break;
case '+':
lval->op = plus;
result = ADDOP2;
break;
case '-':
lval->op = minus;
result = ADDOP2;
break;
case 'n':
case '?':
case ':':
case '(':
case ')':
/* Nothing, just return the character. */
break;
case ';':
case '\n':
case '\0':
/* Be safe and let the user call this function again. */
--exp;
result = YYEOF;
break;
default:
result = YYERRCODE;
#if YYDEBUG != 0
--exp;
#endif
break;
}
*pexp = exp;
return result;
}
static void
yyerror (str)
const char *str;
{
/* Do nothing. We don't print error messages here. */
}

View File

View File

@@ -0,0 +1,31 @@
# Add this package to a list of references stored in a text file.
#
# Copyright (C) 2000 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU 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 <haible@clisp.cons.org>.
#
/^# Packages using this file: / {
s/# Packages using this file://
ta
:a
s/ @PACKAGE@ / @PACKAGE@ /
tb
s/ $/ @PACKAGE@ /
:b
s/^/# Packages using this file:/
}

View File

@@ -0,0 +1,26 @@
# Remove this package from a list of references stored in a text file.
#
# Copyright (C) 2000 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU 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 <haible@clisp.cons.org>.
#
/^# Packages using this file: / {
s/# Packages using this file://
s/ @PACKAGE@ / /
s/^/# Packages using this file:/
}

View File

@@ -0,0 +1,141 @@
/* Implementation of the textdomain(3) function.
Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h>
#include <string.h>
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
#include "gettextP.h"
#ifdef _LIBC
/* We have to handle multi-threaded applications. */
# include <bits/libc-lock.h>
#else
/* Provide dummy implementation if this is outside glibc. */
# define __libc_rwlock_define(CLASS, NAME)
# define __libc_rwlock_wrlock(NAME)
# define __libc_rwlock_unlock(NAME)
#endif
/* The internal variables in the standalone libintl.a must have different
names than the internal variables in GNU libc, otherwise programs
using libintl.a cannot be linked statically. */
#if !defined _LIBC
# define _nl_default_default_domain _nl_default_default_domain__
# define _nl_current_default_domain _nl_current_default_domain__
#endif
/* @@ end of prolog @@ */
/* Name of the default text domain. */
extern const char _nl_default_default_domain[];
/* Default text domain in which entries for gettext(3) are to be found. */
extern const char *_nl_current_default_domain;
/* Names for the libintl functions are a problem. They must not clash
with existing names and they should follow ANSI C. But this source
code is also used in GNU C Library where the names have a __
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define TEXTDOMAIN __textdomain
# ifndef strdup
# define strdup(str) __strdup (str)
# endif
#else
# define TEXTDOMAIN textdomain__
#endif
/* Lock variable to protect the global data in the gettext implementation. */
__libc_rwlock_define (extern, _nl_state_lock)
/* 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". */
char *
TEXTDOMAIN (domainname)
const char *domainname;
{
char *new_domain;
char *old_domain;
/* A NULL pointer requests the current setting. */
if (domainname == NULL)
return (char *) _nl_current_default_domain;
__libc_rwlock_wrlock (_nl_state_lock);
old_domain = (char *) _nl_current_default_domain;
/* If domain name is the null string set to default domain "messages". */
if (domainname[0] == '\0'
|| strcmp (domainname, _nl_default_default_domain) == 0)
{
_nl_current_default_domain = _nl_default_default_domain;
new_domain = (char *) _nl_current_default_domain;
}
else if (strcmp (domainname, old_domain) == 0)
/* This can happen and people will use it to signal that some
environment variable changed. */
new_domain = old_domain;
else
{
/* If the following malloc fails `_nl_current_default_domain'
will be NULL. This value will be returned and so signals we
are out of core. */
#if defined _LIBC || defined HAVE_STRDUP
new_domain = strdup (domainname);
#else
size_t len = strlen (domainname) + 1;
new_domain = (char *) malloc (len);
if (new_domain != NULL)
memcpy (new_domain, domainname, len);
#endif
if (new_domain != NULL)
_nl_current_default_domain = new_domain;
}
/* We use this possibility to signal a change of the loaded catalogs
since this is most likely the case and there is no other easy we
to do it. Do it only when the call was successful. */
if (new_domain != NULL)
{
++_nl_msg_cat_cntr;
if (old_domain != new_domain && old_domain != _nl_default_default_domain)
free (old_domain);
}
__libc_rwlock_unlock (_nl_state_lock);
return new_domain;
}
#ifdef _LIBC
/* Alias for function name in GNU C Library. */
weak_alias (__textdomain, textdomain);
#endif

3704
libprozilla/libtool.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

395
libprozilla/ltdl.m4 Normal file
View File

@@ -0,0 +1,395 @@
## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*-
## Copyright (C) 1999-2000 Free Software Foundation, Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 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.
# serial 5 AC_LIB_LTDL
# AC_WITH_LTDL
# ------------
# Clients of libltdl can use this macro to allow the installer to
# choose between a shipped copy of the ltdl sources or a preinstalled
# version of the library.
AC_DEFUN([AC_WITH_LTDL],
[AC_REQUIRE([AC_LIB_LTDL])
AC_SUBST([LIBLTDL])
AC_SUBST([INCLTDL])
# Unless the user asks us to check, assume no installed ltdl exists.
use_installed_libltdl=no
AC_ARG_WITH([included_ltdl],
[ --with-included-ltdl use the GNU ltdl sources included here])
if test "x$with_included_ltdl" != xyes; then
# We are not being forced to use the included libltdl sources, so
# decide whether there is a useful installed version we can use.
AC_CHECK_HEADER([ltdl.h],
[AC_CHECK_LIB([ltdl], [lt_dlcaller_register],
[with_included_ltdl=no],
[with_included_ltdl=yes])
])
fi
if test "x$enable_ltdl_install" != xyes; then
# If the user did not specify an installable libltdl, then default
# to a convenience lib.
AC_LIBLTDL_CONVENIENCE
fi
if test "x$with_included_ltdl" = xno; then
# If the included ltdl is not to be used. then Use the
# preinstalled libltdl we found.
AC_DEFINE([HAVE_LTDL], 1,
[Define this if a modern libltdl is already installed])
LIBLTDL=-lltdl
fi
# Report our decision...
AC_MSG_CHECKING([whether to use included libltdl])
AC_MSG_RESULT([$with_included_ltdl])
AC_CONFIG_SUBDIRS([libltdl])
])# AC_WITH_LTDL
# AC_LIB_LTDL
# -----------
# Perform all the checks necessary for compilation of the ltdl objects
# -- including compiler checks and header checks.
AC_DEFUN([AC_LIB_LTDL],
[AC_PREREQ(2.13)
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_C_CONST])
AC_REQUIRE([AC_HEADER_STDC])
AC_REQUIRE([AC_HEADER_DIRENT])
AC_REQUIRE([AC_LIBTOOL_HEADER_ASSERT])
AC_REQUIRE([_LT_AC_CHECK_DLFCN])
AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])
AC_REQUIRE([AC_LTDL_SHLIBEXT])
AC_REQUIRE([AC_LTDL_SHLIBPATH])
AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])
AC_REQUIRE([AC_LTDL_OBJDIR])
AC_REQUIRE([AC_LTDL_DLPREOPEN])
AC_REQUIRE([AC_LTDL_DLLIB])
AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])
AC_REQUIRE([AC_LTDL_DLSYM_USCORE])
AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS])
AC_REQUIRE([AC_LTDL_FUNC_ARGZ])
AC_CHECK_HEADERS([errno.h malloc.h memory.h stdlib.h stdio.h ctype.h unistd.h])
AC_CHECK_HEADERS([dl.h sys/dl.h dld.h])
AC_CHECK_HEADERS([string.h strings.h], break)
AC_CHECK_FUNCS([strchr index], break)
AC_CHECK_FUNCS([strrchr rindex], break)
AC_CHECK_FUNCS([memcpy bcopy], break)
AC_CHECK_FUNCS([memmove strcmp])
])# AC_LIB_LTDL
# AC_LTDL_ENABLE_INSTALL
# ----------------------
AC_DEFUN([AC_LTDL_ENABLE_INSTALL],
[AC_ARG_ENABLE(ltdl-install,
[ --enable-ltdl-install install libltdl])
AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
])])# AC_LTDL_ENABLE_INSTALL
# AC_LTDL_SYS_DLOPEN_DEPLIBS
# --------------------------
AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS],
[AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
libltdl_cv_sys_dlopen_deplibs, [dnl
# PORTME does your system automatically load deplibs for dlopen()?
libltdl_cv_sys_dlopen_deplibs=unknown
case "$host_os" in
hpux10*|hpux11*)
libltdl_cv_sys_dlopen_deplibs=yes
;;
linux*)
libltdl_cv_sys_dlopen_deplibs=yes
;;
netbsd*)
libltdl_cv_sys_dlopen_deplibs=yes
;;
openbsd*)
libltdl_cv_sys_dlopen_deplibs=yes
;;
solaris*)
libltdl_cv_sys_dlopen_deplibs=yes
;;
esac
])
if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then
AC_DEFINE(LTDL_DLOPEN_DEPLIBS, 1,
[Define if the OS needs help to load dependent libraries for dlopen(). ])
fi
])# AC_LTDL_SYS_DLOPEN_DEPLIBS
# AC_LTDL_SHLIBEXT
# ----------------
AC_DEFUN([AC_LTDL_SHLIBEXT],
[AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
AC_CACHE_CHECK([which extension is used for shared libraries],
libltdl_cv_shlibext,
[ac_last=
for ac_spec in $library_names_spec; do
ac_last="$ac_spec"
done
echo "$ac_last" | [sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'] > conftest
libltdl_cv_shlibext=`cat conftest`
rm -f conftest
])
if test -n "$libltdl_cv_shlibext"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
[Define to the extension used for shared libraries, say, ".so". ])
fi
])# AC_LTDL_SHLIBEXT
# AC_LTDL_SHLIBPATH
# -----------------
AC_DEFUN([AC_LTDL_SHLIBPATH],
[AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
AC_CACHE_CHECK([which variable specifies run-time library path],
libltdl_cv_shlibpath_var, [libltdl_cv_shlibpath_var="$shlibpath_var"])
if test -n "$libltdl_cv_shlibpath_var"; then
AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var",
[Define to the name of the environment variable that determines the dynamic library search path. ])
fi
])# AC_LTDL_SHLIBPATH
# AC_LTDL_SYSSEARCHPATH
# ---------------------
AC_DEFUN([AC_LTDL_SYSSEARCHPATH],
[AC_REQUIRE([_LT_AC_LTCONFIG_HACK])
AC_CACHE_CHECK([for the default library search path],
libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
if test -n "$libltdl_cv_sys_search_path"; then
case "$host" in
*-*-mingw*) pathsep=";" ;;
*) pathsep=":" ;;
esac
sys_search_path=
for dir in $libltdl_cv_sys_search_path; do
if test -z "$sys_search_path"; then
sys_search_path="$dir"
else
sys_search_path="$sys_search_path$pathsep$dir"
fi
done
AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
[Define to the system default library search path. ])
fi
])# AC_LTDL_SYSSEARCHPATH
# AC_LTDL_OBJDIR
# --------------
AC_DEFUN([AC_LTDL_OBJDIR],
[AC_CACHE_CHECK([for objdir],
libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"
if test -n "$objdir"; then
:
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
libltdl_cv_objdir=.libs
else
# MS-DOS does not allow filenames that begin with a dot.
libltdl_cv_objdir=_libs
fi
rmdir .libs 2>/dev/null
fi])
AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
[Define to the sub-directory in which libtool stores uninstalled libraries. ])
])# AC_LTDL_OBJDIR
# AC_LTDL_DLPREOPEN
# -----------------
AC_DEFUN([AC_LTDL_DLPREOPEN],
[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
libltdl_cv_preloaded_symbols, [dnl
if test -n "$global_symbol_pipe"; then
libltdl_cv_preloaded_symbols=yes
else
libltdl_cv_preloaded_symbols=no
fi
])
if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
[Define if libtool can extract symbol lists from object files. ])
fi
])# AC_LTDL_DLPREOPEN
# AC_LTDL_DLLIB
# -------------
AC_DEFUN([AC_LTDL_DLLIB],
[LIBADD_DL=
AC_SUBST(LIBADD_DL)
AC_CHECK_FUNC([shl_load],
[AC_DEFINE([HAVE_SHL_LOAD], [1],
[Define if you have the shl_load function.])],
[AC_CHECK_LIB([dld], [shl_load],
[AC_DEFINE([HAVE_SHL_LOAD], [1],
[Define if you have the shl_load function.])
LIBADD_DL="$LIBADD_DL -ldld"],
[AC_CHECK_LIB([dl], [dlopen],
[AC_DEFINE([HAVE_LIBDL], [1],
[Define if you have the libdl library or equivalent.])
LIBADD_DL="-ldl"],
[AC_TRY_LINK([#if HAVE_DLFCN_H
# include <dlfcn.h>
#endif
],
[dlopen(0, 0);],
[AC_DEFINE([HAVE_LIBDL], [1],
[Define if you have the libdl library or equivalent.])],
[AC_CHECK_LIB([svld], [dlopen],
[AC_DEFINE([HAVE_LIBDL], [1],
[Define if you have the libdl library or equivalent.])
LIBADD_DL="-lsvld"],
[AC_CHECK_LIB([dld], [dld_link],
[AC_DEFINE([HAVE_DLD], [1],
[Define if you have the GNU dld library.])
LIBADD_DL="$LIBADD_DL -ldld"
])
])
])
])
])
])
if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
LIBS_SAVE="$LIBS"
LIBS="$LIBS $LIBADD_DL"
AC_CHECK_FUNCS(dlerror)
LIBS="$LIBS_SAVE"
fi
])# AC_LTDL_DLLIB
# AC_LTDL_SYMBOL_USCORE
# ---------------------
AC_DEFUN([AC_LTDL_SYMBOL_USCORE],
[dnl does the compiler prefix global symbols with an underscore?
AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
AC_MSG_CHECKING([for _ prefix in compiled symbols])
AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
[ac_cv_sys_symbol_underscore=no
cat > conftest.$ac_ext <<EOF
void nm_test_func(){}
int main(){nm_test_func;return 0;}
EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
ac_nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| $global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
# See whether the symbols have a leading underscore.
if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
ac_cv_sys_symbol_underscore=yes
else
if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
:
else
echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
fi
fi
else
echo "configure: cannot run $global_symbol_pipe" >&AC_FD_CC
fi
else
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.c >&AC_FD_CC
fi
rm -rf conftest*
])
AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
])# AC_LTDL_SYMBOL_USCORE
# AC_LTDL_DLSYM_USCORE
# --------------------
AC_DEFUN([AC_LTDL_DLSYM_USCORE],
[AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
if test x"$ac_cv_sys_symbol_underscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
libltdl_cv_need_uscore=unknown
save_LIBS="$LIBS"
LIBS="$LIBS $LIBADD_DL"
_LT_AC_TRY_DLOPEN_SELF(
libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
[], libltdl_cv_need_uscore=cross)
LIBS="$save_LIBS"
])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE, 1,
[Define if dlsym() requires a leading underscore in symbol names. ])
fi
])# AC_LTDL_DLSYM_USCORE
# AC_CHECK_TYPES(TYPES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
# [INCLUDES])
# ---------------------------------------------------------------
# This macro did not exist in Autoconf 2.13, which we do still support
ifdef([AC_CHECK_TYPES], [],
[define([AC_CHECK_TYPES],
[AC_CACHE_CHECK([for $1], ac_Type,
[AC_TRY_LINK([$4],
[if (($1 *) 0)
return 0;
if (sizeof ($1))
return 0;],
[ac_Type=yes],
[ac_Type=no])])
if test "x$ac_Type" = xyes; then
ifelse([$2], [], [:], [$2])
else
ifelse([$3], [], [:], [$3])
fi])
])# AC_CHECK_TYPES
# AC_LTDL_FUNC_ARGZ
# -----------------
AC_DEFUN([AC_LTDL_FUNC_ARGZ],
[AC_CHECK_HEADERS([argz.h])
AC_CHECK_TYPES([error_t],
[],
[AC_DEFINE([error_t], [int],
[Define to a type to use for \`error_t' if it is not otherwise available.])],
[#if HAVE_ARGZ_H
# include <argz.h>
#endif])
AC_CHECK_FUNCS([argz_append argz_create_sep argz_insert argz_next argz_stringify])
])# AC_LTDL_FUNC_ARGZ

5062
libprozilla/ltmain.sh Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
D

View File

@@ -0,0 +1 @@
libprozilla/man

1
libprozilla/man/CVS/Root Normal file
View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

336
libprozilla/missing Executable file
View File

@@ -0,0 +1,336 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, 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.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them.
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0

40
libprozilla/mkinstalldirs Executable file
View File

@@ -0,0 +1,40 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
# $Id: mkinstalldirs,v 1.2 2001/04/14 15:32:04 uwe Exp $
errstatus=0
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# mkinstalldirs ends here

View File

@@ -0,0 +1,15 @@
/ChangeLog/1.1/Fri Sep 7 09:32:56 2001//
/Makefile.in.in/1.1/Fri Sep 7 09:32:56 2001//
/POTFILES.in/1.1/Fri Sep 7 09:32:56 2001//
/nl.gmo/1.1/Fri Sep 7 09:32:56 2001//
/nl.po/1.1/Fri Sep 7 09:32:56 2001//
/ro.gmo/1.1/Fri Sep 7 09:32:56 2001//
/ro.po/1.1/Fri Sep 7 09:32:56 2001//
/pt_BR.gmo/1.4/Sat Oct 6 08:21:50 2001//
/pt_BR.po/1.4/Sat Oct 6 08:21:47 2001//
/it.gmo/1.2/Sat Oct 6 08:04:13 2001//
/it.po/1.2/Sat Oct 6 08:03:32 2001//
/stamp-cat-id/1.1/Sat Oct 27 23:18:03 2001//
/cat-id-tbl.c/1.13/Sat Oct 27 23:18:03 2001//
/libprozilla.pot/1.27/Sat Oct 27 23:18:03 2001//
D

View File

@@ -0,0 +1 @@
libprozilla/po

1
libprozilla/po/CVS/Root Normal file
View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

4
libprozilla/po/ChangeLog Normal file
View File

@@ -0,0 +1,4 @@
2001-06-03 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.38.

View File

@@ -0,0 +1,248 @@
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file file be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SHELL = /bin/sh
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = $(prefix)/@DATADIRNAME@
localedir = $(datadir)/locale
gnulocaledir = $(prefix)/share/locale
gettextsrcdir = $(prefix)/share/gettext/po
subdir = po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
CC = @CC@
GENCAT = @GENCAT@
GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
MSGFMT = @MSGFMT@
XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
MSGMERGE = PATH=../src:$$PATH msgmerge
DEFS = @DEFS@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
INCLUDES = -I.. -I$(top_srcdir)/intl
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
SOURCES = cat-id-tbl.c
POFILES = @POFILES@
GMOFILES = @GMOFILES@
DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
POTFILES = \
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
INSTOBJEXT = @INSTOBJEXT@
.SUFFIXES:
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
.c.o:
$(COMPILE) $<
.po.pox:
$(MAKE) $(PACKAGE).pot
$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
.po.mo:
$(MSGFMT) -o $@ $<
.po.gmo:
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<
.po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \
&& rm -f $@ && $(GENCAT) $@ $*.msg
all: all-@USE_NLS@
all-yes: cat-id-tbl.c $(CATALOGS)
all-no:
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
--add-comments --keyword=_ --keyword=N_ \
--files-from=$(srcdir)/POTFILES.in \
&& test ! -f $(PACKAGE).po \
|| ( rm -f $(srcdir)/$(PACKAGE).pot \
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
$(srcdir)/stamp-cat-id: $(PACKAGE).pot
rm -f cat-id-tbl.tmp
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
rm cat-id-tbl.tmp; \
else \
echo cat-id-tbl.c changed; \
rm -f $(srcdir)/cat-id-tbl.c; \
mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
fi
cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(datadir); \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(datadir); \
fi
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
case "$$cat" in \
*.gmo) destdir=$(gnulocaledir);; \
*) destdir=$(localedir);; \
esac; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
dir=$$destdir/$$lang/LC_MESSAGES; \
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $$dir; \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
fi; \
if test -r $$cat; then \
$(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
else \
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
fi; \
if test -r $$cat.m; then \
$(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
if test -r $(srcdir)/$$cat.m ; then \
$(INSTALL_DATA) $(srcdir)/$$cat.m \
$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
else \
true; \
fi; \
fi; \
done
if test "$(PACKAGE)" = "gettext"; then \
if test -r "$(MKINSTALLDIRS)"; then \
$(MKINSTALLDIRS) $(gettextsrcdir); \
else \
$(SHELL) $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
fi; \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(gettextsrcdir)/Makefile.in.in; \
else \
: ; \
fi
# Define this as empty until I found a useful application.
installcheck:
uninstall:
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
done
rm -f $(gettextsrcdir)/po-Makefile.in.in
check: all
cat-id-tbl.o: ../intl/libgettext.h
dvi info tags TAGS ID:
mostlyclean:
rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
rm -fr *.o
clean: mostlyclean
distclean: clean
rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
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)
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: update-po $(DISTFILES)
dists="$(DISTFILES)"; \
for file in $$dists; do \
ln $(srcdir)/$$file $(distdir) 2> /dev/null \
|| cp -p $(srcdir)/$$file $(distdir); \
done
update-po: Makefile
$(MAKE) $(PACKAGE).pot
PATH=`pwd`/../src:$$PATH; \
cd $(srcdir); \
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
mv $$lang.po $$lang.old.po; \
echo "$$lang:"; \
if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
rm -f $$lang.old.po; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$lang.po; \
mv $$lang.old.po $$lang.po; \
fi; \
done
POTFILES: POTFILES.in
( if test 'x$(srcdir)' != 'x.'; then \
posrcprefix='$(top_srcdir)/'; \
else \
posrcprefix="../"; \
fi; \
rm -f $@-t $@ \
&& (sed -e '/^#/d' -e '/^[ ]*$$/d' \
-e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
| sed -e '$$s/\\$$//') > $@-t \
&& chmod a-w $@-t \
&& mv $@-t $@ )
Makefile: Makefile.in.in ../config.status POTFILES
cd .. \
&& CONFIG_FILES=$(subdir)/$@.in 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.
.NOEXPORT:

View File

@@ -0,0 +1,15 @@
src/connect.c
src/connection.c
src/debug.c
src/download.c
src/ftp.c
src/ftpparse.c
src/ftp-retr.c
src/getopt.c
src/http.c
src/http-retr.c
src/logfile.c
src/main.c
src/misc.c
src/netrc.c
src/url.c

739
libprozilla/po/cat-id-tbl.c Normal file
View File

@@ -0,0 +1,739 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2003-02-18 05:45+0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
#: src/connection.c:177 src/connection.c:274
msgid "write failed"
msgstr ""
#: src/connection.c:180 src/connection.c:277
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr ""
#: src/connection.c:201 src/connection.c:258
msgid "connection timed out"
msgstr ""
#: src/connection.c:212 src/connection.c:296
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr ""
#: src/connection.c:249
msgid "Server Closed Connection Prematurely!"
msgstr ""
#: src/connection.c:340
msgid "Idle"
msgstr ""
#: src/connection.c:343
msgid "Connecting"
msgstr ""
#: src/connection.c:346
msgid "Logging in"
msgstr ""
#: src/connection.c:349
msgid "Downloading"
msgstr ""
#: src/connection.c:352
msgid "Completed"
msgstr ""
#: src/connection.c:355
msgid "Login Denied"
msgstr ""
#: src/connection.c:358
msgid "Connect Refused"
msgstr ""
#: src/connection.c:361
msgid "Remote Fatal"
msgstr ""
#: src/connection.c:364
msgid "Local Fatal"
msgstr ""
#: src/connection.c:367
msgid "Timed Out"
msgstr ""
#: src/connection.c:369
msgid "Max attempts reached"
msgstr ""
#: src/connection.c:372
msgid "Unkown Status!"
msgstr ""
#: src/connection.c:463 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr ""
#: src/connection.c:487
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr ""
#: src/connection.c:496
#, c-format
msgid "Redirected to => %s"
msgstr ""
#: src/debug.c:60 src/download.c:799 src/download.c:1076
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr ""
#: src/download.c:136 src/download.c:154 src/download.c:2094
#: src/download.c:2112
#, c-format
msgid "Unable to open file %s: %s!"
msgstr ""
#: src/download.c:288
msgid "Warning! Unable to create logfile!"
msgstr ""
#: src/download.c:307 src/download.c:318 src/download.c:458 src/download.c:480
#: src/download.c:512 src/download.c:555 src/download.c:576 src/download.c:601
#: src/download.c:643 src/download.c:664 src/download.c:1388
#: src/download.c:1433 src/download.c:1516 src/download.c:1563
#: src/download.c:1640 src/download.c:1679 src/download.c:1725
#: src/download.c:1777 src/download.c:1802 src/download.c:1827
#: src/download.c:1873 src/download.c:1924 src/download.c:1949
msgid "Error: Not enough system resources"
msgstr ""
#: src/download.c:322
msgid "Error: Unsupported Protocol was specified"
msgstr ""
#: src/download.c:326
msgid "All threads created"
msgstr ""
#: src/download.c:446 src/download.c:1322
msgid "The file was not found in all the connections!"
msgstr ""
#: src/download.c:452 src/download.c:474 src/download.c:551 src/download.c:572
#: src/download.c:639 src/download.c:660 src/download.c:1773
#: src/download.c:1798 src/download.c:1920 src/download.c:1945
msgid "Relaunching download"
msgstr ""
#: src/download.c:468 src/download.c:1449
msgid "Failed to change to the working directory on all the connections!"
msgstr ""
#: src/download.c:490 src/download.c:1657
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr ""
#: src/download.c:505 src/download.c:1672
msgid "All logins rejected! Retrying connection"
msgstr ""
#: src/download.c:594 src/download.c:1820
msgid "All connections attempts have been rejected! Retrying connection"
msgstr ""
#: src/download.c:1360 src/download.c:1488
msgid "Trying additional paths available on this server"
msgstr ""
#: src/download.c:1415 src/download.c:1544
msgid ""
"No additional paths on this server available, so will switch to another "
"server"
msgstr ""
#: src/download.c:1579
msgid "The server(s) do not support REST on all the connections!"
msgstr ""
#: src/download.c:1622
msgid ""
"This server does not support resuming downloads, so will switch to another "
"server"
msgstr ""
#: src/download.c:1707
msgid ""
"This server has rejected the login attempt, so will switch to another server"
msgstr ""
#: src/download.c:1855
msgid ""
"This server has rejected the connection attempt, so will switch to another "
"server"
msgstr ""
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr ""
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr ""
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr ""
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr ""
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr ""
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr ""
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr ""
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr ""
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr ""
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr ""
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr ""
#: src/ftp-retr.c:125 src/ftp.c:872 src/ftp.c:881
#, c-format
msgid "Logging in as user %s with password %s"
msgstr ""
#: src/ftp.c:895
msgid "Logged in successfully"
msgstr ""
#: src/ftp-retr.c:165 src/ftp.c:915
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr ""
#: src/ftp-retr.c:175 src/ftp.c:924
msgid "CWD not needed"
msgstr ""
#: src/ftp.c:931
msgid "REST failed"
msgstr ""
#: src/ftp.c:936
msgid "REST ok"
msgstr ""
#: src/ftp.c:1016
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr ""
#: src/ftp.c:1021
#, c-format
msgid "String received after the LIST command = %s"
msgstr ""
#: src/ftp.c:1039
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
#: src/ftp.c:1066
msgid "Server doesn't seem to support PASV"
msgstr ""
#: src/ftp.c:1142
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr ""
#: src/ftp.c:1161 src/http.c:734
msgid "Successfully got info"
msgstr ""
#: src/ftp.c:1169 src/http.c:746
msgid "File not found!"
msgstr ""
#: src/ftp-retr.c:319 src/ftp.c:1188 src/http-retr.c:331 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr ""
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr ""
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr ""
#: src/ftp-retr.c:171
msgid "CWD ok"
msgstr ""
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr ""
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr ""
#: src/ftp-retr.c:259 src/http-retr.c:272 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr ""
#: src/ftp-retr.c:271 src/http-retr.c:284
msgid "Error while attemting to process download file "
msgstr ""
#: src/ftp-retr.c:302 src/http-retr.c:311
msgid "Successfully got download"
msgstr ""
#: src/ftp-retr.c:308
msgid "Error occured in connection..."
msgstr ""
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr ""
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr ""
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr ""
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr ""
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr ""
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr ""
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr ""
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr ""
#: src/getopt.c:1124
msgid "option a\n"
msgstr ""
#: src/getopt.c:1128
msgid "option b\n"
msgstr ""
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr ""
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr ""
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr ""
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr ""
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr ""
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr ""
#: src/http.c:412
msgid "Read error in headers"
msgstr ""
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr ""
#: src/http.c:440
msgid "(no description)"
msgstr ""
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:394 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr ""
#: src/http-retr.c:119 src/http-retr.c:421 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr ""
#: src/http-retr.c:120 src/http-retr.c:422 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr ""
#: src/http-retr.c:198 src/http-retr.c:477 src/http.c:682
msgid "Sending HTTP request"
msgstr ""
#: src/http-retr.c:304
msgid "Will be handled in main "
msgstr ""
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr ""
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:97 src/logfile.c:113
#: src/logfile.c:129 src/logfile.c:146
#, c-format
msgid "Error writing to file %s: %s"
msgstr ""
#: src/logfile.c:199
msgid "logfile doesn't exist"
msgstr ""
#: src/logfile.c:232
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr ""
#: src/logfile.c:270 src/logfile.c:285 src/logfile.c:301 src/logfile.c:316
#, c-format
msgid "Error reading from file %s: %s"
msgstr ""
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr ""
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr ""
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr ""
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr ""
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr ""
#: src/misc.c:328
msgid "Unable to create socket"
msgstr ""
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr ""
#: src/misc.c:332 src/misc.c:386
msgid "The connection attempt was refused"
msgstr ""
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr ""
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr ""
#: src/misc.c:338
msgid "Error while listening"
msgstr ""
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr ""
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr ""
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr ""
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr ""
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr ""
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr ""
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr ""
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr ""
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr ""
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr ""
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr ""
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr ""
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr ""
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr ""
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr ""
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr ""
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr ""
#: src/misc.c:374
msgid "The REST command failed"
msgstr ""
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr ""
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr ""
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr ""
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr ""
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr ""
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
#: src/misc.c:394
msgid "getsockname failed!"
msgstr ""
#: src/misc.c:399 src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
#: src/misc.c:422
msgid "Error while opening file"
msgstr ""
#: src/misc.c:424
msgid "Error while writing to file"
msgstr ""
#: src/misc.c:427
msgid "The Download was aborted"
msgstr ""
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr ""
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr ""
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr ""
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr ""
#: src/misc.c:437
msgid "Error while Proxying"
msgstr ""
#: src/misc.c:439
msgid "The location is a directory"
msgstr ""
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr ""
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr ""
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr ""

BIN
libprozilla/po/fr.gmo Normal file

Binary file not shown.

787
libprozilla/po/fr.po Normal file
View File

@@ -0,0 +1,787 @@
# french po file for libprozilla
# Copyright (C) 2001 Free Software Foundation, Inc.
# Eric Lassauge <lassauge@mail.dotcom.fr>, 2001
# http://lassauge.free.fr/linux.html
#
msgid ""
msgstr ""
"Project-Id-Version: libprozilla 1.0.0\n"
"POT-Creation-Date: 2001-12-03 18:25+0100\n"
"PO-Revision-Date: 2001-12-03 15:43+0100\n"
"Last-Translator: Eric Lassauge <lassauge@mail.dotcom.fr>\n"
"Language-Team: Gozer le maudit <gozer@mailclub.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/connection.c:173 src/connection.c:263
#, c-format
msgid "Unable to open file %s: %s!"
msgstr "Impossible d'ouvriri le fichier %s: %s!"
#: src/connection.c:195 src/connection.c:310
msgid "write failed"
msgstr "Ecriture impossible"
#: src/connection.c:198 src/connection.c:313
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr "Impossible d'<27>crire le fichier %s: %s!"
#: src/connection.c:221 src/connection.c:294
msgid "connection timed out"
msgstr "Hors-temps de connexion"
#: src/connection.c:232 src/connection.c:333
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr "t<>l<EFBFBD>chargement termin<69> pour cette connexion %s: %ld recus"
#: src/connection.c:285
msgid "Server Closed Connection Prematurely!"
msgstr "Le serveur a ferm<72> la connexion pr<70>matur<75>ment!"
#: src/connection.c:391
#, c-format
msgid "orig start pos= %d\n"
msgstr "Position de d<>part d'origine = %d\n"
#: src/connection.c:422
msgid "Idle"
msgstr "Innocup<75>"
#: src/connection.c:425
msgid "Connecting"
msgstr "Connexion en cours"
#: src/connection.c:428
msgid "Logging in"
msgstr "Acc<63>s"
#: src/connection.c:431
msgid "Downloading"
msgstr "T<>l<EFBFBD>chargement"
#: src/connection.c:434
msgid "Completed"
msgstr "Termin<69>"
#: src/connection.c:437
msgid "Login Denied"
msgstr "Acc<63>s refus<75>"
#: src/connection.c:440
msgid "Connect Refused"
msgstr "Connexion refus<75>e"
#: src/connection.c:443
msgid "Remote Fatal"
msgstr "Erreur distante fatale"
#: src/connection.c:446
msgid "Local Fatal"
msgstr "Erreur locale fatale"
#: src/connection.c:449
msgid "Timed Out"
msgstr "Hors temps"
#: src/connection.c:451
msgid "Max attempts reached"
msgstr "Nombre maximum de tentatives atteint"
#: src/connection.c:454
msgid "Unkown Status!"
msgstr "Etat inconnu!"
#: src/connection.c:545 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr "Erreur: protocole non-support<72>"
#: src/connection.c:569
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr "L'emplacement donn<6E> par le serveur est faux: %s!"
#: src/connection.c:578
#, c-format
msgid "Redirected to => %s"
msgstr "Redirection vers => %s"
#: src/debug.c:60 src/download.c:691 src/download.c:1092
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr "impossible de d<>truire le fichier %s. Cause : %s"
#: src/download.c:173
#, c-format
msgid "Error while processing prior download of connection number %d"
msgstr "Erreur dans le traitement du t<>l<EFBFBD>chargement de la connexion num<75>ro %d"
#: src/download.c:202
msgid "Warning! Unable to create logfile!"
msgstr "Attention! Impossible de cr<63>er le fichier de traces!"
#: src/download.c:227 src/download.c:238 src/download.c:349 src/download.c:371
#: src/download.c:403 src/download.c:445 src/download.c:466 src/download.c:491
#: src/download.c:533 src/download.c:554 src/download.c:1380
#: src/download.c:1425 src/download.c:1508 src/download.c:1555
#: src/download.c:1632 src/download.c:1671 src/download.c:1723
#: src/download.c:1748 src/download.c:1773 src/download.c:1825
#: src/download.c:1850
msgid "Error: Not enough system resources"
msgstr "Erreur: pas assez de resources syst<73>me"
#: src/download.c:242
msgid "Error: Unsupported Protocol was specified"
msgstr "Erreur: un protocole non-support<72> a <20>t<EFBFBD> sp<73>cifi<66>"
#: src/download.c:246
msgid "All threads created"
msgstr "Tous les \"threads\" cr<63><72>s"
#: src/download.c:337 src/download.c:1314
msgid "The file was not found in all the connections!"
msgstr "Le fichier n'a <20>t<EFBFBD> trouv<75> pour acune des connexions!"
#: src/download.c:343 src/download.c:365 src/download.c:441 src/download.c:462
#: src/download.c:529 src/download.c:550 src/download.c:1719
#: src/download.c:1744 src/download.c:1821 src/download.c:1846
msgid "Relaunching download"
msgstr "Re-d<>marrage du t<>l<EFBFBD>chargement"
#: src/download.c:359 src/download.c:1441
msgid "Failed to change to the working directory on all the connections!"
msgstr ""
"Impossible d'aller dans le r<>pertoire de travail pour toutes les connexions!"
#: src/download.c:381 src/download.c:1649
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr ""
"La connexion %d, a une erreur locale fatable: %s. Abandon du t<>l<EFBFBD>chargement."
#: src/download.c:396 src/download.c:1664
msgid "All logins rejected! Retrying connection"
msgstr "Tous les acc<63>s rejet<65>s! Re-tentative de se connecter"
#: src/download.c:484 src/download.c:1766
msgid "All connections attempts have been rejected! Retrying connection"
msgstr "Toutes les connexions rejet<65>es! Re-tentative de se connecter"
#: src/download.c:761
#, c-format
msgid "Unable to allocate %ld bytes to recreate files"
msgstr "Impossible d'allouer %d octets pour re-cr<63>er les fichiers"
#: src/download.c:779
#, c-format
msgid "Error: unable to open the file %s for writing-: %s\n"
msgstr "Erreur: impossible d'ouvrir le fichier %s en <20>criture: %s\n"
#: src/download.c:798
#, c-format
msgid "Error: Unable to open the file %s for reading-: %s\n"
msgstr "Erreur: impossible d'ouvrir le fichier %s en lecture: %s\n"
#: src/download.c:836
#, c-format
msgid "Unable to delete the file %s before exiting. Reason-: %s"
msgstr "Impossible de d<>truire le fichier %s avant de quitter. Cause: %s"
#: src/download.c:843
#, c-format
msgid "Error:A write error occured while writing to %s -: %s\n"
msgstr "Erreur: erreur d'<27>criture vers %s: %s\n"
#: src/download.c:858
#, c-format
msgid "Successfully Wrote %s \n"
msgstr "Ecriture r<>ussie de %s\n"
#: src/download.c:1352 src/download.c:1480
msgid "Trying additional paths available on this server"
msgstr "Essai des chemins additionnels disponibles sur ce serveur"
#: src/download.c:1407 src/download.c:1536
msgid ""
"No additional paths on this server available, so will switch to another "
"server"
msgstr ""
"Pas de chemins additionnels disponibles sur ce serveur,basculement vers un "
"autre serveur"
#: src/download.c:1571
msgid "The server(s) do not support REST on all the connections!"
msgstr ""
"Le(s) serveur(s) ne supportent pas l'option REST sur toutes les connexions!"
#: src/download.c:1614
msgid ""
"This server does not support resuming downloads, so will switch to another "
"server"
msgstr ""
"Ce serveur ne supporte pas la continuation des t<>l<EFBFBD>chargements,basculement "
"vers un autre serveur"
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr ""
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr "Erreur <20> la v<>rification des donn<6E>es FTP: %s"
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr "Erreur <20> la r<>ception des donn<6E>es FTP: %s"
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr "Emission: %s"
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr "Erreur <20> l'<27>mission des donn<6E>es FTP: %s"
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr "R<>ception: %s"
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr "En-t<>te PASV FTP = %s"
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr "Code retourn inconnu (%d) pendant l'acc<63>s FTP"
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr "Connexion <20> %s"
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr "Erreur lors de la connexion <20> %s"
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr "Connect<63> <20> %s"
#: src/ftp-retr.c:125 src/ftp.c:872 src/ftp.c:881
#, c-format
msgid "Logging in as user %s with password %s"
msgstr "Acc<63>s comme utilisateur %s avec le mot de passe %s"
#: src/ftp.c:895
msgid "Logged in successfully"
msgstr "Acc<63>s autoris<69>"
#: src/ftp-retr.c:165 src/ftp.c:915
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr "La commande CWD a <20>chou<6F> pour le r<>pertoire '%s'"
#: src/ftp-retr.c:175 src/ftp.c:924
msgid "CWD not needed"
msgstr "Commande CWD inutile"
#: src/ftp.c:931
msgid "REST failed"
msgstr "La commande REST a <20>chou<6F>"
#: src/ftp.c:936
msgid "REST ok"
msgstr "La commande REST est Ok"
#: src/ftp.c:1016
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr "Erreur <20> la r<>ception des donn<6E>es de transfert FTP: %s"
#: src/ftp.c:1021
#, c-format
msgid "String received after the LIST command = %s"
msgstr "Chaine recue apr<70>s la commande LIST = %s"
#: src/ftp.c:1039
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
"Impossible d'analyser la ligne retourn<72>e par le serveur FTP:indiquer son URL "
"<22> <kalum@delrom.ro>"
#: src/ftp.c:1066
msgid "Server doesn't seem to support PASV"
msgstr "Le serveur ne supporte pas la commande PASV"
#: src/ftp.c:1142
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr "Nouvelle tentative (n<> %d) dans %d secondes"
#: src/ftp.c:1161 src/http.c:734
msgid "Successfully got info"
msgstr "R<>cup<75>ration des information r<>ussie"
#: src/ftp.c:1169 src/http.c:746
msgid "File not found!"
msgstr "Fichier introuvable!"
#: src/ftp-retr.c:319 src/ftp.c:1188 src/http-retr.c:331 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr "%d tentative(s) ont <20>chou<6F>, abandon"
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr "Taille MULTINET: %d\n"
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr "Taille BINLS: %d\n"
#: src/ftp-retr.c:171
msgid "CWD ok"
msgstr "La commande CWD est Ok"
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr ""
"Erreur d<>tect<63>e dans le code! V<>rifiez les valeurs de 'remote_starpos' et "
"'resume_support'"
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr "La commande RETR a <20>chou<6F>"
#: src/ftp-retr.c:259 src/http-retr.c:272 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr "Nouvelle tentative... Essai %d dans %d secondes"
#: src/ftp-retr.c:271 src/http-retr.c:284
msgid "Error while attemting to process download file "
msgstr "Erreir"
#: src/ftp-retr.c:302 src/http-retr.c:311
msgid "Successfully got download"
msgstr "R<>cup<75>ration des informations r<>ussie"
#: src/ftp-retr.c:308
msgid "Error occured in connection..."
msgstr "Erreur <20> la connexion..."
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: l'option '%s' est ambig<69>e\n"
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: l'option '--%s' ne permet pas un argument\n"
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: l'option '%c%s' ne permet pas un argument\n"
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: l'option '%c%s' n<>cessite un argument\n"
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: l'option '--%s' est inconnue\n"
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: l'option '%c%s' est inconnue\n"
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: option -- %c inconnue\n"
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: option -- %c invalide\n"
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'option -- %c n<>cessite un argument\n"
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: l'option '-W %s' est ambig<69>e\n"
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: l'option '-W %s' ne permet pas un argument\n"
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr "pr<70>sence de chiffres dans dans diff<66>rents <20>l<EFBFBD>ments d'option.\n"
#: src/getopt.c:1124
msgid "option a\n"
msgstr ""
#: src/getopt.c:1128
msgid "option b\n"
msgstr ""
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr "option c avec la valeur '%s'\n"
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr "getopt() a retourn<72> le code de charact<63>re 0%o ?!\n"
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr "El<45>ments hors options: "
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr "Impossible d'<27>crire la requ<71>te HTTP"
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr "En-t<>te = %s"
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr "Fin de fichier atteinte lors du de l'analyse des en-t<>tes"
#: src/http.c:412
msgid "Read error in headers"
msgstr "Erreur de lecture dans les en-t<>tes"
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr "INCONNU"
#: src/http.c:440
msgid "(no description)"
msgstr "(pas de description)"
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:394 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr "Erreur lors de la connexion <20> %s"
#: src/http-retr.c:119 src/http-retr.c:421 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr "Authentification comme l'utilisateur %s (mot de passe %s)"
#: src/http-retr.c:120 src/http-retr.c:422 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr "Chaine d'authentification=%s"
#: src/http-retr.c:198 src/http-retr.c:477 src/http.c:682
msgid "Sending HTTP request"
msgstr "Emission de la requ<71>te HTTP"
#: src/http-retr.c:304
msgid "Will be handled in main "
msgstr "Sera trait<69> dans le programme principal"
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr "Erreur <20> l'ouverture du fichier %s en <20>criture: %s"
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:93 src/logfile.c:104
#: src/logfile.c:115
#, c-format
msgid "Error writing to file %s: %s"
msgstr "Erreur <20> l'<27>criture dans le fichier %s: %s"
#: src/logfile.c:168
msgid "logfile doesn't exist"
msgstr "le fichier de trace n'existe pas"
#: src/logfile.c:198
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr "Erreur <20> l'ouverture du fichier %s en lecture: %s"
#: src/logfile.c:232 src/logfile.c:244 src/logfile.c:256
#, c-format
msgid "Error reading from file %s: %s"
msgstr "Erreur <20> la lecture depuis le fichier %s: %s"
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr "Impossible d'allouer %lu octets"
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr "Impossible de r<>-allouer %lu octets"
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr "Pas assez de m<>moire pour continuer: <20>chec de strdup()"
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr "Attention: impossible d'attendre"
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr "Impossible de consulter le nom d'h<>te"
#: src/misc.c:328
msgid "Unable to create socket"
msgstr "Impossible de cr<63>er la socket"
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr "Erreur lors de la connexion"
#: src/misc.c:332 src/misc.c:386
msgid "The connection attempt was refused"
msgstr "La tentative de connexion a <20>t<EFBFBD> refus<75>e"
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr "Erreur lors de l'acceptation de la connexion"
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr "Erreur lors de la fourniture du nom <20> une socket"
#: src/misc.c:338
msgid "Error while listening"
msgstr "Erreur lors de l'<27>coute d'une socket"
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr "La connexion a <20>t<EFBFBD> ferm<72>e par le correspondant"
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr "Le protocole de l'URL est inconnu"
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr "Le port sp<73>cifi<66> dans l'URL est invalide!"
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr "Le nom d'h<>te sp<73>cifi<66> dans l'URL est invalide!"
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr "Le format sp<73>cifi<66> dans l'URL est invalide!"
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr "Fin de fichier atteinte dans la connexion HTTP"
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr "Erreur dans le transfert de donn<6E>es HTTP"
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr "Authentification requise pour acc<63>der <20> cette ressource"
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr "Impossible de s'authentifier aupr<70>s de l'h<>te"
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr "URL introuvable sur l'h<>te"
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr "L'h<>te a interdit la tentative de connexion"
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr "Requ<71>te PORT est rejet<65>e par le serveur"
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr "Fichier ou r<>pertoire introuvable sur l'h<>te!"
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr "Le TYPE sp<73>cifi<66> est inconnu du serveur FTP!"
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr "La commande est inconnue du serveur FTP"
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr "La commande SIZE a <20>chou<6F>"
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr "Erreur lors du transfert de donn<6E>es FTP"
#: src/misc.c:374
msgid "The REST command failed"
msgstr "La commande REST a <20>chou<6F>"
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr "L'h<>te distant ne permet pas les acc<63>s"
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr "L'h<>te a rejet<65> le mot de passe"
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr "La commande PASV (mode passif) n'est pas support<72>e par l'h<>te"
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr "l'h<>te ne supportte pas les transferts PASV (mode passif)"
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr "Impossible de changer le r<>pertoire (commande CWD)"
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
"L'h<>te a indiqu<71> que le service demand<6E> est indisponible et a ferm<72> la "
"connexion"
#: src/misc.c:394
msgid "getsockname failed!"
msgstr "l'appel <20> getsockname() a <20>chou<6F>!"
#: src/misc.c:399 src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
"Le serveur, agissant comme passerelle ou proxy, a recu une r<>ponse "
"invalidedu serveur distant qu'il contactait pour accomplir la requ<71>te"
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
"Le serveur est incapable de traiter la requ<71>te en raison d'une "
"surchargemomentann<6E>e ou d'une maintenance du serveur"
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
"Le serveur est incapable de traiter la requ<71>te en raison d'une causeinconnue"
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
"Le serveur ne supporte pas la fonctionnalit<69> n<>cessaire pour traiter la "
"requ<71>te"
#: src/misc.c:422
msgid "Error while opening file"
msgstr "Erreur <20> l'ouverture du fichier"
#: src/misc.c:424
msgid "Error while writing to file"
msgstr "Erreur <20> l'<27>criture du fichier"
#: src/misc.c:427
msgid "The Download was aborted"
msgstr "Le t<>l<EFBFBD>chargement a <20>t<EFBFBD> abandonn<6E>"
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr "Le t<>l<EFBFBD>chargement a eu une erreur locale fatale"
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr "Erreur: continuation de la connexion impossible"
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr "Erreur lors de la lecture des donn<6E>es depuis la socket"
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr "Erreur lors de l'<27>criture des donn<6E>es dans la socket"
#: src/misc.c:437
msgid "Error while Proxying"
msgstr "Erreur dans le traitement du proxy"
#: src/misc.c:439
msgid "The location is a directory"
msgstr "L'emplacement est un r<>pertoire"
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr "Erreur inconnue"
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr "%s:%d: attention: \"%s\" a <20>t<EFBFBD> trouv<75> avant un nom d'h<>te\n"
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr "%s:%d: attention: token \"%s\" inconnu\n"

BIN
libprozilla/po/it.gmo Normal file

Binary file not shown.

793
libprozilla/po/it.po Normal file
View File

@@ -0,0 +1,793 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2001-09-29 19:49+0200\n"
"PO-Revision-Date: 2001-10-05 20:55+GMT\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 0.7\n"
#: src/connection.c:163 src/connection.c:253
#, c-format
msgid "Unable to open file %s: %s!"
msgstr "Impossibile aprire il file %s: %s!"
#: src/connection.c:185 src/connection.c:300
msgid "write failed"
msgstr "Scrittura fallita"
#: src/connection.c:188 src/connection.c:303
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr "Impossibile scrivere sul file %s: %s!"
#: src/connection.c:211 src/connection.c:284
msgid "connection timed out"
msgstr "Time Out Connessione"
#: src/connection.c:222 src/connection.c:323
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr "Il download per questa connessione completato %s: %ld ricevuto"
#: src/connection.c:275
msgid "Server Closed Connection Prematurely!"
msgstr "Il Server Ha Chiuso La Connessione Prematuramente!"
#: src/connection.c:381
#, c-format
msgid "orig start pos= %d\n"
msgstr "Pos Part Orig= %d\n"
#: src/connection.c:412
msgid "Idle"
msgstr "Inattivo"
#: src/connection.c:415
msgid "Connecting"
msgstr "Connettendo"
#: src/connection.c:418
msgid "Logging in"
msgstr "Effettuando login"
#: src/connection.c:421
msgid "Downloading"
msgstr "Sto Scaricando"
#: src/connection.c:424
msgid "Completed"
msgstr "Completato"
#: src/connection.c:427
msgid "Login Denied"
msgstr "Login Rifiutato"
#: src/connection.c:430
msgid "Connect Refused"
msgstr "Connessione Rifiutata"
#: src/connection.c:433
msgid "Remote Fatal"
msgstr "Errore Remoto Fatale"
#: src/connection.c:436
msgid "Local Fatal"
msgstr "Errore Locale Fatale"
#: src/connection.c:439
msgid "Timed Out"
msgstr "Time Out"
#: src/connection.c:441
msgid "Max attempts reached"
msgstr "Numero massimo di tentativi raggiunto"
#: src/connection.c:444
msgid "Unkown Status!"
msgstr "Stato Sconosciuto!"
#: src/connection.c:526 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr "Errore: protocollo non supportato"
#: src/connection.c:548
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr "La posizione indicata dal server <20> sbagliata: %s!"
#: src/connection.c:556
#, c-format
msgid "Redirected to => %s"
msgstr "Reindirizzato a => %s"
#: src/debug.c:60 src/download.c:692 src/download.c:1065
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr "Non riesco a cancellare il file %s. Ragione-: %s"
#: src/download.c:174
#, c-format
msgid "Error while processing prior download of connection number %d"
msgstr "Errore durante l'elaborazione del precedente download della connessione numero %d"
#: src/download.c:203
msgid "Warning! Unable to create logfile!"
msgstr "Attenzione! Impossibile creare il file di log!"
#: src/download.c:228 src/download.c:239 src/download.c:350 src/download.c:372
#: src/download.c:404 src/download.c:446 src/download.c:467 src/download.c:492
#: src/download.c:534 src/download.c:555 src/download.c:1353
#: src/download.c:1398 src/download.c:1481 src/download.c:1528
#: src/download.c:1567 src/download.c:1619 src/download.c:1644
#: src/download.c:1669 src/download.c:1721 src/download.c:1746
msgid "Error: Not enough system resources"
msgstr "Errore: Risore di sistema Insufficienti"
#: src/download.c:243
msgid "Error: Unsupported Protocol was specified"
msgstr "Errore: E' stato specificato un protocollo non supportato"
#: src/download.c:247
msgid "All threads created"
msgstr "Tutti i procressi creati"
#: src/download.c:338 src/download.c:1287
msgid "The file was not found in all the connections!"
msgstr "Il file non <20> stato trovato in tutte le connessioni!"
#: src/download.c:344 src/download.c:366 src/download.c:442 src/download.c:463
#: src/download.c:530 src/download.c:551 src/download.c:1615
#: src/download.c:1640 src/download.c:1717 src/download.c:1742
msgid "Relaunching download"
msgstr "Rilanciando il download"
#: src/download.c:360 src/download.c:1414
msgid "Failed to change to the working directory on all the connections!"
msgstr "Non <20> stato possibile cambiare alla directory di lavoro per tutte le connessioni!"
#: src/download.c:382 src/download.c:1545
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr "La connessione %d ha subito un errrore fatale locale: %s. Abortendo il download."
#: src/download.c:397 src/download.c:1560
msgid "All logins rejected!.Retrying connection"
msgstr "Tutti i logins rifiutati! Ritentando la connessione"
#: src/download.c:485 src/download.c:1662
msgid "All connections attempts have been rejected!.Retrying connection"
msgstr "Tutti i tentativi di connessione sono stati rifiutati! Ritentando la connessione"
#: src/download.c:755
#, c-format
msgid "Unable to allocate %ld bytes to recreate files"
msgstr "Impossibile allocare %ld bytes per ricreare i files"
#: src/download.c:773
#, c-format
msgid "Error: unable to open the file %s for writing-: %s\n"
msgstr "Errore: impossibile aprire il file %s in scrittura-: %s\n"
#: src/download.c:792
#, c-format
msgid "Error: Unable to open the file %s for reading-: %s\n"
msgstr "Errore: Impossibile aprire il file %s in lettura-: %s\n"
#: src/download.c:830
#, c-format
msgid "Unable to delete the file %s before exiting. Reason-: %s"
msgstr "Impossibile cancellare il file %s prima di uscire. Ragione-: %s"
#: src/download.c:837
#, c-format
msgid "Error:A write error occured while writing to %s -: %s\n"
msgstr "Errore: E' occorso un errore di scrittura su %s -: %s\n"
#: src/download.c:852
#, c-format
msgid "Successfully Wrote %s \n"
msgstr "Creato con Successo %s \n"
#: src/download.c:1325 src/download.c:1453
msgid "Trying additional paths aailable on this server"
msgstr "Provando altri indirizzi disponibili su server"
#: src/download.c:1380 src/download.c:1509
msgid ""
"No additional paths on this server available, so will switch to another "
"server"
msgstr "Non sono stati trovati altri indirizzi su questo server, tenter<65> su un altro server"
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr "Messaggio = %s"
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr "Errore durante il controllo dei dati FTP: %s"
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr "Errore durante la ricezione dei dati FTP: %s"
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr "Inviando: %s"
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr "Errore durante l'invio di dati FTP: %s"
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr "Ricevuto: %s"
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr "FTP PASV Header = %s"
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr "Codice sconosciuto %d ritornato durante il login FTP"
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr "Connettendo a %s"
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr "Errore durante la connessione a %s"
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr "Connesso a %s"
#: src/ftp.c:872 src/ftp.c:881
#, c-format
msgid "Logging in as user %s with password %s"
msgstr "Effettuando il login come utente %s con password %s"
#: src/ftp.c:895
msgid "Logged in successfully"
msgstr "Effettuato il login con successo"
#: src/ftp.c:915
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr "Il comando CWD non <20> riuscito a cambiare la directory di lavoro in '%s'"
#: src/ftp.c:924
msgid "CWD not needed"
msgstr "CWD non necessario"
#: src/ftp.c:931
msgid "REST failed"
msgstr "REST fallito"
#: src/ftp.c:936
msgid "REST ok"
msgstr "REST ok"
#: src/ftp.c:1016
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr "Errore durante la ricezione dei dati di trasferimento FTP: %s"
#: src/ftp.c:1021
#, c-format
msgid "String received after the LIST command = %s"
msgstr "Stringa ricevuta dopo il comando LIST = %s"
#: src/ftp.c:1039
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
"Impossibile analizzare la stringa ritornata dal server FTP: per favore riporta l'URL a "
"Kalum@delrom.ro"
#: src/ftp.c:1066
msgid "Server doesn't seem to support PASV"
msgstr "Sembra che il server non supporti PASV"
#: src/ftp.c:1142
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr "Tenter<65> per la %d<> fra %d secondi"
#: src/ftp.c:1161 src/http.c:734
msgid "Seccessfully got info"
msgstr "Informazioni ottenute con successo"
#: src/ftp.c:1169 src/http.c:746
msgid "File not found!"
msgstr "File non trovato!"
#: src/ftp-retr.c:319 src/ftp.c:1188 src/http-retr.c:331 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr "Ho tentato per %d volte(a) e ho fallito, sto abortendo"
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr "Grandezza MULTINET: %d\n"
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr "Grandezza BINLS: %d\n"
#: src/ftp-retr.c:125
#, c-format
msgid "Logging in as user %s with password %s."
msgstr "Effettuando il login come utente %s con password %s"
#: src/ftp-retr.c:165
#, c-format
msgid "CWD failed to change to directory '%s'."
msgstr "CWD ha fallito nel cambiare la directory a '%s'."
#: src/ftp-retr.c:171
msgid "CWD ok."
msgstr "CWD ok."
#: src/ftp-retr.c:175
msgid "CWD not needed."
msgstr "CWD non necessario"
#: src/ftp-retr.c:196
msgid "I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr "C'<27> un bug nel mio codice!!, controlla i valori di remote_startpos e resume_support."
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr "RETR failed"
#: src/ftp-retr.c:259
#, c-format
msgid "Retrying..Attempt %d in %d seconds"
msgstr "Riprovando...Tentativo %d fra %d secondi"
#: src/ftp-retr.c:271 src/http-retr.c:284
msgid "Error while attemting to process download file "
msgstr "Errore durante il tentativo di processare il file da scaricare"
#: src/ftp-retr.c:302 src/http-retr.c:311
msgid "Seccessfully got download"
msgstr "Download effettuato con successo"
#: src/ftp-retr.c:308
msgid "Error occured in connection..."
msgstr "C'<27> stato un errore nella connessione..."
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: l'opzione `%s' <20> ambigua\n"
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: opzione `--%s' non autorizza un argomento\n"
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: opzione `%c%s' non autorizza un argomento\n"
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: opzione `%s' richiede un argomento\n"
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: opzione non riconosciuta `--%s'\n"
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: opzione non riconosciuta `%c%s'\n"
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%: opzione illegale -- %c\n"
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: opzione non valida -- %c\n"
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opzione richiede un argomento -- %c\n"
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: l'opzione `-W %s' <20> ambigua\n"
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: l'opzione `-W %s' non autorizza un argomento\n"
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr "si trovano cifre in due differenti argomenti-argv.\n"
#: src/getopt.c:1124
msgid "option a\n"
msgstr "opzione a\n"
#: src/getopt.c:1128
msgid "option b\n"
msgstr "opzione b\n"
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr "opzione c con valore `%s'\n"
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr "?? getopt ha replicato character code 0%o ??\n"
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr "non-option ARGV-elements: "
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr "Fallita la scrittura della richiesta HTTP"
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr "Header = %s"
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr "End of file durante l'analisi degli headers"
#: src/http.c:412
msgid "Read error in headers"
msgstr "Errore di lettura negli headers"
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr "SCONOSCIUTO"
#: src/http.c:440
msgid "(no description)"
msgstr "(senza descrizione)"
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:394 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr "Errore durante la connessione a %s"
#: src/http-retr.c:119 src/http-retr.c:421 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr "Autenticando come utente %s con password %s"
#: src/http-retr.c:120 src/http-retr.c:422 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr "Stringa di autenticazione=%s"
#: src/http-retr.c:198 src/http-retr.c:477 src/http.c:682
msgid "Sending HTTP request"
msgstr "Inviando la richiesta HTTP"
#: src/http-retr.c:272 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr "Riprovando...Tentativo %d fra %d secondi"
#: src/http-retr.c:304
msgid "Will be hanled in main "
msgstr "Will be hanled in main "
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr "Errore durante l'apertura del file %s in scrittura: %s"
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:93 src/logfile.c:104
#: src/logfile.c:115
#, c-format
msgid "Error writing to file %s: %s"
msgstr "Errore di scrittura sul file %s: %s"
#: src/logfile.c:168
msgid "logfile doesn't exist"
msgstr "Il logfile non esiste!"
#: src/logfile.c:198
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr "Errore durante l'apertura del file %s in lettura: %s"
#: src/logfile.c:232 src/logfile.c:244 src/logfile.c:256
#, c-format
msgid "Error reading from file %s: %s"
msgstr "Errore di lettura dal file %s: %s"
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr "Fallito il malloc() di %lu bytes"
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr "Fallito il realloc() di %lu bytes."
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr "Memoria insufficiente per continuare: strduo() fallito."
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr "Attenzione: Impossibile ritardare"
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr "Impossibile trovare il nome dell'host"
#: src/misc.c:328
msgid "Unable to create socket"
msgstr "Impossibile creare il socket"
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr "Errore durante la connessione"
#: src/misc.c:332
msgid "The cconnection attempt was refused"
msgstr "Il tentativo di connessione <20> stato rifiutato"
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr "Errore mentre la connessione veniva accettata"
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr "Errore mentre il socket veniva assicurato"
#: src/misc.c:338
msgid "Error while listening"
msgstr "Errore durante l'ascolto"
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr "La connessione <20> stata resettata/chiusa dal peer"
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr "Il protocollo URL era sconosciuto"
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr "La porta specificata nell'URL non <20> valida!"
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr "L'Hostname specificato nell'URL non <20> valido!"
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr "La struttura dell'URL non sembra valida!"
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr "End of file raggiunta nella connessione HTTP"
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr "Errore durante la trasmissione di dati HTTP"
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr "Autenticazione richiesta per accedere a questa risorsa"
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr "Fallita l'autenticazione con l'host!"
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr "L'URL non <20> stato trovato sull'host!"
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr "L'host non ha autorizzato il tentativo di login"
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr "La richiesta PORT <20> stata rifiutata dal server"
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr "Il file/dir obiettivo non <20> stato trovato sull'host!"
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr "Il TYPE specificato non <20> conosciuto dal server FTP!"
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr "Il comando <20> sconosciuto al server FTP!"
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr "Comando SIZE fallito"
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr "Errore durante il trasferimento di dati FTP"
#: src/misc.c:374
msgid "The REST command failed"
msgstr "Comando REST fallito"
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr "Il peer non autorizza l'accesso"
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr "L'host ha rifiutato la password"
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr "La PASV (passive mode) non <20> supportata dall'host"
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr "L'host non supporta i trasferimenti PASV (passive mode)"
#: src/misc.c:386
msgid "The connection attempt was refused"
msgstr "Il tentativo di connessione <20> stato rifiutato"
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr "Fallito il cambiamento (CWD) di directory"
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr "L'host ha detto che il servizio richiesto non <20> disponibile e ha chiuso la connessione di controllo"
#: src/misc.c:394
msgid "getsockname failed!"
msgstr "Fallito il getsockname"
#: src/misc.c:399
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
"Il server, mentre agiva da gateway o proxy, ha ricevuto un responso non valido dall'upstrem server"
"a cui era accesso nel tentativo di completare la richiesta"
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
"Il server attualmente non pu<70> processare la richiesta a causa di un temporaneo "
"sovraccarico o mantenimento del server."
#: src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request."
msgstr ""
"Il server, mentre agiva da gateway o proxy, ha ricevuto un responso non valido dall'upstrem server"
"a cui era accesso nel tentativo di completare la richiesta"
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr "Il server ha incontrato una condizione inaspettata che gli ha impedito di portare a termine la richiesta."
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr "Il server non supporta la funzionalit<69> richiesta per completare la richiesta."
#: src/misc.c:422
msgid "Error while opening file"
msgstr "Errore durante l'apertura del file"
#: src/misc.c:424
msgid "Error while writing to file"
msgstr "Errore durante la scrittura sul file"
#: src/misc.c:427
msgid "The Download was aborted"
msgstr "Il download <20> stato abortito"
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr "Il Download ha incontrato un errore fatale locale"
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr "Errore: Effettuare il Resume sulla connessione <20> impossibile"
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr "Errore durante la lettura dei dati dal socket"
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr "Errore durante la scrittura di dati sul socket"
#: src/misc.c:437
msgid "Error while Proxying"
msgstr "Errore durante l'attivit<69> di proxy"
#: src/misc.c:439
msgid "The location is a directory"
msgstr "L'indirizzo <20> una directory"
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr "Codice errore Sconosciuto/Non Supportato"
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr "%s:%d: attenzione: trovato \"%s\" prima di qualunque nome host\n"
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr "%s:%d: attenzione: token sconosciuto \"%s\"\n"

View File

@@ -0,0 +1,739 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2003-02-18 05:45+0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
#: src/connection.c:177 src/connection.c:274
msgid "write failed"
msgstr ""
#: src/connection.c:180 src/connection.c:277
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr ""
#: src/connection.c:201 src/connection.c:258
msgid "connection timed out"
msgstr ""
#: src/connection.c:212 src/connection.c:296
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr ""
#: src/connection.c:249
msgid "Server Closed Connection Prematurely!"
msgstr ""
#: src/connection.c:340
msgid "Idle"
msgstr ""
#: src/connection.c:343
msgid "Connecting"
msgstr ""
#: src/connection.c:346
msgid "Logging in"
msgstr ""
#: src/connection.c:349
msgid "Downloading"
msgstr ""
#: src/connection.c:352
msgid "Completed"
msgstr ""
#: src/connection.c:355
msgid "Login Denied"
msgstr ""
#: src/connection.c:358
msgid "Connect Refused"
msgstr ""
#: src/connection.c:361
msgid "Remote Fatal"
msgstr ""
#: src/connection.c:364
msgid "Local Fatal"
msgstr ""
#: src/connection.c:367
msgid "Timed Out"
msgstr ""
#: src/connection.c:369
msgid "Max attempts reached"
msgstr ""
#: src/connection.c:372
msgid "Unkown Status!"
msgstr ""
#: src/connection.c:463 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr ""
#: src/connection.c:487
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr ""
#: src/connection.c:496
#, c-format
msgid "Redirected to => %s"
msgstr ""
#: src/debug.c:60 src/download.c:799 src/download.c:1076
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr ""
#: src/download.c:136 src/download.c:154 src/download.c:2094
#: src/download.c:2112
#, c-format
msgid "Unable to open file %s: %s!"
msgstr ""
#: src/download.c:288
msgid "Warning! Unable to create logfile!"
msgstr ""
#: src/download.c:307 src/download.c:318 src/download.c:458 src/download.c:480
#: src/download.c:512 src/download.c:555 src/download.c:576 src/download.c:601
#: src/download.c:643 src/download.c:664 src/download.c:1388
#: src/download.c:1433 src/download.c:1516 src/download.c:1563
#: src/download.c:1640 src/download.c:1679 src/download.c:1725
#: src/download.c:1777 src/download.c:1802 src/download.c:1827
#: src/download.c:1873 src/download.c:1924 src/download.c:1949
msgid "Error: Not enough system resources"
msgstr ""
#: src/download.c:322
msgid "Error: Unsupported Protocol was specified"
msgstr ""
#: src/download.c:326
msgid "All threads created"
msgstr ""
#: src/download.c:446 src/download.c:1322
msgid "The file was not found in all the connections!"
msgstr ""
#: src/download.c:452 src/download.c:474 src/download.c:551 src/download.c:572
#: src/download.c:639 src/download.c:660 src/download.c:1773
#: src/download.c:1798 src/download.c:1920 src/download.c:1945
msgid "Relaunching download"
msgstr ""
#: src/download.c:468 src/download.c:1449
msgid "Failed to change to the working directory on all the connections!"
msgstr ""
#: src/download.c:490 src/download.c:1657
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr ""
#: src/download.c:505 src/download.c:1672
msgid "All logins rejected! Retrying connection"
msgstr ""
#: src/download.c:594 src/download.c:1820
msgid "All connections attempts have been rejected! Retrying connection"
msgstr ""
#: src/download.c:1360 src/download.c:1488
msgid "Trying additional paths available on this server"
msgstr ""
#: src/download.c:1415 src/download.c:1544
msgid ""
"No additional paths on this server available, so will switch to another "
"server"
msgstr ""
#: src/download.c:1579
msgid "The server(s) do not support REST on all the connections!"
msgstr ""
#: src/download.c:1622
msgid ""
"This server does not support resuming downloads, so will switch to another "
"server"
msgstr ""
#: src/download.c:1707
msgid ""
"This server has rejected the login attempt, so will switch to another server"
msgstr ""
#: src/download.c:1855
msgid ""
"This server has rejected the connection attempt, so will switch to another "
"server"
msgstr ""
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr ""
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr ""
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr ""
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr ""
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr ""
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr ""
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr ""
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr ""
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr ""
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr ""
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr ""
#: src/ftp-retr.c:125 src/ftp.c:872 src/ftp.c:881
#, c-format
msgid "Logging in as user %s with password %s"
msgstr ""
#: src/ftp.c:895
msgid "Logged in successfully"
msgstr ""
#: src/ftp-retr.c:165 src/ftp.c:915
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr ""
#: src/ftp-retr.c:175 src/ftp.c:924
msgid "CWD not needed"
msgstr ""
#: src/ftp.c:931
msgid "REST failed"
msgstr ""
#: src/ftp.c:936
msgid "REST ok"
msgstr ""
#: src/ftp.c:1016
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr ""
#: src/ftp.c:1021
#, c-format
msgid "String received after the LIST command = %s"
msgstr ""
#: src/ftp.c:1039
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
#: src/ftp.c:1066
msgid "Server doesn't seem to support PASV"
msgstr ""
#: src/ftp.c:1142
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr ""
#: src/ftp.c:1161 src/http.c:734
msgid "Successfully got info"
msgstr ""
#: src/ftp.c:1169 src/http.c:746
msgid "File not found!"
msgstr ""
#: src/ftp-retr.c:319 src/ftp.c:1188 src/http-retr.c:331 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr ""
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr ""
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr ""
#: src/ftp-retr.c:171
msgid "CWD ok"
msgstr ""
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr ""
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr ""
#: src/ftp-retr.c:259 src/http-retr.c:272 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr ""
#: src/ftp-retr.c:271 src/http-retr.c:284
msgid "Error while attemting to process download file "
msgstr ""
#: src/ftp-retr.c:302 src/http-retr.c:311
msgid "Successfully got download"
msgstr ""
#: src/ftp-retr.c:308
msgid "Error occured in connection..."
msgstr ""
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr ""
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr ""
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr ""
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr ""
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr ""
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr ""
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr ""
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr ""
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr ""
#: src/getopt.c:1124
msgid "option a\n"
msgstr ""
#: src/getopt.c:1128
msgid "option b\n"
msgstr ""
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr ""
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr ""
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr ""
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr ""
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr ""
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr ""
#: src/http.c:412
msgid "Read error in headers"
msgstr ""
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr ""
#: src/http.c:440
msgid "(no description)"
msgstr ""
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:394 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr ""
#: src/http-retr.c:119 src/http-retr.c:421 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr ""
#: src/http-retr.c:120 src/http-retr.c:422 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr ""
#: src/http-retr.c:198 src/http-retr.c:477 src/http.c:682
msgid "Sending HTTP request"
msgstr ""
#: src/http-retr.c:304
msgid "Will be handled in main "
msgstr ""
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr ""
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:97 src/logfile.c:113
#: src/logfile.c:129 src/logfile.c:146
#, c-format
msgid "Error writing to file %s: %s"
msgstr ""
#: src/logfile.c:199
msgid "logfile doesn't exist"
msgstr ""
#: src/logfile.c:232
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr ""
#: src/logfile.c:270 src/logfile.c:285 src/logfile.c:301 src/logfile.c:316
#, c-format
msgid "Error reading from file %s: %s"
msgstr ""
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr ""
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr ""
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr ""
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr ""
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr ""
#: src/misc.c:328
msgid "Unable to create socket"
msgstr ""
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr ""
#: src/misc.c:332 src/misc.c:386
msgid "The connection attempt was refused"
msgstr ""
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr ""
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr ""
#: src/misc.c:338
msgid "Error while listening"
msgstr ""
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr ""
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr ""
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr ""
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr ""
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr ""
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr ""
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr ""
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr ""
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr ""
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr ""
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr ""
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr ""
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr ""
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr ""
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr ""
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr ""
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr ""
#: src/misc.c:374
msgid "The REST command failed"
msgstr ""
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr ""
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr ""
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr ""
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr ""
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr ""
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
#: src/misc.c:394
msgid "getsockname failed!"
msgstr ""
#: src/misc.c:399 src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
#: src/misc.c:422
msgid "Error while opening file"
msgstr ""
#: src/misc.c:424
msgid "Error while writing to file"
msgstr ""
#: src/misc.c:427
msgid "The Download was aborted"
msgstr ""
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr ""
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr ""
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr ""
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr ""
#: src/misc.c:437
msgid "Error while Proxying"
msgstr ""
#: src/misc.c:439
msgid "The location is a directory"
msgstr ""
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr ""
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr ""
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr ""

BIN
libprozilla/po/nl.gmo Normal file

Binary file not shown.

771
libprozilla/po/nl.po Normal file
View File

@@ -0,0 +1,771 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2001-08-15 04:19+0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
#: src/connection.c:157 src/connection.c:247
#, c-format
msgid "Unable to open file %s: %s!"
msgstr "Onmogelijk bestand te openen %s: %s!"
#: src/connection.c:179 src/connection.c:294
msgid "write failed"
msgstr "schrijven mislukt"
#: src/connection.c:182 src/connection.c:297
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr "Onmogelijk om te schrijven naar bestand %s: %s!"
#: src/connection.c:205 src/connection.c:278
msgid "connection timed out"
msgstr "verbindingstijd verlopen"
#: src/connection.c:216 src/connection.c:317
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr "download voor deze verbinding voltooid%s: %ld ontvangen"
#: src/connection.c:269
msgid "Server Closed Connection Prematurely!"
msgstr "Server sloot verbinding van tevoren!"
#: src/connection.c:375
#, c-format
msgid "orig start pos= %d\n"
msgstr "originele start pos= %d\n"
#: src/connection.c:406
msgid "Idle"
msgstr "Ongebruikt"
#: src/connection.c:409
msgid "Connecting"
msgstr "Verbinding"
#: src/connection.c:412
msgid "Logging in"
msgstr "Bezig met aanmelden"
#: src/connection.c:415
msgid "Downloading"
msgstr "Aan het downloaden"
#: src/connection.c:418
msgid "Completed"
msgstr "Voltooid"
#: src/connection.c:421
msgid "Login Denied"
msgstr "Aanmelding geweigerd"
#: src/connection.c:424
msgid "Connect Refused"
msgstr "Verbinding geweigerd"
#: src/connection.c:427
msgid "Remote Fatal"
msgstr "Fatale fout andere zijde"
#: src/connection.c:430
msgid "Local Fatal"
msgstr "Locale fatale fout"
#: src/connection.c:433
msgid "Timed Out"
msgstr "Tijd verlopen"
#: src/connection.c:435
msgid "Max attempts reached"
msgstr "Max pogingen bereikt"
#: src/connection.c:438
msgid "Unkown Status!"
msgstr "Onbekende status!"
#: src/connection.c:520 src/misc.c:469
msgid "Error: unsupported protocol"
msgstr "Fout: niet ondersteund protocol"
#: src/connection.c:542
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr "De server meld dat de lokatie verkeerd is: %s!"
#: src/connection.c:549
#, c-format
msgid "Redirected to => %s"
msgstr ""
#: src/debug.c:60 src/download.c:633 src/download.c:1021
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr "Unmogelijk bestand te wissen %s. Reden-: %s"
#: src/download.c:171
#, c-format
msgid "Error while processing prior download of connection number %d"
msgstr "Fout bij het verwerken voorafgaande download van connectie nummer %d"
#: src/download.c:200
msgid "Warning! Unable to create logfile!"
msgstr "Waarschuwing! Onmogelijk om logfile te maken!"
#: src/download.c:225 src/download.c:236 src/download.c:338 src/download.c:377
#: src/download.c:396 src/download.c:418 src/download.c:457 src/download.c:476
msgid "Error: Not enough system resources"
msgstr "Fout: Niet genoeg systeem bronnen"
#: src/download.c:240
msgid "Error: Unsupported Protocol was specified"
msgstr "Fout: Niet ondersteund protocol is ingesteld"
#: src/download.c:244
msgid "All threads created"
msgstr "Alle draden gecreerd"
#: src/download.c:318
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr "Connectie %d, heeft een locale fatale fout: %s . Download gestopt. "
#: src/download.c:334
msgid "All logins rejected!.Retrying connection"
msgstr "Alle aanmeldingen verworpen!. Bezig opnieuw verbinding te maken"
#: src/download.c:373 src/download.c:392 src/download.c:453 src/download.c:472
msgid "Relaunching download"
msgstr "Download herstarten"
#: src/download.c:414
msgid "All connections attempts have been rejected!.Retrying connection"
msgstr "Alle verbindingen zijn verworpen!. Bezig opnieuw verbinding te maken"
#: src/download.c:695
#, c-format
msgid "Unable to allocate %d bytes to recreate files"
msgstr "Onmogelijk om %d bytes te lokaliseren om bestanden te cre<72>ren"
#: src/download.c:713
#, c-format
msgid "Error: unable to open the file %s for writing-: %s\n"
msgstr "Fout: onmogelijk om bestand %s te openen om te schrijven-: %s\n"
#: src/download.c:732
#, c-format
msgid "Error: Unable to open the file %s for reading-: %s\n"
msgstr "Fout: onmogelijk om bestand %s te openen om te lezen-: %s\n"
#: src/download.c:770
#, c-format
msgid "Unable to delete the file %s before exiting. Reason-: %s"
msgstr "Onmogelijk om bestand %s te wissen voor het sluiten. Reden-: %s"
#: src/download.c:777
#, c-format
msgid "Error:A write error occured while writing to %s -: %s\n"
msgstr "Foute: Een schrijffout is ontstaan bij het schrijven naar %s -: %s\n"
#: src/download.c:792
#, c-format
msgid "Successfully Wrote %s \n"
msgstr "Successvol geschreven %s \n"
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr "Bericht = %s"
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr "Fout bij het controleren van FTP data: %s"
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr "Foute bij het onvangen van FTP data: %s"
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr "Verzenden: %s"
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr "Foute bij het zenden van FTP data: %s"
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr "Ontvangen: %s"
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr "FTP PASV Beginkop= %s"
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr "Onbekende code %d ontstaan bij het FTP aanmelden"
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr "Verbinden met $s"
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr "Fout bij het verbinden met %s"
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr "Verbonden met %s"
#: src/ftp.c:870
#, c-format
msgid "Logging in as user %s with password %s"
msgstr "Aanmelden als gebruiker %s met wachtwoord %s"
#: src/ftp.c:882
msgid "Logged in successfully"
msgstr "Aanmelden succesvol"
#: src/ftp.c:902
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr "CWD directory veranderen mislukt '%s'"
#: src/ftp.c:911
msgid "CWD not needed"
msgstr "CWD niet nodig"
#: src/ftp.c:918
msgid "REST failed"
msgstr "REST mislukt"
#: src/ftp.c:923
msgid "REST ok"
msgstr "REST ok"
#: src/ftp.c:1003
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr "Fout bij het ontvangen van FTP overdracht data: %s"
#: src/ftp.c:1008
#, c-format
msgid "String received after the LIST command = %s"
msgstr "Lijn ontvangen na het LIST commando = %s"
#: src/ftp.c:1026
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
"Onmogelijk om de inkomende lijn van de FTP server te vertalen: rapporteer URL naar "
"kalum@delrom.ro "
#: src/ftp.c:1053
msgid "Server doesn't seem to support PASV"
msgstr "De server ondersteund geen PASV"
#: src/ftp.c:1129
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr "Nogmaals een poging %d in %d seconden"
#: src/ftp.c:1148 src/http.c:734
msgid "Seccessfully got info"
msgstr "Successvol info verkregen"
#: src/ftp.c:1156 src/http.c:746
msgid "File not found!"
msgstr "Bestand niet gevonden!"
#: src/ftp-retr.c:321 src/ftp.c:1175 src/http-retr.c:333 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr "Ik heb %d poging(en) geprobeerd en deze zijn mislukt, gestopt"
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr "MULTINET grootte: %d\n"
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr "BINLS grootte: %d\n"
#: src/ftp-retr.c:125
#, c-format
msgid "Logging in as user %s with password %s."
msgstr "Bezig in te loggen als gebruiker %s met wachtwoord %s"
#: src/ftp-retr.c:165
#, c-format
msgid "CWD failed to change to directory '%s'."
msgstr "CWD directory veranderen mislukt '%s'"
#: src/ftp-retr.c:171
msgid "CWD ok."
msgstr "CWD ok"
#: src/ftp-retr.c:175
msgid "CWD not needed."
msgstr "CWD niet nodig."
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr "Ik heb een fout in mijn code!!, controleer remote_starpos en resume_support's waarden"
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr "RETR mislukt"
#: src/ftp-retr.c:261
#, c-format
msgid "Retrying..Attempt %d in %d seconds"
msgstr "Opnieuw proberen... poging %d in %d seconden"
#: src/ftp-retr.c:273 src/http-retr.c:286
msgid "Error while attemting to process download file "
msgstr "Fout bij het verwerken van het download bestand"
#: src/ftp-retr.c:304 src/http-retr.c:313
msgid "Seccessfully got download"
msgstr "Succesvol gedownload"
#: src/ftp-retr.c:310
msgid "Error occured in connection..."
msgstr "Fout opgetreden in verbinding..."
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: optie '%s' is dubbelzinnig\n"
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat dit argument niet toe\n"
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat dit argument niet toe\n"
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: optie '%s' is een argument benodigd\n"
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: foutieve optie -- %c\n"
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: foutieve optie -- %c\n"
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie is een argument nodig -- %c\n"
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is tegenstrijdig\n"
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr "cijfers ontstaan in twee verschillende ergv-elementen.\n"
#: src/getopt.c:1124
msgid "option a\n"
msgstr "optie a\n"
#: src/getopt.c:1128
msgid "option b\n"
msgstr "optie b\n"
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr "optie c met waarde '%s'\n"
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr "?? getopt terugkerende karakter code )%o ??\n"
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr "geen-optie ARGV-elementen: "
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr "HTTP aanvraag mislukt"
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr "Begin = %s"
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr "Einde van bestand tijdens het verwerken van het begin"
#: src/http.c:412
msgid "Read error in headers"
msgstr "Lees fout in het begin"
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr "ONBEKEND"
#: src/http.c:440
msgid "(no description)"
msgstr "(geen omschrijving)"
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:395 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr "Fout bij het verbinden met %s"
#: src/http-retr.c:119 src/http-retr.c:422 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr "Authenticatie als gebruiker %s wachtwoord %s"
#: src/http-retr.c:120 src/http-retr.c:423 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr "Authenticatie tekenreeks=%s"
#: src/http-retr.c:198 src/http-retr.c:478 src/http.c:682
msgid "Sending HTTP request"
msgstr "Verzenden van HTTP aanvraag"
#: src/http-retr.c:274 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr "Opnieuw proberen... poging %d in %d seconden"
#: src/http-retr.c:306
msgid "Will be hanled in main "
msgstr "Zal in het hoofddeel worden afgehandeld"
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr "Fout bij openen van bestand %s om te schrijven: %s"
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:93 src/logfile.c:104
#: src/logfile.c:115
#, c-format
msgid "Error writing to file %s: %s"
msgstr "Fout bij het schrijven naar %s: %s"
#: src/logfile.c:168
msgid "logfile doesn't exist"
msgstr "logbestand bestaat niet"
#: src/logfile.c:198
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr "Fout bij het openen van bestand %s om te lezen: %s"
#: src/logfile.c:232 src/logfile.c:244 src/logfile.c:256
#, c-format
msgid "Error reading from file %s: %s"
msgstr "Fout bij het lezen van bestand %s: %s"
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr "Fout bij malloc() %lu bytes."
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr "Fout bij realloc() %lu bytes."
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr "Niet genoeg geheugen om verder te gaan: strdup() mislukt."
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr "Waarschuwing: ommogelijk om te vertragen"
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr "Onmogelijk hostnaam te vinden"
#: src/misc.c:328
msgid "Unable to create socket"
msgstr "Onmogelijk socket te cre<72>ren"
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr "Fout bij het verbinden"
#: src/misc.c:332
msgid "The cconnection attempt was refused"
msgstr "De verbindingspoging is geweigerd"
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr "Fout bij het accepteren van de verbinding"
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr "Fout bij het verbinden met de socket"
#: src/misc.c:338
msgid "Error while listening"
msgstr "Fout bij het luisteren"
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr "De verbinding was teruggezet/verbroken door andere zijde"
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr "Het URL protocol is niet bekend"
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr "De poort opgegeven in de URL is niet geldig!"
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr "De hostnaam opgegeven in de URL is niet geldig!"
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr "Het patroon opgegeven in de URL ziet er niet geldig uit!"
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr "Einde van bestand bereikt in HTTP verbinding"
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr "Fout in HTTP data verkeer"
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr "Authenticatie is vereist om toegang te krijgen tot deze bron"
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr "Fout bij authenticatie met host!"
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr "De URL is niet gevonden op de host!"
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr "De host heeft de aanmeldpoging niet toegestaan"
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr "De poort die werdt gevraagd is afgewezen door de server"
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr "Het object bestand/map is niet gevonden op de host!"
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr "Het TYPE is niet bekend bij de FTP server!"
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr "Het commando is niet bekend bij de FTP server!"
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr "Het SIZE commando mislukte"
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr "Fout opgetreden in FTP data verkeer"
#: src/misc.c:374
msgid "The REST command failed"
msgstr "Het REST commando mislukte"
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr "De andere zijde stond geen toegang toe"
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr "De host wees het wachtwoord af"
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr "De PASV (passieve modus) is niet ondersteund door de host"
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr "Deze host onderteund geen PASV (passieve modus) overdracht"
#: src/misc.c:386
msgid "The connection attempt was refused"
msgstr "De verbindingspoging is geweigerd"
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr "Mislukt om (CWD) directory te veranderen"
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
"De host zei dat de gevraagde service niet aanwezig was en verbrook de controle "
"verbinding"
#: src/misc.c:394
msgid "getsockname failed!"
msgstr "getsockname mislukt!"
#: src/misc.c:399
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
"De server, die zich voordeed als gateway of proxy, ontving een foute reactie"
"van de upstream server bij de toegang om aan de aanvraag te voldoen."
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
"De server is tijdelijk niet in staat de aanvraag te verwerken doordat hij "
"overbelast is of in onderhoud is."
#: src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request."
msgstr ""
"De server, die zich voordeed als gateway of proxy, ontving een foute reactie"
"van de upstream server bij de toegang om aan de aanvraag te voldoen."
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
"De server onderging een onverwachte conditie waardoor hij "
"aan de aanvraag niet kan voldoen."
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
"De server heeft geen functionaliteit om de aanvraag te"
"voltooien."
#: src/misc.c:422
msgid "Error while opening file"
msgstr "Fout bij openen van het bestand"
#: src/misc.c:424
msgid "Error while writing to file"
msgstr "Fout bij het schrijven naar het bestand"
#: src/misc.c:427
msgid "The Download was aborted"
msgstr "De download is afgebroken"
#: src/misc.c:429
msgid "Error: Resuming this connection is not possible"
msgstr "Fout: Hervatten van deze verbinding is niet mogelijk"
#: src/misc.c:431
msgid "Error while reading data from socket"
msgstr "Fout: bij het lezen van data van de socket"
#: src/misc.c:433
msgid "Error while writing data to socket"
msgstr "Fout: bij het schrijven van data naar de socket"
#: src/misc.c:435
msgid "Error while Proxying"
msgstr "Fout bij het proxy-en"
#: src/misc.c:437
msgid "The location is a directory"
msgstr "De lokatie en map"
#: src/misc.c:440
msgid "Unknown/Unsupported error code"
msgstr "Onbekende/Niet ondersteunde fout code"
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr "%s:%d: waarschuwing: gevonden \"%s\" voor alle hostnamen\n"
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr "%s:%d: waarschuwing: token onbekend \"%s\"\n"

BIN
libprozilla/po/pt_BR.gmo Normal file

Binary file not shown.

776
libprozilla/po/pt_BR.po Normal file
View File

@@ -0,0 +1,776 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# Gustavo Noronha Silva <kov@debian.org>, 2001.
#
msgid ""
msgstr ""
"Project-Id-Version: libprozilla 0.0.1\n"
"POT-Creation-Date: 2001-08-31 06:56+0600\n"
"PO-Revision-Date: 2001-06-03 21:28-0300\n"
"Last-Translator: Gustavo Noronha Silva <kov@debian.org>\n"
"Language-Team: Debian-BR <debian-br@listas.cipsga.org.br>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/connection.c:160 src/connection.c:250
#, c-format
msgid "Unable to open file %s: %s!"
msgstr "Erro: N<>o foi poss<73>vel abrir arquivo %s-: %s!"
#: src/connection.c:182 src/connection.c:297
msgid "write failed"
msgstr "escrita falhou"
#: src/connection.c:185 src/connection.c:300
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr "Erro ao escrever arquivo %s: %s!"
#: src/connection.c:208 src/connection.c:281
msgid "connection timed out"
msgstr "tempo limite de conex<65>o excedido"
#: src/connection.c:219 src/connection.c:320
#, c-format
msgid "download for this connection completed%s : %ld received"
msgstr "download para essa conex<65>o completado%s : %ld recebido"
#: src/connection.c:272
msgid "Server Closed Connection Prematurely!"
msgstr "O Servidor Fechou Conex<65>o Prematuramente!"
#: src/connection.c:378
#, c-format
msgid "orig start pos= %d\n"
msgstr "pos inic de orig= 5d\n"
#: src/connection.c:409
msgid "Idle"
msgstr "Parado"
#: src/connection.c:412
msgid "Connecting"
msgstr "Conectando"
#: src/connection.c:415
msgid "Logging in"
msgstr "Logando"
#: src/connection.c:418
msgid "Downloading"
msgstr "Baixando"
#: src/connection.c:421
msgid "Completed"
msgstr "Completado"
#: src/connection.c:424
msgid "Login Denied"
msgstr "Login Negado"
#: src/connection.c:427
msgid "Connect Refused"
msgstr "Conex<65>o Recusada"
#: src/connection.c:430
msgid "Remote Fatal"
msgstr "Erro Remoto Fatal"
#: src/connection.c:433
msgid "Local Fatal"
msgstr "Erro Local Fatal"
#: src/connection.c:436
msgid "Timed Out"
msgstr "Tempo Limite Excedido"
#: src/connection.c:438
msgid "Max attempts reached"
msgstr "M<>ximo n<>mero de tentativas"
#: src/connection.c:441
msgid "Unkown Status!"
msgstr "Estado desconhecido!"
#: src/connection.c:523 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr "Erro: protocolo n<>o suportado!"
#: src/connection.c:545
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr "A localiza<7A><61>o retornada pelo servidor est<73> errada: %s!"
#: src/connection.c:553
#, c-format
msgid "Redirected to => %s"
msgstr "Redirecionado para => %s"
#: src/debug.c:60 src/download.c:635 src/download.c:1024
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr "N<>o foi poss<73>vel deletar o arquivo %s. Raz<61>o-: %s"
#: src/download.c:171
#, c-format
msgid "Error while processing prior download of connection number %d"
msgstr "Erro ao processar download inicial da conex<65>o n<>mero %d"
#: src/download.c:200
msgid "Warning! Unable to create logfile!"
msgstr "Aviso! N<>o foi poss<73>vel criar arquivo de log!"
#: src/download.c:225 src/download.c:236 src/download.c:340 src/download.c:379
#: src/download.c:398 src/download.c:420 src/download.c:459 src/download.c:478
msgid "Error: Not enough system resources"
msgstr "Erro: N<>o h<> recursos de sistema o bastante"
#: src/download.c:240
msgid "Error: Unsupported Protocol was specified"
msgstr "Erro: foi especificado um protocolo n<>o suportado"
#: src/download.c:244
msgid "All threads created"
msgstr "Todas as threads foram criadas"
#: src/download.c:321
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr "Conex<65>o %d teve um erro local fatal: %s. Abortando download. "
#: src/download.c:336
msgid "All logins rejected!.Retrying connection"
msgstr "Todos os logins foram rejeitados! Tentando novamente"
#: src/download.c:375 src/download.c:394 src/download.c:455 src/download.c:474
msgid "Relaunching download"
msgstr "Reiniciando download"
#: src/download.c:416
msgid "All connections attempts have been rejected!.Retrying connection"
msgstr "Todas as tentativas de conex<65>o foram rejeitadas! Tentando novamente"
#: src/download.c:698
#, c-format
msgid "Unable to allocate %ld bytes to recreate files"
msgstr "N<>o foi poss<73>vel alocar %ld bytes para recriar os arquivos"
#: src/download.c:716
#, c-format
msgid "Error: unable to open the file %s for writing-: %s\n"
msgstr "Erro: n<>o foi poss<73>vel abrir o arquivo %s para escrita-: %s\n"
#: src/download.c:735
#, c-format
msgid "Error: Unable to open the file %s for reading-: %s\n"
msgstr "Erro: n<>o foi poss<73>vel abrir o arquivo %s para leitura-: %s\n"
#: src/download.c:773
#, c-format
msgid "Unable to delete the file %s before exiting. Reason-: %s"
msgstr "N<>o foi poss<73>vel deletar o arquivo %s antes de sair. Raz<61>o-: %s"
#: src/download.c:780
#, c-format
msgid "Error:A write error occured while writing to %s -: %s\n"
msgstr "Erro: um erro de escrita ocorreu ao escrever em %s -: %s\n"
#: src/download.c:795
#, c-format
msgid "Successfully Wrote %s \n"
msgstr "Escrevi com sucesso %s\n"
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr "Mensagem = "
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr "Erro procurando dados FTP: %s"
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr "Erro recebendo dados FTP: %s"
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr "Enviando: %s"
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr "Erro enviando dados FTP: %s"
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr "Recebi: %s"
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr "Header FTP PASV = %s"
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr "C<>digo desconhecido %d retornado durante login FTP"
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr "Conectando a %s"
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr "Erro ao conectar a %s"
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr "Conectado a %s"
#: src/ftp.c:872 src/ftp.c:881
#, c-format
msgid "Logging in as user %s with password %s"
msgstr "Logando como usu<73>rio %s com senha %s"
#: src/ftp.c:895
msgid "Logged in successfully"
msgstr "Logado com sucesso"
#: src/ftp.c:915
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr "CWD falhou ao tentar mudar para diret<65>rio '%s'"
#: src/ftp.c:924
msgid "CWD not needed"
msgstr "CWD n<>o necess<73>rio"
#: src/ftp.c:931
msgid "REST failed"
msgstr "REST falhou"
#: src/ftp.c:936
msgid "REST ok"
msgstr "REST ok"
#: src/ftp.c:1016
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr "Erro recebendo dados de transfer<65>ncia de FTP: %s"
#: src/ftp.c:1021
#, c-format
msgid "String received after the LIST command = %s"
msgstr "String recebida depois do comando LIST = %s"
#: src/ftp.c:1039
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr ""
"Incapaz de analizar a linha que o servidor de FTP retornou: por favor relate "
"a URL para kalum@delrom.ro"
#: src/ftp.c:1066
msgid "Server doesn't seem to support PASV"
msgstr "O Servidor parece n<>o suportar PASVOB"
#: src/ftp.c:1142
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr "Tentativa %d iniciando em %d segundos"
#: src/ftp.c:1161 src/http.c:734
msgid "Seccessfully got info"
msgstr "Informa<6D><61>es conseguidas com sucesso"
#: src/ftp.c:1169 src/http.c:746
msgid "File not found!"
msgstr "Arquivo n<>o encontrado!"
#: src/ftp-retr.c:321 src/ftp.c:1188 src/http-retr.c:333 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr "Tentei %d vezes e todas falharam, abortando"
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr "Tamanho do MULTINET: %d\n"
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr "Tamanho do BINLS: %d\n"
#: src/ftp-retr.c:125
#, c-format
msgid "Logging in as user %s with password %s."
msgstr "Logando como usu<73>rio %s com senha %s."
#: src/ftp-retr.c:165
#, c-format
msgid "CWD failed to change to directory '%s'."
msgstr "CWD falhou ao tentar mudar para diret<65>rio '%s'."
#: src/ftp-retr.c:171
msgid "CWD ok."
msgstr "CWD ok."
#: src/ftp-retr.c:175
msgid "CWD not needed."
msgstr "CWD n<>o necess<73>rio."
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr ""
"H<> um bug em meu c<>digo!!, confira os valores de remote_starpos e "
"resume_support"
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr "RETR falhou"
#: src/ftp-retr.c:261
#, c-format
msgid "Retrying..Attempt %d in %d seconds"
msgstr "Tentando novamente... Tentativa %d em %d segundos"
#: src/ftp-retr.c:273 src/http-retr.c:286
msgid "Error while attemting to process download file "
msgstr "Erro ao tentar processar o arquivo de download"
#: src/ftp-retr.c:304 src/http-retr.c:313
msgid "Seccessfully got download"
msgstr "Arquivo baixado com sucesso"
#: src/ftp-retr.c:310
msgid "Error occured in connection..."
msgstr "Houve um erro na conex<65>o..."
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: a op<6F><70>o `%s' <20> amb<6D>gua\n"
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: a op<6F><70>o `--%s' n<>o permite argumentos\n"
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: a op<6F><70>o `%c%s' n<>o permite argumentos\n"
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: a op<6F><70>o `%s' requer um argumento\n"
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: op<6F><70>o n<>o reconhecida `--%s'\n"
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: op<6F><70>o n<>o reconhecida `%c%s'\n"
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: op<6F><70>o ilegal -- %c\n"
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: op<6F><70>o inv<6E>lida -- %c\n"
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: a op<6F><70>o requer um argumento -- %c\n"
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: a op<6F><70>o `-W %s' <20> amb<6D>gua\n"
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: a op<6F><70>o `-W %s' n<>o permite argumentos\n"
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr "d<>gitos ocorrem em dois elementos da argv diferentes\n"
#: src/getopt.c:1124
msgid "option a\n"
msgstr "op<6F><70>o a\n"
#: src/getopt.c:1128
msgid "option b\n"
msgstr "op<6F><70>o b\n"
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr "op<6F><70>o c com valor `%s'\n"
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr "?? getopt retornou o c<>digo de caracter 0%o ??\n"
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr "argumentos do ARGV que n<>o s<>o op<6F><70>es: "
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr "Falha ao escrever requesi<73><69>o HTTP"
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr "Header = %s"
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr "Fim de arquivo ao analizar cabe<62>alhos"
#: src/http.c:412
msgid "Read error in headers"
msgstr "Erro na leitura dos headers"
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr "DESCONHECIDO"
#: src/http.c:440
msgid "(no description)"
msgstr "(sem descri<72><69>o)"
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:395 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr "Erro ao conectar em %s"
#: src/http-retr.c:119 src/http-retr.c:422 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr "Autenticando como usu<73>rio %s senha %s"
#: src/http-retr.c:120 src/http-retr.c:423 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr "String de autentica<63><61>o=%s"
#: src/http-retr.c:198 src/http-retr.c:478 src/http.c:682
msgid "Sending HTTP request"
msgstr "Enviando requisi<73><69>o HTTP"
#: src/http-retr.c:274 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr "Tentativa %d em %d segundos"
#: src/http-retr.c:306
msgid "Will be hanled in main "
msgstr "Ser<65> manejado na main"
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr "Erro abrindo arquivo %s para escrita: %s"
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:93 src/logfile.c:104
#: src/logfile.c:115
#, c-format
msgid "Error writing to file %s: %s"
msgstr "Erro ao escrever arquivo %s: %s"
#: src/logfile.c:168
msgid "logfile doesn't exist"
msgstr "logfile n<>o existe"
#: src/logfile.c:198
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr "Erro ao abrir arquivo %s para leitura: %s"
#: src/logfile.c:232 src/logfile.c:244 src/logfile.c:256
#, c-format
msgid "Error reading from file %s: %s"
msgstr "Erro ao ler arquivo %s: %s"
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr "Falha ao fazer malloc() de %lu bytes."
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr "Falha ao fazer realloc() de %lu bytes."
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr "N<>o h<> mem<65>ria suficiente para continuar: strdup() falhou."
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr "Aviso: n<>o foi poss<73>vel atrasar"
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr "Imposs<73>vel achar hostname"
#: src/misc.c:328
msgid "Unable to create socket"
msgstr "N<>o foi poss<73>vel criar um socket"
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr "Houve um erro na conex<65>o..."
#: src/misc.c:332
msgid "The cconnection attempt was refused"
msgstr "A tentativa de conex<65>o foi recusada"
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr "Erro enquanto aceitava a conex<65>o"
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr "Erro ao conectar o socket"
#: src/misc.c:338
msgid "Error while listening"
msgstr "Erro ao escutar"
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr "A conex<65>o foi reiniciada/fechada pelo servidor"
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr "O Protocolo da URL n<>o foi conhecido"
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr "A porta especificada na URL n<>o <20> v<>lida!"
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr "O Hostname especificado na URL n<>o <20> v<>lida!"
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr "O Padr<64>o espec<65>ficado na URL n<>o parece v<>lido!"
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr "Fim de Arquivo na conex<65>o HTTP"
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr "Erro na transfer<65>ncia de dados HTTP"
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr "Autentica<63><61>o necess<73>ria para acessar este recurso"
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr "Falha ao autenticar com o servidor!"
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr "A URL n<>o foi encontrada no servidor!"
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr "O servidor n<>o permitiu a tentativa de login"
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr "A requisi<73><69>o PORT foi rejeitada pelo servidor"
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr "O arquivo/diret<65>rio n<>o foi encontrado no servidor!"
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr "O TIPO especificado n<>o <20> conhecido pelo servidor FTP!"
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr "O comando n<>o <20> conhecido pelo servidor FTP!"
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr "O comando SIZE falhou"
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr "Erro na transfer<65>ncia de dados FTP"
#: src/misc.c:374
msgid "The REST command failed"
msgstr "O comando REST falhou"
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr "O servidor n<>o permitiu o acesso"
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr "O servidor rejeitou a senha"
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr "O PASV (modo passivo) n<>o <20> suportado pelo servidor"
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr "O servidor n<>o suporta transfer<65>ncias PASV (modo passivo)"
#: src/misc.c:386
msgid "The connection attempt was refused"
msgstr "A tentativa de conex<65>o foi recusada"
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr "Falha ao (CWD)mudar de diret<65>rio"
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
"O servidor disse que o servi<76>o requisitado est<73> indispon<6F>vel e fechou a "
"conex<65>o"
#: src/misc.c:394
msgid "getsockname failed!"
msgstr "getsockname falhou!"
#: src/misc.c:399
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
"O servidor, agindo como gateway ou proxy, recebeu uma resposta inv<6E>lida do "
"servidor acima dele ao tentar responder <20> requisi<73><69>o"
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
"O servidor est<73> no momento incapaz de lidar com a requisi<73><69>o por causa de "
"uma sobrecarga temporaria ou por motivos de manuten<65><6E>o do servidor."
#: src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request."
msgstr ""
"O servidor, agindo como gateway ou proxy, recebeu uma resposta inv<6E>lida do "
"servidor acima dele ao tentar responder <20> requisi<73><69>o"
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
"O servidor encontrou uma condi<64><69>o inesperada que o previne de responder <20> "
"requisi<73><69>o."
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
"O servidor n<>o suporta a funcionalidade necess<73>ria para responder <20> "
"requisi<73><69>o."
#: src/misc.c:422
msgid "Error while opening file"
msgstr "Erro ao abrir arquivo"
#: src/misc.c:424
msgid "Error while writing to file"
msgstr "Erro ao escrever arquivo"
#: src/misc.c:427
msgid "The Download was aborted"
msgstr "O Download foi abortado"
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr "O Download encontou um erro local fatal"
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr "Erro: continuar essa conex<65>o n<>o <20> poss<73>vel"
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr "Erro ao ler dados do socket"
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr "Erro ao escrever dados para o socket"
#: src/misc.c:437
msgid "Error while Proxying"
msgstr "Erro ao conectar a %s"
#: src/misc.c:439
msgid "The location is a directory"
msgstr "A localiza<7A><61>o <20> um diret<65>rio"
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr "C<>digo de erro Desconhecido/N<>o suportado"
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr "%s:%d: aviso: \"%s\" encontrado antes de quaisquer nomes de hosts\n"
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr "%s:%d: aviso: token desconhecido \"%s\"\n"

BIN
libprozilla/po/ro.gmo Normal file

Binary file not shown.

775
libprozilla/po/ro.po Normal file
View File

@@ -0,0 +1,775 @@
# Romanian messages for libprozilla.
# Copyright (C) 2001 Free Software Foundation, Inc.
# Flower <flower_os@yahoo.com>, 2001.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: libprozilla 0.0.1\n"
"POT-Creation-Date: 2001-08-18 04:26+0300\n"
"PO-Revision-Date: 2001-08-19 13:11+0300\n"
"Last-Translator: Flower <flowetr_os@yahoo.com>\n"
"Language-Team: RTFS <rtfs-project@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/connection.c:157 src/connection.c:247
#, c-format
msgid "Unable to open file %s: %s!"
msgstr "Nu pot deschide fi<66>ierul %s: %s!"
#: src/connection.c:179 src/connection.c:294
msgid "write failed"
msgstr "scriere e<>uat<61>"
#: src/connection.c:182 src/connection.c:297
#, c-format
msgid "Unable to write to file %s: %s!"
msgstr "Nu pot scrie <20>n fi<66>ierul %s: %s!"
#: src/connection.c:205 src/connection.c:278
msgid "connection timed out"
msgstr "timpul conexiunii a expirat"
#: src/connection.c:216 src/connection.c:317
#, c-format
msgid "download for this connection completed %s : %ld received"
msgstr "desc<73>rcarea pentru aceast<73> conexiune s-a <20>ncheiat %s : %ld receptiona<6E>i"
#: src/connection.c:269
msgid "Server Closed Connection Prematurely!"
msgstr "Serverul a <20>nchis prematur conexiunea!"
#: src/connection.c:375
#, c-format
msgid "orig start pos= %d\n"
msgstr "poz orig de pornire= %d\n"
#: src/connection.c:406
msgid "Idle"
msgstr "liber"
#: src/connection.c:409
msgid "Connecting"
msgstr "Conectare"
#: src/connection.c:412
msgid "Logging in"
msgstr "Autentificare"
#: src/connection.c:415
msgid "Downloading"
msgstr "Desc<73>rcare"
#: src/connection.c:418
msgid "Completed"
msgstr "Terminat"
#: src/connection.c:421
msgid "Login Denied"
msgstr "Login refuzat"
#: src/connection.c:424
msgid "Connect Refused"
msgstr "Conexiune refuzat<61>"
#: src/connection.c:427
msgid "Remote Fatal"
msgstr "Eroare fatal<61> la server"
#: src/connection.c:430
msgid "Local Fatal"
msgstr "Eroare local<61> fatal<61>"
#: src/connection.c:433
msgid "Timed Out"
msgstr "Timp expirat"
#: src/connection.c:435
msgid "Max attempts reached"
msgstr "Num<75>rul maxim de <20>ncerc<72>ri a fost atins"
#: src/connection.c:438
msgid "Unkown Status!"
msgstr "Stare necunoscut<75>"
#: src/connection.c:520 src/misc.c:471
msgid "Error: unsupported protocol"
msgstr "Eroare: protocol nesuportat"
#: src/connection.c:542
#, c-format
msgid "The server returned location is wrong: %s!"
msgstr "Loca<63>ia returnat<61> de server e gre<72>it<69>: %s!"
#: src/connection.c:550
#, c-format
msgid "Redirected to => %s"
msgstr "Redirectat la => %s"
#: src/debug.c:60 src/download.c:636 src/download.c:1024
#, c-format
msgid "unable to delete the file %s. Reason-: %s"
msgstr "nu pot <20>terge fi<66>ierul %s. Motivul-: %s"
#: src/download.c:171
#, c-format
msgid "Error while processing prior download of connection number %d"
msgstr "Eroare la procesarea dinaintea desc<73>rc<72>rii la conexiunea numarul %d"
#: src/download.c:200
msgid "Warning! Unable to create logfile!"
msgstr "Aten<65>ie! Nu pot crea fi<66>ierul de log!"
#: src/download.c:225 src/download.c:236 src/download.c:341 src/download.c:380
#: src/download.c:399 src/download.c:421 src/download.c:460 src/download.c:479
msgid "Error: Not enough system resources"
msgstr "Eroare: Nu sunt destule resurse sistem"
#: src/download.c:240
msgid "Error: Unsupported Protocol was specified"
msgstr "Eroare: A fost specificat un protocol nesuportat"
#: src/download.c:244
msgid "All threads created"
msgstr "Toate firele au fost create"
#: src/download.c:321
#, c-format
msgid "Connection %d, had a local fatal error: %s .Aborting download. "
msgstr "<22>n conexiunea %d, a ap<61>rut o eroare local<61> fatal<61>: %s. Desc<73>rcarea abandonat<61>. "
#: src/download.c:337
msgid "All logins rejected!.Retrying connection"
msgstr "Toate login-urile refuzate! Re<52>ncerc conectarea"
#: src/download.c:376 src/download.c:395 src/download.c:456 src/download.c:475
msgid "Relaunching download"
msgstr "Relansez desc<73>rcarea"
#: src/download.c:417
msgid "All connections attempts have been rejected!.Retrying connection"
msgstr "Toate <20>ncerc<72>rile de conectare au fost refuzate! Re<52>ncerc conectarea"
#: src/download.c:698
#, c-format
msgid "Unable to allocate %d bytes to recreate files"
msgstr "Nu pot aloca %d bytes pentru a recrea fi<66>ierul"
#: src/download.c:716
#, c-format
msgid "Error: unable to open the file %s for writing-: %s\n"
msgstr "Eroare: nu pot deschide fi<66>ierul %s pentru scriere-: %s\n"
#: src/download.c:735
#, c-format
msgid "Error: Unable to open the file %s for reading-: %s\n"
msgstr "Eroare: Nu pot deschide fi<66>ierul %s pentru citire-: %s\n"
#: src/download.c:773
#, c-format
msgid "Unable to delete the file %s before exiting. Reason-: %s"
msgstr "Nu pot <20>terge fi<66>ierul %s <20>nainte de ie<69>ire. Motiv-: %s"
#: src/download.c:780
#, c-format
msgid "Error:A write error occured while writing to %s -: %s\n"
msgstr "Eroare: O eroare de scriere a ap<61>rut <20>n timp ce scriam <20>n %s-: %s\n"
#: src/download.c:795
#, c-format
msgid "Successfully Wrote %s \n"
msgstr "Am scris %s\n"
#: src/ftp.c:106
#, c-format
msgid "Message = %s"
msgstr "Mesaj = %s"
#: src/ftp.c:126
#, c-format
msgid "Error checking for FTP data: %s"
msgstr "Eroare la verificarea datelor FTP: %s"
#: src/ftp.c:143
#, c-format
msgid "Error receiving FTP data: %s"
msgstr "Eroare la recep<65>ionarea datelor FTP: %s"
#: src/ftp.c:167
#, c-format
msgid "Sending: %s"
msgstr "Trimit: %s"
#: src/ftp.c:172
#, c-format
msgid "Error sending FTP data: %s"
msgstr "Eroare la trimiterea datelor FTP: %s"
#: src/ftp.c:213
#, c-format
msgid "Received: %s"
msgstr "Am primit: %s"
#: src/ftp.c:344
#, c-format
msgid "FTP PASV Header = %s"
msgstr "Headerul FTP PASV = %s"
#. Unknown error code.
#: src/ftp.c:759
#, c-format
msgid "Unknown code %d retuned during FTP login"
msgstr "Cod necunoscut %d primit <20>n timpul autentific<69>rii FTP"
#: src/ftp.c:811 src/ftp.c:831 src/http-retr.c:69 src/http-retr.c:84
#: src/http.c:562 src/http.c:577
#, c-format
msgid "Connecting to %s"
msgstr "Conectare la %s"
#: src/ftp.c:822 src/ftp.c:840
#, c-format
msgid "Error while connecting to %s"
msgstr "Eroare <20>n timpul conect<63>rii la"
#: src/ftp.c:827 src/ftp.c:844
#, c-format
msgid "Connected to %s"
msgstr "Conectat la %s"
#: src/ftp.c:870
#, c-format
msgid "Logging in as user %s with password %s"
msgstr "Autentificare ca utilizator %s cu parola %s"
#: src/ftp.c:882
msgid "Logged in successfully"
msgstr "Autentificare reu<65>it<69>"
#: src/ftp.c:902
#, c-format
msgid "CWD failed to change to directory '%s'"
msgstr "CWD a e<>uat s<> schimbe directorul '%s'"
#: src/ftp.c:911
msgid "CWD not needed"
msgstr "Nu e nevoie de CWD"
#: src/ftp.c:918
msgid "REST failed"
msgstr "REST e<>uat"
#: src/ftp.c:923
msgid "REST ok"
msgstr "REST ok"
#: src/ftp.c:1003
#, c-format
msgid "Error receiving FTP transfer data: %s"
msgstr "Eroare la recep<65>ionarea datelor de transfer FTP: %s"
#: src/ftp.c:1008
#, c-format
msgid "String received after the LIST command = %s"
msgstr "String recep<65>ionat dup<75> comanda LIST = %s"
#: src/ftp.c:1026
msgid ""
"Unable to parse the line the FTP server returned:please report URL to "
"kalum@delrom.ro "
msgstr "Nu pot parsa linia pe care a returnat-o serverul FTP: v<> rug<75>m "
"raporta<74>i URL-ul la prozilla-users@delrom.ro"
#: src/ftp.c:1053
msgid "Server doesn't seem to support PASV"
msgstr "Serverul nu pare s<> suporte PASV"
#: src/ftp.c:1129
#, c-format
msgid "Retrying attempt %d in %d seconds"
msgstr "Re<52>ncercarea numarul %d <20>n %d secunde"
#: src/ftp.c:1148 src/http.c:734
msgid "Seccessfully got info"
msgstr "Informa<6D>iile au fost ob<6F>inute"
#: src/ftp.c:1156 src/http.c:746
msgid "File not found!"
msgstr "Fi<46>ier neg<65>sit!"
#: src/ftp-retr.c:321 src/ftp.c:1175 src/http-retr.c:333 src/http.c:765
#, c-format
msgid "I have tried %d attempt(s) and have failed, aborting"
msgstr "Am f<>cut %d <20>ncerc<72>ri <20>i am e<>uat, abandonez"
#: src/ftpparse.c:194
#, c-format
msgid "MULTINET Size: %d\n"
msgstr "M<>rimea MULTINET: %d\n"
#: src/ftpparse.c:235
#, c-format
msgid "BINLS size: %d\n"
msgstr "M<>rimea BINLS: %d\n"
#: src/ftp-retr.c:125
#, c-format
msgid "Logging in as user %s with password %s."
msgstr "Autentificare ca utilizator %s cu parola %s."
#: src/ftp-retr.c:165
#, c-format
msgid "CWD failed to change to directory '%s'."
msgstr "CWD a e<>uat s<> schimbe directorul '%s'."
#: src/ftp-retr.c:171
msgid "CWD ok."
msgstr "CWD ok"
#: src/ftp-retr.c:175
msgid "CWD not needed."
msgstr "Nu e nevoie de CWD."
#: src/ftp-retr.c:196
msgid ""
"I have a bug in my code!!, check remote_starpos and resume_support values"
msgstr ""
"Am o eroare <20>n cod!!, verifica<63>i valorile pentru remote_starpos <20>i resume_support"
#: src/ftp-retr.c:206
msgid "RETR failed"
msgstr "RETR e<>uat"
#: src/ftp-retr.c:261
#, c-format
msgid "Retrying..Attempt %d in %d seconds"
msgstr "Re<52>ncerc... <20>ncercarea %d <20>n %d secunde"
#: src/ftp-retr.c:273 src/http-retr.c:286
msgid "Error while attemting to process download file "
msgstr "Eroare la <20>ncercarea de a procesa fi<66>ierul desc<73>rcat "
#: src/ftp-retr.c:304 src/http-retr.c:313
msgid "Seccessfully got download"
msgstr "Desc<73>rcare reu<65>it<69>"
#: src/ftp-retr.c:310
msgid "Error occured in connection..."
msgstr "A ap<61>rut o eroare <20>n conexiune..."
#: src/getopt.c:741
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: op<6F>iunea `%s' e ambigu<67>\n"
#: src/getopt.c:769
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: op<6F>iunea `--%s' nu permite argument\n"
#: src/getopt.c:776
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: op<6F>iunea `%s%s' nu permite argument\n"
#: src/getopt.c:792 src/getopt.c:995
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: op<6F>iunea `%s' necesit<69> argument\n"
#.
#. * --option
#.
#: src/getopt.c:825
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: op<6F>iune nerecunoscut<75> `--%s'\n"
#.
#. * +option or -option
#.
#: src/getopt.c:831
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: op<6F>iune nerecunoscut<75> `%c%s'\n"
#.
#. * 1003.2 specifies the format of this message.
#.
#: src/getopt.c:863
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: op<6F>iune ilegal<61> -- %c\n"
#: src/getopt.c:865
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: op<6F>iune eronat<61> -- %c\n"
#: src/getopt.c:902 src/getopt.c:1051
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: op<6F>iunea necesit<69> argument -- %c\n"
#: src/getopt.c:961
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: op<6F>iunea `-W %s' e ambigu<67>\n"
#: src/getopt.c:981
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: op<6F>iunea `-W %s' nu permite argument\n"
#: src/getopt.c:1118
msgid "digits occur in two different argv-elements.\n"
msgstr "apar cifre <20>n dou<6F> elemente argv diferite.\n"
#: src/getopt.c:1124
msgid "option a\n"
msgstr "op<6F>iunea a\n"
#: src/getopt.c:1128
msgid "option b\n"
msgstr "op<6F>iunea b\n"
#: src/getopt.c:1132
#, c-format
msgid "option c with value `%s'\n"
msgstr "op<6F>iunea c cu valoarea `'%s'\n"
#: src/getopt.c:1139
#, c-format
msgid "?? getopt returned character code 0%o ??\n"
msgstr "?? getopt a <20>ntors cudul caracter 0%o ??\n"
#: src/getopt.c:1145
msgid "non-option ARGV-elements: "
msgstr "elemente ARGV care nu<6E>s op<6F>iuni: "
#: src/http.c:376
msgid "Failed writing HTTP request"
msgstr "Scrierea cererii HTTP a e<>uat"
#: src/http.c:397
#, c-format
msgid "Header = %s"
msgstr "Header = %s"
#: src/http.c:401
msgid "End of file while parsing headers"
msgstr "Sf<53>r<EFBFBD>itul fi<66>ierul la parsarea headerului"
#: src/http.c:412
msgid "Read error in headers"
msgstr "Eroare de citire <20>n headere"
#. Store the descriptive response.
#. Malformed request.
#: src/http.c:438
msgid "UNKNOWN"
msgstr "NECUNOSCUT"
#: src/http.c:440
msgid "(no description)"
msgstr "(f<>r<EFBFBD> descriere)"
#: src/http-retr.c:77 src/http-retr.c:91 src/http-retr.c:395 src/http.c:571
#: src/http.c:583 src/http.c:801
#, c-format
msgid "Error connecting to %s"
msgstr "Eroare de conectare la %s"
#: src/http-retr.c:119 src/http-retr.c:422 src/http.c:611 src/http.c:828
#, c-format
msgid "Authenticating as user %s password %s"
msgstr "Autentificare ca utilizator %s cu parola %s"
#: src/http-retr.c:120 src/http-retr.c:423 src/http.c:612 src/http.c:829
#, c-format
msgid "Authentification string=%s"
msgstr "Stringul de autentificare=%s"
#: src/http-retr.c:198 src/http-retr.c:478 src/http.c:682
msgid "Sending HTTP request"
msgstr "Trimit cererea HTTP"
#: src/http-retr.c:274 src/http.c:717
#, c-format
msgid "Retrying...Attempt %d in %d seconds"
msgstr "Re<52>ncerc... <20>ncercarea a %s-a <20>n %d secunde"
#: src/http-retr.c:306
msgid "Will be hanled in main "
msgstr "Va fi tratat <20>n main "
#: src/logfile.c:49
#, c-format
msgid "Error opening file %s for writing: %s"
msgstr "Eroare la deschiderea fi<66>ierului %s pentru scriere: %s"
#: src/logfile.c:65 src/logfile.c:75 src/logfile.c:93 src/logfile.c:104
#: src/logfile.c:115
#, c-format
msgid "Error writing to file %s: %s"
msgstr "Eroare la scrierea <20>n fi<66>ierul %s: %s"
#: src/logfile.c:168
msgid "logfile doesn't exist"
msgstr "Fi<46>ierul de log nu exist<73>"
#: src/logfile.c:198
#, c-format
msgid "Error opening file %s for reading: %s"
msgstr "Eroare la deschiderea pentru citire a fi<66>ierului %s : %s"
#: src/logfile.c:232 src/logfile.c:244 src/logfile.c:256
#, c-format
msgid "Error reading from file %s: %s"
msgstr "Eroare la citirea din fi<66>ierul %s: %s"
#: src/misc.c:48
#, c-format
msgid "Failed to malloc() %lu bytes."
msgstr "malloc() pentru %lu bytes a e<>uat."
#: src/misc.c:63
#, c-format
msgid "Failed to realloc() %lu bytes."
msgstr "realloc() pentru %lu bytes a e<>uat."
#: src/misc.c:85
msgid "Not enough memory to continue: strdup() failed."
msgstr "Nu este destul<75> memorie pentru a continua: strdup() a e<>uat."
#: src/misc.c:304
msgid "Warning: Unable to delay"
msgstr "Aten<65>ie: a<>teptarea nu e posibil<69>"
#: src/misc.c:326
msgid "Unable to lookup hostname"
msgstr "Nu se poate rezolva numele"
#: src/misc.c:328
msgid "Unable to create socket"
msgstr "Nu pot crea socket-ul"
#: src/misc.c:330
msgid "Error occured while connecting"
msgstr "A ap<61>rut o eroare la conectare"
#: src/misc.c:332
msgid "The cconnection attempt was refused"
msgstr "<22>ncercarea de conectare a fost refuzat<61>"
#: src/misc.c:334
msgid "Error while accepting the connection"
msgstr "Eroare la acceptarea conexiunii"
#: src/misc.c:336
msgid "Error while Binding socket"
msgstr "Eroare la conectarea socket-ului"
#: src/misc.c:338
msgid "Error while listening"
msgstr "Eroare la ascultare"
#: src/misc.c:340
msgid "The connection was reset/closed by the peer"
msgstr "Conexiunea a fost resetat<61>/<2F>nchis<69> de partener"
#: src/misc.c:342
msgid "The URL Protocol was unknown"
msgstr "Protocolul URL a fost necunoscut"
#: src/misc.c:344
msgid "The port specified in the URL is not valid!"
msgstr "Portul specificat in URL nu este valid!"
#: src/misc.c:346
msgid "The Hostname specified in the URL is not valid!"
msgstr "Numele de host specificat in URL nu este valid!"
#: src/misc.c:348
msgid "The Pattern specified in the URL does not look valid!"
msgstr "Paternul specificat <20>n URL nu pare valid!"
#: src/misc.c:350
msgid "End of file reached in HTTP connection"
msgstr "Sf<53>r<EFBFBD>it de fi<66>ier <20>n conexiunea HTTP"
#: src/misc.c:352
msgid "Error occured in HTTP data transfer"
msgstr "Eroare la transferul datelor HTTP"
#: src/misc.c:354
msgid "Authentification is required to access this resource"
msgstr "Este nevoie de autentificare pentru accesarea acestei resurse"
#: src/misc.c:356
msgid "Failed to Authenticate with host!"
msgstr "A e<>uat autentificarea la server!"
#: src/misc.c:358
msgid "The URL was not found on the host!"
msgstr "URL-ul nu a fost g<>sit <20>n host!"
#: src/misc.c:360
msgid "The host disallowed the login attempt"
msgstr "Gazda nu a permis <20>ncercarea de logare"
#: src/misc.c:362
msgid "The PORT request was rejected by the server"
msgstr "Cererea de PORT a fost respins<6E> de server"
#: src/misc.c:364
msgid "The object file/dir was not found on the host!"
msgstr "Obiectul fi<66>ier/director nu a fost g<>sit pe server!"
#: src/misc.c:366
msgid "The TYPE specified in not known by the FTP server!"
msgstr "Tipul specificat de TYPE nu e cunoscut de serverul de FTP!"
#: src/misc.c:368
msgid "The command is not known by the FTP server!"
msgstr "Comanda nu este cunoscut<75> de serverul de FTP!"
#: src/misc.c:370
msgid "The SIZE command failed"
msgstr "Comanda SIZE a e<>uat"
#: src/misc.c:372
msgid "Error occured in FTP data transfer"
msgstr "A ap<61>rut o eroare la transferul datelor FTP"
#: src/misc.c:374
msgid "The REST command failed"
msgstr "Comanda REST a e<>uat"
#: src/misc.c:376
msgid "The peer did not allow access"
msgstr "Partenerul nu permite accesul"
#: src/misc.c:378 src/misc.c:380
msgid "The host rejected the password"
msgstr "Serverul nu accept<70> parola"
#: src/misc.c:382
msgid "The PASV (passive mode) was not supported the host"
msgstr "PASV (mod pasiv) nu este suportat de server"
#: src/misc.c:384
msgid "The host does not support PASV (passive mode) transfers"
msgstr "Serverul nu suport<72> transferuri PASV (mod pasiv)"
#: src/misc.c:386
msgid "The connection attempt was refused"
msgstr "<22>ncercarea de conectare a fost refuzat<61>"
#: src/misc.c:388
msgid "Failed to (CWD)change to the directory"
msgstr "A e<>uat (CWD) schimbarea directorului"
#: src/misc.c:392
msgid ""
"The host said the requested service was unavailable and closed the control "
"connection"
msgstr ""
"Serverul a spus c<> serviciul solocitat nu este disponibil <20>i a <20>nchis"
"conexiunea de control"
#: src/misc.c:394
msgid "getsockname failed!"
msgstr "getsockname a e<>uat!"
#: src/misc.c:399
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request"
msgstr ""
"Serverul, lucr<63>nd ca gateway sau ca proxy, a primit un r<>spuns invalid "
"de la serverul de legatur<75> pe care l<>a accesat ca s<> <20>ndeplineasc<73> cererea"
#: src/misc.c:404
msgid ""
"The server is currently unable to handle the request due to a temporary "
"overloading or maintenance of the server."
msgstr ""
"Serverul nu poate s<> rezolve cererea acum datorit<69> unei supra<72>ncarc<72>ri "
"temporare sau a unor activit<69><74>i de <20>ntre<72>inere."
#: src/misc.c:409
msgid ""
"The server, while acting as a gateway or proxy, received an invalid response "
"from the upstream server it accessed in attempting to fulfill the request."
msgstr ""
"Serverul, lucr<63>nd ca gateway sau ca proxy, a primit un r<>spuns invalid "
"de la serverul de leg<65>tur<75> pe care l<>a accesat ca s<> <20>ndeplineasc<73> cererea."
#: src/misc.c:414
msgid ""
"The server encountered an unexpected condition which prevented it from "
"fulfilling the request."
msgstr ""
"Serverul a <20>nt<6E>lnit o stare necunoscut<75> care l<>a <20>mpiedicat s<> "
"<22>ndeplineasc<73> cererea."
#: src/misc.c:419
msgid ""
"The server does not support the functionality required to fulfill the "
"request."
msgstr ""
"Serverul nu suport<72> func<6E>ionalitatea cerut<75> pentru a <20>ndeplini "
"cererea."
#: src/misc.c:422
msgid "Error while opening file"
msgstr "Eroare la deschiderea fi<66>ierului"
#: src/misc.c:424
msgid "Error while writing to file"
msgstr "Eroare la scrierea <20>n fi<66>ier"
#: src/misc.c:427
msgid "The Download was aborted"
msgstr "Desc<73>rcarea a fost abandonat<61>"
#: src/misc.c:429
msgid "The Download encountered a local fatal error"
msgstr "Desc<73>rcarea a <20>nt<6E>lnit o eroare local<61> fatal<61>"
#: src/misc.c:431
msgid "Error: Resuming this connection is not possible"
msgstr "Eroare: Continuarea acestei conexiuni nu e posibil<69>"
#: src/misc.c:433
msgid "Error while reading data from socket"
msgstr "Eroare la citirea datelor din socket"
#: src/misc.c:435
msgid "Error while writing data to socket"
msgstr "Eroare la scrierea datelor <20>n socket"
#: src/misc.c:437
msgid "Error while Proxying"
msgstr "Eroare de proxy"
#: src/misc.c:439
msgid "The location is a directory"
msgstr "Loca<63>ia este un director"
#: src/misc.c:442
msgid "Unknown/Unsupported error code"
msgstr "Cor de eroare necunoscut/nesuportat"
#: src/netrc.c:215
#, c-format
msgid "%s:%d: warning: found \"%s\" before any host names\n"
msgstr "%s:%d: aten<65>ie: am g<>sit \"%s\" <20>nainte de orice nume de host\n"
#: src/netrc.c:243
#, c-format
msgid "%s:%d: warning: unknown token \"%s\"\n"
msgstr "%s:%d: aten<65>ie: element necunoscut \"%s\"\n"

View File

@@ -0,0 +1 @@
timestamp

View File

@@ -0,0 +1,39 @@
/connect.h/1.17/Thu Sep 27 21:25:30 2001//
/debug.c/1.20/Thu Sep 27 21:25:26 2001//
/debug.h/1.14/Thu Sep 27 21:25:30 2001//
/ftp-retr.h/1.6/Thu Sep 27 21:25:30 2001//
/ftp.c/1.43/Thu Sep 27 21:25:26 2001//
/ftp.h/1.33/Thu Sep 27 21:25:30 2001//
/ftpparse.c/1.11/Thu Sep 27 21:25:26 2001//
/ftpparse.h/1.11/Thu Sep 27 21:25:30 2001//
/ftpsearch.h/1.3/Thu Sep 27 21:25:30 2001//
/getopt.c/1.3/Thu Sep 27 21:25:26 2001//
/getopt.h/1.2/Thu Sep 27 21:25:30 2001//
/http-retr.c/1.18/Thu Sep 27 21:25:26 2001//
/http-retr.h/1.5/Thu Sep 27 21:25:30 2001//
/http.h/1.11/Thu Sep 27 21:25:30 2001//
/logfile.h/1.5/Thu Sep 27 21:25:30 2001//
/misc.c/1.31/Thu Sep 27 21:25:26 2001//
/misc.h/1.25/Thu Sep 27 21:25:30 2001//
/netrc.c/1.17/Thu Sep 27 21:25:26 2001//
/netrc.h/1.11/Thu Sep 27 21:25:30 2001//
/test.c/1.30/Thu Sep 27 22:49:01 2001//
/url.h/1.20/Thu Sep 27 21:25:30 2001//
/connect.c/1.23/Thu Sep 27 22:52:04 2001//
/ftp-retr.c/1.17/Thu Sep 27 22:52:04 2001//
/main.c/1.40/Thu Sep 27 22:52:05 2001//
/ping.h/1.3/Thu Sep 27 21:25:30 2001//
/logfile.c/1.11/Sat Sep 29 04:58:54 2001//
/connection.h/1.33/Sun Sep 30 23:13:50 2001//
/download.c/1.33/Sun Sep 30 23:13:50 2001//
/download.h/1.25/Sun Sep 30 23:13:50 2001//
/Makefile.am/1.23/Mon Oct 1 08:30:42 2001//
/ftpsearch.c/1.11/Thu Oct 4 14:58:30 2001//
/Makefile.in/1.24/Fri Oct 26 12:13:20 2001//
/connection.c/1.42/Sat Oct 27 11:24:40 2001//
/http.c/1.20/Sat Oct 27 11:24:40 2001//
/ping.c/1.7/Mon Oct 15 10:06:39 2001//
/prozilla.h/1.57/Sat Oct 27 11:24:40 2001//
/url.c/1.23/Sat Oct 27 11:24:40 2001//
/common.h/1.7/Sat Oct 27 23:20:24 2001//
D

View File

@@ -0,0 +1 @@
libprozilla/src

1
libprozilla/src/CVS/Root Normal file
View File

@@ -0,0 +1 @@
:pserver:kalum@cvs.delrom.ro:/home/cvsroot

View File

@@ -0,0 +1,40 @@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
lib_LTLIBRARIES = libprozilla.la
libprozilla_la_SOURCES = \
common.h \
connect.c connect.h \
connection.c connection.h \
debug.c debug.h \
download.c download.h \
ftp.c ftp.h \
ftpparse.c ftpparse.h \
getopt.c getopt.h \
main.c \
misc.c misc.h \
netrc.c netrc.h \
prozilla.h \
url.c url.h\
http.c http.h\
http-retr.c http-retr.h\
ftp-retr.c ftp-retr.h\
logfile.c logfile.h\
ftpsearch.c ftpsearch.h\
ping.c ping.h
# 0:0:0
# 0 -> interface version, changes whenever you change the API
# 0 -> changes whenever you make a revision of an interface no
# API changes...
# 0 -> changes whenever you change the API but keep it backwards
# compatible (have not removed a function from the API, for
# example...)
libprozilla_la_LDFLAGS = -version-info 1:0:1
includedir = $(prefix)/include
include_HEADERS = prozilla.h netrc.h
CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -ggdb
LIBS = @LIBS@ $(THREAD_LIBS)

525
libprozilla/src/Makefile.in Normal file
View File

@@ -0,0 +1,525 @@
# Makefile.in generated by automake 1.7 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#------------------------------------------------------------------------------
# Process this file with automake to produce Makefile.in.
#------------------------------------------------------------------------------
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -ggdb
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ $(THREAD_LIBS)
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
THREAD_LIBS = @THREAD_LIBS@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = $(prefix)/include
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
lib_LTLIBRARIES = libprozilla.la
libprozilla_la_SOURCES = \
common.h \
connect.c connect.h \
connection.c connection.h \
debug.c debug.h \
download.c download.h \
ftp.c ftp.h \
ftpparse.c ftpparse.h \
getopt.c getopt.h \
main.c \
misc.c misc.h \
netrc.c netrc.h \
prozilla.h \
url.c url.h\
http.c http.h\
http-retr.c http-retr.h\
ftp-retr.c ftp-retr.h\
logfile.c logfile.h\
ftpsearch.c ftpsearch.h\
ping.c ping.h
# 0:0:0
# 0 -> interface version, changes whenever you change the API
# 0 -> changes whenever you make a revision of an interface no
# API changes...
# 0 -> changes whenever you change the API but keep it backwards
# compatible (have not removed a function from the API, for
# example...)
libprozilla_la_LDFLAGS = -version-info 1:0:1
include_HEADERS = prozilla.h netrc.h
subdir = src
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(lib_LTLIBRARIES)
libprozilla_la_LIBADD =
am_libprozilla_la_OBJECTS = connect.lo connection.lo debug.lo \
download.lo ftp.lo ftpparse.lo getopt.lo main.lo misc.lo \
netrc.lo url.lo http.lo http-retr.lo ftp-retr.lo logfile.lo \
ftpsearch.lo ping.lo
libprozilla_la_OBJECTS = $(am_libprozilla_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/connect.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/connection.Plo ./$(DEPDIR)/debug.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/download.Plo ./$(DEPDIR)/ftp-retr.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/ftp.Plo ./$(DEPDIR)/ftpparse.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/ftpsearch.Plo ./$(DEPDIR)/getopt.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/http-retr.Plo ./$(DEPDIR)/http.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/logfile.Plo ./$(DEPDIR)/main.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/misc.Plo ./$(DEPDIR)/netrc.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/ping.Plo ./$(DEPDIR)/url.Plo
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libprozilla_la_SOURCES)
HEADERS = $(include_HEADERS)
DIST_COMMON = $(include_HEADERS) Makefile.am Makefile.in
SOURCES = $(libprozilla_la_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
libLTLIBRARIES_INSTALL = $(INSTALL)
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
else :; fi; \
done
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" = "$$p" && dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libprozilla.la: $(libprozilla_la_OBJECTS) $(libprozilla_la_DEPENDENCIES)
$(LINK) -rpath $(libdir) $(libprozilla_la_LDFLAGS) $(libprozilla_la_OBJECTS) $(libprozilla_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/download.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp-retr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpparse.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpsearch.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http-retr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logfile.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ping.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Plo@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
includeHEADERS_INSTALL = $(INSTALL_HEADER)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(includedir)
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \
$(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_HEADERS)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(includedir)/$$f"; \
rm -f $(DESTDIR)$(includedir)/$$f; \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-includeHEADERS
install-exec-am: install-libLTLIBRARIES
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-includeHEADERS uninstall-info-am \
uninstall-libLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool ctags distclean \
distclean-compile distclean-depend distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am info \
info-am install install-am install-data install-data-am \
install-exec install-exec-am install-includeHEADERS \
install-info install-info-am install-libLTLIBRARIES install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-includeHEADERS uninstall-info-am \
uninstall-libLTLIBRARIES
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

170
libprozilla/src/common.h Normal file
View File

@@ -0,0 +1,170 @@
/******************************************************************************
libprozilla - a download accelerator library
Copyright (C) 2001 Kalum Somaratna
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
******************************************************************************/
/* Common #includes and #defines. */
/* $Id: common.h,v 1.7 2001/10/27 23:20:24 kalum Exp $ */
#ifndef COMMON_H
#define COMMON_H
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_STDIO_H
# include <stdio.h>
#endif
#if STDC_HEADERS
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
# include <stdarg.h>
#endif
#if HAVE_STRING_H
# if !STDC_HEADERS && HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#else
# if HAVE_STRINGS_H
# include <strings.h>
# endif
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#if HAVE_CTYPE_H
# include <ctype.h>
#endif
#if HAVE_ERRNO_H
# include <errno.h>
#endif
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_FCNTL_H
# include <fcntl.h>
#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#if HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#if HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif
#if HAVE_NETDB_H
# include <netdb.h>
#endif
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#if HAVE_ASSERT_H
# include <assert.h>
#endif
#if HAVE_PWD_H
# include <pwd.h>
#endif
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#if HAVE_PTHREAD_H
# include <pthread.h>
#endif
/* If we don't have vsnprintf() try to use __vsnprintf(). */
#if !defined(HAVE_VSNPRINTF) && defined(HAVE___VSNPRINTF)
# undef vsnprintf
# define vsnprintf __vsnprintf
# define HAVE_VSNPRINTF
#endif
/* If we don't have snprintf() try to use __snprintf(). */
#if !defined(HAVE_SNPRINTF) && defined(HAVE___SNPRINTF)
# undef snprintf
# define snprintf __snprintf
# define HAVE_SNPRINTF
#endif
typedef int boolean;
#ifndef FALSE
# define FALSE (0)
#endif
#ifndef TRUE
# define TRUE (!FALSE)
#endif
#ifndef NO
# define NO FALSE
#endif
#ifndef YES
# define YES TRUE
#endif
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
/* Gettext */
#include <libintl.h>
#define _(String) dgettext (PACKAGE, String)
#define gettext_noop(String) (String)
#ifndef HAVE_GNOME
#define N_(String) gettext_noop (String)
#endif
/* Gettext */
#endif /* COMMON_H */

337
libprozilla/src/connect.c Normal file
View File

@@ -0,0 +1,337 @@
/******************************************************************************
libprozilla - a download accelerator library
Copyright (C) 2001 Kalum Somaratna
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
******************************************************************************/
/* Connection routines. */
/* $Id: connect.c,v 1.23 2001/09/27 22:52:04 kalum Exp $ */
#include "common.h"
#include "misc.h"
#include "debug.h"
#include "connect.h"
/******************************************************************************
Connect to the specified server.
******************************************************************************/
uerr_t connect_to_server(int *sock, const char *name, int port,
struct timeval *tout)
{
unsigned int portnum;
int status, noblock, flags;
struct sockaddr_in server;
struct hostent *hp, hostbuf;
extern int h_errno;
/* int opt; */
char *tmphstbuf;
struct timeval timeout;
size_t hstbuflen = 2048;
assert(name != NULL);
tmphstbuf = kmalloc(hstbuflen);
portnum = port;
memset((void *) &server, 0, sizeof(server));
memcpy(&timeout, tout, sizeof(timeout));
hp = k_gethostname(name, &hostbuf, &tmphstbuf, &hstbuflen);
if (hp == NULL)
return HOSTERR;
memcpy((void *) &server.sin_addr, hp->h_addr, hp->h_length);
server.sin_family = hp->h_addrtype;
server.sin_port = htons(portnum);
/* Create a socket. */
if ((*sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 1)
{
kfree(tmphstbuf);
return CONSOCKERR;
}
/* Experimental. */
flags = fcntl(*sock, F_GETFL, 0);
if (flags != -1)
noblock = fcntl(*sock, F_SETFL, flags | O_NONBLOCK);
else
noblock = -1;
status = connect(*sock, (struct sockaddr *) &server, sizeof(server));
if ((status == -1) && (noblock != -1) && (errno == EINPROGRESS))
{
fd_set writefd;
FD_ZERO(&writefd);
FD_SET(*sock, &writefd);
status = select((*sock + 1), NULL, &writefd, NULL, &timeout);
/* Do we need to retry if the err is EINTR? */
if (status > 0)
{
socklen_t arglen = sizeof(int);
if (getsockopt(*sock, SOL_SOCKET, SO_ERROR, &status, &arglen) < 0)
status = errno;
if (status != 0)
errno = status, status = -1;
if (errno == EINPROGRESS)
errno = ETIMEDOUT;
} else if (status == 0)
errno = ETIMEDOUT, status = -1;
}
if (status < 0)
{
close(*sock);
if (errno == ECONNREFUSED)
{
kfree(tmphstbuf);
return CONREFUSED;
} else
{
kfree(tmphstbuf);
return CONERROR;
}
} else
{
flags = fcntl(*sock, F_GETFL, 0);
if (flags != -1)
fcntl(*sock, F_SETFL, flags & ~O_NONBLOCK);
}
/* setsockopt(*sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&opt,
(int) sizeof(opt)); */
kfree(tmphstbuf);
return NOCONERROR;
}
/******************************************************************************
...
******************************************************************************/
uerr_t bind_socket(int *sockfd)
{
struct sockaddr_in serv_addr;
/* Open a TCP socket (an Internet stream socket). */
if ((*sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
return CONSOCKERR;
/* Fill in the structure fields for binding. */
memset((void *) &serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(0); /* Let the system choose. */
/* Bind the address to the socket. */
if (bind(*sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
{
perror("bind");
close(*sockfd);
return BINDERR;
}
/* Allow only one server. */
if (listen(*sockfd, 1) < 0)
{
perror("listen");
close(*sockfd);
return LISTENERR;
}
return BINDOK;
}
/******************************************************************************
...
******************************************************************************/
int select_fd(int fd, struct timeval *timeout, int writep)
{
fd_set fds, exceptfds;
struct timeval to;
FD_ZERO(&fds);
FD_SET(fd, &fds);
FD_ZERO(&exceptfds);
FD_SET(fd, &exceptfds);
memcpy(&to, timeout, sizeof(struct timeval));
return (select(fd + 1, writep ? NULL : &fds, writep ? &fds : NULL,
&exceptfds, &to));
}
/******************************************************************************
Receive size bytes from sock with a time delay.
******************************************************************************/
int krecv(int sock, char *buffer, int size, int flags,
struct timeval *timeout)
{
int ret, arglen;
arglen = sizeof(int);
assert(size >= 0);
do
{
if (timeout)
{
do
{
ret = select_fd(sock, timeout, 0);
}
while ((ret == -1) && (errno == EINTR));
if (ret <= 0)
{
/* proz_debug("Error after select res=%d errno=%d.", ret, errno); */
/* Set errno to ETIMEDOUT on timeout. */
if (ret == 0)
errno = ETIMEDOUT;
return -1;
}
}
ret = recv(sock, buffer, size, flags);
}
while ((ret == -1) && (errno == EINTR));
return ret;
}
/******************************************************************************
Send size bytes to sock with a time delay.
******************************************************************************/
int ksend(int sock, char *buffer, int size, int flags,
struct timeval *timeout)
{
int ret = 0;
/* write() may write less than size bytes, thus the outward loop
keeps trying it until all was written, or an error occurred. The
inner loop is reserved for the usual EINTR f*kage, and the
innermost loop deals with the same during select(). */
while (size != 0)
{
do
{
if (timeout)
{
do
{
ret = select_fd(sock, timeout, 1);
}
while ((ret == -1) && (errno == EINTR));
if (ret <= 0)
{
/* Set errno to ETIMEDOUT on timeout. */
if (ret == 0)
errno = ETIMEDOUT;
return -1;
}
}
ret = send(sock, buffer, size, flags);
}
while ((ret == -1) && (errno == EINTR));
if (ret <= 0)
break;
buffer += ret;
size -= ret;
}
return ret;
}
/******************************************************************************
Get host data by hostname.
******************************************************************************/
struct hostent *k_gethostname(const char *host, struct hostent *hostbuf,
char **tmphstbuf, size_t * hstbuflen)
{
struct hostent *hp;
int herr, res;
if (*hstbuflen == 0)
{
*hstbuflen = 2048;
*tmphstbuf = kmalloc(*hstbuflen);
}
#ifdef HAVE_FUNC_GETHOSTBYNAME_R_6
while ((res = gethostbyname_r(host, hostbuf, *tmphstbuf, *hstbuflen, &hp,
&herr)) && (errno == ERANGE))
#endif
#ifdef HAVE_FUNC_GETHOSTBYNAME_R_5
while ((NULL == (hp = gethostbyname_r(host, hostbuf, *tmphstbuf,
*hstbuflen, &herr)))
&& (errno == ERANGE))
#endif
{
/* Enlarge the buffer. */
*hstbuflen *= 2;
*tmphstbuf = krealloc(*tmphstbuf, *hstbuflen);
}
if (res != 0)
return NULL;
return hp;
}
/******************************************************************************
Accept a connection.
******************************************************************************/
uerr_t accept_connection(int listen_sock, int *data_sock)
{
struct sockaddr_in cli_addr;
socklen_t clilen = sizeof(cli_addr);
int sockfd;
sockfd = accept(listen_sock, (struct sockaddr *) &cli_addr, &clilen);
if (sockfd < 0)
{
perror("accept");
return ACCEPTERR;
}
*data_sock = sockfd;
/* Now we can free the listen socket since it is not needed...
accept() returned the new socket... */
close(listen_sock);
return ACCEPTOK;
}

Some files were not shown because too many files have changed in this diff Show More