diff options
author | Michiel Van Der Kolk <not.valid@email.address> | 2005-03-17 20:50:03 +0000 |
---|---|---|
committer | Michiel Van Der Kolk <not.valid@email.address> | 2005-03-17 20:50:03 +0000 |
commit | 27be5bc72855a0fbbdae230bc144624c9eb85f5e (patch) | |
tree | b553f1321df924c4b744ffcab48dce5f4f081f7d /apps/codecs/dumb/src/helpers/stdfile.c | |
parent | 7e7662bb716917ca431204f0113d400c1014f2e8 (diff) | |
download | rockbox-27be5bc72855a0fbbdae230bc144624c9eb85f5e.tar.gz rockbox-27be5bc72855a0fbbdae230bc144624c9eb85f5e.zip |
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
Diffstat (limited to 'apps/codecs/dumb/src/helpers/stdfile.c')
-rw-r--r-- | apps/codecs/dumb/src/helpers/stdfile.c | 93 |
1 files changed, 93 insertions, 0 deletions
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 @@ | |||
1 | /* _______ ____ __ ___ ___ | ||
2 | * \ _ \ \ / \ / \ \ / / ' ' ' | ||
3 | * | | \ \ | | || | \/ | . . | ||
4 | * | | | | | | || ||\ /| | | ||
5 | * | | | | | | || || \/ | | ' ' ' | ||
6 | * | | | | | | || || | | . . | ||
7 | * | |_/ / \ \__// || | | | ||
8 | * /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque | ||
9 | * / \ | ||
10 | * / . \ | ||
11 | * stdfile.c - stdio file input module. / / \ \ | ||
12 | * | < / \_ | ||
13 | * By entheh. | \/ /\ / | ||
14 | * \_ / > / | ||
15 | * | \ / / | ||
16 | * | ' / | ||
17 | * \__/ | ||
18 | */ | ||
19 | |||
20 | #include <stdio.h> | ||
21 | |||
22 | #include "dumb.h" | ||
23 | |||
24 | |||
25 | |||
26 | static void *dumb_stdfile_open(const char *filename) | ||
27 | { | ||
28 | return fopen(filename, "rb"); | ||
29 | } | ||
30 | |||
31 | |||
32 | |||
33 | static int dumb_stdfile_skip(void *f, long n) | ||
34 | { | ||
35 | return fseek(f, n, SEEK_CUR); | ||
36 | } | ||
37 | |||
38 | |||
39 | |||
40 | static int dumb_stdfile_getc(void *f) | ||
41 | { | ||
42 | return fgetc(f); | ||
43 | } | ||
44 | |||
45 | |||
46 | |||
47 | static long dumb_stdfile_getnc(char *ptr, long n, void *f) | ||
48 | { | ||
49 | return fread(ptr, 1, n, f); | ||
50 | } | ||
51 | |||
52 | |||
53 | |||
54 | static void dumb_stdfile_close(void *f) | ||
55 | { | ||
56 | fclose(f); | ||
57 | } | ||
58 | |||
59 | |||
60 | |||
61 | static DUMBFILE_SYSTEM stdfile_dfs = { | ||
62 | &dumb_stdfile_open, | ||
63 | &dumb_stdfile_skip, | ||
64 | &dumb_stdfile_getc, | ||
65 | &dumb_stdfile_getnc, | ||
66 | &dumb_stdfile_close | ||
67 | }; | ||
68 | |||
69 | |||
70 | |||
71 | void dumb_register_stdfiles(void) | ||
72 | { | ||
73 | register_dumbfile_system(&stdfile_dfs); | ||
74 | } | ||
75 | |||
76 | |||
77 | |||
78 | static DUMBFILE_SYSTEM stdfile_dfs_leave_open = { | ||
79 | NULL, | ||
80 | &dumb_stdfile_skip, | ||
81 | &dumb_stdfile_getc, | ||
82 | &dumb_stdfile_getnc, | ||
83 | NULL | ||
84 | }; | ||
85 | |||
86 | |||
87 | |||
88 | DUMBFILE *dumbfile_open_stdfile(FILE *p) | ||
89 | { | ||
90 | DUMBFILE *d = dumbfile_open_ex(p, &stdfile_dfs_leave_open); | ||
91 | |||
92 | return d; | ||
93 | } | ||