From 27be5bc72855a0fbbdae230bc144624c9eb85f5e Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Thu, 17 Mar 2005 20:50:03 +0000 Subject: Initial check in dumb 0.9.2 - has a few usages of floating point that should be rewritten to fixed point. seems to compile cleanly for iriver. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6197 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/dumb/src/helpers/stdfile.c | 93 ++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 apps/codecs/dumb/src/helpers/stdfile.c (limited to 'apps/codecs/dumb/src/helpers/stdfile.c') diff --git a/apps/codecs/dumb/src/helpers/stdfile.c b/apps/codecs/dumb/src/helpers/stdfile.c new file mode 100644 index 0000000000..2f02539a92 --- /dev/null +++ b/apps/codecs/dumb/src/helpers/stdfile.c @@ -0,0 +1,93 @@ +/* _______ ____ __ ___ ___ + * \ _ \ \ / \ / \ \ / / ' ' ' + * | | \ \ | | || | \/ | . . + * | | | | | | || ||\ /| | + * | | | | | | || || \/ | | ' ' ' + * | | | | | | || || | | . . + * | |_/ / \ \__// || | | + * /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque + * / \ + * / . \ + * stdfile.c - stdio file input module. / / \ \ + * | < / \_ + * By entheh. | \/ /\ / + * \_ / > / + * | \ / / + * | ' / + * \__/ + */ + +#include + +#include "dumb.h" + + + +static void *dumb_stdfile_open(const char *filename) +{ + return fopen(filename, "rb"); +} + + + +static int dumb_stdfile_skip(void *f, long n) +{ + return fseek(f, n, SEEK_CUR); +} + + + +static int dumb_stdfile_getc(void *f) +{ + return fgetc(f); +} + + + +static long dumb_stdfile_getnc(char *ptr, long n, void *f) +{ + return fread(ptr, 1, n, f); +} + + + +static void dumb_stdfile_close(void *f) +{ + fclose(f); +} + + + +static DUMBFILE_SYSTEM stdfile_dfs = { + &dumb_stdfile_open, + &dumb_stdfile_skip, + &dumb_stdfile_getc, + &dumb_stdfile_getnc, + &dumb_stdfile_close +}; + + + +void dumb_register_stdfiles(void) +{ + register_dumbfile_system(&stdfile_dfs); +} + + + +static DUMBFILE_SYSTEM stdfile_dfs_leave_open = { + NULL, + &dumb_stdfile_skip, + &dumb_stdfile_getc, + &dumb_stdfile_getnc, + NULL +}; + + + +DUMBFILE *dumbfile_open_stdfile(FILE *p) +{ + DUMBFILE *d = dumbfile_open_ex(p, &stdfile_dfs_leave_open); + + return d; +} -- cgit v1.2.3