Diff

Differences From Artifact [01d873383c]:

To Artifact [e2b3ca8a90]:


2404
2405
2406
2407
2408
2409
2410
2411

2412
2413
2414
2415
2416
2417
2418
2404
2405
2406
2407
2408
2409
2410

2411
2412
2413
2414
2415
2416
2417
2418







-
+







"  -e COMMAND [ARGS...]      Execute command (consumes all remaining args)\n"
	 ) < 0 || fflush(fp) < 0) {
	perror("output error");
	exit(1);
    }
}

int do_cmdline(int argc, char **argv, int do_everything,
int do_cmdline(int argc, char **argv, int do_everything, int *allow_launch,
               struct gui_data *inst, Config *cfg)
{
    int err = 0;
    char *val;

    /*
     * Macros to make argument handling easier. Note that because
2610
2611
2612
2613
2614
2615
2616
2617


2618
2619
2620
2621
2622
2623
2624
2610
2611
2612
2613
2614
2615
2616

2617
2618
2619
2620
2621
2622
2623
2624
2625







-
+
+







	    exit(0);

        } else if (!strcmp(p, "-pgpfp")) {
            pgp_fingerprints();
            exit(1);

	} else if(p[0] != '-' && (!do_everything ||
                                  process_nonoption_arg(p, cfg))) {
                                  process_nonoption_arg(p, cfg,
							allow_launch))) {
            /* do nothing */

	} else {
	    err = 1;
	    fprintf(stderr, "%s: unrecognized option '%s'\n", appname, p);
	}
    }
3473
3474
3475
3476
3477
3478
3479




3480

3481
3482
3483

3484
3485
3486
3487



3488

3489
3490
3491
3492
3493
3494
3495
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484

3485
3486
3487

3488
3489
3490
3491
3492
3493
3494
3495

3496
3497
3498
3499
3500
3501
3502
3503







+
+
+
+
-
+


-
+




+
+
+
-
+







    }

    if (argc > 1 && !strncmp(argv[1], "---", 3)) {
	read_dupsession_data(inst, &inst->cfg, argv[1]);
	/* Splatter this argument so it doesn't clutter a ps listing */
	memset(argv[1], 0, strlen(argv[1]));
    } else {
	/* By default, we bring up the config dialog, rather than launching
	 * a session. This gets set to TRUE if something happens to change
	 * that (e.g., a hostname is specified on the command-line). */
	int allow_launch = FALSE;
	if (do_cmdline(argc, argv, 0, inst, &inst->cfg))
	if (do_cmdline(argc, argv, 0, &allow_launch, inst, &inst->cfg))
	    exit(1);		       /* pre-defaults pass to get -class */
	do_defaults(NULL, &inst->cfg);
	if (do_cmdline(argc, argv, 1, inst, &inst->cfg))
	if (do_cmdline(argc, argv, 1, &allow_launch, inst, &inst->cfg))
	    exit(1);		       /* post-defaults, do everything */

	cmdline_run_saved(&inst->cfg);

	if (loaded_session)
	    allow_launch = TRUE;

	if ((!loaded_session || !cfg_launchable(&inst->cfg)) &&
	if ((!allow_launch || !cfg_launchable(&inst->cfg)) &&
	    !cfgbox(&inst->cfg))
	    exit(0);		       /* config box hit Cancel */
    }

    if (!compound_text_atom)
        compound_text_atom = gdk_atom_intern("COMPOUND_TEXT", FALSE);
    if (!utf8_string_atom)