[Bf-blender-cvs] [9ee8319cd58] master: Exit with invalid command line arguments
Campbell Barton
noreply at git.blender.org
Thu Oct 19 15:07:46 CEST 2017
Commit: 9ee8319cd589bd7605f45293b17a682c4daf5ec0
Author: Campbell Barton
Date: Thu Oct 19 23:57:03 2017 +1100
Branches: master
https://developer.blender.org/rB9ee8319cd589bd7605f45293b17a682c4daf5ec0
Exit with invalid command line arguments
Loading blender with an unknown name would interpret it as a blend file.
This meant passing `--arg` arguments would end up creating new
blend files which could be confusing if you made a typo on a command
line argument.
Now check the string has a blend file extension,
exiting if it doesn't.
===================================================================
M source/creator/creator_args.c
===================================================================
diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c
index 21d03cc8265..322b93f4f42 100644
--- a/source/creator/creator_args.c
+++ b/source/creator/creator_args.c
@@ -44,6 +44,8 @@
#include "BLI_fileops.h"
#include "BLI_mempool.h"
+#include "BLO_readfile.h" /* only for BLO_has_bfile_extension */
+
#include "BKE_blender_version.h"
#include "BKE_context.h"
@@ -1764,11 +1766,17 @@ static int arg_handle_load_file(int UNUSED(argc), const char **argv, void *data)
return -1;
}
- /* Just pretend a file was loaded, so the user can press Save and it'll save at the filename from the CLI. */
- BLI_strncpy(G.main->name, filename, FILE_MAX);
- G.relbase_valid = true;
- G.save_over = true;
- printf("... opened default scene instead; saving will write to %s\n", filename);
+ if (BLO_has_bfile_extension(filename)) {
+ /* Just pretend a file was loaded, so the user can press Save and it'll save at the filename from the CLI. */
+ BLI_strncpy(G.main->name, filename, FILE_MAX);
+ G.relbase_valid = true;
+ G.save_over = true;
+ printf("... opened default scene instead; saving will write to: %s\n", filename);
+ }
+ else {
+ printf("Error: argument has no '.blend' file extension, not using as new file, exiting! %s\n", filename);
+ exit(1);
+ }
}
G.file_loaded = 1;
More information about the Bf-blender-cvs
mailing list