18 printf(
"intcmp a = %ld b = %ld a - b = %ld\n", a ,b , a - b);
35 printf(
"is_int *s = %s\n",*s);
45 if ((*sgn=(*stmp==
'-'))) {
50 printf(
"is_int = FALSE\n");
58 printf(
"is_int = FALSE\n");
62 while (*stmp==
'0') stmp++;
65 if (*stmp<'0' || *stmp>
'9')
68 printf(
"is_int = FALSE\n");
77 printf(
"is_int = TRUE *len = %ld *sgn = %ld *s = %s\n",*len,*sgn,*s);
92 long len1,len2,sgn1,sgn2;
100 if(*(str1+1)==0 && *(str2+1)==0)
101 return *str1 - *str2;
107 if (
is_int(&s1,&len1,&sgn1)) {
108 if (
is_int(&s2,&len2,&sgn2)) {
109 if (sgn1!=sgn2)
return (sgn2-sgn1);
110 if (len1!=len2)
return (len1-len2);
111 return strcmp(s1,s2);
117 if (
is_int(&s2,&len2,&sgn2))
120 return strcmp(s1,s2);
134 if (s==
one || s==
two)
return s;
160 if (s==
one || s==
two)
return s;
189 long heapflag, copystr, bkflag;
210 cmp =
intcmp((
long)keystr,(
long) (*tree)->key);
212 cmp =
featcmp(keystr,(*tree)->key);
214 cmp = strcmp(keystr,(*tree)->key);
216 Errorline(
"Bad comp in general_insert.\n");
219 tree=(&((*tree)->left));
223 Errorline(
"attempt to overwrite an existing feature; ignored.\n");
230 tree=(&((*tree)->right));
362 cmp =
intcmp((
long)keystr,(
long) (tree)->key);
364 cmp =
featcmp(keystr,(tree)->key);
366 cmp = strcmp(keystr,(tree)->key);
368 Errorline(
"Bad comp in general_insert.\n");
479 else if ((*n)->left) {
ptr_node bk_stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
void push_ptr_value(type_ptr t, GENERIC *p)
push_ptr_value
ptr_node bk2_stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
char * stack_copy_string(char *s)
ptr_node find(long comp, char *keystr, ptr_node tree)
void push_ptr_value_global(type_ptr t, GENERIC *p)
push_ptr_value_global
ptr_node find_data(GENERIC p, ptr_node t)
char * heap_copy_string(char *s)
void heap_insert_copystr(char *keystr, ptr_node *tree, GENERIC info)
char * heap_ncopy_string(char *s, int n)
void Errorline(char *format,...)
ptr_node stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
ptr_node heap_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
long intcmp(long a, long b)
ptr_node general_insert(long comp, char *keystr, ptr_node *tree, GENERIC info, long heapflag, long copystr, long bkflag)
long featcmp(char *str1, char *str2)
long is_int(char **s, long *len, long *sgn)
void delete_attr(char *s, ptr_node *n)
void stack_insert_copystr(char *keystr, ptr_node *tree, GENERIC info)
GENERIC heap_alloc(long s)
heap_alloc
GENERIC stack_alloc(long s)
stack_alloc