Changeset 22000 for trunk/src/kernel32/wprocess.cpp
- Timestamp:
- May 25, 2012, 1:14:22 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/wprocess.cpp
r21999 r22000 24 24 #include <stdlib.h> 25 25 #include <string.h> 26 27 #ifdef __KLIBC__ 28 #include <klibc/startup.h> 29 #endif 26 30 27 31 #include <unicode.h> … … 1663 1667 { 1664 1668 psz2 = pib_pchcmd + strlen(pib_pchcmd) + 1; 1669 1670 #ifdef __KLIBC__ 1671 // kLIBC spawn() detects if the process it starts is a kLIBC process 1672 // and uses special hidden command line arguments to pass additional 1673 // info to it which are then removed before passing arguments to 1674 // main(). Since we don't have global argc/argv pointers in kLIBC, 1675 // we can't access them here and have to cut out these hidden args 1676 // Yes, it's implementation dependent -- needs to be changed when 1677 // kLIBC 0.7 (which contains glibal argc/argv) comes out. 1678 bool isKLIBC = strcmp(psz2, __KLIBC_ARG_SIGNATURE) == 0; 1679 if (isKLIBC) 1680 psz2 += strlen(psz2) + 1; 1681 #endif 1665 1682 while (*psz2 != '\0') 1666 1683 { 1684 #ifdef __KLIBC__ 1685 // if the first byte is a kLIBC flag, skip it 1686 if (isKLIBC) 1687 psz2++; 1688 #endif 1667 1689 register int cchTmp = strlen(psz2) + 1; /* + 1 is for terminator (psz). */ 1668 1690 *psz++ = ' '; /* add space */
Note:
See TracChangeset
for help on using the changeset viewer.