common: Remove libjnlib-config.h (jnlib merge).
authorWerner Koch <wk@gnupg.org>
Fri, 24 Apr 2015 13:19:10 +0000 (15:19 +0200)
committerWerner Koch <wk@gnupg.org>
Fri, 24 Apr 2015 13:19:10 +0000 (15:19 +0200)
* common/libjnlib-config.h: Remove.
* common/common-defs.h (getenv) [HAVE_GETENV]: New.  From removed
header.
(getpid) [HAVE_W32CE_SYSTEM]: New.  From removed header.
* common/argparse.c: Include util.h and common-defs.h.  Replace
jnlib_ macro names for non-GNUPG builds by x* names.
* common/dotlock.c: Ditto.
* common/logging.c: Include util.h and common-defs.h.  Replace jnlib_
symbol names by x* names.
* common/strlist.c: Ditto.
* common/utf8conv.c: Ditto.
* common/w32-reg.c: Ditto.
* common/mischelp.c: Ditto.  Also remove _jnlib_free.
* common/stringhelp.c: Ditto.
(JNLIB_LOG_WITH_PREFIX): Do not depend on this macro.
* common/logging.h (JNLIB_LOG_WITH_PREFIX): Do not depend on this
macro.
--

This is part 1 of the patches to merge the jnlib files into common/.
It does not make much sense to keep jnlib/ files separate.  They are
not often use elsewhere and maintaining the complex marcos stuff is
too troublesome for the future.

Signed-off-by: Werner Koch <wk@gnupg.org>
15 files changed:
common/Makefile.am
common/argparse.c
common/common-defs.h
common/dotlock.c
common/dynload.h
common/libjnlib-config.h [deleted file]
common/logging.c
common/logging.h
common/mischelp.c
common/mischelp.h
common/stringhelp.c
common/strlist.c
common/t-support.c
common/utf8conv.c
common/w32-reg.c

index d137df8..45aaede 100644 (file)
@@ -27,8 +27,8 @@ noinst_LIBRARIES = libcommon.a libcommonpth.a libgpgrl.a \
 if !HAVE_W32CE_SYSTEM
 noinst_LIBRARIES += libsimple-pwquery.a
 endif
-noinst_PROGRAMS = $(jnlib_tests) $(module_tests) $(module_maint_tests)
-TESTS = $(jnlib_tests) $(module_tests)
+noinst_PROGRAMS = $(module_tests) $(module_maint_tests)
+TESTS = $(module_tests)
 
 BUILT_SOURCES = audit-events.h status-codes.h
 
@@ -40,8 +40,10 @@ AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(KSBA_CFLAGS)
 
 include $(top_srcdir)/am/cmacros.am
 
-jnlib_sources = \
-       libjnlib-config.h \
+
+common_sources = \
+       common-defs.h \
+       util.h i18n.c i18n.h \
        types.h host2net.h dynload.h w32help.h \
        mapstrings.c stringhelp.c stringhelp.h \
        strlist.c strlist.h \
@@ -49,16 +51,7 @@ jnlib_sources = \
        argparse.c argparse.h \
        logging.c logging.h  \
        dotlock.c dotlock.h  \
-        mischelp.c mischelp.h
-
-if HAVE_W32_SYSTEM
-jnlib_sources += w32-reg.c w32-afunix.c w32-afunix.h
-endif
-
-
-common_sources = \
-       common-defs.h \
-       util.h i18n.c i18n.h \
+        mischelp.c mischelp.h \
        status.c status.h\
        shareddefs.h \
        openpgpdefs.h \
@@ -95,6 +88,10 @@ common_sources = \
        agent-opt.c \
        helpfile.c
 
+if HAVE_W32_SYSTEM
+common_sources += w32-reg.c w32-afunix.c w32-afunix.h
+endif
+
 # Sources possible requiring a TLS library are put into a separate
 # conveince library.
 tls_sources = \
@@ -118,13 +115,13 @@ without_npth_sources = \
         get-passphrase.c get-passphrase.h
 
 
-libcommon_a_SOURCES = $(jnlib_sources) $(common_sources) $(without_npth_sources)
+libcommon_a_SOURCES = $(common_sources) $(without_npth_sources)
 if USE_DNS_SRV
 libcommon_a_SOURCES += srv.c
 endif
 libcommon_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) -DWITHOUT_NPTH=1
 
-libcommonpth_a_SOURCES = $(jnlib_sources) $(common_sources)
+libcommonpth_a_SOURCES = $(common_sources)
 if USE_DNS_SRV
 libcommonpth_a_SOURCES += srv.c
 endif
@@ -169,17 +166,16 @@ endif
 #
 # Module tests
 #
-t_jnlib_src = t-support.h
-jnlib_tests = t-stringhelp t-timestuff
-if HAVE_W32_SYSTEM
-jnlib_tests += t-w32-reg
-endif
-module_tests = t-convert t-percent t-gettime t-sysutils t-sexputil \
+module_tests = t-stringhelp t-timestuff \
+               t-convert t-percent t-gettime t-sysutils t-sexputil \
               t-session-env t-openpgp-oid t-ssh-utils \
               t-mapstrings t-zb32 t-mbox-util
 if !HAVE_W32CE_SYSTEM
 module_tests += t-exechelp
 endif
+if HAVE_W32_SYSTEM
+module_tests += t-w32-reg
+endif
 
 if MAINTAINER_MODE
 module_maint_tests = t-helpfile t-b64 t-http
@@ -187,6 +183,7 @@ else
 module_maint_tests =
 endif
 
+t_extra_src = t-support.h
 
 t_common_cflags = $(KSBA_CFLAGS) $(LIBGCRYPT_CFLAGS) \
                   $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
@@ -195,19 +192,13 @@ t_common_ldadd = libcommon.a \
                 $(LIBINTL) $(LIBICONV)
 
 
-# jnlib tests
-t_stringhelp_SOURCES = t-stringhelp.c $(t_jnlib_src)
+# Common tests
+t_stringhelp_SOURCES = t-stringhelp.c $(t_extra_src)
 t_stringhelp_LDADD = $(t_common_ldadd)
 
-t_timestuff_SOURCES = t-timestuff.c $(t_jnlib_src)
+t_timestuff_SOURCES = t-timestuff.c $(t_extra_src)
 t_timestuff_LDADD = $(t_common_ldadd)
 
-if HAVE_W32_SYSTEM
-t_w32_reg_SOURCES = t-w32-reg.c $(t_jnlib_src)
-t_w32_reg_LDADD   = $(t_common_ldadd)
-endif
-
-# common tests
 t_convert_LDADD = $(t_common_ldadd)
 t_percent_LDADD = $(t_common_ldadd)
 t_gettime_LDADD = $(t_common_ldadd)
