Browse Source

Pass executable name separately (no longer in argv[])

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@40835 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 15 năm trước cách đây
mục cha
commit
8c913267e9
1 tập tin đã thay đổi với 9 bổ sung5 xóa
  1. 9 5
      visualization/nviz/src/nviz_init.c

+ 9 - 5
visualization/nviz/src/nviz_init.c

@@ -21,7 +21,8 @@ grab .wait_ok.wait\n";
 int script_mode = 0;
 
 static int parse_command(Nv_data * data, Tcl_Interp * interp,	/* Current interpreter. */
-			 int argc, const char *argv0, const char **argv)
+			 int argc, const char *cmd, const char *argv0,
+			 const char **argv)
 {
     struct Option *elev, *colr, *vct, *pnt, *vol;
     struct Option *panel_path, *script, *state;
@@ -162,7 +163,7 @@ static int parse_command(Nv_data * data, Tcl_Interp * interp,	/* Current interpr
     }
 
     /* Put in the "please wait..." message unless we are in demo mode */
-    if ((strstr(argv[0], "nviz") != NULL) && (!demo->answer)) {
+    if ((strstr(cmd, "nviz") != NULL) && (!demo->answer)) {
 	if (Tcl_Eval(interp, startup_script) != TCL_OK)
 	    G_fatal_error("%s", Tcl_GetStringResult(interp));
 
@@ -368,6 +369,7 @@ static int parse_command(Nv_data * data, Tcl_Interp * interp,	/* Current interpr
  */
 
 static int Ngetargs(Tcl_Interp * interp,	/* Current interpreter. */
+		    const char **p_cmd,
 		    const char **p_argv0,
 		    const char ***p_argv)
 {
@@ -385,6 +387,8 @@ static int Ngetargs(Tcl_Interp * interp,	/* Current interpreter. */
     G_debug(2, "nviz_init:argv=%s", argv);
     G_debug(2, "nviz_init:cmd=%s", cmd);
 
+    *p_cmd = cmd;
+
     tmp = G_store(argv0);
     G_convert_dirseps_from_host(tmp);
     argv0 = tmp;
@@ -524,11 +528,11 @@ void swap_togl();
 int Ninitdata(Tcl_Interp *interp,	/* Current interpreter. */
 	      Nv_data *data)
 {
-    const char *argv0;
+    const char *cmd, *argv0;
     const char **argv;
     int argc;
 
-    argc = Ngetargs(interp, &argv0, &argv);
+    argc = Ngetargs(interp, &cmd, &argv0, &argv);
 
     G_gisinit(argv0);
 
@@ -540,7 +544,7 @@ int Ninitdata(Tcl_Interp *interp,	/* Current interpreter. */
     data->NumCplanes = 0;
     data->CurCplane = 0;
     if (!script_mode)
-	parse_command(data, interp, argc, argv0, argv);
+	parse_command(data, interp, argc, cmd, argv0, argv);
 
     return (TCL_OK);
 }