Changeset 2614


Ignore:
Timestamp:
Jul 30, 2012, 1:17:24 AM (13 years ago)
Author:
bird
Message:

kObjCache: More VC2010 related fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kObjCache/kObjCache.c

    r2613 r2614  
    15681568 * @param   papszArgv       The argument vector.
    15691569 * @param   cArgc           The number of entries in the vector.
    1570  * @param   pszIgnorePath   Path to ignore when encountered at the end of arguments.
    1571  *                          (Not quite safe for simple file names, but what the heck.)
     1570 * @param   pszIgnorePath1  Path to ignore when encountered at the end of
     1571 *                          arguments. (Not quite safe for simple file names,
     1572 *                          but what the heck.)
     1573 * @param   pszIgnorePath2  Path to ignore when encountered at the end of
     1574 *                          arguments. (Not quite safe for simple file names,
     1575 *                          but what the heck.)
    15721576 * @param   pSum            Where to store the check sum.
    15731577 */
    15741578static void kOCEntryCalcArgvSum(PKOCENTRY pEntry, const char * const *papszArgv, unsigned cArgc,
    1575                                 const char *pszIgnorePath, PKOCSUM pSum)
    1576 {
    1577     size_t cchIgnorePath = strlen(pszIgnorePath);
     1579                                const char *pszIgnorePath1, const char *pszIgnorePath2, PKOCSUM pSum)
     1580{
     1581    size_t cchIgnorePath1 = strlen(pszIgnorePath1);
     1582    size_t cchIgnorePath2 = pszIgnorePath2 ? strlen(pszIgnorePath2) : ~(size_t)0;
    15781583    KOCSUMCTX Ctx;
    15791584    unsigned i;
    15801585
     1586fprintf(stderr, "kOCEntryCalcArgvSum: ign2='%s'\n", pszIgnorePath2);
     1587
    15811588    kOCSumInitWithCtx(pSum, &Ctx);
    15821589    for (i = 0; i < cArgc; i++)
    15831590    {
    15841591        size_t cch = strlen(papszArgv[i]);
    1585         if (    cch < cchIgnorePath
    1586             ||  !ArePathsIdenticalN(papszArgv[i] + cch - cchIgnorePath, pszIgnorePath, cch))
     1592        if (   (   cch < cchIgnorePath1
     1593                || !ArePathsIdenticalN(papszArgv[i] + cch - cchIgnorePath1, pszIgnorePath1, cch))
     1594            && (   cch < cchIgnorePath2
     1595                || !ArePathsIdenticalN(papszArgv[i] + cch - cchIgnorePath2, pszIgnorePath2, cch)) )
     1596{
    15871597            kOCSumUpdate(pSum, &Ctx, papszArgv[i], cch + 1);
     1598kOCSumInfo(pSum, 0, papszArgv[i]);
     1599}
     1600else fprintf(stderr, "kOCEntryCalcArgvSum: Ignoring '%s'\n", papszArgv[i]);
    15881601    }
    15891602    kOCSumFinalize(pSum, &Ctx);
     
    17611774                    KOCSUM Sum;
    17621775                    kOCEntryCalcArgvSum(pEntry, (const char * const *)pEntry->Old.papszArgvCompile,
    1763                                         pEntry->Old.cArgvCompile, pEntry->Old.pszObjName, &Sum);
     1776                                        pEntry->Old.cArgvCompile, pEntry->Old.pszObjName, pEntry->Old.pszCppName,
     1777                                        &Sum);
    17641778                    fBad = !kOCSumIsEqual(&pEntry->Old.SumCompArgv, &Sum);
    17651779                }
     
    19481962    pEntry->New.papszArgvCompile[i] = NULL; /* for exev/spawnv */
    19491963
    1950     kOCEntryCalcArgvSum(pEntry, papszArgvCompile, cArgvCompile, pEntry->New.pszObjName, &pEntry->New.SumCompArgv);
     1964fprintf(stderr, "kOCEntrySetCompileArgv: '%s' '%s'", pEntry->New.pszObjName, pEntry->New.pszCppName);
     1965    kOCEntryCalcArgvSum(pEntry, papszArgvCompile, cArgvCompile, pEntry->New.pszObjName, pEntry->New.pszCppName,
     1966                        &pEntry->New.SumCompArgv);
    19511967    kOCSumInfo(&pEntry->New.SumCompArgv, 4, "comp-argv");
     1968fprintf(stderr, "kOCEntrySetCompileArgv: done\n");
    19521969
    19531970    /*
     
    44464463    pEntry = kOCEntryCreate(pszEntryFile);
    44474464    kOCEntryRead(pEntry);
     4465    kOCEntrySetCppName(pEntry, pszPreCompName);
    44484466    kOCEntrySetCompileObjName(pEntry, pszObjName);
    44494467    kOCEntrySetCompileArgv(pEntry, papszArgvCompile, cArgvCompile);
    44504468    kOCEntrySetTarget(pEntry, pszTarget);
    4451     kOCEntrySetCppName(pEntry, pszPreCompName);
    44524469    kOCEntrySetPipedMode(pEntry, fRedirPreCompStdOut, fRedirCompileStdIn, pszNmPipeCompile);
    44534470    kOCEntrySetDepFilename(pEntry, pszMakeDepFilename, fMakeDepFixCase, fMakeDepQuiet, fMakeDepGenStubs);
Note: See TracChangeset for help on using the changeset viewer.