Mercurial > pidgin
diff src/aim.c @ 1560:72235e3fcff6
[gaim-migrate @ 1570]
Jason Boerner's --file patch. Also added/removed files from POTFILES.in and added the MSN protocol spec.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 10 Mar 2001 22:42:47 +0000 |
parents | 5e54c7a2a394 |
children | 23ad4f7b644f |
line wrap: on
line diff
--- a/src/aim.c Sat Mar 10 21:39:31 2001 +0000 +++ b/src/aim.c Sat Mar 10 22:42:47 2001 +0000 @@ -73,6 +73,7 @@ int opt_away = 0; char *opt_away_arg = NULL; +char *opt_rcfile_arg = NULL; void BuddyTickerCreateWindow(void); @@ -424,6 +425,8 @@ "Automatically login (optional argument NAME specifies account(s) to use)", "[NAME]"}, {"user", 'u', POPT_ARG_STRING, &opt_user_arg, 'u', "Use account NAME", "NAME"}, + {"file", 'f', POPT_ARG_STRING, &opt_rcfile_arg, 'f', + "Use FILE as config", "FILE"}, {0, 0, 0, 0, 0, 0, 0} }; #else @@ -433,6 +436,7 @@ {"help", no_argument, NULL, 'h'}, {"login", optional_argument, NULL, 'l'}, {"user", required_argument, NULL, 'u'}, + {"file", required_argument, NULL, 'f'}, {"version", no_argument, NULL, 'v'}, {0, 0, 0, 0} }; @@ -511,6 +515,31 @@ } strcpy(argv[i], " "); } + /* --file option */ + else if (strstr (argv[i], "--fi") == argv[i]) { + char *equals; + if ((equals = strchr(argv[i], '=')) != NULL) { + /* --file=FILE */ + opt_rcfile_arg = g_strdup (equals+1); + } else if (i+1 < argc && argv[i+1][0] != '-') { + /* --file FILE */ + opt_rcfile_arg = g_strdup (argv[i+1]); + strcpy (argv[i+1], " "); + } + strcpy (argv[i], " "); + } + /* -f option */ + else if (strstr (argv[i], "-f") == argv[i]) { + if (strlen (argv[i]) > 2) { + /* -fFILE */ + opt_rcfile_arg = g_strdup (argv[i]+2); + } else if (i+1 < argc && argv[i+1][0] != '-') { + /* -f FILE */ + opt_rcfile_arg = g_strdup (argv[i+1]); + strcpy (argv[i+1], " "); + } + strcpy(argv[i], " "); + } } gnome_init_with_popt_table(PACKAGE, VERSION, argc, argv, popt_options, 0, NULL); @@ -519,7 +548,7 @@ /* scan command-line options */ opterr = 1; - while ((opt = getopt_long(argc, argv, "ahl::w::u:v", + while ((opt = getopt_long(argc, argv, "ahl::w::u:f::v", long_options, NULL)) != -1) { switch (opt) { case 'u': /* set user */ @@ -537,6 +566,9 @@ case 'a': /* account editor */ opt_acct = 1; break; + case 'f': + opt_rcfile_arg = g_strdup (optarg); + break; case 'v': /* version */ opt_version = 1; break;