8 #define NB_LEAFS ((NB_BYTES + 1) * NB_BYTES / 2)
10 /* concatenate code */
12 int codcat (char *dst
, int n
, char *src
)
14 while ((*dst
!= 0) && (n
> 0)) {
19 return (n
> 0) ? codcpy (dst
, n
, src
) : -1;
24 int codcmp (char *cod1
, char *cod2
)
30 if (cod1
[i
] != cod2
[i
]) {
31 return (cod1
[i
] < cod2
[i
]) ? -1 : 1;
33 } while (cod1
[i
] != 0);
40 int codcpy (char *dst
, int n
, char *src
)
44 for (i
= 0; i
< n
; i
++) {
50 VERBOSE (ERROR
, PRINTERR ("Buffer too short\n"));
57 int codlen (char *code
)
61 while (code
[i
] != 0) {
70 leaf_t
*getleaf (int n
)
72 static leaf_t leafs
[NB_LEAFS
] = {0};
74 leaf_t
*pt
= (void *)0;
76 if (pos
+ n
< NB_LEAFS
) {
80 VERBOSE (ERROR
, PRINTERR ("No more leaf avaliable\n"));
86 /* vim: set ts=4 sw=4 et: */