Browse Source

* Properly catch fatal errors writing temp files needed during compile

Bryan Drewery 16 năm trước cách đây
mục cha
commit
8bab91b17f
3 tập tin đã thay đổi với 21 bổ sung5 xóa
  1. 5 2
      src/makehelp.c
  2. 11 2
      src/makeres.c
  3. 5 1
      src/makeset.c

+ 5 - 2
src/makehelp.c

@@ -88,9 +88,12 @@ help_t help[] = \n\
     }
   }
   out << "#endif /* HELP_H */\n";
-  printf(" Success\n");
 
-  out.writeFile(outfile);
+  if (out.writeFile(outfile)) {
+    fprintf(stderr, "Failure writing %s\n", outfile.c_str());
+    return 1;
+  }
+  printf(" Success\n");
   return 0;
 }
 

+ 11 - 2
src/makeres.c

@@ -79,10 +79,19 @@ typedef const char * res_t;\n\n");
       outs << buf.printf("\t\"%s\",\n", buffer.c_str());
     }
   }
+
+  if (out.writeFile(outFile)) {
+    fprintf(stderr, "Failure writing %s\n", outFile.c_str());
+    return 1;
+  }
+
+  if (outs.writeFile(outsFile)) {
+    fprintf(stderr, "Failure writing %s\n", outsFile.c_str());
+    return 1;
+  }
+
   printf(" Success\n");
 
-  out.writeFile(outFile);
-  outs.writeFile(outsFile);
   return 0;
 }
 

+ 5 - 1
src/makeset.c

@@ -41,5 +41,9 @@ int main(int argc, char *argv[]) {
     }
   }
 
-  out.writeFile(argv[2]);
+  if (out.writeFile(argv[2])) {
+    fprintf(stderr, "Failure writing %s\n", argv[2]);
+    return 1;
+  }
+  return 0;
 }