Changeset 2699 in kBuild for trunk/src/kmk
- Timestamp:
- Sep 20, 2013 12:33:20 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/kmkbuiltin/redirect.c
r2684 r2699 311 311 else 312 312 #endif /* __OS2__ */ 313 if (putenv(psz)) 314 { 315 fprintf(pStdErr, "%s: error: putenv(\"%s\"): %s\n", name(argv[0]), psz, strerror(errno)); 316 return 1; 313 { 314 const char *pchEqual = strchr(psz, '='); 315 if (pchEqual && pchEqual[1] != '\0') 316 { 317 if (putenv(psz)) 318 { 319 fprintf(pStdErr, "%s: error: putenv(\"%s\"): %s\n", name(argv[0]), psz, strerror(errno)); 320 return 1; 321 } 322 } 323 else 324 { 325 size_t cchVar = pchEqual ? (size_t)(pchEqual - psz) : strlen(psz); 326 char *pszCopy = (char *)malloc(cchVar + 2); 327 memcpy(pszCopy, psz, cchVar); 328 329 #if defined(_MSC_VER) || defined(__OS2__) 330 pszCopy[cchVar] = '='; 331 pszCopy[cchVar + 1] = '\0'; 332 if (putenv(pszCopy)) 333 { 334 fprintf(pStdErr, "%s: error: putenv(\"%s\"): %s\n", name(argv[0]), pszCopy, strerror(errno)); 335 return 1; 336 } 337 #else 338 pszCopy[cchVar] = '\0'; 339 if (unsetenv(pszCopy)) 340 { 341 fprintf(pStdErr, "%s: error: unsetenv(\"%s\"): %s\n", name(argv[0]), pszCopy, strerror(errno)); 342 return 1; 343 } 344 #endif 345 free(pszCopy); 346 } 317 347 } 318 348 continue;
Note:
See TracChangeset
for help on using the changeset viewer.