Changeset 174
- Timestamp:
- May 28, 2005, 7:37:24 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/filldir.c
r167 r174 18 18 25 May 05 SHL Rework FillInRecordFromFFB 19 19 25 May 05 SHL Rework FillTreeCnr 20 28 May 05 SHL Drop stale debug code 20 21 21 22 ***********************************************************************/ … … 650 651 * network file systems exhibit such a problem). 651 652 */ 652 { 653 register ULONG x; 654 653 register ULONG x; 654 655 if (stopflag && *stopflag) 656 goto Abort; 657 pByte = (PBYTE)paffbFound; 658 for (x = 0;;x < ulFileCnt) 659 { 660 pffbFile = (PFILEFINDBUF4)pByte; 661 if (!*pffbFile->achName || 662 (!filestoo && !(pffbFile->attrFile & FILE_DIRECTORY)) || 663 (((pffbFile->attrFile & FILE_DIRECTORY) && 664 pffbFile->achName[0] == '.') && 665 (!pffbFile->achName[1] || (pffbFile->achName[1] == '.' && 666 !pffbFile->achName[2])))) 667 { 668 ulFileCnt--; 669 } 670 else 671 papffbSelected[x++] = pffbFile; 672 if (!pffbFile->oNextEntryOffset) 673 { 674 ulFileCnt = x; 675 break; 676 } 677 pByte += pffbFile->oNextEntryOffset; 678 } 679 if (ulFileCnt) 680 { 655 681 if (stopflag && *stopflag) 656 682 goto Abort; 657 pByte = (PBYTE)paffbFound; 658 x = 0L; 659 while (x < ulFileCnt) 683 if (fSyncUpdates) 660 684 { 661 pffbFile = (PFILEFINDBUF4)pByte; 662 if (!*pffbFile->achName || 663 (!filestoo && !(pffbFile->attrFile & FILE_DIRECTORY)) || 664 (((pffbFile->attrFile & FILE_DIRECTORY) && 665 pffbFile->achName[0] == '.') && 666 (!pffbFile->achName[1] || (pffbFile->achName[1] == '.' && 667 !pffbFile->achName[2])))) 685 pciFirst = WinSendMsg(hwndCnr, CM_ALLOCRECORD, 686 MPFROMLONG(ulExtraBytes), 687 MPFROMLONG(ulFileCnt)); 688 if (pciFirst) 668 689 { 669 ulFileCnt--; 670 } 671 else 672 papffbSelected[x++] = pffbFile; 673 if (!pffbFile->oNextEntryOffset) 674 { 675 ulFileCnt = x; 676 break; 677 } 678 pByte += pffbFile->oNextEntryOffset; 679 } 680 if (ulFileCnt) 681 { 682 if (stopflag && *stopflag) 683 goto Abort; 684 if (fSyncUpdates) 685 { 686 pciFirst = WinSendMsg(hwndCnr, CM_ALLOCRECORD, 687 MPFROMLONG(ulExtraBytes), 688 MPFROMLONG(ulFileCnt)); 689 if (pciFirst) 690 register INT i; 691 692 pci = pciFirst; 693 ullTotalBytes = 0; 694 for(i = 0; i < ulFileCnt; i++) { 695 pffbFile = papffbSelected[i]; 696 ullBytes = FillInRecordFromFFB(hwndCnr,pci,pszFileSpec, 697 pffbFile,partial,dcd); 698 pci = (PCNRITEM)pci->rc.preccNextRecord; 699 ullTotalBytes += ullBytes; 700 } 701 if (ulFileCnt) 690 702 { 691 register INT i; 692 693 pci = pciFirst; 694 ullTotalBytes = 0; 695 for(i = 0; i < ulFileCnt; i++) { 696 pffbFile = papffbSelected[i]; 697 ullBytes = FillInRecordFromFFB(hwndCnr,pci,pszFileSpec, 698 pffbFile,partial,dcd); 699 if (rc) 700 { 701 pci = (PCNRITEM)pci->rc.preccNextRecord; 702 ullTotalBytes += ullBytes; 703 } 704 else 705 { 706 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__, 707 GetPString(IDS_FILLDIRERR1TEXT), 708 hwndCnr); 709 ulFileCnt--; 710 } 711 } 712 if (ulFileCnt) 703 memset(&ri,0,sizeof(RECORDINSERT)); 704 ri.cb = sizeof(RECORDINSERT); 705 ri.pRecordOrder = (PRECORDCORE) CMA_END; 706 ri.pRecordParent = (PRECORDCORE) pciParent; 707 ri.zOrder = (ULONG) CMA_TOP; 708 ri.cRecordsInsert = ulFileCnt; 709 ri.fInvalidateRecord = (!fSyncUpdates && dcd && 710 dcd->type == DIR_FRAME) ? 711 FALSE : TRUE; 712 if (!WinSendMsg(hwndCnr, 713 CM_INSERTRECORD, 714 MPFROMP(pciFirst), 715 MPFROMP(&ri))) 713 716 { 714 memset(&ri,0,sizeof(RECORDINSERT)); 715 ri.cb = sizeof(RECORDINSERT); 716 ri.pRecordOrder = (PRECORDCORE) CMA_END; 717 ri.pRecordParent = (PRECORDCORE) pciParent; 718 ri.zOrder = (ULONG) CMA_TOP; 719 ri.cRecordsInsert = ulFileCnt; 720 ri.fInvalidateRecord = (!fSyncUpdates && dcd && 721 dcd->type == DIR_FRAME) ? 722 FALSE : TRUE; 717 DosSleep(100L); 718 WinSetFocus(HWND_DESKTOP,hwndCnr); 723 719 if (!WinSendMsg(hwndCnr, 724 720 CM_INSERTRECORD, … … 726 722 MPFROMP(&ri))) 727 723 { 728 DosSleep(100L); 729 WinSetFocus(HWND_DESKTOP,hwndCnr); 730 if (!WinSendMsg(hwndCnr, 731 CM_INSERTRECORD, 732 MPFROMP(pciFirst), 733 MPFROMP(&ri))) { 734 735 { // SHL 736 CHAR sz[80]; 737 sprintf(sz, "rc = %d", rc); 738 WinMessageBox(HWND_DESKTOP, /* Parent window */ 739 HWND_DESKTOP, /* Owner window */ 740 sz, /* Message */ 741 "Debug", /* Title bar message */ 742 0, /* Message identifier */ 743 MB_ENTER | MB_ICONEXCLAMATION | MB_MOVEABLE); 744 } // SHL 745 746 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__, 747 GetPString(IDS_FILLDIRERR2TEXT)); 748 ok = FALSE; 749 ullTotalBytes = 0; 750 if (WinIsWindow((HAB)0,hwndCnr)) 724 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__, 725 GetPString(IDS_FILLDIRERR2TEXT)); 726 ok = FALSE; 727 ullTotalBytes = 0; 728 if (WinIsWindow((HAB)0,hwndCnr)) 729 { 730 pci = pciFirst; 731 while (pci) 751 732 { 752 pci = pciFirst; 753 while (pci) 754 { 755 pcit = (PCNRITEM)pci->rc.preccNextRecord; 756 WinSendMsg(hwndCnr, 757 CM_FREERECORD, 758 MPFROMP(&pci), 759 MPFROMSHORT(1)); 760 pci = pcit; 761 } 733 pcit = (PCNRITEM)pci->rc.preccNextRecord; 734 WinSendMsg(hwndCnr, 735 CM_FREERECORD, 736 MPFROMP(&pci), 737 MPFROMSHORT(1)); 738 pci = pcit; 762 739 } 763 740 } … … 765 742 } 766 743 } 767 else768 {769 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__,770 GetPString(IDS_FILLDIRERR3TEXT));771 ok = FALSE;772 ullTotalBytes = 0;773 }774 if (ok)775 {776 ullReturnBytes += ullTotalBytes;777 ulReturnFiles += ulFileCnt;778 }779 744 } 780 745 else 781 746 { 782 paffbTemp = realloc(paffbTotal,sizeof(FILEFINDBUF4) * 783 (ulFileCnt + ulTotal)); 784 if (paffbTemp) 785 { 786 paffbTotal = paffbTemp; 787 for(x = 0;x < ulFileCnt;x++) 788 paffbTotal[x + ulTotal] = *papffbSelected[x]; 789 ulTotal += ulFileCnt; 790 } 791 else 792 { 793 saymsg(MB_ENTER, 794 HWND_DESKTOP, 795 GetPString(IDS_ERRORTEXT), 796 GetPString(IDS_OUTOFMEMORY)); 797 break; 798 } 747 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__, 748 GetPString(IDS_FILLDIRERR3TEXT)); 749 ok = FALSE; 750 ullTotalBytes = 0; 751 } 752 if (ok) 753 { 754 ullReturnBytes += ullTotalBytes; 755 ulReturnFiles += ulFileCnt; 756 } 757 } 758 else 759 { 760 paffbTemp = realloc(paffbTotal,sizeof(FILEFINDBUF4) * 761 (ulFileCnt + ulTotal)); 762 if (paffbTemp) 763 { 764 paffbTotal = paffbTemp; 765 for(x = 0;x < ulFileCnt;x++) 766 paffbTotal[x + ulTotal] = *papffbSelected[x]; 767 ulTotal += ulFileCnt; 768 } 769 else 770 { 771 saymsg(MB_ENTER, 772 HWND_DESKTOP, 773 GetPString(IDS_ERRORTEXT), 774 GetPString(IDS_OUTOFMEMORY)); 775 break; 799 776 } 800 777 } … … 866 843 MPFROMP(pciFirst),MPFROMP(&ri))) 867 844 { 868 { // SHL869 CHAR sz[80];870 sprintf(sz, "rc = %d", rc);871 WinMessageBox(HWND_DESKTOP, /* Parent window */872 HWND_DESKTOP, /* Owner window */873 sz, /* Message */874 "Debug", /* Title bar message */875 0, /* Message identifier */876 MB_ENTER | MB_ICONEXCLAMATION | MB_MOVEABLE);877 } // SHL878 879 845 Win_Error(hwndCnr,HWND_DESKTOP,__FILE__,__LINE__, 880 846 GetPString(IDS_FILLDIRERR5TEXT));
Note:
See TracChangeset
for help on using the changeset viewer.