14 int readfile (char **buffer
, char *filename
)
19 VERBOSE (DEBUG
, PRINT ("Opening file %s\n", filename
));
20 FILE *fd
= fopen (filename
, "rb");
22 VERBOSE (WARNING
, PRINT ("Can't open file (%s)\n", filename
));
26 VERBOSE (DEBUG
, PRINT ("Seek file size\n"));
27 fseek (fd
, 0, SEEK_END
);
28 int size
= ftell (fd
);
29 fseek (fd
, 0, SEEK_SET
); /* same as rewind(f); */
33 VERBOSE (DEBUG
, PRINT ("Reading %d bytes\n", size
));
34 *buffer
= calloc (size
+ 1, 1);
35 fread (*buffer
, size
, 1, fd
);
44 char *tempname (char *tempdir
)
46 char table
[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";
48 unsigned int len
= strlen (tempdir
) + 1 + 4 + TLEN
+ 1;
49 char *name
= (char *) calloc (len
, 1);
51 sprintf (name
, "%s/tmp-", tempdir
);
52 while (strlen (name
) + 1 < len
) {
53 name
[strlen (name
)] = table
[rand () % 64];
59 /* vim: set ts=4 sw=4 et: */