ston_ht32_fwrite
[henge/apc.git] / ston / ston_ht.h
index 5063431..4cddc78 100644 (file)
@@ -195,8 +195,10 @@ size_t ston_ht32_fwrite
 { size_t bytes_written;
   long   fpos_start;
   if ((fpos_start = ftell(file)) == NULL
+      || fseek(file, fpos, SEEK_SET) == 0
       || (bytes_written = fwrite(file, 1, sizeof(ston_ht_h), file)) < sizeof(ston_ht_h)
-      || (bytes_written += fwrite(file, 1, ston_ht32_bytes(ht), file)) < (sizeof(ston_ht_h) + ston_ht32_bytes(ht)))
+      || (bytes_written += fwrite(file, 1, ston_ht32_bytes(ht), file)) < (sizeof(ston_ht_h) + ston_ht32_bytes(ht))
+      || fseek(file, fpos_start, SEEK_SET) == 0)
     return 0;
   return bytes_written;
 }