Changeset 741


Ignore:
Timestamp:
Jul 29, 2007, 8:52:47 PM (13 years ago)
Author:
Gregg Young
Message:

Compare dirs crash fix shows filenames but wastes memory (CCHMAXPATH) and displays odd chars for file names on non matched files plus 0 in all other columns

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/comp.c

    r739 r741  
    338338
    339339  case WM_DESTROY:
    340     DosSleep(100L);
     340    DosSleep(100);
    341341    break;
    342342  }
     
    792792      RECORDINSERT ri;
    793793      CHAR *pch;
    794       CHAR fname[CCHMAXPATH];
    795794
    796795      WinCancelShutdown(hmq, TRUE);
     
    10271026          //pcir->pszFileName = pcir->szFileName;
    10281027          // 23 Jul 07 SHL fixme to set pszIcon after pszFileName allocated
    1029           // 23 Jul 07 SHL fixme to set pszLongName after pszFileName allocated
     1028          // 23 Jul 07 SHL fixme to set pszLongName after pszFileName allocated
     1029          pcir->pszFileName = xmalloc(CCHMAXPATH, pszSrcFile, __LINE__);//29 Jul 07 GKY Temp fix to crash
    10301030          pcir->rc.pszIcon = pcir->pszFileName;
    10311031          pcir->rc.hptrIcon = (HPOINTER) 0;
    1032           pcir->pszDisplayName = NULL;  // Not used here
    1033           //pcir->pszSubject = pcir->szSubject;
    1034           //pcir->pszLongname = pcir->szLongname;
     1032          pcir->pszDisplayName = pcir->pszFileName;     // Not used here
     1033          pcir->pszSubject = xmalloc(CCHMAXPATH, pszSrcFile, __LINE__);
     1034          //pcir->pszLongname = pcir->pszFileName;
    10351035          pcir->pszDispAttr = pcir->szDispAttr;
    10361036          pcil->hwndCnr = hwndLeft;
    1037           //pcil->pszFileName = pcil->szFileName;
     1037          //pcil->pszFileName = pcil->szFileName;
     1038          pcil->pszFileName = xmalloc(CCHMAXPATH, pszSrcFile, __LINE__);//29 Jul 07 GKY Temp fix to crash
    10381039          pcil->rc.pszIcon = pcil->pszFileName;
    10391040          pcil->rc.hptrIcon = (HPOINTER) 0;
    10401041          pcil->pszDispAttr = pcil->szDispAttr;
    1041           pcil->pszDisplayName = NULL;  // Not used here
    1042           //pcil->pszSubject = pcil->szSubject;
    1043           //pcil->pszLongname = pcil->szLongname;
     1042          pcil->pszDisplayName = pcil->pszFileName;     // Not used here
     1043          pcil->pszSubject = xmalloc(CCHMAXPATH, pszSrcFile, __LINE__) ;
     1044          //pcil->pszLongname = pcil->pszFileName;
    10441045          if ((filesl && filesl[l]) && (filesr && filesr[r])) {
    10451046            x = stricmp(filesl[l]->fname, filesr[r]->fname);
    10461047            if (!x) {
    10471048                // Same
    1048               sprintf(fname, "%s%s%s", cmp->leftdir,
     1049              sprintf(pcil->pszFileName, "%s%s%s", cmp->leftdir,
    10491050                      (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ?
    10501051                      NullStr : "\\", filesl[l]->fname);
    10511052              // pcil->rc.hptrIcon    = hptrFile;
    1052               pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__);
     1053              pcil->pszFileName = pcil->pszFileName + lenl;
    10531054              pcil->attrFile = filesl[l]->attrFile;
    10541055              y = 0;
     
    10861087                }
    10871088              }
    1088               sprintf(fname, "%s%s%s", cmp->rightdir,
     1089              sprintf(pcir->pszFileName, "%s%s%s", cmp->rightdir,
    10891090                      (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ?
    10901091                      NullStr : "\\", filesr[r]->fname);
    1091               pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__);
     1092              pcir->pszFileName = pcir->pszFileName + lenr;
    10921093              pcir->attrFile = filesr[r]->attrFile;
    10931094              // pcir->rc.hptrIcon    = hptrFile;
     
    11841185            else if (x < 0) {
    11851186              // Just on left
    1186               sprintf(fname, "%s%s%s", cmp->leftdir,
     1187              sprintf(pcil->pszFileName, "%s%s%s", cmp->leftdir,
    11871188                      (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ?
    11881189                      NullStr : "\\", filesl[l]->fname);
    1189               pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__);
     1190              pcil->pszFileName = pcil->pszFileName + lenl;
    11901191              pcil->attrFile = filesl[l]->attrFile;
    11911192              // pcil->rc.hptrIcon    = hptrFile;
     
    12281229            else {
    12291230              // Just on right
    1230               sprintf(fname, "%s%s%s", cmp->rightdir,
     1231              sprintf(pcir->pszFileName, "%s%s%s", cmp->rightdir,
    12311232                      (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ?
    12321233                      NullStr : "\\", filesr[r]->fname);
    1233               pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__);
     1234              pcir->pszFileName = pcir->pszFileName + lenr;
    12341235              pcir->attrFile = filesr[r]->attrFile;
    12351236              // pcir->rc.hptrIcon    = hptrFile;
     
    12741275          else if (filesl && filesl[l]) {
    12751276            // Just on left
    1276             sprintf(fname, "%s%s%s", cmp->leftdir,
     1277            sprintf(pcil->pszFileName, "%s%s%s", cmp->leftdir,
    12771278                    (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ?
    12781279                    NullStr : "\\", filesl[l]->fname);
    1279             pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__);
     1280            pcil->pszFileName = pcil->pszFileName + lenl;
    12801281            pcil->attrFile = filesl[l]->attrFile;
    12811282            // pcil->rc.hptrIcon    = hptrFile;
     
    13181319            /* filesr && filesr[r] */
    13191320            // Just on right
    1320             sprintf(fname, "%s%s%s", cmp->rightdir,
     1321            sprintf(pcir->pszFileName, "%s%s%s", cmp->rightdir,
    13211322                    (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ?
    13221323                    NullStr : "\\", filesr[r]->fname);
    1323             pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__);
     1324            pcir->pszFileName = pcir->pszFileName + lenr;
    13241325            pcir->attrFile = filesr[r]->attrFile;
    13251326            // pcir->rc.hptrIcon    = hptrFile;
Note: See TracChangeset for help on using the changeset viewer.