summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbinji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 21:44:23 +0000
committerbinji@chromium.org <binji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 21:44:23 +0000
commitd57478a983efd49577c562b3bb98f85436ed3dd0 (patch)
tree093afdb2c728d2e28ad5d88438beb93401daec91
parentc53e98f91d915b96490d4c34d0ef39387ae2832f (diff)
downloadchromium_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
-rw-r--r--native_client_sdk/src/examples/demo/nacl_io/handlers.c12
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;