Revision control
Copy as Markdown
Other Tools
2011-12-01 Werner Koch <wk@g10code.com>
NB: ChangeLog files are no longer manually maintained. Starting
on December 1st, 2011 we put change information only in the GIT
commit log, and generate a top-level ChangeLog file from logs at
"make dist". See doc/HACKING for details.
2011-11-28 Jim Meyering <meyering@redhat.com>
accept --with-libgpg-error-prefix as well as --with-gpg-error-prefix
* src/gpg-error.m4 (AM_PATH_GPG_ERROR): Also accept
--with-libgpg-error-prefix=PFX, for consistency with our three
library sibling packages.
2011-08-23 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_DUP_KEY and GPG_ERR_AMBIGUOUS.
2011-04-06 Werner Koch <wk@g10code.com>
* autogen.sh: Support option --build-w64.
* configure.ac (HAVE_W64_SYSTEM): New.
* src/gpg-error.m4: Test whether gpg-error-config exists.
2011-02-23 Werner Koch <wk@g10code.com>
* autogen.sh: Check git setup.
* src/gpg-error-config.in: Add option --host.
* configure.ac (GPG_ERROR_CONFIG_HOST): New.
* src/gpg-error.m4: Use AC_PATH_TOOL to look for
gpg-error-config. Print a warning if host does not match.
2011-02-01 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_INV_CURVE and GPG_ERR_UNKNOWN_CURVE.
2011-01-06 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_NO_KEYSERVER.
2010-12-23 Werner Koch <wk@g10code.com>
* configure.ac: Support git_revision.
2010-11-01 Marcus Brinkmann <marcus@g10code.de>
* src/w32-gettext.c (CreateFileA): Rename to ...
(MyCreateFileA): ... this, but provide macro CreateFileA.
2010-10-31 Werner Koch <wk@g10code.com>
* src/init.c (abort): Use TerminateProcess; exit would call atexit
functions.
2010-10-29 Marcus Brinkmann <marcus@g10code.de>
* src/w32-gettext.c: Guard include of <sys/types.h>. Do not
include <sys/stat.h>.
(CreateFileA) [HAVE_W32CE_SYSTEM]: New wrapper function.
(load_domain): Use native Windows API.
* src/init.c (TLS_OUT_OF_INDEXES) [HAVE_W32CE_SYSTEM,
!TLS_OUT_OF_INDEXES]: Define it.
(abort) [!__MINGW32CE__]: Define it.
2010-10-28 Werner Koch <wk@g10code.com>
* src/mkstrtable.awk: s/inline/GPG_ERR_INLINE/
* src/w32-gettext.c: Include gpg-error.h and replace all
__inline__ by GPG_ERR_INLINE.
(module_init): Use _GPG_ERR_CONSTRUCTOR.
(_gpg_w32__init_gettext_module): Build also if we don't have
constructors
* src/gpg-error.h.in (GPG_ERR_INLINE) [_MSC_VER]: Define as __inline.
2010-10-26 Werner Koch <wk@g10code.com>
Release 1.10.
* configure.ac: Set LT version to C8/A8/R0.
* config.guess: Update to version 2010-09-24.
* config.sub: Update to version 2010-09-11.
2010-10-20 Werner Koch <wk@g10code.com>
* potomo: New. Copied from GnuPG.
* Makefile.am (install-data-hook) [W32]: New.
* src/init.c (get_locale_dir): Strip the "bin" part.
* src/gpg-error.c (get_locale_dir): Ditto.
2010-09-30 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_FULLY_CANCELED.
2010-09-16 Werner Koch <wk@g10code.com>
* src/w32-gettext.c (module_init): Do not set a constructur if not
build as DLL.
(_gpg_w32__init_gettext_module): New.
2010-09-16 gettextize <bug-gnu-gettext@gnu.org>
* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
2010-09-16 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_MISSING_ISSUER_CERT.
* src/Makefile.am (err-sources.h, err-codes.h): Built them in the
source directory.
2010-09-02 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_NOT_INITIALIZED.
2010-08-19 Werner Koch <wk@g10code.com>
* configure.ac (AH_BOTTOM): Define GPG_ERR_ENABLE_ERRNO_MACROS.
* src/w32ce-add.h (strerror) [!GPG_ERR_ENABLE_ERRNO_MACROS]: Do
not define.
2010-07-21 Werner Koch <wk@g10code.com>
Release 1.9.
* configure.ac: Set LT version to C7/A7/R0.
2010-07-20 Werner Koch <wk@g10code.com>
* src/init.c (DllMain) [!DLL_EXPORT]: Do not build.
(gpg_err_init) [W32][!DLL_EXPORT]: Init TLS.
(gpg_err_deinit): New.
* src/gpg-error.def.in: Add gpg_err_deinit.
* src/gpg-error.h.in: Add gpg_err_deinit.
2010-07-05 Werner Koch <wk@g10code.com>
* src/err-codes.h.in (GPG_ERR_TOO_MANY, GPG_ERR_LIMIT_REACHED): New.
2010-06-18 Werner Koch <wk@g10code.com>
* src/err-codes.h.in (GPG_ERR_MISSING_KEY): New.
2010-05-06 Werner Koch <wk@g10code.com>
Release 1.8.
* configure.ac: Set LT version to C6/A6/R0.
2010-04-14 Werner Koch <wk@g10code.com>
* src/init.c (_gpg_w32ce_get_errno): Add native error mapping.
* src/Makefile.am (mkw32errmap.map.c): New.
* src/mkw32errmap.c (struct table_s): Add field W32CODE2.
(table): Init this field.
(main): Add option --map.
2010-03-15 Werner Koch <wk@g10code.com>
* src/mkheader.awk: Add emacs local-var line.
* src/w32-add.h (gettext_localename): Fix type in name.
2010-03-09 Werner Koch <wk@g10code.com>
* src/w32-add.h [!GPG_ERR_ENABLE_GETTEXT_MACROS]: Do not provide
gettext macros.
2010-03-08 Werner Koch <wk@g10code.com>
* src/w32-add.h (_GPG_ERR_ATTR_FORMAT_ARG): New.
(_gpg_w32_gettext, _gpg_w32_dgettext, _gpg_w32_dngettext): Use it.
2010-03-01 Werner Koch <wk@g10code.com>
* src/mkw32errmap.c: Map ESPIPE.
2010-02-17 Werner Koch <wk@g10code.com>
* src/Makefile.am: Revert last change.
(gpg_extra_headers): New.
(nobase_include_HEADERS): Rename to include_HEADERS and remove
extra_headers.
(mkerrcodes.h): Depend on gpg_extra_headers.
(install-data-local): New.
(gpg-extra/errno.h): Create gpg-extra dir if needed.
2010-02-17 Werner Koch <wk@g10code.com>
* src/Makefile.am (extra_headers): Remove.
2010-01-21 Werner Koch <wk@g10code.com>
* configure.ac (have_w32ce_system): Initialize to no.
* src/mkstrtable.awk (END): Do not print PREFIX before
LAST_MSGSTR.
* src/init.c (get_locale_dir): Rework to match what gnupg is doing.
(get_root_key, read_w32_registry_string): Remove.
* src/gpg-error.c (get_locale_dir): Replace by code from init.c
(get_root_key, read_w32_registry_string): Remove.
2010-01-20 Werner Koch <wk@g10code.com>
* src/init.c (gpg_err_init): Factor code out to ..
(real_init): .. new.
* src/Makefile.am (gpg_error_SOURCES): Remove arch_sources.
(export_symbols): Do not prefix gpg-error-def with srcdir.
2010-01-19 Werner Koch <wk@g10code.com>
* src/init.c (DllMain): Call _w32_gettext_init.
(get_tls): Use it also for standard Windows.
(DllMain): Ditto.
(struct tls_space_s): Move to ..
(get_tls): Make global.
* src/init.h: .. New.
* src/gettext.h: Do not include w32-gettext.h.
* src/w32-gettext.c: Replace by version from GnuPG.
(my_nl_locale_name) [W32CE]: Do not use getenv. Use
GetSystemDefaultLCID.
(struct loaded_domain): Use uint16_t for NSTRINGS and MAPPED to
save space.
(load_domain): Check for too large MO files.
(utf8_to_wchar): Use gpg_err_set_errno.
(bindtextdomain): Rename to _gpg_w32_bindtextdomain.
(textdomain): Rename to _gpg_w32_textdomain.
(gettext): Rename to _gpg_w32_gettext.
(dgettext): Rename to _gpg_w32_dgettext.
(ngettext): Remove.
(gettext_localename): Rename to _gpg_w32_gettext_localename.
(gettext_select_utf8): Rename to _gpg_w32_gettext_use_utf8.
(_gpg_w32_bindtextdomain): Change to only register the directory.
Return the current directory if asked to.
(do_gettext): Add DOMAINNAME arg and take care of it.
* src/w32-add.h: New.
* src/w32-gettext.h: Remove.
* src/Makefile.am (extra-h.in): Process w32-add.h.
(arch_sources): Remove w32-gettext.h.
2010-01-18 Werner Koch <wk@g10code.com>
* src/init.c (wchar_to_utf8, utf8_to_wchar): New.
* src/gpg-error.c (main): Add option --list.
2010-01-18 Werner Koch <wk@g10code.com>
* ltmain.sh (wrappers_required): Don't set for mingw32ce.
* tests/Makefile.am (extra_includes): New.
* tests/t-syserror.c (main): Use gpg_err_set_errno.
* src/w32ce-add.h: New.
* src/Makefile.am (EXTRA_DIST): Add it
(extra-h.in): New rule
(gpg-error.h): Pass extra-h.in to mkheader.
* src/mkheader.awk (extra_body): New.
* src/gpg-error.c (get_err_from_number): Use gpg_err_set_errno.
* src/mkw32errmap.c: New
* src/gpg-error.def: Rename to ..
* src/gpg-error.def.in: .. this.
(_gpg_errno_location): New.
* src/init.c (struct tls_space_s, tls_index): New.
(get_tls, _gpg_errno_location, DllMain): New.
(read_w32_registry_string) [W32CE]: Don't expand envvars.
(_gpg_w32ce_strerror): New.
* src/Makefile.am (extra_headers, extra_cppflags): New.
(include_HEADERS): Add extra_headers. Prefix with nobase_.
(libgpg_error_la_CPPFLAGS, gpg_error_CPPFLAGS)
(mkerrcodes.h): Add extra_cppflags.
(RCCOMPILE): Replace libgpg_error_la_CPPFLAGS by direct inclusion
of -DLOCALEDIR.
* configure.ac (HAVE_W32CE_SYSTEM): New AM_CONDITIONAL and
AC_DEFINE.
(GPG_ERROR_CONFIG_ISUBDIRAFTER): New.
* src/gpg-error-config.in <--libs>: Replace fixed -lgpg-error
by subst variable.
(isubdirafter): New.
<--cflags>: Take subst variable in account. Add idirafter stuff.
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h.in (GPG_ERR_SOURCE_DIM): Reduce to 128.
2009-09-29 Werner Koch <wk@g10code.com>
* src/err-codes.h.in (GPG_ERR_NO_ENGINE): New.
2009-09-21 Werner Koch <wk@g10code.com>
* src/err-sources.h.in (GPG_ERR_SOURCE_G13): New.
2009-08-20 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: s/octadecimal/octal/. Reported by Petr Pisar.
2009-07-23 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_NOT_ENABLED.
2009-07-17 Marcus Brinkmann <marcus@g10code.de>
* src/mkerrnos.awk: Output code to cause WSA Errors to be found
from gpg error codes.
* README: Add problem of translating error codes back and forth.
* src/mkerrcodes1.awk: Output code to cause WSA Errors to be
transparently translated.
* src/code-from-errno.c [HAVE_W32_SYSTEM]: Don't include winsock2.h.
(w32_special_errnos) [HAVE_W32_SYSTEM]: Removed.
(gpg_err_code_from_errno) [HAVE_W32_SYSTEM]: Remove special case.
* README: Document problem with printing some WSA Errors.
2009-06-23 Marcus Brinkmann <marcus@g10code.de>
Update to libtool 2.2.6a.
* configure.ac: Invoke AC_CONFIG_MACRO_DIR.
(AC_LIBTOOL_WIN32_DLL, AC_LIBTOOL_RC): Replace by ...
(LT_PREREQ, LT_INIT, LT_LANG): ... these.
* config.guess, config.sub, install-sh, ltmain.sh, m4/libtool.m4:
Updated to libtool 2.2.6a.
* m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
m4/lt~obsolete.m4: New files from libtool 2.2.6a.
* src/Makefile.am (LTRCCOMPILE): Refactor with ...
(RCCOMPILE): ... this new macro. Add $(libgpg_error_la_CPPFLAGS).
(SUFFIXES): Add .lo.
(.rc.o): Change to ...
(.rc.lo): ... this implicit rule.
(gpg_error_res_ldflag): Removed.
(gpg_error_res): Use libtool object file name here.
(install-def-file): Fix typo.
(libgpg_error_la_LDFLAGS): Remove gpg_error_res_ldflag usage.
(libgpg_error_la_LIBADD): Add gpg_error_res.
2008-11-26 Werner Koch <wk@g10code.com>
Release 1.7.
* configure.ac: Set LT version to C5/A5/R0.
2008-11-12 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_NO_PASSPHRASE and GPG_ERR_NO_PIN.
2008-11-08 Moritz <moritz@gnu.org>
* lang/cl/gpg-error.lisp ("gpg_err_code_from_syserror"): Fix
defcfun: removed "(void)".
* lang/cl/gpg-error.lisp (size-t): Wrong call to defctype:
function accepts optional, not keyword argument.
(gpg-error-t): Likewise.
2008-10-29 Marcus Brinkmann <marcus@g10code.de>
* src/mkstrtable.awk: Make generated code -W clean to silence gcc
warnings.
2008-08-06 Werner Koch <wk@g10code.com>
* src/err-codes.h.in (GPG_ERR_NOT_OPERATIONAL): New.
2008-04-01 Werner Koch <wk@g10code.com>
* configure.ac (AC_INIT): Fix m4 quoting.
2007-12-11 Werner Koch <wk@g10code.com>
* Makefile.am (EXTRA_DIST): Add COPYING.
2007-10-29 Werner Koch <wk@g10code.com>
Released 1.6.
* configure.ac: Set LT version to C4/A4/R0.
* config.guess, config.sub: Updated.
* src/err-sources.h.in: (GPG_ERR_SOURCE_KLEO): New.
* w32-gettext.c (SUBLANG_BENGALI_BANGLADESH): Fix to 2 as per MSDN.
(SUBLANG_PUNJABI_PAKISTAN): Remove as it is not in MSDN.
(SUBLANG_ROMANIAN_MOLDOVA): Remove as it is not in MSDN.
(SUBLANG_ROMANIAN_ROMANIA): Change to value 1 as per MSDN.
2007-09-27 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (%.o): Replace pattern rule with suffix rule.
(SUFFIXES): New variable.
2007-09-27 Werner Koch <wk@g10code.com>
* src/err-sources.h.in (GPG_ERR_SOURCE_GPA): New.
* src/err-codes.h.in (GPG_ERR_UNFINISHED): New.
2007-08-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Call AM_PROG_CC_C_O. Allow --disable-languages.
* autogen.sh: Use = not == in test.
* lang/cl/Makefile.am: Do not use :=, but =.
* Makefile.am [!LANGUAGES_SOME]: Don't add lang to subdirs.
* m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4: New files.
2007-05-19 Marcus Brinkmann <marcus@g10code.de>
* lang/cl/gpg-error.lisp (gpg-err-source-t): Add
:gpg-err-source-any.
2007-06-18 Werner Koch <wk@g10code.com>
* src/code-from-errno.c (w32_special_errnos) [W32]: New. This is
to provide some common mappings for winsocket error codes.
(gpg_err_code_from_errno, gpg_err_code_from_syserror): Use it.
2007-05-09 Werner Koch <wk@g10code.com>
* src/gpg-error.m4: Print found version on success.
2006-12-09 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (EXTRA_DIST): Add README.
* src/README: New file.
2006-12-01 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.c (get_err_from_number): Fix last change.
* src/gpg-error.c (get_err_from_number): Support source and code
number in split format like "7.17".
2006-11-30 Werner Koch <wk@g10code.com>
Released 1.5.
* configure.ac: Set LT version to C3/A3/R1.
* README: Switch to tar.bz2 and sha1sum.
* src/gpg-error.c (main): Add option --version.
* autogen.sh (FORCE): Add option --force.
* intl/: Removed.
* Makefile.am (SUBDIRS): Removed intl.
* configure.ac (AM_GNU_GETTEXT): Use external flag
* src/Makefile.am: Removed -I../intl.
2006-11-23 Werner Koch <wk@g10code.com>
* configure.ac: Display configuration status after AC_OUTPUT.
(AC_INIT): Use SVN revision magic.
(AC_GNU_SOURCE): New.
2006-11-23 gettextize <bug-gnu-gettext@gnu.org>
* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.15.
2006-11-15 Werner Koch <wk@g10code.com>
* autogen.sh: Add convenience option --build-amd64.
2006-10-20 Werner Koch <wk@g10code.com>
* Makefile.am (stowinstall): New convenience target.
2006-09-18 Werner Koch <wk@g10code.com>
* src/gpg-error.def: Added gpg_err_code_from_syserror.
2006-09-14 Werner Koch <wk@g10code.com>
Released 1.4.
* configure.ac: Set LT version to C3/A3/R0.
(AB_INIT): New.
* autogen.sh (--build-w32): Better cross-compiler locating.
* src/strerror.c (system_strerror_r): Made static.
* tests/t-syserror.c: New.
* tests/Makefile.am (TESTS): Added new test.
* lang/cl/gpg-error.lisp ("gpg_err_code_from_syserror"): New.
(gpg-err-code-from-syserror): New.
(gpg-error-from-syserror): New.
* lang/cl/gpg-error-package.lisp: Export new functions
* src/gpg-error.h.in (gpg_error_from_syserror): New.
* src/code-from-errno.c (gpg_err_code_from_errno): Cosmetic change
to first check whether ERR is zero.
(gpg_err_code_from_syserror): New.
2006-09-06 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_UNKNOWN_OPTION and
GPG_ERR_UNKNOWN_COMMAND.
2006-09-05 Werner Koch <wk@g10code.com>
* src/err-sources.h.in (GPG_ERR_SOURCE_ANY): New. This is so that
we have source distinguished from the Unknown one but declaring
that it is an gpg-error style error code.
* src/err-codes.h.in: Added GPG_ERR_ASS_* codes, rabnge 257-281.
(GPG_ERR_MISSING_ERRNO): New.
2006-07-04 Marcus Brinkmann <marcus@g10code.de>
* src/init.c (get_locale_dir): Return NULL instead of garbage.
* src/gpg-error.c (get_locale_dir): Likewise.
Reported by Simon Josefsson <jas@extundo.com>.
2006-05-30 Marcus Brinkmann <marcus@g10code.de>
* lang/cl/gpg-error.asd.in (gpg-error): Add "depends-on" on cffi.
2006-05-29 Marcus Brinkmann <marcus@g10code.de>
* src/init.c (gpg_err_init) [!ENABLE_NLS]: Do not initialize the
locale.
* src/gpg-error.c (i18n_init) [!ENABLE_NLS]: Likewise.
Patch submitted by Nils Durner <ndurner@web.de>.
2006-05-25 Marcus Brinkmann <marcus@g10code.de>
* lang/cl/gpg-error.asd: Renamed to ...
* lang/cl/gpg-error.asd.in: ... this.
* configure.ac (AC_CONFIG_FILES): Add lang/cl/gpg-error.asd.in.
* lang/cl/mkerrcodes.awk, lang/cl/gpg-error-package.lisp,
lang/cl/gpg-error.lisp, lang/cl/gpg-error.asd, lang/cl/Makefile.am
(clfilesdir): Fix package and file names.
* lang/cl/Makefile.am (clfilesdir): Use datadir, not prefix.
2006-05-05 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_CONFIG_FILES): Add lang/Makefile and
lang/cl/Makefile.
* Makefile.am (SUBDIRS): Add lang.
* lang: New directory.
* lang/README, lang/Makefile.am: New files.
* lang/cl: New directory.
* lang/cl/Makefile.am, lang/cl/README, lang/cl/gpg-error.asd,
lang/cl/gpg-error-package.lisp, lang/cl/gpg-error.lisp,
lang/cl/mkerrcodes.awk: New files.
2006-03-14 Marcus Brinkmann <marcus@g10code.de>
Released 1.3.
* configure.ac (LIBGPG_ERROR_LT_REVISION): Bump for release.
Many files regenerated.
* src/Makefile.am (gpg_error_CPPFLAGS, libgpg_error_la_CPPFLAGS):
Add -I../intl.
* Makefile.am (SUBDIRS): Add intl.
* configure.ac (AC_CONFIG_FILES): Add intl/Makefile.
(AM_GNU_GETTEXT_VERSION): Bump to 0.14.5.
2006-03-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (min_automake_version): Bump to 1.9.6.
* mkinstalldirs, depcomp, compile, INSTALL, COPYING, missing,
install-sh: Update from automake 1.9.6.
ltmain.sh: Update from libtool 1.5.22.
2006-03-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (LIBGPG_ERROR_LT_CURRENT, LIBGPG_ERROR_LT_AGE):
Bump for release.
(LIBGPG_ERROR_LT_REVISION): Reset to 0 for release.
2005-11-02 Werner Koch <wk@g10code.com>
* src/Makefile.am (gpg_error_SOURCES): Include ARCH_SOURCES.
* src/gpg-error.c [W32]: Include gettext.h instead of libintl.h.
* configure.ac (AH_BOTTOM): Define ENABLE_NLS for W32 builds.
* src/w32-gettext.h (dgettext): Changed prototype from
libintl_dgettext.
* src/w32-gettext.c: Replaced use of WIN32 by HAVE_W32_SYSTEM on
demand of the holy GNUquisition.
(bindtextdomain, textdomain, dgettext): Need to cast the const way
from the return value.
2005-10-26 Werner Koch <wk@g10code.com>
* Makefile.am: Used dist-bzip2 option.
2005-10-25 Marcus Brinkmann <marcus@g10code.de>
* src/w32-gettext.c (get_string): Remove extra arguments to
utf8_to_native_invocation.
(utf8_to_wchar, wchar_to_native): New function.
(utf8_to_native): Rewritten.
* src/Makefile.am (gpg_error_CPPFLAGS): New variable.
* src/gpg-error.c (i18n_init): Don't return anything.
* src/Makefile.am (arch_sources): New variable.
(libgpg_error_la_SOURCES): Add $(arch_sources).
* src/gettext.h [HAVE_W32_SYSTEM]: Include w32-gettext.h.
* src/w32-gettext.h: New file.
* src/w32-gettext.c: New file.
* src/gpg-error.h.in: Check for gcc's constructor attribute.
Use it for gpg_err_init.
(GPG_ERR_INITIALIZED): Define if constructor is available.
* src/gpg-error.c (main) [GPG_ERR_INITIALIZED]: Don't invoke
gpg_err_init.
(i18n_init): Call bindtextdomain as well. Now that gpg-error has
its own gettext implementation, we can't rely on it anymore.
Also, repeat all the w32 stuff for fetching the registry.
2005-10-23 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (libgpg_error_la_SOURCES): Add init.c.
* src/init.c: New file.
* src/gpg-error.h.in (gpg_error_init): New function.
* src/gpg-error.def: Add gpg_err_init.
* src/gpg-error.c: Remove SIMPLE_GETTEXT stuff.
(i18n_init): Don't bind text domain.
(main): Call gpg_err_init.
2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Instead checking for windres and dlltool, invoke
AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_RC.
* src/Makefile.am [HAVE_W32_SYSTEM]: Use libtool, which simplifies
the rules.
2005-10-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Escape arguments in AC_INIT invocation.
* config.guess, config.sub, ltmain.sh: Update.
2005-08-19 Werner Koch <wk@g10code.com>
* configure.ac: Add code to allow building a W32 DLL.
* src/Makefile.am: Changed to allow building for W32.
* src/versioninfo.rc.in: New.
* src/gpg-error.def: New.
2005-06-20 Marcus Brinkmann <marcus@g10code.de>
Released 1.1.
* configure.ac: Bump up LIBGPG_ERROR_LT_REVISION, update version
field.
2005-06-16 Marcus Brinkmann <marcus@g10code.de>
* src/mkerrcodes.awk: Fix comment. Allow any non-empty line to
start the processing, not only lines starting with numbers.
Reported by Guillaume Libersat <glibersat@hurdfr.org>.
2005-01-05 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for locale.h.
2005-04-20 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_LOCKED.
2005-04-18 Werner Koch <wk@g10code.com>
* src/err-codes.h.in: Add GPG_ERR_UNKNOWN_EXTN and
GPG_ERR_UNKNOWN_CRIT_EXTN.
2004-12-18 Werner Koch <wk@g10code.com>
* autogen.sh: Add option --build-w32.
2004-09-14 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.m4: Add copyright note.
* configure.ac: Call AC_CANONICAL_HOST. Suppress warning about
lack of strerror_r on all Solaris platforms.
2004-07-30 Werner Koch <wk@g10code.de>
Released 1.0.
* configure.ac: Bumbed version to 1.0, LT to C1/A1/R3.
2004-07-15 Werner Koch <wk@gnupg.org>
* src/err-codes.h.in: Renamed description for CARD_RESET.
2004-06-28 Werner Koch <wk@gnupg.org>
* src/err-codes.h.in: Add GPG_ERR_INV_REQUEST.
2004-06-08 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (mkerrcodes): Prefix mkerrcodes.c with $(srcdir)
to fix VPATH build.
2004-05-25 Marcus Brinkmann <marcus@g10code.de>
* src/err-codes.h.in: Add GPG_ERR_PROTOCOL_VIOLATION and
GPG_ERR_INV_MAC.
2004-04-23 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (mkerrcodes): Do not use $< in non-inference rule.
(code-from-errno.h): Likewise.
2004-04-22 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (gpg_error_CPPFLAGS): New variable.
(localedir): Likewise.
* gpg-error.c: Include the gettext headers.
(init_i18n): New function.
(main): Call init_i18n, gettextize messages.
2004-04-02 Thomas Schwinge <schwinge@nic-nac-project.de>
* autogen.sh: Added ACLOCAL_FLAGS.
2004-04-19 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.m4: Quote first argument to AC_DEFUN.
* src/mkerrcodes.awk: Allow whitespace before expanded
preprocessor macro (ie, the error code value). Needed for Solaris 2.8.
2004-04-08 Moritz Schulte <moritz@g10code.de>
* src/gpg-error.c (main): Return zero on success.
2004-03-09 Marcus Brinkmann <marcus@g10code.de>
* libgpg-error.spec.in (%files): Add gpg-error. Submitted by
Albrecht Dreß <albrecht.dress@arcor.de>.
* src/mkerrcodes.c (main): Fix type of argv. Return something.
2004-03-09 Werner Koch <wk@gnupg.org>
* Makefile.am (dist-hook): Create a VERSION file for use by mkdiff.
* src/Makefile.am (mkerrcodes.h): Let CPP work on a temporary file.
(CLEANFILES): Add that temporary file.
* configure.ac (AC_PROG_CPP): Added.
* src/err-codes.h.in: Removed trailing spaces from
GPG_ERR_NOT_LOCKED.
2004-03-08 Werner Koch <wk@gnupg.org>
* src/err-sources.h.in: Added GPG_ERR_SOURCE_GSTI.
2004-03-07 Marcus Brinkmann <marcus@g10code.de>
Released 0.7.
* configure.ac: Bumbed up LIBGPG_ERROR_LT_REVISON.
* src/gpg-error-config.in: Fix last change.
* src/gpg-error-config.in (Options): Do not emit include and lib
directory for prefix "/usr" or "".
* tests/Makefile.am (INCLUDES): Change to -I$(top_srcdir)/src to
-I$(top_builddir).
2004-03-01 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Define CC_FOR_BUILD.
* src/Makefile.am (BUILT_SOURCES): Add gpg-error.h.
(EXTRA_DIST): Add mkerrcodes.awk and mkerrcodes.c.
(CLEANFILES): Add mkerrcodes.h and mkerrcodes.
(mkerrcodes.h): New target.
(mkerrcodes): New target.
(code-from-errno.h): Rewritten.
* src/errnos.in: Remove include statement (which was ignored
anyway).
* src/mkerrcodes.awk: New file.
* src/mkerrcodes.c: New file.
2004-02-27 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (noinst_PROGRAMS): Rename to ...
(bin_PROGRAMS): ... this.
* src/gpg-error.h.in: Add extern "C" closure for C-- compilers.
* src/Makefile.am (noinst_PROGRAMS): New variable.
(gpg_error_LDADD): New variable.
(gpg_error_SOURCES): New variable.
(EXTRA_DIST): Add mkheader.awk and gpg-error.h.in.
(BUILT_SOURCES): Add err-sources-sym.h, err-codes-sym.h and
errnos-sym.h.
(CLEANFILES): Add err-sources-sym.h, err-codes-sym.h,
errnos-sym.h and gpg-error.h.
(err-codes.h, err-sources.h): Add -v textidx=3 to mkstrtable.awk
invocation.
(err-codes-sym.h): New target.
(err-sources-sym.h): New target.
(gpg-error.h): New rule.
* src/mkstrtable.awk: Skip the second field (which contains the
error code symbol).
(FS): Allow more than one tab as field separator.
Allow to specify the field to be used as text with the variable
textidx.
Allow to suppress gettext markers in the output.
Allow to specify a prefix to the messages.
Allow to specify a namespace for the variable and macro names.
* src/mkerrnos.awk (FS): Initialize. Understand variable
errnoidx, which defaults to 2, to cope with the error names being
in a different column than the first.
* src/mkerrcodes1.awk: Likewise. Use \t as separator.
* src/mkheader.awk: New file.
* src/errnos.in: Add error code numbers (relativ to
GPG_ERR_SYSTEM_ERROR).
* src/strerror-sym.c: New file.
* src/strsources-sym.c: New file.
* src/err-codes.h.in: Add the error code symbol for every error
code.
(GPG_ERR_BUFFER_TOO_SHORT): Fix error code (it is 200, not 199).
* src/err-sources.h.in: Likewise.
* src/gpg-error.h.in: New file.
* src/gpg-error.h: File removed.
* src/gpg-error.c: New file.
2004-02-18 Werner Koch <wk@gnupg.org>
* src/gpg-error-config.in: Ignore setting of --prefix.
2004-02-11 Werner Koch <wk@gnupg.org>
* autogen.sh (check_version): Removed bashism and simplified.
2004-02-03 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Added GPG_ERR_NOT_LOCKED.
2003-12-22 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Added GPG_ERR_LOCALE_PROBLEM.
2003-12-12 Werner Koch <wk@gnupg.org>
* src/err-codes.h.in: s/revoced/revoked/.
2003-12-08 Werner Koch <wk@gnupg.org>
* README.CVS: Enhanced.
* autogen.sh: New.
* Makefile.am (EXTRA_DIST): Added autogen.sh.
2003-11-14 Werner Koch <wk@gnupg.org>
* configure.ac: Bumbed version number to 0.7.
Released 0.6.
* configure.ac: Bumbed up LIBGPG_ERROR_LT_REVISON.
2003-11-13 Werner Koch <wk@gnupg.org>
* src/gpg-error.h, src/err-codes.h.in: Removed: GPG_ERR_IO_ERROR,
GPG_ERR_FILE_ERROR, GPG_ERR_READ_ERROR, GPG_ERR_WRITE_ERROR,
GPG_ERR_LOCK_ERROR.
* src/gpg-error.h (GPG_ERR_SOURCE_DIRMNGR): Fixed typo.
2003-11-12 Werner Koch <wk@gnupg.org>
* src/gpg-error.h, src/err-codes.h.in: Added these codes:
GPG_ERR_INV_ATTR, GPG_ERR_NO_VALUE, GPG_ERR_NOT_FOUND,
GPG_ERR_VALUE_NOT_FOUND, GPG_ERR_SYNTAX, GPG_ERR_INV_CRL,
GPG_ERR_BAD_BER, GPG_ERR_INV_BER, GPG_ERR_ELEMENT_NOT_FOUND,
GPG_ERR_IDENTIFIER_NOT_FOUND, GPG_ERR_INV_TAG, GPG_ERR_INV_LENGTH,
GPG_ERR_INV_KEYINFO, GPG_ERR_UNEXPECTED_TAG, GPG_ERR_NOT_DER_ENCODED,
GPG_ERR_NO_CMS_OBJ, GPG_ERR_INV_CMS_OBJ, GPG_ERR_UNKNOWN_CMS_OBJ,
GPG_ERR_UNSUPPORTED_CMS_OBJ, GPG_ERR_UNSUPPORTED_ENCODING,
GPG_ERR_UNSUPPORTED_CMS_VERSION, GPG_ERR_UNKNOWN_ALGORITHM,
GPG_ERR_ENCODING_PROBLEM, GPG_ERR_INV_STATE, GPG_ERR_DUP_VALUE,
GPG_ERR_MISSING_ACTION, GPG_ERR_MODULE_NOT_FOUND,
GPG_ERR_INV_OID_STRING, GPG_ERR_INV_TIME, GPG_ERR_INV_CRL_OBJ,
GPG_ERR_UNSUPPORTED_CRL_VERSION, GPG_ERR_INV_CERT_OBJ,
GPG_ERR_UNKNOWN_NAME, GPG_ERR_IO_ERROR, GPG_ERR_FILE_ERROR,
GPG_ERR_READ_ERROR, GPG_ERR_WRITE_ERROR, GPG_ERR_LOCK_ERROR,
GPG_ERR_BUFFER_TOO_SHORT.
2003-11-06 Werner Koch <wk@gnupg.org>
* src/gpg-error.h, src/err-sources.h.in: Added error sources for
Libksba and Dirmngr. Added GPG_ERR_TRUNCATED.
2003-11-03 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Allow GPG_ERR_INLINE to get overriden, so that
one can use the -D flag to specify the inline keyword. Suggested
by Philip Brown.
2003-10-28 Moritz Schulte <mo@g10code.com>
* src/gpg-error.h (gpg_err_code_t): Added:
GPG_ERR_NO_ENCODING_METHOD, GPG_ERR_NO_ENCRYPTION_SCHEME,
GPG_ERR_NO_SIGNATURE_SCHEME.
* src/err-codes.h.in: Likewise.
2003-10-25 Werner Koch <wk@gnupg.org>
* src/strerror.c: Include stdio.h for snprintf
prototype. Suggested by papadopo@shfj.cea.fr, fixes #gnupg/214.
2003-10-11 Moritz Schulte <mo@g10code.com>
* src/gpg-error.m4: Do not ask gpg-error-config to change the
prefix, if --with-gpg-error-prefix=... is used.
2003-10-06 Marcus Brinkmann <marcus@g10code.de>
Released 0.5.
* configure.ac (LIBGPG_ERROR_LT_CURRENT, LIBGPG_ERROR_LT_AGE):
Bump up by one.
2003-09-30 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h: Include <stddef.h>.
(gpg_strerror_r): Change prototype to match POSIX. Rewritten for
that prototype.
* src/strerror.c: Include <errno.h>.
(gpg_strerror_r, system_strerror_r): Change prototype to match
POSIX. Rewritten for that prototype. Rewritten for that
prototype.
2003-09-30 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Add PIN_NOT_SYNCED.
2003-09-13 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Invoke AC_FUNC_STRERROR_R.
* src/gpg-error.h (gpg_strerror_r): New prototype.
* src/strerror.c (system_strerror_r): New function.
(gpg_strerror_r): New function.
2003-09-04 Marcus Brinkmann <marcus@g10code.de>
* libgpg-error.spec.in: New file.
* Makefile.am (EXTRA_DIST): Add libgpg-error.spec.in.
* AUTHORS (Maintainer): Add Robert Schiele as contributor.
2003-09-03 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error-config.in: Rewritten.
2003-09-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Bump up version number.
2003-09-03 Marcus Brinkmann <marcus@g10code.de>
Released 0.4.
* src/gpg-error.h: Define GPG_ERR_INLINE to nothing if the
compiler does not implement C99.
* configure.ac: (AC_INIT): Bump up version number.
2003-09-02 Moritz Schulte <mo@g10code.com>
* src/gpg-error.h (gpg_err_code_t): Added: GPG_ERR_NO_PRIME.
* src/err-codes.h.in: Likewise.
2003-08-19 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h (GPG_ERR_SYSTEM_ERROR): Fix value (should have
been 2^15, was 2^14).
(GPG_ERR_CODE_DIM): Fix value (should have been 65536, was 32768).
Change the error codes of all system errors to have the
GPG_ERR_SYSTEM_ERROR bit set.
2003-08-06 Marcus Brinkmann <marcus@g10code.de>
* code-from-errno.c, code-to-errno.c, err-codes.h.in,
err-sources.h.in, errnos.in, gpg-error.h, strerror.c, strsource.c:
Fix typo in copyright notice.
2003-07-31 Marcus Brinkmann <marcus@g10code.de>
* README: Clarify copyright conditions.
* src/mkstrtable.awk: Don't claim in the copyright information
that this program is part of libgpg-error.
* src/mkerrnos.awk: Likewise.
* src/mkerrcodes1.awk: Likewise.
* src/mkerrcodes2.awk: Likewise.
2003-07-31 Marcus Brinkmann <marcus@g10code.de>
* src/strerror.c (gpg_strerror): Use CODE, not ERR to map error
code to errno.
* configure.ac (AC_INIT): Bump version to 0.3.
Released 0.3.
2003-07-30 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Bump version to 0.2.
Released 0.2.
2003-07-17 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Add HARDWARE, PIN_BLOCKED and USE_CONDITIONS.
2003-07-16 Moritz Schulte <moritz@g10code.com>
* src/gpg-error.h (gpg_err_code): Cast return value to
gpg_err_code_t. Thanks to Ralf Schneider
<ralf@tapfere-schneiderleins.de>.
(gpg_err_source): Cast return value to gpg_err_source_t. Thanks
to Ralf Schneider <ralf@tapfere-schneiderleins.de>.
2003-07-15 Moritz Schulte <moritz@g10code.com>
* src/gpg-error.m4 (AM_PATH_GPG_ERROR): Use `0.0' instead of
`0.0.0' in case no version number is given, since the following
sed commands expect the former form, not a triplet.
2003-07-06 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h (GPG_ERR_INLINE): Define macro. Use it instead
of __inline__ in this file.
2003-06-30 Werner Koch <wk@gnupg.org>
* src/gpg-error.h: Add WRONG_CARD.
2003-06-22 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h: Fix value of GPG_ERR_CANCELED.
2003-06-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Define GPG_ERROR_CONFIG_LIBS and
GPG_ERROR_CONFIG_CFLAGS.
Add src/gpg-error-config to config files.
* src/Makefile.am (EXTRA_DIST): Add gpg-error-config.in and
gpg-error.m4.
(bin_SCRIPTS): New variable.
(m4datadir, m4data_DATA): New variables.
* src/gpg-error-config.in: New file.
* src/gpg-error.m4: New file.
Released 0.1.
2003-06-05 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h (gpg_err_make_from_errno): Fix implementation.
* src/gpg-error.h (gpg_err_code_t): Add GPG_ERR_SIG_EXPIRED.
(err-codes.h.in): Likewise.
* src/gpg-error.h (gpg_error_from_errno): Change return type to
gpg_error_t.
2003-06-04 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h (gpg_err_code_t): Add GPG_ERR_INV_ENGINE,
GPG_ERR_PUBKEY_NOT_TRUSTED, GPG_ERR_DECRYPT_FAILED,
GPG_ERR_KEY_EXPIRED.
(gpg_make_error): Rename to gpg_err_make.
(gpg_error): Use here.
* tests/t-strerror.c (main): And here.
(gpg_make_error_from_errno): Rename to gpg_err_make_from_errno.
* src/gpg-error.h (gpg_make_error_from_errno): New inline function.
(gpg_error_from_errno): Likewise.
* src/code-from-errno.c (gpg_err_code_from_errno): Handle the case
of no error at all.
2003-06-04 Marcus Brinkmann <marcus@g10code.de>
* src/gpg-error.h (gpg_err_source_t): Add GPG_ERR_SOURCE_USER_1 to
GPG_ERR_SOURCE_USER_4.
(gpg_err_code_t): Add GPG_ERR_USER_1 to GPG_ERR_USER_16.
* src/err-sources.h.in: Likewise.
* src/err-codes.h.in: Likewise.
* src/gpg-error.h: Rename GPG_ERR_INVALID_RESPONSE to
GPG_ERR_INV_RESPONSE, GPG_ERR_INVALID_CARD to GPG_ERR_INV_CARD,
GPG_ERR_INVALID_INDEX to GPG_ERR_INV_INDEX, GPG_ERR_INVALID_ID to
GPG_ERR_INV_ID, GPG_ERR_AGENT_ERROR to GPG_ERR_AGENT,
GPG_ERR_ASSUAN_ERROR to GPG_ERR_ASSUAN, GPG_ERR_PIN_ENTRY_ERROR to
GPG_ERR_PIN_ENTRY, GPG_ERR_DIRMNGR_ERROR to GPG_ERR_DIRMNGR,
GPG_ERR_CARD_ERROR to GPG_ERR_CARD, GPG_ERR_CONFIGURATION_ERROR to
GPG_ERR_CONFIGURATION, GPG_ERR_SCDAEMON_ERROR to GPG_ERR_SCDAEMON.
2003-06-03 Werner Koch <wk@gnupg.org>
* src/gpg-error.h, src/err-codes.h.in: Add codes for TIMEOUT,
INV_HANDLE, NOTHING_FOUND, WRONG_BLOB_TYPE and MISSING_VALUE.
* src/gpg-error.h, src/err-sources.h.in: Add KEYBOX which is the
keybox subsystem of GnuPG.
2003-06-02 Moritz Schulte <moritz@g10code.com>
* src/gpg-error.h: Fix description of gpg_err_code_to_errno
(i.e. substitute `ERR' with `CODE').
* src/code-to-errno.c: Likewise.
* tests/t-strerror.c: Include <gpg-error.h> instead of
<gpg/error.h>.
2003-06-01 Marcus Brinkmann <marcus@g10code.de>
* src/strerror.c: Include <string.h>.
* src/gpg-error.h (gpg_err_code_t): Remove GPG_ERR_FILE_READ,
GPG_ERR_FILE_WRITE, GPG_ERR_FILE_OPEN, GPG_ERR_FILE_CREATE,
GPG_ERR_FILE_CLOSE, GPG_ERR_FILE_DELETE, GPG_ERR_FILE_EXISTS,
GPG_ERR_FILE, GPG_ERR_IO, GPG_ERR_OUT_OF_CORE, GPG_ERR_READ_ERROR,
GPG_ERR_WRITE_ERROR.
* src/err-codes.h.in: Likewise.
* src/Makefile.am (EXTRA_DIST): Add err-sources.h and err-codes.h.
* src/mkerrcodes1.awk: New file.
* src/mkerrcodes2.awk: New file.
* src/mkerrnos.awk: New file.
* src/errnos.in: New file.
* src/code-from-errno.c: New file.
* src/code-to-errno.c: New file.
* src/Makefile.am (libgpg_error_la_SOURCES): Remove err-sources.h
and err-codes.h. Add code-to-errno.c and code-from-errno.c.
(code-to-errno.h): New target.
(code-from-errno.h): Likewise.
(EXTRA_DIST): Add mkerrnos.awk, errnos.in, and mkerrcodes1.awk.
(BUILT_SOURCES): Add code-to-errno.h and code-from-errno.h.
(CLEANFILES): Likewise.
* src/strerror.c (gpg_strerror): Use strerror for system errors.
* src/err-codes.h.in: Add 16382 (Unknown system error).
* src/gpg-error.h (gpg_err_code_t): Add system errors.
(GPG_ERR_CODE_DIM): Change to 32768.
(GPG_ERR_SYSTEM_ERROR): New macro.
(gpg_err_code_from_errno): New prototype.
(gpg_err_code_to_errno): Likewise.
* src/Makefile.am (nobase_include_HEADERS): Rename target to ...
(include_HEADERS): ... this. Change file to gpg-error.h
(libgpg_error_la_SOURCES): Change gpg/error.h to gpg-error.h.
* src/gpg/error.h: Move to ...
* src/gpg-error.h: ... here. New file.
* src/strerror.c: Include <gpg-error.h>, not <gpg/error.h>.
* src/strsource.c: Likewise.
* src/gpg/error.h (gpg_error_t): Change type to unsigned int, not
long.
2003-05-26 Marcus Brinkmann <marcus@g10code.de>
* src/gpg/error.h (gpg_make_error): Only OR in the error source if
there is an error, this allows to test for success with "if (!err)"
and similar tests.
2003-05-15 Marcus Brinkmann <marcus@g10code.de>
* src/mkstrtable.awk: Add exception clause to license about the
output of the script.
* configure.ac: Change license to LGPL 2.1 or later.
* Makefile.am: Likewise.
* src/Makefile.am: Likewise.
* src/err-codes.h.in: Likewise.
* src/err-sources.h.in: Likewise.
* src/strsource.c: Likewise.
* src/strerror.c: Likewise.
* src/gpg/error.h: Likewise.
* tests/Makefile.am: Likewise.
* src/mkstrtable.awk: New variable HEADER. Copy input until first
line with an actual code and description occurs.
* src/err-codes.h.in: Uncomment license, so it is copied into the
output.
* src/err-sources.h.in: Likewise.
2003-05-15 Marcus Brinkmann <marcus@g10code.de>
* COPYING.LIB: New file.
2003-05-15 Marcus Brinkmann <marcus@g10code.de>
* Initial check-in.
Copyright 2003, 2004, 2005, 2006, 2007, 2010, 2011 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file 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.