[svn] GnuPG - r5281 - in trunk: common g10 kbx

svn author wk cvs at cvs.gnupg.org
Mon Mar 8 18:05:38 CET 2010


Author: wk
Date: 2010-03-08 18:05:37 +0100 (Mon, 08 Mar 2010)
New Revision: 5281

Modified:
   trunk/common/ChangeLog
   trunk/common/iobuf.c
   trunk/common/iobuf.h
   trunk/g10/ChangeLog
   trunk/g10/decrypt.c
   trunk/g10/encrypt.c
   trunk/g10/exec.c
   trunk/g10/import.c
   trunk/g10/keydb.c
   trunk/g10/keyedit.c
   trunk/g10/keygen.c
   trunk/g10/keyring.c
   trunk/g10/openfile.c
   trunk/g10/verify.c
   trunk/kbx/ChangeLog
   trunk/kbx/keybox-update.c
Log:
Use macros for iobuf ioctls. 


Modified: trunk/common/ChangeLog
===================================================================
--- trunk/common/ChangeLog	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/common/ChangeLog	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1,5 +1,13 @@
 2010-03-08  Werner Koch  <wk at g10code.com>
 
+	* iobuf.h (iobuf_ioctl_t): New.  Use the new macros instead of the
+	hard wired values.
+	* iobuf.c (iobuf_append): Remove.
+	(iobuf_fdopen): Factor code out to ...
+	(do_iobuf_fdopen): ... new.
+	(iobuf_fdopen_nc): New.
+	(iobuf_open_fd_or_name): Implement using iobuf_fdopen_nc.
+
 	* iobuf.c (INVALID_FD): Replace by GNUPG_INVALID_FD.
 	(fp_or_fd_t): Replace by gnupg_fd_t.
 	(my_fileno): Replace by the FD2INT macro.
@@ -250,7 +258,7 @@
 
 	* iobuf.c: Port David's changes from 1.4:
 	(fd_cache_invalidate): Pass return code from close back.
-	(direct_open, iobuf_ioctl): Check that eturn value.
+	(direct_open, iobuf_ioctl): Check that return value.
 	(fd_cache_synchronize): New.
 	(iobuf_ioctl): Add new sub command 4 (fsync).
 

Modified: trunk/g10/ChangeLog
===================================================================
--- trunk/g10/ChangeLog	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/ChangeLog	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1,3 +1,7 @@
+2010-03-08  Werner Koch  <wk at g10code.com>
+
+	Use macros for iobuf_ioctl commands.
+
 2010-02-17  Werner Koch  <wk at g10code.com>
 
 	* keygen.c (ask_user_id): Avoid infinite loop in case of invalid

Modified: trunk/kbx/ChangeLog
===================================================================
--- trunk/kbx/ChangeLog	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/kbx/ChangeLog	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1,3 +1,7 @@
+2010-03-08  Werner Koch  <wk at g10code.com>
+
+	Use macros for iobuf_ioctl commands.
+
 2009-12-08  Werner Koch  <wk at g10code.com>
 
 	* keybox-search-desc.h (keydb_search_desc): Use u32 type for

Modified: trunk/common/iobuf.c
===================================================================
--- trunk/common/iobuf.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/common/iobuf.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1159,15 +1159,7 @@
   if (fd == -1)
     a = iobuf_open (fname);
   else
-    {
-      int fd2;
-
-      fd2 = dup (fd);
-      if (fd2 == -1)
-        a = NULL;
-      else
-        a = iobuf_fdopen (fd2, mode);
-    }
+    a = iobuf_fdopen_nc (fd, mode);
   return a;
 }
 
@@ -1214,37 +1206,51 @@
   return a;
 }
 
-/****************
- * Create a head iobuf for reading or writing from/to a file
- * Returns: NULL if an error occures and sets ERRNO.
- */
-iobuf_t
-iobuf_fdopen (int fd, const char *mode)
+
+static iobuf_t
+do_iobuf_fdopen (int fd, const char *mode, int keep_open)
 {
   iobuf_t a;
   gnupg_fd_t fp;
   file_filter_ctx_t *fcx;
   size_t len;
 
-  fp = (gnupg_fd_t) fd;
+  fp = INT2FD (fd);
 
   a = iobuf_alloc (strchr (mode, 'w') ? 2 : 1, IOBUF_BUFFER_SIZE);
   fcx = xmalloc (sizeof *fcx + 20);
   fcx->fp = fp;
   fcx->print_only_name = 1;
+  fcx->keep_open = keep_open;
   sprintf (fcx->fname, "[fd %d]", fd);
   a->filter = file_filter;
   a->filter_ov = fcx;
   file_filter (fcx, IOBUFCTRL_DESC, NULL, (byte *) & a->desc, &len);
   file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len);
   if (DBG_IOBUF)
