comparison dmd/man.c @ 876:27a379f288bf

Merged DMD 1.039
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Wed, 07 Jan 2009 19:34:48 +0100
parents 330f999ade44
children c57e71c5586f
comparison
equal deleted inserted replaced
875:330f999ade44 876:27a379f288bf
35 void browse(const char *url) 35 void browse(const char *url)
36 { 36 {
37 pid_t childpid; 37 pid_t childpid;
38 const char *args[3]; 38 const char *args[3];
39 39
40 const char *browser = getenv("BROWSER"); 40 char *browser = getenv("BROWSER");
41 if (browser) 41 if (browser)
42 browser = strdup(browser); 42 browser = strdup(browser);
43 else 43 else
44 browser = "firefox"; 44 browser = "firefox";
45 45
56 } 56 }
57 } 57 }
58 58
59 #endif 59 #endif
60 60
61 #if __APPLE__
62
63 #include <sys/types.h>
64 #include <sys/wait.h>
65 #include <unistd.h>
66
67 void browse(const char *url)
68 {
69 pid_t childpid;
70 const char *args[5];
71
72 char *browser = getenv("BROWSER");
73 if (browser)
74 { browser = strdup(browser);
75 args[0] = browser;
76 args[1] = url;
77 args[2] = NULL;
78 }
79 else
80 {
81 //browser = "/Applications/Safari.app/Contents/MacOS/Safari";
82 args[0] = "open";
83 args[1] = "-a";
84 args[2] = "/Applications/Safari.app";
85 args[3] = url;
86 args[4] = NULL;
87 }
88
89 childpid = fork();
90 if (childpid == 0)
91 {
92 execvp(args[0], (char**)args);
93 perror(args[0]); // failed to execute
94 return;
95 }
96 }
97
98 #endif
99
100