Mercurial > projects > ldc
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 |