#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include "chain.h"
#define NODE_TYP_DIR 0
#define NODE_TYP_FILE 1
#define NODE_TYP_LINK 2
typedef struct t_nodeent
{
struct t_nodeent *parent;
struct t_nodeent *root;
struct t_nodeent **children;
char *name; /* = basename () */
char *dir; /* = dirname () */
time_t ctime, mtime;
int type;
} t_nodeent;
element *demochain;
int scannode(char *s, t_nodeent *node)
{
/*char *tmps=(char *)malloc(strlen(node->name)+strlen(node->dir)+2);
statbuf statinfos;
strcpy(tmps, node->name);
strcat(tmps, "/");
strcat(tmps, node->dir);
stat(tmps, &statinfos);
if (S_ISDIR(statinfos))
{
}
else
{
}
*/
}
int strcomp(char *s1, char *s2)
{
int i,r;
r=0;
i=strlen(s1);
i=strlen(s2)<i?strlen(s2):i;
while ((*s1==*s2) && (i>0))
{
s1++;
s2++;
i--;
}
if (*s1>*s2)
r=1;
else
if (*s2>*s1)
r=-1;
return(r);
}
void addstring(char *s)
{
int i;
element *e=head(demochain);
while (e->next!=NULL)
{
i=strcomp((char *)e->next->cur,s);
if ((i>0))
{
printf("%s < %s.\n",s,e->cur);
break;
}
e=e->next;
}
demochain=addelement(s,strlen(s)+1,e);
}
element *findstring(char *s)
{
element *e=head(demochain);
while (e->next!=NULL)
{
e=e->next;
if (strcomp(s, (char *)e->cur) == 0)
break;
}
return(e);
}
void dumpchain()
{
element *e=head(demochain);
/*element *f=tail(demochain);*/
int i=0;
while (e->next!=NULL)
{
e=e->next;
/* f=f->prev; */
if (e->cur!=NULL)
printf("Element e[%d] = '%s'\n", ++i, e->cur);
/* printf("Element e[%d] = '%s' f[%d]='%s'\n", ++i, e->cur, i, f->cur);*/
}
}
void doinput()
{
char c[255];
strcpy(c,"TEST");
while (strcmp(c,".")!=0)
{
printf("TEXT [or . to finish]: ");
scanf("%200s",c);
addstring(c);
dumpchain();
}
}
int main(int argc, char **argv)
{
printf("Hallo Welt.\n");
printf("strcmp('a','a')=%d\n",strcomp("a","a"));
printf("strcmp('a','b')=%d\n",strcomp("a","b"));
printf("strcmp('b','a')=%d\n",strcomp("b","a"));
printf("strcmp('ab','aa')=%d\n",strcomp("ab","aa"));
printf("strcmp('acc','axt')=%d\n",strcomp("acc","axt"));
printf("strcmp('abcdef', '')=%d\n",strcomp("abcdef",""));
demochain=newchain();
dumpchain();
doinput();
return(0);
}
syntax highlighted by Code2HTML, v. 0.9.1