-    log_debug ("iobuf-%d.%d: fdopen `%s'\n", a->no, a->subno, fcx->fname);
-  iobuf_ioctl (a, 3, 1, NULL);	/* disable fd caching */
+    log_debug ("iobuf-%d.%d: fdopen%s `%s'\n",
+               a->no, a->subno, keep_open? "_nc":"", fcx->fname);
+  iobuf_ioctl (a, IOBUF_IOCTL_NO_CACHE, 1, NULL);
   return a;
 }
 
 
+/* Create a head iobuf for reading or writing from/to a file Returns:
+ * NULL and sets ERRNO if an error occured.  */
 iobuf_t
+iobuf_fdopen (int fd, const char *mode)
+{
+  return do_iobuf_fdopen (fd, mode, 0);
+}
+
+iobuf_t
+iobuf_fdopen_nc (int fd, const char *mode)
+{
+  return do_iobuf_fdopen (fd, mode, 1);
+}
+
+
+iobuf_t
 iobuf_sockopen (int fd, const char *mode)
 {
   iobuf_t a;
@@ -1263,7 +1269,7 @@
   sock_filter (scx, IOBUFCTRL_INIT, NULL, NULL, &len);
   if (DBG_IOBUF)
     log_debug ("iobuf-%d.%d: sockopen `%s'\n", a->no, a->subno, scx->fname);
-  iobuf_ioctl (a, 3, 1, NULL);	/* disable fd caching */
+  iobuf_ioctl (a, IOBUF_IOCTL_NO_CACHE, 1, NULL);
 #else
   a = iobuf_fdopen (fd, mode);
 #endif
@@ -1311,41 +1317,7 @@
   return a;
 }
 
