Mercurial > pidgin
comparison src/browser.c @ 3417:68fdee3dd3ef
[gaim-migrate @ 3436]
That was so broken.
committer: Tailor Script <tailor@pidgin.im>
| author | Sean Egan <seanegan@gmail.com> |
|---|---|
| date | Thu, 22 Aug 2002 03:13:39 +0000 |
| parents | 2a34734f6a0d |
| children | 0d1af9166119 |
comparison
equal
deleted
inserted
replaced
| 3416:bfb951e56c12 | 3417:68fdee3dd3ef |
|---|---|
| 634 pid = fork(); | 634 pid = fork(); |
| 635 | 635 |
| 636 if (pid == 0) { | 636 if (pid == 0) { |
| 637 char *args[4]; | 637 char *args[4]; |
| 638 char command[1024]; | 638 char command[1024]; |
| 639 | 639 char *quoted = NULL; |
| 640 | |
| 640 if (web_browser == BROWSER_OPERA) { | 641 if (web_browser == BROWSER_OPERA) { |
| 641 args[0] = "opera"; | 642 args[0] = "opera"; |
| 642 args[1] = "-newwindow"; | 643 args[1] = "-newwindow"; |
| 643 args[2] = url; | 644 args[2] = url; |
| 644 args[3] = NULL; | 645 args[3] = NULL; |
| 660 } else if (web_browser == BROWSER_MOZILLA) { | 661 } else if (web_browser == BROWSER_MOZILLA) { |
| 661 args[0] = "mozilla"; | 662 args[0] = "mozilla"; |
| 662 args[1] = url; | 663 args[1] = url; |
| 663 args[2] = NULL; | 664 args[2] = NULL; |
| 664 } else if (web_browser == BROWSER_MANUAL) { | 665 } else if (web_browser == BROWSER_MANUAL) { |
| 665 char *quoted = g_shell_quote(command); | |
| 666 g_snprintf(command, sizeof(command), web_command, quoted); | 666 g_snprintf(command, sizeof(command), web_command, quoted); |
| 667 g_free(quoted); | 667 quoted = g_shell_quote(command); |
| 668 args[0] = "sh"; | 668 args[0] = "sh"; |
| 669 args[1] = "-c"; | 669 args[1] = "-c"; |
| 670 args[2] = command; | 670 args[2] = quoted; |
| 671 args[3] = NULL; | 671 args[3] = NULL; |
| 672 } | 672 } |
| 673 | 673 |
| 674 execvp(args[0], args); | 674 execvp(args[0], args); |
| 675 if (quoted) | |
| 676 g_free(quoted); | |
| 675 _exit(0); | 677 _exit(0); |
| 676 } | 678 } |
| 677 } | 679 } |
| 678 } | 680 } |
| 679 | 681 |
