fix yellow by acknowledging the fread() return code and also allow

gigabeat_s_code() to actually return an error code if it fails


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21084 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Daniel Stenberg 2009-05-25 21:42:44 +00:00
parent 758bb3bc62
commit 5bbf89e89a
2 changed files with 11 additions and 5 deletions

View File

@ -74,6 +74,7 @@ int gigabeat_s_code(char *infile, char *outfile)
unsigned int size;
unsigned int newsize;
unsigned char* buf;
size_t rc;
in = openinfile(infile);
out = openoutfile(outfile);
@ -87,13 +88,19 @@ int gigabeat_s_code(char *infile, char *outfile)
newsize = 15 + 16 + 12 + size + 12;
buf = malloc(newsize);
if(buf == NULL) {
fprintf(stderr, "Not enough memory to perform the requested operation. Aborting.\n" );
return 0;
fprintf(stderr,
"Not enough memory to perform the operation. Aborting.\n" );
return 1;
}
fseek(in, 0, SEEK_SET);
fread(buf + 43, size, 1, in);
rc = fread(buf + 43, 1, size, in);
fclose(in);
if(rc != size) {
/* failed to read the wanted amount */
fprintf(stderr, "Failed reading from %s.\n", infile);
return 2;
}
/* Step 2: Create the file header */
sprintf((char *)buf, "B000FF\n");
put_uint32le(0x88200000, buf+7);

View File

@ -329,8 +329,7 @@ int main (int argc, char** argv)
else if(!strcmp(argv[1], "-gigabeats")) {
iname = argv[2];
oname = argv[3];
gigabeat_s_code(iname, oname);
return 0;
return gigabeat_s_code(iname, oname);
}
else if(!strcmp(argv[1], "-iaudiox5")) {
iname = argv[2];