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
)
26 while ((*cod1
!= 0) || (*cod2
!= 0)) {
27 int test
= *cod1
++ - *cod2
++;
29 return (test
< 0) ? -1 : 1;
38 int codcpy (char *dst
, int n
, char *src
)
42 for (i
= 0; i
< n
; i
++) {
48 VERBOSE (ERROR
, PRINTERR ("Buffer too short\n"));
55 int codlen (char *code
)
59 while (code
[i
] != 0) {
68 leaf_t
*getleaf (int n
)
70 static leaf_t leafs
[NB_LEAFS
] = {0};
72 leaf_t
*pt
= (void *)0;
74 if (pos
+ n
< NB_LEAFS
) {
78 VERBOSE (ERROR
, PRINTERR ("No more leaf avaliable\n"));
84 /* vim: set ts=4 sw=4 et: */