@@ -223,6 +214,12 @@ t_mapstrings_LDADD = $(t_common_ldadd)
 t_zb32_LDADD = $(t_common_ldadd)
 t_mbox_util_LDADD = $(t_common_ldadd)
 
+# System specific test
+if HAVE_W32_SYSTEM
+t_w32_reg_SOURCES = t-w32-reg.c $(t_extra_src)
+t_w32_reg_LDADD   = $(t_common_ldadd)
+endif
+
 # http tests
 t_http_SOURCES = t-http.c
 t_http_CFLAGS  = $(t_common_cflags) $(NTBTLS_CFLAGS) $(LIBGNUTLS_CFLAGS)
index e31b67e..94ba71d 100644 (file)
 #include <errno.h>
 
 #ifdef GNUPG_MAJOR_VERSION
-# include "libjnlib-config.h"
+# include "util.h"
+# include "common-defs.h"
+# include "i18n.h"
 # include "mischelp.h"
 # include "stringhelp.h"
 # include "logging.h"
-# ifdef JNLIB_NEED_UTF8CONV
-#  include "utf8conv.h"
-# endif
+# include "utf8conv.h"
 #endif /*GNUPG_MAJOR_VERSION*/
 
 #include "argparse.h"
 # ifndef DIM
 #  define DIM(v)           (sizeof(v)/sizeof((v)[0]))
 # endif
-# define jnlib_malloc(a)    malloc ((a))
-# define jnlib_realloc(a,b) realloc ((a), (b))
-# define jnlib_strdup(a)    strdup ((a))
-# define jnlib_free(a)      free ((a))
-# define jnlib_log_error    my_log_error
-# define jnlib_log_bug     my_log_bug
-# define trim_spaces(a)     my_trim_spaces ((a))
+# define xtrymalloc(a)    malloc ((a))
+# define xtryrealloc(a,b) realloc ((a), (b))
+# define xtrystrdup(a)    strdup ((a))
+# define xfree(a)         free ((a))
+# define log_error        my_log_error
+# define log_bug         my_log_bug
+# define trim_spaces(a)   my_trim_spaces ((a))
 # define map_static_macro_string(a)  (a)
 #endif /*!GNUPG_MAJOR_VERSION*/
 
@@ -343,7 +343,7 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno )
       arg->err = 0;
       arg->flags |= 1<<15; /* Mark as initialized.  */
       if ( *arg->argc < 0 )
-        jnlib_log_bug ("invalid argument for arg_parse\n");
+        log_bug ("invalid argument for arg_parse\n");
     }
 
 
@@ -372,29 +372,28 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno )
             s = _("out of core");
           else
             s = _("invalid option");
-          jnlib_log_error ("%s:%u: %s\n", filename, *lineno, s);
+          log_error ("%s:%u: %s\n", filename, *lineno, s);
        }
       else
         {
           s = arg->internal.last? arg->internal.last:"[??]";
 
           if ( arg->r_opt == ARGPARSE_MISSING_ARG )
-            jnlib_log_error (_("missing argument for option \"%.50s\"\n"), s);
+            log_error (_("missing argument for option \"%.50s\"\n"), s);
           else if ( arg->r_opt == ARGPARSE_INVALID_ARG )
-            jnlib_log_error (_("invalid argument for option \"%.50s\"\n"), s);
+            log_error (_("invalid argument for option \"%.50s\"\n"), s);
           else if ( arg->r_opt == ARGPARSE_UNEXPECTED_ARG )
-            jnlib_log_error (_("option \"%.50s\" does not expect an "
-                               "argument\n"), s );
+            log_error (_("option \"%.50s\" does not expect an argument\n"), s);
           else if ( arg->r_opt == ARGPARSE_INVALID_COMMAND )
-            jnlib_log_error (_("invalid command \"%.50s\"\n"), s);
+            log_error (_("invalid command \"%.50s\"\n"), s);
           else if ( arg->r_opt == ARGPARSE_AMBIGUOUS_OPTION )
-            jnlib_log_error (_("option \"%.50s\" is ambiguous\n"), s);
+            log_error (_("option \"%.50s\" is ambiguous\n"), s);
           else if ( arg->r_opt == ARGPARSE_AMBIGUOUS_COMMAND )
-            jnlib_log_error (_("command \"%.50s\" is ambiguous\n"),s );
+            log_error (_("command \"%.50s\" is ambiguous\n"),s );
           else if ( arg->r_opt == ARGPARSE_OUT_OF_CORE )
-            jnlib_log_error ("%s\n", _("out of core\n"));
+            log_error ("%s\n", _("out of core\n"));
           else
-            jnlib_log_error (_("invalid option \"%.50s\"\n"), s);
+            log_error (_("invalid option \"%.50s\"\n"), s);
        }
       if (arg->err != ARGPARSE_PRINT_WARNING)
         exit (2);
@@ -418,7 +417,7 @@ store_alias( ARGPARSE_ARGS *arg, char *name, char *value )
   (void)name;
   (void)value;
 #if 0
-    ALIAS_DEF a = jnlib_xmalloc( sizeof *a );
+    ALIAS_DEF a = xmalloc( sizeof *a );
     a->name = name;
     a->value = value;
     a->next = (ALIAS_DEF)arg->internal.aliases;
@@ -500,7 +499,7 @@ ignore_invalid_option_add (ARGPARSE_ARGS *arg, FILE *fp)
           name[namelen] = 0;
           if (!ignore_invalid_option_p (arg, name))
             {
-              item = jnlib_malloc (sizeof *item + namelen);
+              item = xtrymalloc (sizeof *item + namelen);
               if (!item)
                 return 1;
               strcpy (item->name, name);
@@ -524,7 +523,7 @@ ignore_invalid_option_clear (ARGPARSE_ARGS *arg)
   for (item = arg->internal.iio_list; item; item = tmpitem)
     {
       tmpitem = item->next;
-      jnlib_free (item);
+      xfree (item);
     }
   arg->internal.iio_list = NULL;
 }
@@ -655,7 +654,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                        }
                       if (!p || !*p)
                         {
-                          jnlib_free (buffer);
+                          xfree (buffer);
                           arg->r_opt = ARGPARSE_INVALID_ALIAS;
                         }
                       else
@@ -673,7 +672,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                   if (!buffer)
                     {
                       keyword[i] = 0;
-                      buffer = jnlib_strdup (keyword);
+                      buffer = xtrystrdup (keyword);
                       if (!buffer)
                         arg->r_opt = ARGPARSE_OUT_OF_CORE;
                    }
