[digraphanalysis-cvs] digraphanalysis/src alias.c, alias.h,
Status: Planning
Brought to you by:
jbreker
|
From: Jeff B. <jb...@us...> - 2005-04-21 19:03:34
|
Update of /cvsroot/digraphanalysis/digraphanalysis/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29899 Modified Files: alias.c alias.h Log Message: implement aliaslist_add Index: alias.h =================================================================== RCS file: /cvsroot/digraphanalysis/digraphanalysis/src/alias.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** alias.h 17 Apr 2005 03:05:58 -0000 1.3 --- alias.h 21 Apr 2005 19:03:12 -0000 1.4 *************** *** 38,41 **** --- 38,42 ---- }; + int alias_compare(struct alias *, struct alias *); void alias_free(struct alias *); struct alias *alias_new(char *, char *, struct node *); Index: alias.c =================================================================== RCS file: /cvsroot/digraphanalysis/digraphanalysis/src/alias.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** alias.c 21 Apr 2005 18:44:42 -0000 1.4 --- alias.c 21 Apr 2005 19:03:12 -0000 1.5 *************** *** 21,24 **** --- 21,29 ---- #include "alias.h" + int + alias_compare(struct alias *alias1, struct alias *alias2) + { + } + void alias_free(struct alias *alias) *************** *** 61,65 **** aliaslist_add(struct aliaslist *alias_list, struct alias *alias) { ! } --- 66,97 ---- aliaslist_add(struct aliaslist *alias_list, struct alias *alias) { ! int i; ! struct aliaslink *alias_iter, *alias_link; ! ! alias_link = (struct aliaslink *) malloc(sizeof(struct aliaslink)); ! alias_link->alias = alias; ! ! if(LIST_EMPTY(alias_list)) ! LIST_INSERT_HEAD(alias_list, alias_link, list); ! else ! LIST_FOREACH(alias_iter, alias_list, list) ! { ! if((i = alias_compare(alias, alias_iter->alias)) < 0) ! { ! if(alias_iter == LIST_FIRST(alias_list)) ! LIST_INSERT_HEAD(alias_list, alias_link, list); ! else ! LIST_INSERT_BEFORE(alias_iter, alias_link, list); ! break; ! } ! else ! if(i == 0) ! return alias_iter->alias; ! else ! if(LIST_NEXT(alias_iter, list) == NULL) ! LIST_INSERT_AFTER(alias_iter, alias_link, list); ! } ! ! return alias; } |