summaryrefslogtreecommitdiffstats
path: root/idfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'idfile.c')
-rw-r--r--idfile.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/idfile.c b/idfile.c
index 00ad740..f759634 100644
--- a/idfile.c
+++ b/idfile.c
@@ -24,10 +24,10 @@
#include "idarg.h"
#include "strxtra.h"
-static int io_idhead (FILE *fp, int (*io) (FILE *, void *, int, int), struct idhead *idh);
-static int io_write (FILE *output_FILE, void *addr, int size, int is_int);
-static int io_read (FILE *input_FILE, void *addr, int size, int is_int);
-static int io_size (FILE *, void *, int size, int);
+static int io_idhead (FILE *fp, int (*io) (FILE *, void *, unsigned int, int), struct idhead *idh);
+static int io_write (FILE *output_FILE, void *addr, unsigned int size, int is_int);
+static int io_read (FILE *input_FILE, void *addr, unsigned int size, int is_int);
+static int io_size (FILE *, void *, unsigned int size, int);
extern char *program_name;
@@ -39,7 +39,7 @@ FILE *
init_idfile (char const *id_file, struct idhead *idh, struct idarg **id_args)
{
FILE *id_FILE;
- int i;
+ unsigned int i;
char *strings;
struct idarg *ida;
@@ -99,13 +99,13 @@ sizeof_idhead ()
}
static int
-io_size (FILE *ignore_FILE, void *ignore_addr, int size, int ignore_int)
+io_size (FILE *ignore_FILE, void *ignore_addr, unsigned int size, int ignore_int)
{
return size;
}
static int
-io_read (FILE *input_FILE, void *addr, int size, int is_int)
+io_read (FILE *input_FILE, void *addr, unsigned int size, int is_int)
{
if (is_int)
{
@@ -134,7 +134,7 @@ io_read (FILE *input_FILE, void *addr, int size, int is_int)
}
static int
-io_write (FILE *output_FILE, void *addr, int size, int is_int)
+io_write (FILE *output_FILE, void *addr, unsigned int size, int is_int)
{
if (is_int)
{
@@ -163,10 +163,11 @@ io_write (FILE *output_FILE, void *addr, int size, int is_int)
}
static int
-io_idhead (FILE *fp, int (*io) (FILE *, void *, int, int), struct idhead *idh)
+io_idhead (FILE *fp, int (*io) (FILE *, void *, unsigned int, int), struct idhead *idh)
{
- int size = 0;
- fseek (fp, 0L, 0);
+ unsigned int size = 0;
+ if (fp)
+ fseek (fp, 0L, 0);
size += io (fp, idh->idh_magic, sizeof (idh->idh_magic), 0);
size += io (fp, &idh->idh_pad_1, sizeof (idh->idh_pad_1), 0);
size += io (fp, &idh->idh_version, sizeof (idh->idh_version), 0);