@@ -692,7 +691,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                             p[strlen(p)-1] = 0;
                         }
                       if (!set_opt_arg (arg, opts[idx].flags, p))
-                        jnlib_free(buffer);
+                        xfree (buffer);
                     }
                 }
               break;
@@ -782,7 +781,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                   char *tmp;
                   size_t tmplen = buflen + 50;
 
-                  tmp = jnlib_realloc (buffer, tmplen);
+                  tmp = xtryrealloc (buffer, tmplen);
                   if (tmp)
                     {
                       buflen = tmplen;
@@ -791,7 +790,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
                     }
                   else
                     {
-                      jnlib_free (buffer);
+                      xfree (buffer);
                       arg->r_opt = ARGPARSE_OUT_OF_CORE;
                       break;
                     }
@@ -802,7 +801,7 @@ optfile_parse (FILE *fp, const char *filename, unsigned *lineno,
           else
             {
               size_t tmplen = DIM(keyword) + 50;
-              buffer = jnlib_malloc (tmplen);
+              buffer = xtrymalloc (tmplen);
               if (buffer)
                 {
                   buflen = tmplen;
@@ -1200,9 +1199,7 @@ long_opt_strlen( ARGPARSE_OPTS *o )
   if ( o->description && *o->description == '|' )
     {
       const char *s;
-#ifdef JNLIB_NEED_UTF8CONV
       int is_utf8 = is_native_utf8 ();
-#endif
 
       s=o->description+1;
       if ( *s != '=' )
@@ -1211,9 +1208,7 @@ long_opt_strlen( ARGPARSE_OPTS *o )
          continuation bytes (10xxxxxx) if we are on a native utf8
          terminal. */
       for (; *s && *s != '|'; s++ )
-#ifdef JNLIB_NEED_UTF8CONV
         if ( is_utf8 && (*s&0xc0) != 0x80 )
-#endif
           n++;
     }
   return n;
index 4a550c3..861967f 100644 (file)
 #ifndef GNUPG_COMMON_COMMON_DEFS_H
 #define GNUPG_COMMON_COMMON_DEFS_H
 
+
+/* Dummy replacement for getenv.  */
+#ifndef HAVE_GETENV
+#define getenv(a)  (NULL)
+#endif
+
+#ifdef HAVE_W32CE_SYSTEM
+#define getpid() GetCurrentProcessId ()
+#endif
+
+
 /*-- ttyio.c --*/
 void tty_private_set_rl_hooks (void (*init_stream) (FILE *),
                                void (*set_completer) (rl_completion_func_t*),
index a9963d1..573456f 100644 (file)
 #endif
 
 #ifdef GNUPG_MAJOR_VERSION
-# include "libjnlib-config.h"
+# include "util.h"
+# include "common-defs.h"
 # include "stringhelp.h"  /* For stpcpy and w32_strerror. */
 #endif
 #ifdef HAVE_W32CE_SYSTEM
 /* In GnuPG we use wrappers around the malloc fucntions.  If they are
    not defined we assume that this code is used outside of GnuPG and
    fall back to the regular malloc functions.  */
-#ifndef jnlib_malloc
-# define jnlib_malloc(a)     malloc ((a))
-# define jnlib_calloc(a,b)   calloc ((a), (b))
-# define jnlib_free(a)      free ((a))
+#ifndef xtrymalloc
+# define xtrymalloc(a)     malloc ((a))
+# define xtrycalloc(a,b)   calloc ((a), (b))
+# define xfree(a)         free ((a))
 #endif
 
-/* Wrapper to set ERRNO.  */
-#ifndef jnlib_set_errno
-# ifdef HAVE_W32CE_SYSTEM
-#  define jnlib_set_errno(e)  gpg_err_set_errno ((e))
-# else
-#  define jnlib_set_errno(e)  do { errno = (e); } while (0)
-# endif
+/* Wrapper to set ERRNO (required for W32CE).  */
+#ifdef GPG_ERROR_VERSION
+#  define my_set_errno(e)  gpg_err_set_errno ((e))
+#else
+#  define my_set_errno(e)  do { errno = (e); } while (0)
 #endif
 
 /* Gettext macro replacement.  */
@@ -488,7 +487,7 @@ read_lockfile (dotlock_t h, int *same_node )
   expected_len = 10 + 1 + h->nodename_len + 1;
   if ( expected_len >= sizeof buffer_space)
     {
-      buffer = jnlib_malloc (expected_len);
+      buffer = xtrymalloc (expected_len);
       if (!buffer)
         return -1;
     }
@@ -501,8 +500,8 @@ read_lockfile (dotlock_t h, int *same_node )
       my_info_2 ("error opening lockfile '%s': %s\n",
                  h->lockname, strerror(errno) );
       if (buffer != buffer_space)
-        jnlib_free (buffer);
-      jnlib_set_errno (e); /* Need to return ERRNO here. */
+        xfree (buffer);
+      my_set_errno (e); /* Need to return ERRNO here. */
       return -1;
     }
 
@@ -518,8 +517,8 @@ read_lockfile (dotlock_t h, int *same_node )
           my_info_1 ("error reading lockfile '%s'\n", h->lockname );
           close (fd);
           if (buffer != buffer_space)
-            jnlib_free (buffer);
-          jnlib_set_errno (0); /* Do not return an inappropriate ERRNO. */
+            xfree (buffer);
+          my_set_errno (0); /* Do not return an inappropriate ERRNO. */
           return -1;
         }
       p += res;
@@ -532,8 +531,8 @@ read_lockfile (dotlock_t h, int *same_node )
     {
       my_info_1 ("invalid size of lockfile '%s'\n", h->lockname);
       if (buffer != buffer_space)
-        jnlib_free (buffer);
-      jnlib_set_errno (0); /* Better don't return an inappropriate ERRNO. */
+        xfree (buffer);
+      my_set_errno (0); /* Better don't return an inappropriate ERRNO. */
       return -1;
     }
 
@@ -543,8 +542,8 @@ read_lockfile (dotlock_t h, int *same_node )
     {
       my_error_2 ("invalid pid %d in lockfile '%s'\n", pid, h->lockname);
       if (buffer != buffer_space)
-        jnlib_free (buffer);
-      jnlib_set_errno (0);
+        xfree (buffer);
+      my_set_errno (0);
       return -1;
     }
 
@@ -554,7 +553,7 @@ read_lockfile (dotlock_t h, int *same_node )
     *same_node = 1;
 
   if (buffer != buffer_space)
-    jnlib_free (buffer);
+    xfree (buffer);
   return pid;
 }
 #endif /*HAVE_POSIX_SYSTEM */
@@ -578,7 +577,7 @@ use_hardlinks_p (const char *tname)
     return -1;
   nlink = (unsigned int)sb.st_nlink;
 
-  lname = jnlib_malloc (strlen (tname) + 1 + 1);
+  lname = xtrymalloc (strlen (tname) + 1 + 1);
   if (!lname)
     return -1;
   strcpy (lname, tname);
@@ -595,7 +594,7 @@ use_hardlinks_p (const char *tname)
     res = 1;   /* No hardlink support.  */
 
   unlink (lname);
-  jnlib_free (lname);
+  xfree (lname);
   return res;
 }
 #endif /*HAVE_POSIX_SYSTEM */
