Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=724c30edf36c172abbe695046df1bcf2d10c4115
commit 724c30edf36c172abbe695046df1bcf2d10c4115 Author: Michel Hermier <herm...@frugalware.org> Date: Wed May 1 16:48:12 2013 +0200 libpacman: Move _pacman_splitdep next to _pacman_depcmp, and const'ify package constraint string parameter. diff --git a/lib/libpacman/deps.c b/lib/libpacman/deps.c index 677d119..75ad692 100644 --- a/lib/libpacman/deps.c +++ b/lib/libpacman/deps.c @@ -59,6 +59,53 @@ static void _pacman_graph_free(void *data) FREE(graph); } +int _pacman_splitdep(const char *depstr, pmdepend_t *depend) +{ + char *str = NULL; + char *ptr = NULL; + + if(depstr == NULL || depend == NULL) { + return(-1); + } + + depend->mod = 0; + depend->name[0] = 0; + depend->version[0] = 0; + + str = strdup(depstr); + + if((ptr = strstr(str, ">="))) { + depend->mod = PM_DEP_MOD_GE; + } else if((ptr = strstr(str, "<="))) { + depend->mod = PM_DEP_MOD_LE; + } else if((ptr = strstr(str, "="))) { + depend->mod = PM_DEP_MOD_EQ; + } else if((ptr = strstr(str, "<"))) { + depend->mod = PM_DEP_MOD_LT; + } else if((ptr = strstr(str, ">"))) { + depend->mod = PM_DEP_MOD_GT; + } else { + /* no version specified - accept any */ + depend->mod = PM_DEP_MOD_ANY; + STRNCPY(depend->name, str, PKG_NAME_LEN); + } + + if(ptr == NULL) { + FREE(str); + return(0); + } + *ptr = '\0'; + STRNCPY(depend->name, str, PKG_NAME_LEN); + ptr++; + if(depend->mod == PM_DEP_MOD_GE || depend->mod == PM_DEP_MOD_LE) { + ptr++; + } + STRNCPY(depend->version, ptr, PKG_VERSION_LEN); + FREE(str); + + return(0); +} + static int _pacman_depcmp(pmpkg_t *pkg, pmdepend_t *dep) { @@ -413,53 +460,6 @@ pmlist_t *_pacman_checkdeps(pmtrans_t *trans, unsigned char op, pmlist_t *packag return(baddeps); } -int _pacman_splitdep(char *depstr, pmdepend_t *depend) -{ - char *str = NULL; - char *ptr = NULL; - - if(depstr == NULL || depend == NULL) { - return(-1); - } - - depend->mod = 0; - depend->name[0] = 0; - depend->version[0] = 0; - - str = strdup(depstr); - - if((ptr = strstr(str, ">="))) { - depend->mod = PM_DEP_MOD_GE; - } else if((ptr = strstr(str, "<="))) { - depend->mod = PM_DEP_MOD_LE; - } else if((ptr = strstr(str, "="))) { - depend->mod = PM_DEP_MOD_EQ; - } else if((ptr = strstr(str, "<"))) { - depend->mod = PM_DEP_MOD_LT; - } else if((ptr = strstr(str, ">"))) { - depend->mod = PM_DEP_MOD_GT; - } else { - /* no version specified - accept any */ - depend->mod = PM_DEP_MOD_ANY; - STRNCPY(depend->name, str, PKG_NAME_LEN); - } - - if(ptr == NULL) { - FREE(str); - return(0); - } - *ptr = '\0'; - STRNCPY(depend->name, str, PKG_NAME_LEN); - ptr++; - if(depend->mod == PM_DEP_MOD_GE || depend->mod == PM_DEP_MOD_LE) { - ptr++; - } - STRNCPY(depend->version, ptr, PKG_VERSION_LEN); - FREE(str); - - return(0); -} - /* return a new pmlist_t target list containing all packages in the original * target list, as well as all their un-needed dependencies. By un-needed, * I mean dependencies that are *only* required for packages in the target diff --git a/lib/libpacman/deps.h b/lib/libpacman/deps.h index a6088eb..dc6741c 100644 --- a/lib/libpacman/deps.h +++ b/lib/libpacman/deps.h @@ -51,7 +51,7 @@ pmdepmissing_t *_pacman_depmiss_new(const char *target, unsigned char type, unsi int _pacman_depmiss_isin(pmdepmissing_t *needle, pmlist_t *haystack); pmlist_t *_pacman_sortbydeps(pmlist_t *targets, int mode); pmlist_t *_pacman_checkdeps(pmtrans_t *trans, unsigned char op, pmlist_t *packages); -int _pacman_splitdep(char *depstr, pmdepend_t *depend); +int _pacman_splitdep(const char *depstr, pmdepend_t *depend); void _pacman_removedeps(pmtrans_t *trans); int _pacman_resolvedeps(pmtrans_t *trans, pmpkg_t *syncpkg, pmlist_t *list, pmlist_t *trail, pmlist_t **data); _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git