aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpg-error.h.in (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow using gpgrt_lock_init on an unitialized variable.Werner Koch2014-01-241-1/+2
| | | | | | | | | | | | | | | | | | | | | * src/posix-lock.c (gpgrt_lock_init): Detect unitialized lock var. * src/w32-lock.c (gpgrt_lock_init): Ditto. -- gpgrt_lock_init may be used for dynamically allocated locks. For example gpgrt_lock_t *lock = xcalloc (1, sizeof *lock); gpgrt_lock_init (lock); gpgrt_lock_lock (lock); foo (); gpgrt_lock_unlock (lock); gpgrt_lock_destroy (lock); free (lock); This patch actually allows for this. Signed-off-by: Werner Koch <[email protected]>
* Add gpgrt_lock_ functions.Werner Koch2014-01-161-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (GPGRT_LOCK_DEFINE): New. (gpgrt_lock_init): New. (gpgrt_lock_lock): New. (gpgrt_lock_unlock): New. (gpgrt_lock_destroy): New. (gpgrt_yield): New. * src/gpg-error.def.in: Add new functions. * m4/lock.m4, m4/threadlib.m4: New. Taken from current gnulib. * configure.ac: Call gl_LOCK. Check size of pthread_mutex_t. Add LIBTHREAD to GPG_ERROR_CONFIG_LIBS. * src/err-codes.h.in (GPG_ERR_INV_LOCK_OBJ): New. * src/gen-posix-lock-obj.c: New. * src/gen-w32-lock-obj.c: New. * src/lock.h, src/thread.h: New. * src/posix-lock-obj.h, src/w32-lock-obj.h: New. * src/posix-lock.c, src/w32-lock.c: New. * src/posix-thread.c, src/w32-thread.c: * src/w32-lock-obj-pub.in: New. * src/mkheader.c (include_file): Support build time include files. (write_special): Add keyword "include:lock-obj". * src/Makefile.am: (posix-lock-obj-pub.in): New rule. (noinst_PROGRAMS): Add gen-*-lock-obj helpers. * tests/t-common.h: New. * tests/t-lock.c: New. * tests/Makefile.am (t_lock_LDADD): Add new test. -- This patch introduces the gpgrt_ functions which will be extended over time to provide a library of commonly used code in GnuPG and Libgcrypt. Having them in a library named libgpg-error is a misnomer but this way we can achieve a smooth upgrade path. In contrasts to other GnuPG libraries, the gpgrt_ functions return a simple gpg_err_code_t and not gpg_error_t. The rationale for this is that a source of error identifier does not make sense here; it is better to use the source of error identifier of the caller. This can easily be achieved in a component by wrapping these function in a gpg_error macro/inline. There is no cross-compiling support for Posix platforms; the gen-posix-lock-obj tool must be run on the target system. Note that the gen-w32-lock-obj tool is not needed at build time but was used to figure out ABI definitions for Windows. Signed-off-by: Werner Koch <[email protected]>
* Improve maintainability by rewriting the mkheader helper.Werner Koch2014-01-141-6/+14
| | | | | | | | | | | | | | | | | * src/mkheader.c: New. Based on the mkheader from Libassuan. * src/mkheader.awk: Remove. * src/errnos.in: Add trailing linefeed. * src/gpg-error.h.in: Change meta include directives for use with mkheader.c. * src/Makefile.am (EXTRA_DIST): Replace mkheader.awk by mkheader.c (BUILT_SOURCES): Remove extra-h.in. (CLEANFILES): Remove extra-h.in. Add mkheader.c. (parts_of_gpg_error_h): New. (extra-h.in): Remove rule. (mkheader): Add rule. (gpg-error.h): Change rule to use mkheader. Signed-off-by: Werner Koch <[email protected]>
* Add version macros and check function.Werner Koch2013-02-231-5/+8
| | | | | | | | | | | | | | | | | | | * configure.ac (VERSION_NUMBER): New ac_subst. (BUILD_FILEVERSION): Build on all platforms (BUILD_TIMESTAMP): Try to use an ISO string. * src/Makefile.am (extra-h.in): Add new version numbers. * src/versioninfo.rc.in: Update copyright year. * src/version.c: New. (gpg_error_check_version): New API. * src/gpg-error.h.in: Add gpg_error_check_version prototype. * src/gpg-error.def.in: Add gpg_error_check_version * tests/t-version.c: New. * tests/Makefile.am (TESTS): Add t-version.c * src/gpg-error-config.in: s/VERSION/PACKAGE_VERSION/. -- All other GnuPG libraries do this, thus we do it here as well.
* Add some code to allow building with MSC.Werner Koch2010-10-281-0/+2
|
* Add gpg_err_deinitlibgpg-error-1.9Werner Koch2010-07-211-0/+4
| | | | | Prepare a new release.
* Add macro to enable gettext macros.Werner Koch2010-03-091-2/+6
|
* Add some code to build nativley under WindowsCE - not finished.Werner Koch2010-01-181-4/+8
|
* 2009-10-26 Marcus Brinkmann <[email protected]>Marcus Brinkmann2009-10-261-2/+6
| | | | | * src/gpg-error.h.in (GPG_ERR_SOURCE_DIM): Reduce to 128.
* Ready for a new releaselibgpg-error-1.4Werner Koch2006-09-141-1/+15
|
* 2005-10-25 Marcus Brinkmann <[email protected]>Marcus Brinkmann2005-10-251-1/+26
| | | | | | | | | | | | | | | | | | * 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 <[email protected]>Marcus Brinkmann2005-10-231-0/+7
| | | | | | | | | | | * 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.
* Does now allow to build a W32 DLL.Werner Koch2005-08-191-0/+1
|
* 2004-02-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann2004-02-271-0/+11
| | | | | * src/gpg-error.h.in: Add extern "C" closure for C-- compilers.
* 2004-02-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann2004-02-271-0/+200
* 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.