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 |