Verified Commit f7e67d42 authored by Nirbheek Chauhan's avatar Nirbheek Chauhan Committed by Mark Harris
Browse files

repacketizer_demo: check for read errors to fix compiler warnings



Actually check for read errors instead of just storing the
return value in a variable that then never gets checked.

Also fixes "conversion from 'size_t' to 'int', possible loss
of data" compiler warnings on Windows with MSVC caused by
storing the size_t returned by fread() into an int variable.
Signed-off-by: Mark Harris's avatarMark Harris <mark.hsj@gmail.com>
parent 907a5231
......@@ -119,7 +119,19 @@ int main(int argc, char *argv[])
for (i=0;i<nb_packets;i++)
{
unsigned char ch[4];
err = fread(ch, 1, 4, fin);
if (fread(ch, 1, 4, fin)!=4)
{
if (feof(fin))
{
eof = 1;
} else {
fprintf(stderr, "Error reading payload length.\n");
fclose(fin);
fclose(fout);
return EXIT_FAILURE;
}
break;
}
len[i] = char_to_int(ch);
/*fprintf(stderr, "in len = %d\n", len[i]);*/
if (len[i]>1500 || len[i]<0)
......@@ -135,13 +147,31 @@ int main(int argc, char *argv[])
}
break;
}
err = fread(ch, 1, 4, fin);
rng[i] = char_to_int(ch);
err = fread(packets[i], 1, len[i], fin);
if (feof(fin))
if (fread(ch, 1, 4, fin)!=4)
{
eof = 1;
break;
if (feof(fin))
{
eof = 1;
} else {
fprintf(stderr, "Error reading.\n");
fclose(fin);
fclose(fout);
return EXIT_FAILURE;
}
break;
}
rng[i] = char_to_int(ch);
if (fread(packets[i], len[i], 1, fin)!=1) {
if (feof(fin))
{
eof = 1;
} else {
fprintf(stderr, "Error reading packet of %u bytes.\n", len[i]);
fclose(fin);
fclose(fout);
return EXIT_FAILURE;
}
break;
}
err = opus_repacketizer_cat(rp, packets[i], len[i]);
if (err!=OPUS_OK)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment