agent/
[gnupg.git] / kbx / keybox-file.c
index db3164f..e68e96c 100644 (file)
@@ -15,7 +15,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
  */
 
 #include <config.h>
 
 #include "keybox-defs.h"
 
+
+#if !defined(HAVE_FTELLO) && !defined(ftello)
+static off_t
+ftello (FILE *stream)
+{
+  long int off;
+
+  off = ftell (stream);
+  if (off == -1)
+    return (off_t)-1;
+  return off;
+}
+#endif /* !defined(HAVE_FTELLO) && !defined(ftello) */
+
+
+
 /* Read a block at the current postion and return it in r_blob.
    r_blob may be NULL to simply skip the current block */
 int
 _keybox_read_blob2 (KEYBOXBLOB *r_blob, FILE *fp, int *skipped_deleted)
 {
-  char *image;
+  unsigned char *image;
   size_t imagelen = 0;
   int c1, c2, c3, c4, type;
   int rc;
@@ -102,7 +119,7 @@ _keybox_read_blob (KEYBOXBLOB *r_blob, FILE *fp)
 int
 _keybox_write_blob (KEYBOXBLOB blob, FILE *fp)
 {
-  const char *image;
+  const unsigned char *image;
   size_t length;
 
   image = _keybox_get_blob_image (blob, &length);