Changeset 4946 for trunk/src/kernel32/wprocess.cpp
- Timestamp:
- Jan 14, 2001, 6:16:55 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/wprocess.cpp
r4682 r4946 1 /* $Id: wprocess.cpp,v 1.11 0 2000-11-23 19:23:51sandervl Exp $ */1 /* $Id: wprocess.cpp,v 1.111 2001-01-14 17:16:55 sandervl Exp $ */ 2 2 3 3 /* … … 1568 1568 sprintf(cmdline, "%s", lpCommandLine); 1569 1569 } 1570 1570 1571 char szAppName[255]; 1572 DWORD fileAttr; 1571 1573 char *exename = szAppName; 1572 1574 strncpy(szAppName, cmdline, sizeof(szAppName)); … … 1576 1578 while(*exename != 0 && *exename != '"') 1577 1579 exename++; 1580 1581 if(*exename != 0) { 1582 *exename = 0; 1583 } 1584 exename = &szAppName[1]; 1578 1585 } 1579 1586 else { 1587 BOOL fTerminate = FALSE; 1588 DWORD fileAttr; 1589 1580 1590 //TODO: doesn't work for directories with spaces! 1581 while(*exename != 0 && *exename != ' ' && *exename != '"') 1582 exename++; 1583 } 1584 if(*exename != 0) { 1585 *exename = 0; 1586 } 1587 if(szAppName[0] == '"') { 1588 exename = &szAppName[1]; 1589 } 1590 else exename = szAppName; 1591 1592 if(GetFileAttributesA(exename) == -1) { 1591 while(*exename != 0) { 1592 while(*exename != 0 && *exename != ' ') 1593 exename++; 1594 1595 if(*exename != 0) { 1596 *exename = 0; 1597 fTerminate = TRUE; 1598 } 1599 1600 fileAttr = GetFileAttributesA(szAppName); 1601 if(fileAttr != -1 && !(fileAttr & FILE_ATTRIBUTE_DIRECTORY)) { 1602 break; 1603 } 1604 if(fTerminate) { 1605 *exename = ' '; 1606 exename++; 1607 fTerminate = FALSE; 1608 } 1609 } 1610 exename = szAppName; 1611 } 1612 fileAttr = GetFileAttributesA(exename); 1613 if(fileAttr == -1 || (fileAttr & FILE_ATTRIBUTE_DIRECTORY)) { 1593 1614 dprintf(("CreateProcess: can't find executable!")); 1594 1615 SetLastError(ERROR_FILE_NOT_FOUND); 1595 1616 return FALSE; 1596 1617 } 1618 1597 1619 dprintf(("KERNEL32: CreateProcess %s\n", cmdline)); 1598 1620
Note:
See TracChangeset
for help on using the changeset viewer.