@@ -640,12 +639,12 @@ dotlock_create_unix (dotlock_t h, const char *file_to_lock)
   all_lockfiles = h;
 
   tnamelen = dirpartlen + 6 + 30 + strlen(nodename) + 10 + 1;
-  h->tname = jnlib_malloc (tnamelen + 1);
+  h->tname = xtrymalloc (tnamelen + 1);
   if (!h->tname)
     {
       all_lockfiles = h->next;
       UNLOCK_all_lockfiles ();
-      jnlib_free (h);
+      xfree (h);
       return NULL;
     }
   h->nodename_len = strlen (nodename);
@@ -657,7 +656,7 @@ dotlock_create_unix (dotlock_t h, const char *file_to_lock)
 
   do
     {
-      jnlib_set_errno (0);
+      my_set_errno (0);
       fd = open (h->tname, O_WRONLY|O_CREAT|O_EXCL,
                  S_IRUSR|S_IRGRP|S_IROTH|S_IWUSR );
     }
@@ -669,8 +668,8 @@ dotlock_create_unix (dotlock_t h, const char *file_to_lock)
       UNLOCK_all_lockfiles ();
       my_error_2 (_("failed to create temporary file '%s': %s\n"),
                   h->tname, strerror(errno));
-      jnlib_free (h->tname);
-      jnlib_free (h);
+      xfree (h->tname);
+      xfree (h);
       return NULL;
     }
   if ( write (fd, pidstr, 11 ) != 11 )
@@ -702,14 +701,14 @@ dotlock_create_unix (dotlock_t h, const char *file_to_lock)
       goto write_failed;
     }
 
-  h->lockname = jnlib_malloc (strlen (file_to_lock) + 6 );
+  h->lockname = xtrymalloc (strlen (file_to_lock) + 6 );
   if (!h->lockname)
     {
       all_lockfiles = h->next;
       UNLOCK_all_lockfiles ();
       unlink (h->tname);
-      jnlib_free (h->tname);
-      jnlib_free (h);
+      xfree (h->tname);
+      xfree (h);
       return NULL;
     }
   strcpy (stpcpy (h->lockname, file_to_lock), EXTSEP_S "lock");
@@ -726,8 +725,8 @@ dotlock_create_unix (dotlock_t h, const char *file_to_lock)
   if ( fd != -1 )
     close (fd);
   unlink (h->tname);
-  jnlib_free (h->tname);
-  jnlib_free (h);
+  xfree (h->tname);
+  xfree (h);
   return NULL;
 }
 #endif /*HAVE_POSIX_SYSTEM*/
@@ -746,12 +745,12 @@ dotlock_create_w32 (dotlock_t h, const char *file_to_lock)
   h->next = all_lockfiles;
   all_lockfiles = h;
 
-  h->lockname = jnlib_malloc ( strlen (file_to_lock) + 6 );
+  h->lockname = xtrymalloc ( strlen (file_to_lock) + 6 );
   if (!h->lockname)
     {
       all_lockfiles = h->next;
       UNLOCK_all_lockfiles ();
-      jnlib_free (h);
+      xfree (h);
       return NULL;
     }
   strcpy (stpcpy(h->lockname, file_to_lock), EXTSEP_S "lock");
@@ -775,7 +774,7 @@ dotlock_create_w32 (dotlock_t h, const char *file_to_lock)
                               NULL, OPEN_ALWAYS, 0, NULL);
     else
       h->lockhd = INVALID_HANDLE_VALUE;
-    jnlib_free (wname);
+    xfree (wname);
 #else
     h->lockhd = CreateFile (h->lockname,
                             GENERIC_READ|GENERIC_WRITE,
@@ -788,8 +787,8 @@ dotlock_create_w32 (dotlock_t h, const char *file_to_lock)
       all_lockfiles = h->next;
       UNLOCK_all_lockfiles ();
       my_error_2 (_("can't create '%s': %s\n"), h->lockname, w32_strerror (-1));
-      jnlib_free (h->lockname);
-      jnlib_free (h);
+      xfree (h->lockname);
+      xfree (h);
       return NULL;
     }
   return h;
@@ -835,11 +834,11 @@ dotlock_create (const char *file_to_lock, unsigned int flags)
 
   if (flags)
     {
-      jnlib_set_errno (EINVAL);
+      my_set_errno (EINVAL);
       return NULL;
     }
 
-  h = jnlib_calloc (1, sizeof *h);
+  h = xtrycalloc (1, sizeof *h);
   if (!h)
     return NULL;
   h->extra_fd = -1;
@@ -890,7 +889,7 @@ dotlock_destroy_unix (dotlock_t h)
     unlink (h->lockname);
   if (h->tname && !h->use_o_excl)
     unlink (h->tname);
-  jnlib_free (h->tname);
+  xfree (h->tname);
 }
 #endif /*HAVE_POSIX_SYSTEM*/
 
@@ -943,9 +942,9 @@ dotlock_destroy (dotlock_t h)
 #else /* !HAVE_DOSISH_SYSTEM */
       dotlock_destroy_unix (h);
 #endif /* HAVE_DOSISH_SYSTEM */
-      jnlib_free (h->lockname);
+      xfree (h->lockname);
     }
-  jnlib_free(h);
+  xfree(h);
 }
 
 
@@ -972,7 +971,7 @@ dotlock_take_unix (dotlock_t h, long timeout)
 
       do
         {
-          jnlib_set_errno (0);
+          my_set_errno (0);
           fd = open (h->lockname, O_WRONLY|O_CREAT|O_EXCL,
                      S_IRUSR|S_IRGRP|S_IROTH|S_IWUSR );
         }
@@ -1101,7 +1100,7 @@ dotlock_take_unix (dotlock_t h, long timeout)
       goto again;
     }
 
-  jnlib_set_errno (EACCES);
+  my_set_errno (EACCES);
   return -1;
 }
 #endif /*HAVE_POSIX_SYSTEM*/
index e029b2b..1d7966e 100644 (file)
@@ -46,7 +46,7 @@ dlopen (const char *name, int flag)
 #ifdef HAVE_W32CE_SYSTEM
   wchar_t *wname = utf8_to_wchar (name);
   hd = wname? LoadLibrary (wname) : NULL;
-  _jnlib_free (wname);
+  xfree (wname);
 #else
   hd = LoadLibrary (name);
 #endif
@@ -62,7 +62,7 @@ dlsym (void *hd, const char *sym)
 #ifdef HAVE_W32CE_SYSTEM
       wchar_t *wsym = utf8_to_wchar (sym);
       void *fnc = wsym? GetProcAddress (hd, wsym) : NULL;
-      _jnlib_free (wsym);
+      xfree (wsym);
 #else
       void *fnc = GetProcAddress (hd, sym);
 #endif
diff --git a/common/libjnlib-config.h b/common/libjnlib-config.h
deleted file mode 100644 (file)
index 85be87f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* libjnlib-config.h - local configuration of the jnlib functions
- *     Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
- *
- * This file is part of JNLIB, which is a subsystem of GnuPG.
- *
- * JNLIB is free software; you can redistribute it and/or modify it
- * under the terms of either
- *
- *   - the GNU Lesser General Public License as published by the Free
- *     Software Foundation; either version 3 of the License, or (at
- *     your option) any later version.
- *
- * or
- *
- *   - 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.
- *
- * or both in parallel, as here.
- *
- * JNLIB 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 copies of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, see <http://www.gnu.org/licenses/>.
- */
-
-/****************
- * This header is to be included only by the files in this directory
- * it should not be used by other modules.
- */
-
-#ifndef LIBJNLIB_CONFIG_H
-#define LIBJNLIB_CONFIG_H
-
-#include <gcrypt.h> /* gcry_malloc & Cie. */
-#include "logging.h"
-
-/* We require support for utf-8 conversion. */
-#define JNLIB_NEED_UTF8CONV 1
-
-
-
-#if !defined(JNLIB_NEED_UTF8CONV) && defined(HAVE_W32_SYSTEM)
-#define JNLIB_NEED_UTF8CONV 1
-#endif
-
-/* Gettext stuff */
-#ifdef USE_SIMPLE_GETTEXT
-# include <gpg-error.h>
-# define _(a) gettext (a)
-# define N_(a) (a)
-
-#else
-#ifdef HAVE_LOCALE_H
-#  include <locale.h>
-#endif
-
-#ifdef ENABLE_NLS
-# include <libintl.h>
-# define _(a) gettext (a)
-# ifdef gettext_noop
-# define N_(a) gettext_noop (a)
-# else
-# define N_(a) (a)
-# endif
-#else
-# define _(a) (a)
-# define N_(a) (a)
-#endif
-#endif /* !USE_SIMPLE_GETTEXT */
-
-/* Malloc functions to be used by jnlib.  */
-#define jnlib_malloc(a)     gcry_malloc( (a) )
-#define jnlib_calloc(a,b)   gcry_calloc( (a), (b) )
-#define jnlib_realloc(a,b)  gcry_realloc( (a), (b) )
-#define jnlib_strdup(a)     gcry_strdup( (a) )
-#define jnlib_xmalloc(a)    gcry_xmalloc( (a) )
-#define jnlib_xcalloc(a,b)  gcry_xcalloc( (a), (b) )
-#define jnlib_xrealloc(a,n) gcry_xrealloc( (a), (n) )
-#define jnlib_xstrdup(a)    gcry_xstrdup( (a) )
-#define jnlib_free(a)      gcry_free( (a) )
-
-/* Logging functions to be used by jnlib.  */
-#define jnlib_log_debug    log_debug
-#define jnlib_log_info    log_info
-#define jnlib_log_error    log_error
-#define jnlib_log_fatal    log_fatal
-#define jnlib_log_bug     log_bug
-
-/* Wrapper to set ERRNO.  */
-#ifdef HAVE_W32CE_SYSTEM
-# define jnlib_set_errno(e)  gpg_err_set_errno ((e))
-#else
-# define jnlib_set_errno(e)  do { errno = (e); } while (0)
-#endif
-
-/* Dummy replacement for getenv.  */
-#ifndef HAVE_GETENV
-#define getenv(a)  (NULL)
-#endif
-
-#ifdef HAVE_W32CE_SYSTEM
-#define getpid() GetCurrentProcessId ()
-#endif
-
-#endif /*LIBJNUTIL_CONFIG_H*/
index 40d098c..9e7d55c 100644 (file)
 #include <assert.h>
 
 
-#define JNLIB_NEED_LOG_LOGV 1
 #define JNLIB_NEED_AFLOCAL 1
-#include "libjnlib-config.h"
+#include "util.h"
+#include "i18n.h"
+#include "common-defs.h"
 #include "logging.h"
 
 #ifdef HAVE_W32_SYSTEM
@@ -261,7 +262,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
           void *addrbuf = NULL;
 #endif /*HAVE_INET_PTON*/
 
-          addrstr = jnlib_malloc (strlen (name) + 1);
+          addrstr = xtrymalloc (strlen (name) + 1);
           if (!addrstr)
             addrlen = 0; /* This indicates an error.  */
           else if (*name == '[')
@@ -271,7 +272,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
               p = strchr (addrstr, ']');
               if (!p || p[1] != ':' || !parse_portno (p+2, &port))
                 {
-                  jnlib_set_errno (EINVAL);
+                  gpg_err_set_errno (EINVAL);
                   addrlen = 0;
                 }
               else
@@ -289,7 +290,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
                   srvr_addr = (struct sockaddr *)&srvr_addr_in6;
                   addrlen = sizeof srvr_addr_in6;
 #else
-                  jnlib_set_errno (EAFNOSUPPORT);
+                  gpg_err_set_errno (EAFNOSUPPORT);
                   addrlen = 0;
 #endif
                 }
@@ -301,7 +302,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
               p = strchr (addrstr, ':');
               if (!p || !parse_portno (p+1, &port))
                 {
-                  jnlib_set_errno (EINVAL);
+                  gpg_err_set_errno (EINVAL);
                   addrlen = 0;
                 }
               else
@@ -334,7 +335,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
 #endif /*!HAVE_INET_PTON*/
             }
 
-          jnlib_free (addrstr);
+          xfree (addrstr);
         }
 
       cookie->fd = addrlen? socket (pf, SOCK_STREAM, 0) : -1;
@@ -425,7 +426,7 @@ fun_closer (void *cookie_arg)
 
   if (cookie->fd != -1 && cookie->fd != 2)
     sock_close (cookie->fd);
