Changeset 2004 for trunk/tools/database/StateUpd.cpp
- Timestamp:
- Dec 7, 1999, 12:52:44 AM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/database/StateUpd.cpp
r1993 r2004 1 /* $Id: StateUpd.cpp,v 1. 4 1999-12-06 18:11:49 bird Exp $ */2 /*1 /* $Id: StateUpd.cpp,v 1.5 1999-12-06 23:52:42 bird Exp $ 2 * 3 3 * StateUpd - Scans source files for API functions and imports data on them. 4 4 * … … 36 36 static void openLogs(void); 37 37 static void closeLogs(void); 38 static unsigned long processDir(c har *pszDir, BOOL fFile, POPTIONS pOptions);38 static unsigned long processDir(const char *pszDirOrFile, POPTIONS pOptions); 39 39 static unsigned long processFile(const char *pszFilename, POPTIONS pOptions); 40 40 static unsigned long processAPI(char **papszLines, int i, int &iRet, const char *pszFilename, POPTIONS pOptions); … … 215 215 /* processing */ 216 216 if (argv[argi] == NULL || *argv[argi] == '\0') 217 ulRc = processDir(".", FALSE,&options);217 ulRc = processDir(".", &options); 218 218 else 219 219 while (argv[argi] != NULL) 220 220 { 221 ulRc += processDir(argv[argi], 222 argv[argi][strlen(argv[argi])-1] != '\\' && argv[argi][strlen(argv[argi])-1] != '/', 223 &options); 221 ulRc += processDir(argv[argi], &options); 224 222 argi++; 225 223 } … … 344 342 345 343 /** 346 * Processes a subdirectory andfiles.344 * Processes a file or a subdirectory with files. 347 345 * @returns high word = number of signals 348 346 * low word = number of APIs processed. (1 or 0). 349 * @param pszDir 350 * @param fFile File indicator, TRUE: pszDir is a file, FALSE: pszDir is a dir.351 * @ param pOptions Pointer to options.352 * @sketch0. Interpret parameters.347 * @param pszDirOrFile Directory or file, see fFile. 348 * @param pOptions Pointer to options. 349 * @sketch -0. Determin dir or file. 350 * 0. Interpret parameters. 353 351 * 1. Scan current directory for *.cpp and *.c files and process them. 354 352 * 2. If recusion option is enabled: 355 353 * Scan current directory for sub-directories, scan them using recursion. 356 354 */ 357 static unsigned long processDir(c har *pszDir, BOOL fFile, POPTIONS pOptions)355 static unsigned long processDir(const char *pszDirOrFile, POPTIONS pOptions) 358 356 { 359 357 unsigned long ulRc = 0; /* high word = #signals, low word = #APIs successfully processed */ 358 char szBuf[CCHMAXPATH]; 360 359 char szFileSpec[CCHMAXPATH]; 361 360 APIRET rc; 362 361 FILEFINDBUF3 ffb; 362 FILESTATUS3 fs; 363 363 ULONG ul = 1; 364 364 HDIR hDir = (HDIR)HDIR_CREATE; 365 char *pszFile; 366 367 /* O. */ 365 PSZ pszDir; 366 PSZ pszFile; 367 BOOL fFile; 368 369 /* -0.*/ 370 rc = DosQueryPathInfo(pszDirOrFile, FIL_STANDARD, &fs , sizeof(fs)); 371 fFile = rc == NO_ERROR && (fs.attrFile & FILE_DIRECTORY) != FILE_DIRECTORY; 372 373 /* 0. */ 374 strcpy(szBuf, pszDirOrFile); 375 pszDir = szBuf; 368 376 if (fFile) 369 377 { 370 if ((pszFile = strrchr(pszDir, '\\')) == NULL) 371 pszFile = strrchr(pszDir, '/'); 372 if (pszFile != NULL) 378 if ((pszFile = strrchr(pszDir, '\\')) != NULL 379 || (pszFile = strrchr(pszDir, '/')) != NULL) 373 380 *pszFile++ = '\0'; 374 381 else … … 379 386 } 380 387 else 388 { 381 389 pszFile = NULL; 390 ul = strlen(pszDir)-1; 391 if (pszDir[ul] == '\\' || pszDir[ul] == '/') 392 pszDir[ul] = '\0'; 393 } 382 394 383 395 … … 387 399 else 388 400 strcat(strcpy(&szFileSpec[0], pszDir), "\\*.c*"); 401 ul = 1; 389 402 rc = DosFindFirst((PCSZ)&szFileSpec[0], &hDir, 390 403 FILE_READONLY | FILE_HIDDEN | FILE_SYSTEM | FILE_ARCHIVED, … … 419 432 if (fFile) 420 433 strcat(strcat(&szFileSpec[0], "\\"), pszFile); 421 ulRc += processDir(&szFileSpec[0], fFile,pOptions);434 ulRc += processDir(&szFileSpec[0], pOptions); 422 435 } 423 436
Note:
See TracChangeset
for help on using the changeset viewer.