diff options
author | binji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 21:44:23 +0000 |
---|---|---|
committer | binji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-03 21:44:23 +0000 |
commit | d57478a983efd49577c562b3bb98f85436ed3dd0 (patch) | |
tree | 093afdb2c728d2e28ad5d88438beb93401daec91 /native_client_sdk | |
parent | c53e98f91d915b96490d4c34d0ef39387ae2832f (diff) | |
download | chromium_src-d57478a983efd49577c562b3bb98f85436ed3dd0.zip chromium_src-d57478a983efd49577c562b3bb98f85436ed3dd0.tar.gz chromium_src-d57478a983efd49577c562b3bb98f85436ed3dd0.tar.bz2 |
[NaCl SDK] nacl_io example: Check ferror() after reading/writing.
BUG=235176
R=noelallen@chromium.org
Review URL: https://codereview.chromium.org/14623012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198194 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'native_client_sdk')
-rw-r--r-- | native_client_sdk/src/examples/demo/nacl_io/handlers.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/native_client_sdk/src/examples/demo/nacl_io/handlers.c b/native_client_sdk/src/examples/demo/nacl_io/handlers.c index 5aed7a7..c135b08 100644 --- a/native_client_sdk/src/examples/demo/nacl_io/handlers.c +++ b/native_client_sdk/src/examples/demo/nacl_io/handlers.c @@ -166,6 +166,12 @@ int HandleFwrite(int num_params, char** params, char** output) { bytes_written = fwrite(data, 1, data_len, file); + if (ferror(file)) { + *output = PrintfToNewString( + "Error: Wrote %d bytes, but ferror() returns true.", bytes_written); + return 3; + } + *output = PrintfToNewString("fwrite\1%s\1%d", file_index_string, bytes_written); return 0; @@ -213,6 +219,12 @@ int HandleFread(int num_params, char** params, char** output) { bytes_read = fread(buffer, 1, data_len, file); buffer[bytes_read] = 0; + if (ferror(file)) { + *output = PrintfToNewString( + "Error: Read %d bytes, but ferror() returns true.", bytes_read); + return 3; + } + *output = PrintfToNewString("fread\1%s\1%s", file_index_string, buffer); free(buffer); return 0; |