-  jnlib_free (cookie);
+  xfree (cookie);
   log_socket = -1;
   return 0;
 }
@@ -487,7 +488,7 @@ set_file_fd (const char *name, int fd)
   /* The xmalloc below is justified because we can expect that this
      function is called only during initialization and there is no
      easy way out of this error condition.  */
-  cookie = jnlib_xmalloc (sizeof *cookie + (name? strlen (name):0));
+  cookie = xmalloc (sizeof *cookie + (name? strlen (name):0));
   strcpy (cookie->name, name? name:"");
   cookie->quiet = 0;
   cookie->is_socket = 0;
@@ -648,7 +649,7 @@ do_logv (int level, int ignore_arg_ptr, const char *fmt, va_list arg_ptr)
              : read_w32_registry_string (NULL, GNUPG_REGISTRY_DIR,
                                          "DefaultLogFile"));
       log_set_file (tmp && *tmp? tmp : NULL);
-      jnlib_free (tmp);
+      xfree (tmp);
 #else
       log_set_file (NULL); /* Make sure a log stream has been set.  */
 #endif
index 7487b35..da7a366 100644 (file)
 #define LIBJNLIB_LOGGING_H
 
 #include <stdio.h>
+#include <stdarg.h>
 #include "mischelp.h"
 #include "w32help.h"
 
-/* Flag values for log_set_prefix. */
-#define JNLIB_LOG_WITH_PREFIX  1
-#define JNLIB_LOG_WITH_TIME    2
-#define JNLIB_LOG_WITH_PID     4
-#define JNLIB_LOG_RUN_DETACHED 256
-#define JNLIB_LOG_NO_REGISTRY  512
-
 int  log_get_errorcount (int clear);
 void log_inc_errorcount (void);
 void log_set_file( const char *name );
@@ -62,10 +56,14 @@ estream_t log_get_stream (void);
 # define BUG() bug_at( __FILE__ , __LINE__ )
 #endif
 
-/* To avoid mandatory inclusion of stdarg and other stuff, do it only
-   if explicitly requested to do so. */
-#ifdef JNLIB_NEED_LOG_LOGV
-#include <stdarg.h>
+/* Flag values for log_set_prefix. */
+#define JNLIB_LOG_WITH_PREFIX  1
+#define JNLIB_LOG_WITH_TIME    2
+#define JNLIB_LOG_WITH_PID     4
+#define JNLIB_LOG_RUN_DETACHED 256
+#define JNLIB_LOG_NO_REGISTRY  512
+
+/* Log levels as used by log_log.  */
 enum jnlib_log_levels {
     JNLIB_LOG_BEGIN,
     JNLIB_LOG_CONT,
@@ -79,7 +77,6 @@ enum jnlib_log_levels {
 void log_log (int level, const char *fmt, ...) JNLIB_GCC_A_PRINTF(2,3);
 void log_logv (int level, const char *fmt, va_list arg_ptr);
 void log_string (int level, const char *string);
-#endif /*JNLIB_NEED_LOG_LOGV*/
 
 
 void log_bug( const char *fmt, ... )   JNLIB_GCC_A_NR_PRINTF(1,2);
index d106cde..c6ad387 100644 (file)
 #endif /*!HAVE_W32_SYSTEM*/
 #include <errno.h>
 
-#include "libjnlib-config.h"
+#include "util.h"
+#include "common-defs.h"
 #include "stringhelp.h"
 #include "utf8conv.h"
 #include "mischelp.h"
 
 
-/* Because we can't use our jnlib_free macro in inline functions we
-   provide this wrapper.  */
-void
-_jnlib_free (void *p)
-{
-  if (p)
-    jnlib_free (p);
-}
-
-
 /* Check whether the files NAME1 and NAME2 are identical.  This is for
    example achieved by comparing the inode numbers of the files.  */
 int
@@ -81,7 +72,7 @@ same_file_p (const char *name1, const char *name2)
           file1 = CreateFile (wname, 0, 0, NULL, OPEN_EXISTING, 0, NULL);
         else
           file1 = INVALID_HANDLE_VALUE;
-        jnlib_free (wname);
+        xfree (wname);
       }
 #else
       file1 = CreateFile (name1, 0, 0, NULL, OPEN_EXISTING, 0, NULL);
@@ -97,7 +88,7 @@ same_file_p (const char *name1, const char *name2)
               file2 = CreateFile (wname, 0, 0, NULL, OPEN_EXISTING, 0, NULL);
             else
               file2 = INVALID_HANDLE_VALUE;
-            jnlib_free (wname);
+            xfree (wname);
           }
 #else
           file2 = CreateFile (name2, 0, 0, NULL, OPEN_EXISTING, 0, NULL);
@@ -159,7 +150,7 @@ timegm (struct tm *tm)
   /* System time is UTC thus the conversion is pretty easy.  */
   if (!SystemTimeToFileTime (&st, &ft))
     {
-      jnlib_set_errno (EINVAL);
+      gpg_err_set_errno (EINVAL);
       return (time_t)(-1);
     }
 
index 33739e8..0f865e2 100644 (file)
 #define LIBJNLIB_MISCHELP_H
 
 
-/* Because we can't use the internal jnlib_free macro in inline
-   functions we provide a wrapper function as well.   */
-void _jnlib_free (void *p);
-
 /* Check whether the files NAME1 and NAME2 are identical.  This is for
    example achieved by comparing the inode numbers of the files.  */
 int same_file_p (const char *name1, const char *name2);
index 7f40c7f..96710bf 100644 (file)
@@ -50,7 +50,7 @@
 #endif
 
 #include "util.h"
-#include "libjnlib-config.h"
+#include "common-defs.h"
 #include "utf8conv.h"
 #include "sysutils.h"
 #include "stringhelp.h"
@@ -427,7 +427,7 @@ do_make_filename (int xmode, const char *first_part, va_list arg_ptr)
         {
           if (xmode)
             BUG ();
-          jnlib_set_errno (EINVAL);
+          gpg_err_set_errno (EINVAL);
           return NULL;
         }
       argc++;
@@ -1136,7 +1136,7 @@ do_strconcat (const char *s1, va_list arg_ptr)
       needed += strlen (argv[argc]);
       if (argc >= DIM (argv)-1)
         {
-          jnlib_set_errno (EINVAL);
+          gpg_err_set_errno (EINVAL);
           return NULL;
         }
       argc++;
index 6816dcf..e29fd46 100644 (file)
 #include <stdarg.h>
 #include <ctype.h>
 
-#include "libjnlib-config.h"
+#include "util.h"
+#include "common-defs.h"
 #include "strlist.h"
-#ifdef JNLIB_NEED_UTF8CONV
 #include "utf8conv.h"
