Changeset 945 for trunk/dll/misc.c


Ignore:
Timestamp:
Feb 10, 2008, 7:57:29 PM (18 years ago)
Author:
Gregg Young
Message:

Cleanup of direct edit of subjects and longname fix (ticket 210)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/misc.c

    r940 r945  
    719719          USHORT len;
    720720          CHAR *eaval;
    721           LONG retlen;
     721          LONG retlen;
     722          PSZ psz;
    722723
    723724          retlen = WinQueryWindowText(hwndMLE, sizeof(szSubject), szSubject);
    724725          szSubject[retlen + 1] = 0;
    725726          bstrip(szSubject);
    726           if (pci->pszSubject != NullStr)
    727             pci->pszSubject = xrealloc(pci->pszSubject, retlen + 1, pszSrcFile, __LINE__);
     727          if (pci->pszSubject != NullStr) {
     728            if (retlen == 0) {
     729              psz = pci->pszSubject;
     730              pci->pszSubject = NullStr;
     731              xfree(psz);
     732            }
     733            else
     734              pci->pszSubject = xrealloc(pci->pszSubject, retlen + 1, pszSrcFile, __LINE__);
     735          }
    728736          else
    729             pci->pszSubject = xstrdup(szSubject, pszSrcFile, __LINE__);
     737            pci->pszSubject = xmalloc(retlen + 1, pszSrcFile, __LINE__);
    730738          len = strlen(szSubject);
    731739          if (len)
     
    770778
    771779          CHAR longname[CCHMAXPATHCOMP];
    772           LONG retlen;
     780          LONG retlen;
     781          PSZ psz;
    773782
    774783          *longname = 0;
     
    778787          bstrip(longname);
    779788          WinSetWindowText(hwndMLE, longname);
    780           if (pci->pszLongName != NullStr)
    781             pci->pszLongName = xrealloc(pci->pszLongName, retlen + 1, pszSrcFile, __LINE__);
     789          if (pci->pszLongName != NullStr) {
     790            if (retlen == 0) {
     791              psz = pci->pszLongName;
     792              pci->pszLongName = NullStr;
     793              xfree(psz);
     794            }
     795            else
     796              pci->pszLongName = xrealloc(pci->pszLongName, retlen + 1, pszSrcFile, __LINE__);
     797          }
    782798          else
    783             pci->pszLongName = xstrdup(longname, pszSrcFile, __LINE__);
     799            pci->pszLongName = xmalloc(retlen + 1, pszSrcFile, __LINE__);
    784800          return (MRESULT) WriteLongName(pci->pszFileName, longname);
    785801        }
Note: See TracChangeset for help on using the changeset viewer.