projects
/
ruby-vorbistagger.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
86dd179
)
Check the EOF flag on zero reads.
author
Tilman Sauerbeck
<tilman@code-monkey.de>
Thu, 17 Aug 2006 17:27:43 +0000
(19:27 +0200)
committer
Tilman Sauerbeck
<tilman@code-monkey.de>
Wed, 23 Aug 2006 17:39:15 +0000
(19:39 +0200)
ext/vcedit.c
patch
|
blob
|
history
diff --git
a/ext/vcedit.c
b/ext/vcedit.c
index 795b0c3e1011510a60f18aa2eed53ef694c1b3db..70eae0591af0e91ac5dee35e9858fb3aaa7e80cf 100644
(file)
--- a/
ext/vcedit.c
+++ b/
ext/vcedit.c
@@
-240,7
+240,7
@@
_fetch_next_packet (vcedit_state *s, ogg_packet *p, ogg_page *page)
bytes = fread (buffer, 1, CHUNKSIZE, s->in);
ogg_sync_wrote (&s->oy, bytes);
bytes = fread (buffer, 1, CHUNKSIZE, s->in);
ogg_sync_wrote (&s->oy, bytes);
- if (!bytes)
+ if (!bytes
&& feof (s->in)
)
return 0;
}
return 0;
}
@@
-355,7
+355,7
@@
vcedit_open (vcedit_state *state)
buffer = ogg_sync_buffer (&state->oy, CHUNKSIZE);
bytes = fread (buffer, 1, CHUNKSIZE, state->in);
buffer = ogg_sync_buffer (&state->oy, CHUNKSIZE);
bytes = fread (buffer, 1, CHUNKSIZE, state->in);
- if (!bytes && i < 2) {
+ if (!bytes &&
feof (state->in) &&
i < 2) {
ret = VCEDIT_ERR_INVAL;
goto err;
}
ret = VCEDIT_ERR_INVAL;
goto err;
}
@@
-536,8
+536,7
@@
vcedit_write (vcedit_state *state)
bytes = fread (buffer, 1, CHUNKSIZE, state->in);
ogg_sync_wrote (&state->oy, bytes);
bytes = fread (buffer, 1, CHUNKSIZE, state->in);
ogg_sync_wrote (&state->oy, bytes);
- if (!bytes)
- state->eosin = 1;
+ state->eosin = !bytes && feof (state->in);
}
fclose (out);
}
fclose (out);