# HG changeset patch # User Matti Hamalainen # Date 1169675824 0 # Node ID aec9f4beb4012e97fa858a6bbcf4af026e4b5e9c # Parent 50247245e2ca6030bdaa60f7f4d6168e9b69518e New file reading functions. diff -r 50247245e2ca -r aec9f4beb401 src/xs_support.c --- a/src/xs_support.c Wed Jan 17 23:38:03 2007 +0000 +++ b/src/xs_support.c Wed Jan 24 21:57:04 2007 +0000 @@ -25,24 +25,50 @@ #include -/* Bigendian file reading functions +/* File handling */ -guint16 xs_rd_be16(FILE *f) +t_xs_file *xs_fopen(gchar *path, const gchar *mode) +{ + return fopen(path, mode); +} + + +gint xs_fclose(t_xs_file *f) +{ + return fclose(f); +} + + +gint xs_fgetc(t_xs_file *f) +{ + return fgetc(f); +} + + +guint16 xs_fread_be16(t_xs_file *f) { return (((guint16) fgetc(f)) << 8) | ((guint16) fgetc(f)); } -guint32 xs_rd_be32(FILE *f) +guint32 xs_fread_be32(t_xs_file *f) { return (((guint32) fgetc(f)) << 24) | - (((guint32) fgetc(f)) << 16) | (((guint32) fgetc(f)) << 8) | ((guint32) fgetc(f)); + (((guint32) fgetc(f)) << 16) | + (((guint32) fgetc(f)) << 8) | + ((guint32) fgetc(f)); } -size_t xs_rd_str(FILE *f, gchar *s, size_t l) +size_t xs_fread(void *p, size_t s, size_t n, t_xs_file *f) { - return fread(s, sizeof(gchar), l, f); + return fread(p, s, n, f); +} + + +gint xs_fgets(gchar *s, gint l, t_xs_file *f) +{ + return fgets(s, l, f); } diff -r 50247245e2ca -r aec9f4beb401 src/xs_support.h --- a/src/xs_support.h Wed Jan 17 23:38:03 2007 +0000 +++ b/src/xs_support.h Wed Jan 24 21:57:04 2007 +0000 @@ -25,12 +25,20 @@ #define ftello ftell #endif -/* - * Functions + +#define t_xs_file FILE + + +/* Functions */ -guint16 xs_rd_be16(FILE *); -guint32 xs_rd_be32(FILE *); -size_t xs_rd_str(FILE *, gchar *, size_t); +t_xs_file *xs_fopen(gchar *, const gchar *); +gint xs_fclose(t_xs_file *); +gint xs_fgetc(t_xs_file *); +guint16 xs_fread_be16(t_xs_file *); +guint32 xs_fread_be32(t_xs_file *); +size_t xs_fread(void *, size_t, size_t, t_xs_file *); +gint xs_fgets(gchar *, gint, t_xs_file *); + gchar *xs_strncpy(gchar *, gchar *, size_t); gint xs_pstrcpy(gchar **, const gchar *);