150 |
|
|
151 |
for (len = i = 0; i < argc; i++) |
for (len = i = 0; i < argc; i++) |
152 |
{ |
{ |
153 |
|
int quote = 0; |
154 |
|
char *p; |
155 |
|
|
156 |
|
for (p = argv[i]; *p; p++) |
157 |
|
if (isspace(*p)) |
158 |
|
{ |
159 |
|
quote = 1; |
160 |
|
break; |
161 |
|
} |
162 |
|
|
163 |
len += strlen (argv[i]) + 2; |
len += strlen (argv[i]) + 2; |
164 |
|
if (quote) |
165 |
|
len += 2; |
166 |
|
|
167 |
buffer = realloc (buffer, len); |
buffer = realloc (buffer, len); |
168 |
if (buffer == NULL) |
if (buffer == NULL) |
169 |
return 1; |
return 1; |
170 |
if (i != 0) |
if (i != 0) |
171 |
strcat (buffer, " "); |
strcat (buffer, " "); |
172 |
|
if (quote) |
173 |
|
strcat (buffer, "\""); |
174 |
strcat (buffer, argv[i]); |
strcat (buffer, argv[i]); |
175 |
|
if (quote) |
176 |
|
strcat (buffer, "\""); |
177 |
} |
} |
178 |
|
|
179 |
/* Strip off trailing space. */ |
/* Strip off trailing space. */ |