Subversion Repositories Kolibri OS

Rev

Rev 7972 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3363 leency 1
 
2
{
9524 leency 3
	int j;
7422 leency 4
	int iss = a;
3363 leency 5
	int size1, size2;
7972 leency 6
	if (a >= b) return;
5606 pavelyakov 7
	size2 = items.get(b)*304 + buf+64;
7972 leency 8
	for (j = a; j <= b; j++) {
9
		size1 = items.get(j)*304 + buf+64;
10
		if (ESDWORD[size1] <= ESDWORD[size2]) { items.swap(iss,j);  iss++;}
11
	}
12
	Sort_by_Size (a, iss-2);
3363 leency 13
	Sort_by_Size (iss, b);
14
}
15
16
 
17
 
18
{
9524 leency 19
	int j;
7422 leency 20
	int isn = a;
3363 leency 21
	dword name2 = items.get(b)*304 + buf+72;
7972 leency 22
	if (a >= b) return;
5606 pavelyakov 23
	for (j = a; j <= b; j++) {
7878 leency 24
		if (strcmpi(items.get(j)*304 + buf+72, name2)<=0) { items.swap(isn,j);  isn++;}
7972 leency 25
	}
7878 leency 26
	Sort_by_Name(a, isn-2);
3363 leency 27
	Sort_by_Name(isn, b);
28
}
29
30
 
31
 
32
{
7422 leency 33
	int j;
34
	dword filename1, filename2, ext1, ext2;
3363 leency 35
	int n, isn = a;
36
	if (a >= b) return;
5606 pavelyakov 37
	filename2 = items.get(b)*304 + buf+72;
7972 leency 38
	for (j = a; j <= b; j++)
3363 leency 39
	{
40
		filename1 = items.get(j)*304 + buf+72;
7972 leency 41
3363 leency 42
 
43
		WHILE (n>0) && (ESBYTE[filename1+n]!='.') n--;
5631 pavelyakov 44
		if (n) ext1 = filename1+n+1; else ext1=0;
5606 pavelyakov 45
		n=strlen(filename2);
5631 pavelyakov 46
		n--;
47
		WHILE (n>0) && (ESBYTE[filename2+n]!='.') n--;
48
		if (n) ext2 = filename2+n+1; else ext2=0;
5606 pavelyakov 49
3363 leency 50
 
51
		if (n<0) { items.swap(isn, j); isn++;}
7972 leency 52
		if (!n) && (strcmp(filename1, filename2) <= 0) { items.swap(isn,j);  isn++;}
53
	}
3363 leency 54
	Sort_by_Type(a, isn-2);
55
	Sort_by_Type(isn, b);
56
}
57