#ident "$URL: svn://elmer/devel/SVN/SDDAS/trunk/libant/StrHierFind.c $ %D% SwRI" /* StrHierFind.c */ #include /* for FILE i/o */ #include /* for strchr,etc. */ #include "LinkList.h" /* for LinkList,StrHier,etc. */ #include "ant.h" /* for LinkList,StrHier,etc. */ #include "Destroy.h" /* for LinkList,StrHier,etc. */ #define MAXSTR 80 /* longest text line */ int StrHierCompareStr(char *str,StrHier hier) { return strcmp(str,SNAME(hier)); } /* StrHierFind */ StrHier StrHierFind(StrHier hier,char *str,LinkFun compare) { if (SUBLIST(hier)) return (StrHier)LinkFind(SUBLIST(hier),str,compare); else return NULL; } /* StrHierFindByStr */ StrHier StrHierFindByStr(StrHier hier,char *str) { return StrHierFind(hier,str,(LinkFun)StrHierCompareStr); } StrHier StrHierAddChild(StrHier parent,char *str) { StrHierNode *node; /* new node for string hierarchy */ parent->sublist = LinkAppend(parent->sublist, node = StrHierNodeCreate(str)); return node; }