remove most external function calls (except io)
[compress.git] / code.c
CommitLineData
c9987f3b
LM
1#include "debug.h"
2
3#include "code.h"
4
5/* concatenate code */
6
7int codcat (char *dst, size_t n, char *src)
8{
9 while ((*dst != 0) && (n > 0)) {
10 n--;
11 dst++;
12 }
13
14 return (n > 0) ? codcpy (dst, n, src) : -1;
15}
16
17/* compare 2 codes */
18
19int codcmp (char *cod1, char *cod2)
20{
21 int i = -1;
22
23 do {
24 i++;
25 if (cod1[i] != cod2[i]) {
26 return (cod1[i] < cod2[i]) ? -1 : 1;
27 }
28 } while (cod1[i] != 0);
29
30 return 0;
31}
32
33/* copy code */
34
35int codcpy (char *dst, size_t n, char *src)
36{
37 size_t i;
38
39 for (i = 0; i < n; i++) {
40 dst[i] = src[i];
41 if (src[i]== 0) {
42 return i;
43 }
44 }
45 VERBOSE (ERROR, printf ("Buffer too short\n"));
46
47 return -1;
48}
49
50/* code length */
51
52int codlen (char *code)
53{
54 int i = 0;
55
56 while (code[i] != 0) {
57 i++;
58 }
59
60 return i;
61}
62
63// vim: ts=4 sw=4 et