- Timestamp:
 - May 25, 2012, 1:14:22 PM (13 years ago)
 - File:
 - 
      
- 1 edited
 
- 
          
  trunk/src/kernel32/wprocess.cpp (modified) (2 diffs)
 
 
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.
  