| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
Prepare a new release.
|
| |
|
| |
|
|
|
|
|
| |
* src/gpg-error.h.in (GPG_ERR_SOURCE_DIM): Reduce to 128.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
* 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.
|