Changeset 747


Ignore:
Timestamp:
Jul 31, 2007, 12:53:43 AM (13 years ago)
Author:
Gregg Young
Message:

Updates to direct editting code Subject and longnme appear to work fine. The filename doesn't include the path so the edit fails

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/misc.c

    r743 r747  
    679679          EAOP2 eaop;
    680680          PFEA2LIST pfealist = NULL;
    681           CHAR szSubject[256];
     681          CHAR szSubject[2048];
    682682          ULONG ealen;
    683683          USHORT len;
    684           CHAR *eaval;
    685 
    686           WinQueryWindowText(hwndMLE, 40, szSubject);
    687           szSubject[39] = 0;
     684          CHAR *eaval;
     685          LONG retlen;
     686
     687          retlen = WinQueryWindowText(hwndMLE, sizeof(szSubject), szSubject);
     688          szSubject[retlen + 1] = 0;
    688689          chop_at_crnl(szSubject);
    689690          bstrip(szSubject);
     
    694695          else
    695696            ealen = sizeof(FEALIST) + 9;
    696           rc = DosAllocMem((PPVOID) & pfealist, ealen + 64L,
     697          rc = DosAllocMem((PPVOID) & pfealist, ealen + 64,
    697698                           OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE);
    698699          if (rc)
     
    702703            memset(pfealist, 0, ealen + 1);
    703704            pfealist->cbList = ealen;
    704             pfealist->list[0].oNextEntryOffset = 0L;
     705            pfealist->list[0].oNextEntryOffset = 0;
    705706            pfealist->list[0].fEA = 0;
    706707            pfealist->list[0].cbName = 8;
     
    732733
    733734          CHAR longname[CCHMAXPATHCOMP];
     735        LONG retlen;
    734736
    735737          *longname = 0;
    736           WinQueryWindowText(hwndMLE, sizeof(longname), longname);
    737           longname[CCHMAXPATHCOMP - 1] = 0;
     738          retlen = WinQueryWindowText(hwndMLE, sizeof(longname), longname);
     739          longname[retlen + 1] = 0;
    738740          chop_at_crnl(longname);
    739           WinSetWindowText(hwndMLE, longname);
     741          WinSetWindowText(hwndMLE, longname);
     742          pci->pszFileName = xrealloc(pci->pszFileName, sizeof(longname), pszSrcFile, __LINE__);
    740743          return (MRESULT) WriteLongName(pci->pszFileName, longname);
    741744        }
    742         else {
    743           WinQueryWindowText(hwndMLE, sizeof(szData), szData);
     745        else {
     746          pci->pszFileName = pci->pszDisplayName;
     747          WinQueryWindowText(hwndMLE, sizeof(szData), szData);
     748          pci->pszFileName = xrealloc(pci->pszFileName, sizeof(szData), pszSrcFile, __LINE__);
    744749          if (strchr(szData, '?') ||
    745750              strchr(szData, '*') || IsRoot(pci->pszFileName))
    746751            return (MRESULT) FALSE;
    747           /* If the text changed, rename the file system object. */
     752          /* If the text changed, rename the file system object. */
    748753          chop_at_crnl(szData);
    749           bstrip(szData);
     754          bstrip(szData);
    750755          if (!IsFullName(szData))
    751756            Runtime_Error(pszSrcFile, __LINE__, "bad name");
     
    754759                                 FIL_QUERYFULLNAME,
    755760                                 testname, sizeof(testname)))
    756               return FALSE;
     761                return FALSE;
    757762            if (DosQueryPathInfo(pci->pszFileName,
    758763                                 FIL_QUERYFULLNAME, szData, sizeof(szData)))
     
    13811386          QMSG qmsg;
    13821387          for (;;) {
    1383             DosSleep(1L);
     1388            DosSleep(1);
    13841389            rc = WinPostMsg(h, msg, mp1, mp2);
    13851390            if (rc)
Note: See TracChangeset for help on using the changeset viewer.