Mercurial > pidgin.yaz
diff src/aim.c @ 1254:9da444224f0e
[gaim-migrate @ 1264]
bmiller's away-on-signon patch. does --away=mesg use "mesg" or the away message titled "mesg"? i didn't look hehe. but if it uses "mesg" instead of the away message titled "mesg" then i'm not sure it works.... i figured someone would report a bug if it didn't work
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 14 Dec 2000 00:11:59 +0000 |
parents | b5783215b245 |
children | 07f0bb41bbe1 |
line wrap: on
line diff
--- a/src/aim.c Wed Dec 13 23:59:46 2000 +0000 +++ b/src/aim.c Thu Dec 14 00:11:59 2000 +0000 @@ -71,6 +71,9 @@ GtkWidget *mainwindow = NULL; +int opt_away = 0; +char *opt_away_arg = NULL; + void BuddyTickerCreateWindow(void); void cancel_logon(void) @@ -429,6 +432,8 @@ struct poptOption popt_options[] = { {"acct", 'a', POPT_ARG_NONE, &opt_acct, 'a', "Display account editor window", NULL}, + {"away", 'w', POPT_ARG_STRING, NULL, 'w', + "Make away on signon (optional argument MESG specifies name of away message to use)", "[MESG]"}, {"login", 'l', POPT_ARG_STRING, NULL, 'l', "Automatically login (optional argument NAME specifies account(s) to use)", "[NAME]"}, {"user", 'u', POPT_ARG_STRING, &opt_user_arg, 'u', @@ -438,6 +443,7 @@ #else struct option long_options[] = { {"acct", no_argument, NULL, 'a'}, + {"away", optional_argument, NULL, 'w'}, {"help", no_argument, NULL, 'h'}, {"login", optional_argument, NULL, 'l'}, {"user", required_argument, NULL, 'u'}, @@ -489,6 +495,33 @@ } strcpy(argv[i], " "); } + /* --away option */ + else if (strstr (argv[i], "--aw") == argv[i]) { + char *equals; + opt_away = 1; + if ((equals = strchr(argv[i], '=')) != NULL) { + /* --away=MESG */ + opt_away_arg = g_strdup (equals+1); + } else if (i+1 < argc && argv[i+1][0] != '-') { + /* --away MESG */ + opt_away_arg = g_strdup (argv[i+1]); + strcpy (argv[i+1], " "); + } + strcpy (argv[i], " "); + } + /* -w option */ + else if (strstr (argv[i], "-w") == argv[i]) { + opt_away = 1; + if (strlen (argv[i]) > 2) { + /* -wMESG */ + opt_away_arg = g_strdup (argv[i]+2); + } else if (i+1 < argc && argv[i+1][0] != '-') { + /* -w MESG */ + opt_away_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); @@ -497,7 +530,7 @@ /* scan command-line options */ opterr = 1; - while ((opt = getopt_long(argc, argv, /*"ahl::u:v" */ "ahl::u:v", + while ((opt = getopt_long(argc, argv, "ahl::w::u:v", long_options, NULL)) != -1) { switch (opt) { case 'u': /* set user */ @@ -508,6 +541,10 @@ opt_login = 1; opt_login_arg = g_strdup(optarg); break; + case 'w': + opt_away = 1; + opt_away_arg = g_strdup (optarg); + break; case 'a': /* account editor */ opt_acct = 1; break;