-/****************
- * append to an iobuf; if the file does not exist, create it.
- * cannot be used for stdout.
- * Note: This is not used.
- */
-#if 0				/* not used */
-iobuf_t
-iobuf_append (const char *fname)
-{
-  iobuf_t a;
-  FILE *fp;
-  file_filter_ctx_t *fcx;
-  size_t len;
 
-  if (!fname)
-    return NULL;
-  else if (!(fp = direct_open (fname, "ab")))
-    return NULL;
-  a = iobuf_alloc (2, IOBUF_BUFFER_SIZE);
-  fcx = m_alloc (sizeof *fcx + strlen (fname));
-  fcx->fp = fp;
-  strcpy (fcx->fname, fname);
-  a->real_fname = m_strdup (fname);
-  a->filter = file_filter;
-  a->filter_ov = fcx;
-  file_filter (fcx, IOBUFCTRL_DESC, NULL, (byte *) & a->desc, &len);
-  file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len);
-  if (DBG_IOBUF)
-    log_debug ("iobuf-%d.%d: append `%s'\n", a->no, a->subno,
-               a->desc?a->desc:"?");
-
-  return a;
-}
-#endif
-
 iobuf_t
 iobuf_openrw (const char *fname)
 {
@@ -1376,12 +1348,15 @@
 
 
 int
-iobuf_ioctl (iobuf_t a, int cmd, int intval, void *ptrval)
+iobuf_ioctl (iobuf_t a, iobuf_ioctl_t cmd, int intval, void *ptrval)
 {
-  if (cmd == 1)
-    {				/* keep system filepointer/descriptor open */
+  if (cmd == IOBUF_IOCTL_KEEP_OPEN)
+    {				
+      /* Keep system filepointer/descriptor open.  This was used in
+         the past by http.c; this ioctl is not directly used
+         anymore.  */
       if (DBG_IOBUF)
-	log_debug ("iobuf-%d.%d: ioctl `%s' keep=%d\n",
+	log_debug ("iobuf-%d.%d: ioctl `%s' keep_open=%d\n",
 		   a ? a->no : -1, a ? a->subno : -1, 
                    a && a->desc ? a->desc : "?",
 		   intval);
@@ -1401,8 +1376,8 @@
 	  }
 #endif
     }
-  else if (cmd == 2)
-    {				/* invalidate cache */
+  else if (cmd == IOBUF_IOCTL_INVALIDATE_CACHE)
+    {
       if (DBG_IOBUF)
 	log_debug ("iobuf-*.*: ioctl `%s' invalidate\n",
 		   ptrval ? (char *) ptrval : "?");
@@ -1413,8 +1388,8 @@
 	  return 0;
 	}
     }
-  else if (cmd == 3)
-    {				/* disallow/allow caching */
+  else if (cmd == IOBUF_IOCTL_NO_CACHE)
+    {
       if (DBG_IOBUF)
 	log_debug ("iobuf-%d.%d: ioctl `%s' no_cache=%d\n",
 		   a ? a->no : -1, a ? a->subno : -1, 
@@ -1436,7 +1411,7 @@
 	  }
 #endif
     }
-  else if (cmd == 4)
+  else if (cmd == IOBUF_IOCTL_FSYNC)
     {
       /* Do a fsync on the open fd and return any errors to the caller
          of iobuf_ioctl.  Note that we work on a file name here. */

Modified: trunk/common/iobuf.h
===================================================================
--- trunk/common/iobuf.h	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/common/iobuf.h	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1,5 +1,6 @@
 /* iobuf.h - I/O buffer
- * Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2003,
+ *               2010 Free Software Foundation, Inc.
  *
  * This file is part of GNUPG.
  *
@@ -25,7 +26,7 @@
 
 #define DBG_IOBUF   iobuf_debug_mode
 
-
+/* Filter control modes.  */
 #define IOBUFCTRL_INIT	    1
 #define IOBUFCTRL_FREE	    2
 #define IOBUFCTRL_UNDERFLOW 3
@@ -34,6 +35,17 @@
 #define IOBUFCTRL_CANCEL    6
 #define IOBUFCTRL_USER	    16
 
+
+/* Command codes for iobuf_ioctl.  */
+typedef enum 
+  {
+    IOBUF_IOCTL_KEEP_OPEN        = 1, /* Uses intval.  */
+    IOBUF_IOCTL_INVALIDATE_CACHE = 2, /* Uses ptrval.  */
+    IOBUF_IOCTL_NO_CACHE         = 3, /* Uses intval.  */
+    IOBUF_IOCTL_FSYNC            = 4  /* Uses ptrval.  */
+  } iobuf_ioctl_t;
+
+
 typedef struct iobuf_struct *iobuf_t;
 typedef struct iobuf_struct *IOBUF;  /* Compatibility with gpg 1.4. */
 
@@ -89,11 +101,12 @@
                                const char *mode);
 iobuf_t iobuf_open (const char *fname);
 iobuf_t iobuf_fdopen (int fd, const char *mode);
+iobuf_t iobuf_fdopen_nc (int fd, const char *mode);
 iobuf_t iobuf_sockopen (int fd, const char *mode);
 iobuf_t iobuf_create (const char *fname);
 iobuf_t iobuf_append (const char *fname);
 iobuf_t iobuf_openrw (const char *fname);
-int iobuf_ioctl (iobuf_t a, int cmd, int intval, void *ptrval);
+int iobuf_ioctl (iobuf_t a, iobuf_ioctl_t cmd, int intval, void *ptrval);
 int iobuf_close (iobuf_t iobuf);
 int iobuf_cancel (iobuf_t iobuf);
 
@@ -140,10 +153,10 @@
 void iobuf_skip_rest (iobuf_t a, unsigned long n, int partial);
 
 
-/* get a byte form the iobuf; must check for eof prior to this function
- * this function returns values in the range 0 .. 255 or -1 to indicate EOF
- * iobuf_get_noeof() does not return -1 to indicate EOF, but masks the
- * returned value to be in the range 0 ..255.
+/* Get a byte from the iobuf; must check for eof prior to this
+ * function.  This function returns values in the range 0 .. 255 or -1
+ * to indicate EOF.  iobuf_get_noeof() does not return -1 to indicate
+ * EOF, but masks the returned value to be in the range 0 .. 255.
  */
 #define iobuf_get(a)  \
      (	((a)->nofast || (a)->d.start >= (a)->d.len )?  \

Modified: trunk/g10/decrypt.c
===================================================================
--- trunk/g10/decrypt.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/decrypt.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -223,7 +223,7 @@
         goto next_file;
       fp = iobuf_open(filename);
       if (fp)
-        iobuf_ioctl (fp,3,1,NULL); /* disable fd caching */
+        iobuf_ioctl (fp, IOBUF_IOCTL_NO_CACHE, 1, NULL);
       if (fp && is_secured_file (iobuf_get_fd (fp)))
         {
           iobuf_close (fp);

Modified: trunk/g10/encrypt.c
===================================================================
--- trunk/g10/encrypt.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/encrypt.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -185,7 +185,7 @@
   /* Prepare iobufs. */
   inp = iobuf_open(filename);
   if (inp)
-    iobuf_ioctl (inp,3,1,NULL); /* disable fd caching */
+    iobuf_ioctl (inp, IOBUF_IOCTL_NO_CACHE, 1, NULL);
   if (inp && is_secured_file (iobuf_get_fd (inp)))
     {
       iobuf_close (inp);
@@ -526,7 +526,7 @@
   /* Prepare iobufs. */
   inp = iobuf_open_fd_or_name (filefd, filename, "rb");
   if (inp)
-    iobuf_ioctl (inp, 3, 1, NULL); /* Disable fd caching. */
+    iobuf_ioctl (inp, IOBUF_IOCTL_NO_CACHE, 1, NULL);
   if (inp && is_secured_file (iobuf_get_fd (inp)))
     {
       iobuf_close (inp);

Modified: trunk/g10/exec.c
===================================================================
--- trunk/g10/exec.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/exec.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -449,8 +449,8 @@
 	  goto fail;
 	}
 
-      /* fd iobufs are cached?! */
-      iobuf_ioctl((*info)->fromchild,3,1,NULL);
+      /* fd iobufs are cached! */
+      iobuf_ioctl((*info)->fromchild, IOBUF_IOCTL_NO_CACHE, 1, NULL);
 
       return 0;
     }
@@ -556,7 +556,7 @@
 	    }
 
 	  /* Do not cache this iobuf on close */
-	  iobuf_ioctl(info->fromchild,3,1,NULL);
+	  iobuf_ioctl(info->fromchild, IOBUF_IOCTL_NO_CACHE, 1, NULL);
 	}
     }
 

Modified: trunk/g10/import.c
===================================================================
--- trunk/g10/import.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/import.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -196,7 +196,8 @@
 	        rc = import( inp2, fname, stats, fpr, fpr_len, options );
 	        iobuf_close(inp2);
                 /* Must invalidate that ugly cache to actually close it. */
-                iobuf_ioctl (NULL, 2, 0, (char*)fname);
+                iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 
+                             0, (char*)fname);
 	        if( rc )
 		  log_error("import from `%s' failed: %s\n", fname,
 			    g10_errstr(rc) );

Modified: trunk/g10/keydb.c
===================================================================
--- trunk/g10/keydb.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/keydb.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -188,7 +188,7 @@
 
   iobuf_close (iobuf);
   /* Must invalidate that ugly cache */
-  iobuf_ioctl (NULL, 2, 0, filename);
+  iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, filename);
   rc = 0;
 
  leave:

Modified: trunk/g10/keyedit.c
===================================================================
--- trunk/g10/keyedit.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/keyedit.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1981,7 +1981,7 @@
             init_packet (pkt);
             rc = parse_packet (a, pkt);
             iobuf_close (a);
-            iobuf_ioctl (NULL, 2, 0, (char*)fname); /* (invalidate cache).  */
+            iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)fname);
             if (!rc 
                 && pkt->pkttype != PKT_SECRET_KEY 
                 && pkt->pkttype != PKT_SECRET_SUBKEY)

