changeset 516:c192468eb8ce

Audacious VFS support functions finished.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Feb 2007 02:32:00 +0000
parents 449d4eaa5081
children 3c1609482eac
files src/xs_support.c src/xs_support.h
diffstat 2 files changed, 42 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/xs_support.c	Tue Jan 30 10:01:04 2007 +0000
+++ b/src/xs_support.c	Tue Feb 06 02:32:00 2007 +0000
@@ -24,6 +24,7 @@
 #include <ctype.h>
 
 
+#ifndef __AUDACIOUS_NEWVFS__
 /* File handling
  */
 t_xs_file *xs_fopen(const gchar *path, const gchar *mode)
@@ -44,21 +45,6 @@
 }
 
 
-guint16 xs_fread_be16(t_xs_file *f)
-{
-	return (((guint16) fgetc(f)) << 8) | ((guint16) fgetc(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));
-}
-
-
 size_t xs_fread(void *p, size_t s, size_t n, t_xs_file *f)
 {
 	return fread(p, s, n, f);
@@ -77,6 +63,28 @@
 }
 
 
+glong xs_ftell(t_xs_file *f)
+{
+	return ftell(f);
+}
+#endif
+
+
+guint16 xs_fread_be16(t_xs_file *f)
+{
+	return (((guint16) xs_fgetc(f)) << 8) | ((guint16) xs_fgetc(f));
+}
+
+
+guint32 xs_fread_be32(t_xs_file *f)
+{
+	return (((guint32) xs_fgetc(f)) << 24) |
+		(((guint32) xs_fgetc(f)) << 16) |
+		(((guint32) xs_fgetc(f)) << 8) |
+		((guint32) xs_fgetc(f));
+}
+
+
 /* Copy a string
  */
 gchar *xs_strncpy(gchar *pDest, gchar *pSource, size_t n)
--- a/src/xs_support.h	Tue Jan 30 10:01:04 2007 +0000
+++ b/src/xs_support.h	Tue Feb 06 02:32:00 2007 +0000
@@ -36,20 +36,33 @@
 #endif
 
 
+/* VFS replacement functions
+ */
+#ifdef __AUDACIOUS_NEWVFS__
+#define t_xs_file VFSFile
+#define xs_fopen(a,b) vfs_fopen(a,b)
+#define xs_fclose(a) vfs_fclose(a)
+#define xs_fgetc(a) vfs_getc(a)
+#define xs_fread(a,b,c,d) vfs_fread(a,b,c,d)
+#define xs_feof(a) vfs_feof(a)
+#define xs_ferror(a) (0)
+#define xs_ftell(a) vfs_ftell(a)
+#else
 #define t_xs_file FILE
-
-
-/* Functions
- */
 t_xs_file *xs_fopen(const 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_feof(t_xs_file *);
 gint	xs_ferror(t_xs_file *);
+glong	xs_ftell(t_xs_file *);
+#endif
+guint16 xs_fread_be16(t_xs_file *);
+guint32 xs_fread_be32(t_xs_file *);
 
+
+/* Misc functions
+ */
 gchar	*xs_strncpy(gchar *, gchar *, size_t);
 gint	xs_pstrcpy(gchar **, const gchar *);
 gint	xs_pstrcat(gchar **, const gchar *);