-#endif
 
 void
 free_strlist( strlist_t sl )
@@ -48,7 +47,7 @@ free_strlist( strlist_t sl )
 
     for(; sl; sl = sl2 ) {
        sl2 = sl->next;
-       jnlib_free(sl);
+       xfree(sl);
     }
 }
 
@@ -60,7 +59,7 @@ add_to_strlist( strlist_t *list, const char *string )
 {
     strlist_t sl;
 
-    sl = jnlib_xmalloc( sizeof *sl + strlen(string));
+    sl = xmalloc( sizeof *sl + strlen(string));
     sl->flags = 0;
     strcpy(sl->d, string);
     sl->next = *list;
@@ -76,7 +75,7 @@ add_to_strlist_try (strlist_t *list, const char *string)
 {
   strlist_t sl;
 
-  sl = jnlib_malloc (sizeof *sl + strlen (string));
+  sl = xtrymalloc (sizeof *sl + strlen (string));
   if (sl)
     {
       sl->flags = 0;
@@ -91,7 +90,6 @@ add_to_strlist_try (strlist_t *list, const char *string)
 /* Same as add_to_strlist() but if IS_UTF8 is *not* set, a conversion
    to UTF-8 is done.  This function terminates the process on memory
    shortage.  */
-#ifdef JNLIB_NEED_UTF8CONV
 strlist_t
 add_to_strlist2( strlist_t *list, const char *string, int is_utf8 )
 {
@@ -103,11 +101,10 @@ add_to_strlist2( strlist_t *list, const char *string, int is_utf8 )
     {
       char *p = native_to_utf8( string );
       sl = add_to_strlist( list, p );
-      jnlib_free ( p );
+      xfree ( p );
     }
   return sl;
 }
-#endif /* JNLIB_NEED_UTF8CONV*/
 
 
 /* Add STRING to the LIST at the end.  This function terminates the
@@ -117,7 +114,7 @@ append_to_strlist( strlist_t *list, const char *string )
 {
     strlist_t r, sl;
 
-    sl = jnlib_xmalloc( sizeof *sl + strlen(string));
+    sl = xmalloc( sizeof *sl + strlen(string));
     sl->flags = 0;
     strcpy(sl->d, string);
     sl->next = NULL;
@@ -132,7 +129,6 @@ append_to_strlist( strlist_t *list, const char *string )
 }
 
 
-#ifdef JNLIB_NEED_UTF8CONV
 strlist_t
 append_to_strlist2( strlist_t *list, const char *string, int is_utf8 )
 {
@@ -144,11 +140,10 @@ append_to_strlist2( strlist_t *list, const char *string, int is_utf8 )
     {
       char *p = native_to_utf8 (string);
       sl = append_to_strlist( list, p );
-      jnlib_free( p );
+      xfree( p );
     }
   return sl;
 }
-#endif /* JNLIB_NEED_UTF8CONV */
 
 
 /* Return a copy of LIST.  This function terminates the process on
@@ -161,7 +156,7 @@ strlist_copy (strlist_t list)
   last = &newlist;
   for (; list; list = list->next)
     {
-      sl = jnlib_xmalloc (sizeof *sl + strlen (list->d));
+      sl = xmalloc (sizeof *sl + strlen (list->d));
       sl->flags = list->flags;
       strcpy(sl->d, list->d);
       sl->next = NULL;
@@ -204,11 +199,11 @@ strlist_pop (strlist_t *list)
 
   if(sl)
     {
-      str=jnlib_xmalloc(strlen(sl->d)+1);
+      str = xmalloc(strlen(sl->d)+1);
       strcpy(str,sl->d);
 
       *list=sl->next;
-      jnlib_free(sl);
+      xfree(sl);
     }
 
   return str;
index f8b087d..aa95a06 100644 (file)
@@ -128,9 +128,7 @@ gcry_free (void *a)
 \f
 /* Stubs for gpg-error functions required because some compilers do
    not eliminate the supposed-to-be-unused-inline-functions and thus
-   require functions called from these inline fucntions.  Although we
-   do not use gpg-error, gpg-error.h may get included via gcrypt.h if
-   it happens to be used used in libjnlib-config.h.  */
+   require functions called from these inline functions.  */
 #ifndef GPG_ERROR_H /* Don't do this if gpg-error.h has been included.  */
 int
 gpg_err_code_from_errno (int err)
index fa08b04..bfd00c7 100644 (file)
@@ -42,7 +42,9 @@
 # include <iconv.h>
 #endif
 
-#include "libjnlib-config.h"
+#include "util.h"
+#include "common-defs.h"
+#include "i18n.h"
 #include "stringhelp.h"
 #include "utf8conv.h"
 
@@ -318,7 +320,7 @@ native_to_utf8 (const char *orig_string)
   if (no_translation)
     {
       /* Already utf-8 encoded. */
-      buffer = jnlib_xstrdup (orig_string);
+      buffer = xstrdup (orig_string);
     }
   else if (!use_iconv)
     {
@@ -329,7 +331,7 @@ native_to_utf8 (const char *orig_string)
          if (*s & 0x80)
            length++;
        }
-      buffer = jnlib_xmalloc (length + 1);
+      buffer = xmalloc (length + 1);
       for (p = (unsigned char *)buffer, s = string; *s; s++)
        {
          if ( (*s & 0x80 ))
@@ -363,7 +365,7 @@ native_to_utf8 (const char *orig_string)
           if ((*s & 0x80))
             length += 5; /* We may need up to 6 bytes for the utf8 output. */
         }
-      buffer = jnlib_xmalloc (length + 1);
+      buffer = xmalloc (length + 1);
 
       inptr = string;
       inbytes = strlen (string);
@@ -606,7 +608,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
       if (!buffer)
        {
           /* Allocate the buffer after the first pass. */
-         buffer = p = jnlib_xmalloc (n + 1);
+         buffer = p = xmalloc (n + 1);
        }
       else if (with_iconv)
         {
@@ -622,7 +624,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
           if (cd == (iconv_t)-1)
             {
               handle_iconv_error (active_charset_name, "utf-8", 1);
-              jnlib_free (buffer);
+              xfree (buffer);
               return utf8_to_native (string, length, delim);
             }
 
@@ -634,7 +636,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
           outbytes = n * MB_LEN_MAX;
           if (outbytes / MB_LEN_MAX != n)
             BUG (); /* Actually an overflow. */
-          outbuf = outptr = jnlib_xmalloc (outbytes);
+          outbuf = outptr = xmalloc (outbytes);
           if ( iconv (cd, (ICONV_CONST char **)&inptr, &inbytes,
                       &outptr, &outbytes) == (size_t)-1)
             {
@@ -645,9 +647,9 @@ do_utf8_to_native (const char *string, size_t length, int delim,
                           "utf-8", active_charset_name, strerror (errno));
               shown = 1;
               /* Didn't worked out.  Try again but without iconv.  */
-              jnlib_free (buffer);
+              xfree (buffer);
               buffer = NULL;
-              jnlib_free (outbuf);
+              xfree (outbuf);
               outbuf = do_utf8_to_native (string, length, delim, 0);
             }
             else /* Success.  */
@@ -656,7 +658,7 @@ do_utf8_to_native (const char *string, size_t length, int delim,
                 /* We could realloc the buffer now but I doubt that it
                    makes much sense given that it will get freed
                    anyway soon after.  */
-                jnlib_free (buffer);
+                xfree (buffer);
               }
           iconv_close (cd);
           return outbuf;
@@ -726,19 +728,19 @@ wchar_to_utf8 (const wchar_t *string)
   n = WideCharToMultiByte (CP_UTF8, 0, string, -1, NULL, 0, NULL, NULL);
   if (n < 0)
     {
-      jnlib_set_errno (EINVAL);
+      gpg_err_set_errno (EINVAL);
       return NULL;
     }
 
-  result = jnlib_malloc (n+1);
+  result = xtrymalloc (n+1);
   if (!result)
     return NULL;
 
   n = WideCharToMultiByte (CP_UTF8, 0, string, -1, result, n, NULL, NULL);
   if (n < 0)
     {
-      jnlib_free (result);
-      jnlib_set_errno (EINVAL);
+      xfree (result);
+      gpg_err_set_errno (EINVAL);
       result = NULL;
     }
   return result;
@@ -759,25 +761,25 @@ utf8_to_wchar (const char *string)
   n = MultiByteToWideChar (CP_UTF8, 0, string, -1, NULL, 0);
   if (n < 0)
     {
-      jnlib_set_errno (EINVAL);
+      gpg_err_set_errno (EINVAL);
       return NULL;
     }
 
   nbytes = (size_t)(n+1) * sizeof(*result);
   if (nbytes / sizeof(*result) != (n+1))
     {
-      jnlib_set_errno (ENOMEM);
+      gpg_err_set_errno (ENOMEM);
       return NULL;
     }
-  result = jnlib_malloc (nbytes);
+  result = xtrymalloc (nbytes);
   if (!result)
     return NULL;
 
   n = MultiByteToWideChar (CP_UTF8, 0, string, -1, result, n);
   if (n < 0)
     {
-      free (result);
-      jnlib_set_errno (EINVAL);
+      xfree (result);
+      gpg_err_set_errno (EINVAL);
       result = NULL;
     }
   return result;
index 2507177..6a2b2dd 100644 (file)
@@ -41,7 +41,8 @@
 #endif
 #include <windows.h>
 
-#include "libjnlib-config.h"
+#include "util.h"
+#include "common-defs.h"
 #include "utf8conv.h"
 #include "w32help.h"
 
@@ -95,17 +96,17 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
     {
       if (root)
         {
-          jnlib_free (wdir);
+          xfree (wdir);
           return NULL; /* No need for a RegClose, so return immediately. */
         }
       /* It seems to be common practise to fall back to HKLM. */
       if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, wdir, 0, KEY_READ, &key_handle) )
         {
-          jnlib_free (wdir);
+          xfree (wdir);
           return NULL; /* Still no need for a RegClose. */
         }
     }
-  jnlib_free (wdir);
+  xfree (wdir);
 
   if (name)
     {
@@ -119,12 +120,12 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
   nbytes = 2;
   if (RegQueryValueEx (key_handle, wname, 0, NULL, NULL, &nbytes))
     goto leave;
-  result = jnlib_malloc ((n1=nbytes+2));
+  result = xtrymalloc ((n1=nbytes+2));
   if (!result)
     goto leave;
   if (RegQueryValueEx (key_handle, wname, 0, &type, result, &n1))
     {
-      jnlib_free (result);
+      xfree (result);
       result = NULL;
       goto leave;
     }
@@ -134,11 +135,11 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
     {
       wchar_t *tmp = (void*)result;
       result = wchar_to_utf8 (tmp);
-      jnlib_free (tmp);
+      xfree (tmp);
     }
 
  leave:
-  jnlib_free (wname);
+  xfree (wname);
   RegCloseKey (key_handle);
   return result;
 #else /*!HAVE_W32CE_SYSTEM*/
@@ -161,12 +162,12 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
   nbytes = 1;
   if (RegQueryValueEx( key_handle, name, 0, NULL, NULL, &nbytes ) )
     goto leave;
-  result = jnlib_malloc ((n1=nbytes+1));
+  result = xtrymalloc ((n1=nbytes+1));
   if (!result)
     goto leave;
   if (RegQueryValueEx( key_handle, name, 0, &type, result, &n1 ))
     {
-      jnlib_free (result);
+      xfree (result);
       result = NULL;
       goto leave;
     }
@@ -176,46 +177,46 @@ read_w32_registry_string (const char *root, const char *dir, const char *name)
       char *tmp;
 
       n1 += 1000;
-      tmp = jnlib_malloc (n1+1);
+      tmp = xtrymalloc (n1+1);
       if (!tmp)
         goto leave;
       nbytes = ExpandEnvironmentStrings (result, tmp, n1);
       if (nbytes && nbytes > n1)
         {
-          jnlib_free (tmp);
+          xfree (tmp);
           n1 = nbytes;
-          tmp = jnlib_malloc (n1 + 1);
+          tmp = xtrymalloc (n1 + 1);
           if (!tmp)
             goto leave;
           nbytes = ExpandEnvironmentStrings (result, tmp, n1);
           if (nbytes && nbytes > n1)
             {
               /* Oops - truncated, better don't expand at all.  */
-              jnlib_free (tmp);
+              xfree (tmp);
               goto leave;
             }
           tmp[nbytes] = 0;
-          jnlib_free (result);
+          xfree (result);
           result = tmp;
         }
       else if (nbytes)
         {
           /* Okay, reduce the length.  */
           tmp[nbytes] = 0;
-          jnlib_free (result);
-          result = jnlib_malloc (strlen (tmp)+1);
+          xfree (result);
+          result = xtrymalloc (strlen (tmp)+1);
           if (!result)
             result = tmp;
             else
               {
                 strcpy (result, tmp);
-                jnlib_free (tmp);
+                xfree (tmp);
               }
         }
       else
         {
           /* Error - don't expand.  */
-          jnlib_free (tmp);
+          xfree (tmp);
         }
     }