| 12345678910111213141516171819202122232425262728293031 |
- IMPLEMENTATION MODULE CStr;
- FROM SYSTEM IMPORT ADDRESS;
- PROCEDURE m2_c_strlen (s : ADDRESS) : INTEGER;
- EXTERNAL;
- PROCEDURE m2_cstr_copy (VAR dst : ARRAY OF CHAR;
- src : ADDRESS) : CARDINAL;
- EXTERNAL;
- PROCEDURE Length (s : CString) : CARDINAL;
- VAR n : INTEGER;
- BEGIN
- IF s = NIL THEN RETURN 0 END;
- n := m2_c_strlen(s);
- IF n < 0 THEN RETURN 0 END;
- RETURN VAL(CARDINAL, n)
- END Length;
- PROCEDURE Copy (s : CString; VAR dst : ARRAY OF CHAR) : CARDINAL;
- BEGIN
- RETURN m2_cstr_copy(dst, s)
- END Copy;
- PROCEDURE IsNil (s : CString) : BOOLEAN;
- BEGIN
- RETURN s = NIL
- END IsNil;
- END CStr.
|