|
@@ -2011,15 +2011,20 @@ gb_internal bool init_build_paths(String init_filename) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ String output_file = path_to_string(ha, bc->build_paths[BuildPath_Output]);
|
|
|
|
+ defer (gb_free(ha, output_file.text));
|
|
|
|
+
|
|
// Check if output path is a directory.
|
|
// Check if output path is a directory.
|
|
if (path_is_directory(bc->build_paths[BuildPath_Output])) {
|
|
if (path_is_directory(bc->build_paths[BuildPath_Output])) {
|
|
- String output_file = path_to_string(ha, bc->build_paths[BuildPath_Output]);
|
|
|
|
- defer (gb_free(ha, output_file.text));
|
|
|
|
gb_printf_err("Output path %.*s is a directory.\n", LIT(output_file));
|
|
gb_printf_err("Output path %.*s is a directory.\n", LIT(output_file));
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- if (!write_directory(bc->build_paths[BuildPath_Output].basename)) {
|
|
|
|
|
|
+ gbFile output_file_test;
|
|
|
|
+ gbFileError output_test_err = gb_file_open_mode(&output_file_test, gbFileMode_Append | gbFileMode_Rw, (const char*)output_file.text);
|
|
|
|
+ defer (gb_file_close(&output_file_test));
|
|
|
|
+
|
|
|
|
+ if (output_test_err != 0) {
|
|
String output_file = path_to_string(ha, bc->build_paths[BuildPath_Output]);
|
|
String output_file = path_to_string(ha, bc->build_paths[BuildPath_Output]);
|
|
defer (gb_free(ha, output_file.text));
|
|
defer (gb_free(ha, output_file.text));
|
|
gb_printf_err("No write permissions for output path: %.*s\n", LIT(output_file));
|
|
gb_printf_err("No write permissions for output path: %.*s\n", LIT(output_file));
|