Modified: trunk/g10/keygen.c
===================================================================
--- trunk/g10/keygen.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/keygen.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -2877,7 +2877,7 @@
       log_error (_("can't open `%s': %s\n"), fname, strerror(errno) );
       return;
     }
-    iobuf_ioctl (fp, 3, 1, NULL); /* No file caching. */
+    iobuf_ioctl (fp, IOBUF_IOCTL_NO_CACHE, 1, NULL);
 
     lnr = 0;
     err = NULL;
@@ -3018,9 +3018,11 @@
 
         /* Must invalidate that ugly cache to actually close it.  */
         if (outctrl.pub.fname)
-          iobuf_ioctl (NULL, 2, 0, (char*)outctrl.pub.fname);
+          iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 
+                       0, (char*)outctrl.pub.fname);
         if (outctrl.sec.fname)
-          iobuf_ioctl (NULL, 2, 0, (char*)outctrl.sec.fname);
+          iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE,
+                       0, (char*)outctrl.sec.fname);
 
 	xfree( outctrl.pub.fname );
 	xfree( outctrl.pub.newfname );
@@ -3377,7 +3379,8 @@
           iobuf_close(outctrl->pub.stream);
           outctrl->pub.stream = NULL;
           if (outctrl->pub.fname)
-            iobuf_ioctl (NULL, 2, 0, (char*)outctrl->pub.fname);
+            iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE,
+                         0, (char*)outctrl->pub.fname);
           xfree( outctrl->pub.fname );
           outctrl->pub.fname =  outctrl->pub.newfname;
           outctrl->pub.newfname = NULL;
