Changeset: f9e9bd606292 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f9e9bd606292
Modified Files:
        sql/src/backends/monet5/vaults/mseed.mx
Branch: default
Log Message:

check return value of fwrite() to fix compilation (with optimization enabled)

this prevents
"
sql/src/backends/monet5/vaults/mseed.mx: In function ‘MseedInternal’:
sql/src/backends/monet5/vaults/mseed.mx:295: error: ignoring return value of 
‘fwrite’, declared with attribute warn_unused_result
sql/src/backends/monet5/vaults/mseed.mx:296: error: ignoring return value of 
‘fwrite’, declared with attribute warn_unused_result
"

TODO:
Check whether more clean-up is required before bailing out in case fwrite() 
fails.


diffs (19 lines):

diff -r 09fa2b9ce1c5 -r f9e9bd606292 sql/src/backends/monet5/vaults/mseed.mx
--- a/sql/src/backends/monet5/vaults/mseed.mx   Sat Dec 25 13:33:31 2010 +0100
+++ b/sql/src/backends/monet5/vaults/mseed.mx   Sat Dec 25 13:43:15 2010 +0100
@@ -293,8 +293,13 @@
                                if ( load && COPYLOAD )
                                        snprintf(buf,BUFSIZ, "%s, %d", 
stoptime, ((int*) msr->datasamples)[j]);
                                if ( load && ATTACHLOAD ){
-                                       fwrite((char*) &tm, sizeof(timestamp), 
1, time);
-                                       fwrite( (char*) &((int*) 
msr->datasamples)[j], sizeof(int), 1, data);
+                                       if (fwrite((char*) &tm, 
sizeof(timestamp), 1, time) < 1 ||
+                                           fwrite((char*) &((int*) 
msr->datasamples)[j], sizeof(int), 1, data) < 1) {
+                                               fclose(time);
+                                               fclose(data);
+                                               msg= 
createException(MAL,"mseed.dump","fwrite() to 'time' or 'data' file failed");
+                                               return msg;
+                                       }
                                }
                                if ( imin > ((int*) msr->datasamples)[j]) imin 
= ((int*) msr->datasamples)[j];
                                if ( imax < ((int*) msr->datasamples)[j]) imax 
= ((int*) msr->datasamples)[j];
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to