Subversion Repositories Kolibri OS

Rev

Rev 9628 | Rev 9903 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9628 Rev 9659
Line 30... Line 30...
30
 
30
 
31
 
31
 
32
PROCEDURE streq* (s1, s2: INTEGER; n: INTEGER): BOOLEAN;
32
PROCEDURE streq* (s1, s2: INTEGER; n: INTEGER): BOOLEAN;
-
 
33
VAR
33
VAR
34
    c1, c2: WCHAR;
-
 
35
    res: BOOLEAN;
34
    c1, c2: WCHAR;
36
BEGIN
35
BEGIN
37
	res := TRUE;
36
    WHILE n > 0 DO
38
    WHILE (n > 0) & res DO
37
        SYSTEM.GET(s1, c1);
39
        SYSTEM.GET(s1, c1);
38
        SYSTEM.GET(s2, c2);
40
        SYSTEM.GET(s2, c2);
39
        INC(s1, 2);
41
        res := c1 = c2;
40
        INC(s2, 2);
42
        INC(s1, SYSTEM.SIZE(WCHAR));
41
        IF c1 = c2 THEN
-
 
42
            DEC(n)
-
 
43
        ELSE
43
        INC(s2, SYSTEM.SIZE(WCHAR));
44
            n := 0
-
 
45
        END
44
        DEC(n)
46
    END
45
    END
Line 47... Line 46...
47
    RETURN c1 = c2
46
    RETURN res
48
END streq;
47
END streq;
49
 
48
 
50
 
49
 
51
PROCEDURE append* (VAR s1: ARRAY OF WCHAR; s2: ARRAY OF WCHAR);
50
PROCEDURE append* (VAR s1: ARRAY OF WCHAR; s2: ARRAY OF WCHAR);
52
VAR
51
VAR
Line 53... Line 52...
53
    n1, n2, i, j: INTEGER;
52
    n, i, j: INTEGER;
Line 54... Line 53...
54
BEGIN
53
BEGIN
55
    n1 := LENGTH(s1);
-
 
56
    n2 := LENGTH(s2);
54
    j := LENGTH(s1);
57
 
55
    n := LENGTH(s2);
58
    ASSERT(n1 + n2 < LEN(s1));
56
 
59
 
57
    ASSERT(j + n < LEN(s1));
60
    i := 0;
58
 
Line 69... Line 67...
69
END append;
67
END append;
Line 70... Line 68...
70
 
68
 
71
 
69
 
72
PROCEDURE append8* (VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR);
70
PROCEDURE append8* (VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR);
73
VAR
71
VAR
74
    n1, n2, i, j: INTEGER;
72
    n, i, j: INTEGER;
75
BEGIN
73
BEGIN
Line 76... Line 74...
76
    n1 := LENGTH(s1);
74
    j := LENGTH(s1);
Line 77... Line 75...
77
    n2 := LENGTH(s2);
75
    n := LENGTH(s2);
78
 
-
 
79
    ASSERT(n1 + n2 < LEN(s1));
76
 
80
 
77
    ASSERT(j + n < LEN(s1));
81
    i := 0;
78
 
82
    j := n1;
79
    i := 0;
83
    WHILE i < n2 DO
80
    WHILE i < n DO