@@ -3408,7 +3411,8 @@
           iobuf_close(outctrl->sec.stream);
           outctrl->sec.stream = NULL;
           if (outctrl->sec.fname)
-            iobuf_ioctl (NULL, 2, 0, (char*)outctrl->sec.fname);
+            iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE,
+                         0, (char*)outctrl->sec.fname);
           xfree( outctrl->sec.fname );
           outctrl->sec.fname =  outctrl->sec.newfname;
           outctrl->sec.newfname = NULL;
@@ -4187,7 +4191,7 @@
         char *fprbuf, *p;
        
         iobuf_close (fp);
-        iobuf_ioctl (NULL, 2, 0, (char*)fname);
+        iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)fname);
         log_info (_("NOTE: backup of card key saved to `%s'\n"), fname);
 
         fingerprint_from_sk (sk, array, &n);

Modified: trunk/g10/keyring.c
===================================================================
--- trunk/g10/keyring.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/keyring.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -1255,20 +1255,20 @@
   /* It's a secret keyring, so let's force a fsync just to be safe on
      filesystems that may not sync data and metadata together
      (e.g. ext4). */
-  if (secret && iobuf_ioctl (NULL, 4, 0, (char*)tmpfname))
+  if (secret && iobuf_ioctl (NULL, IOBUF_IOCTL_FSYNC, 0, (char*)tmpfname))
     {
       rc = gpg_error_from_syserror ();
       goto fail;
     }
 
   /* Invalidate close caches.  */
-  if (iobuf_ioctl (NULL, 2, 0, (char*)tmpfname ))
+  if (iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)tmpfname ))
     {
       rc = gpg_error_from_syserror ();
       goto fail;
     }
-  iobuf_ioctl (NULL, 2, 0, (char*)bakfname );
-  iobuf_ioctl (NULL, 2, 0, (char*)fname );
+  iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)bakfname );
+  iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)fname );
 
   /* first make a backup file except for secret keyrings */
   if (!secret)

Modified: trunk/g10/openfile.c
===================================================================
--- trunk/g10/openfile.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/openfile.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -305,7 +305,7 @@
     }
   
   if (*a)
-    iobuf_ioctl (*a, 3, 1, NULL); /* Disable fd caching.  */
+    iobuf_ioctl (*a, IOBUF_IOCTL_NO_CACHE, 1, NULL);
 
   return rc;
 }

Modified: trunk/g10/verify.c
===================================================================
--- trunk/g10/verify.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/g10/verify.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -150,7 +150,7 @@
     print_file_status( STATUS_FILE_START, name, 1 );
     fp = iobuf_open(name);
     if (fp)
-      iobuf_ioctl (fp,3,1,NULL); /* disable fd caching */
+      iobuf_ioctl (fp, IOBUF_IOCTL_NO_CACHE, 1, NULL);
     if (fp && is_secured_file (iobuf_get_fd (fp)))
       {
         iobuf_close (fp);

Modified: trunk/kbx/keybox-update.c
===================================================================
--- trunk/kbx/keybox-update.c	2010-03-08 13:06:53 UTC (rev 5280)
+++ trunk/kbx/keybox-update.c	2010-03-08 17:05:37 UTC (rev 5281)
@@ -166,9 +166,9 @@
 #endif
 
   /* fixme: invalidate close caches (not used with stdio)*/
-/*    iobuf_ioctl (NULL, 2, 0, (char*)tmpfname ); */
-/*    iobuf_ioctl (NULL, 2, 0, (char*)bakfname ); */
-/*    iobuf_ioctl (NULL, 2, 0, (char*)fname ); */
+/*    iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)tmpfname ); */
+/*    iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)bakfname ); */
+/*    iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0, (char*)fname ); */
 
   /* First make a backup file except for secret keyboxes. */
   if (!secret)




More information about the Gnupg-commits mailing list