Rev 3150 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3150 | Rev 3152 | ||
---|---|---|---|
Line 590... | Line 590... | ||
590 | { |
590 | { |
591 | copystr(temp_, #path_); |
591 | copystr(temp_, #path_); |
592 | if (somelen) path_[somelen]=NULL; |
592 | if (somelen) path_[somelen]=NULL; |
Line 593... | Line 593... | ||
593 | 593 | ||
594 | if (buf) free(buf); |
594 | if (buf) free(buf); |
595 | buf = malloc(512); |
595 | buf = malloc(32); |
596 | errornum=ReadDir(0, buf, #path_); |
596 | errornum=ReadDir(0, buf, #path_); |
597 | if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè |
597 | if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè |
598 | { |
598 | { |
599 | HistoryPath(ADD_NEW_PATH); |
599 | HistoryPath(ADD_NEW_PATH); |
600 | GoBack(); |
600 | GoBack(); |
601 | Write_Error(errornum); |
601 | Write_Error(errornum); |
602 | return; |
602 | return; |
603 | } |
603 | } |
604 | count = ESDWORD[buf+8]; |
604 | count = ESDWORD[buf+8]; |
605 | buf = realloc(count * 304 + 512, buf); //ïî÷åìó 32? |
605 | buf = realloc(count * 304 + 32, buf); //ïî÷åìó 32? |
606 | ReadDir(count, buf, #path_); |
606 | ReadDir(count, buf, #path_); |
607 | count=EBX; |
- | |
608 | if (count>sizeof(file_mas)) count=sizeof(file_mas); |
607 | count=EBX; |
609 | } |
608 | } |
610 | if (count<>-1) |
609 | if (count<>-1) |
611 | { |
610 | { |
612 | //debug("successfully \n"); |
611 | //debug("successfully \n"); |
Line 631... | Line 630... | ||
631 | 630 | ||
632 | inline Sorting() |
631 | inline Sorting() |
633 | { |
632 | { |
Line 634... | Line 633... | ||
634 | dword k=0, l=1; |
633 | dword k=0, l=1; |
635 | 634 | ||
636 | if (!strcmp(#path,"/")) //|| (count > 5000) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/" |
635 | if (!strcmp(#path,"/")) || (count > 5000) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/" |
637 | { |
636 | { |
638 | FOR(k=1;k |
637 | FOR(k=1;k |
Line 657... | Line 656... | ||
657 | //Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû |
656 | //Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû |
658 | Sort_by_Name(0,k-1); |
657 | Sort_by_Name(0,k-1); |
659 | IF (sort_num==1) Sort_by_Name(k,count-1); |
658 | IF (sort_num==1) Sort_by_Name(k,count-1); |
660 | IF (sort_num==2) Sort_by_Type(k,count-1); |
659 | IF (sort_num==2) Sort_by_Type(k,count-1); |
661 | IF (sort_num==3) Sort_by_Size(k,count-1); |
660 | IF (sort_num==3) Sort_by_Size(k,count-1); |
662 | if (strcmp(file_mas[0]*304+buf+72,"..")<>0) //åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà |
661 | //åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà |
663 | { |
- | |
664 | FOR(k--; k>0; k--;) { IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]> |
662 | IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]> |
665 | } |
- | |
666 | } |
663 | } |
Line 667... | Line 664... | ||
667 | 664 | ||
668 | 665 |