Date: Monday, February 12, 2007 @ 20:46:33 Author: aaron Path: /home/cvs-pacman/pacman-lib/lib/libalpm Modified: alpm.c (1.117 -> 1.118) be_files.c (1.26 -> 1.27) package.c (1.66 -> 1.67) package.h (1.28 -> 1.29) Removed desc_localized for the time being. We don't have localized descriptions, nor do we actually build them with the newest makepkg. The actual implementation in here seems like it could be done better, and it soaks a large amount of CPU time according to profilers. ------------+ alpm.c | 1 + be_files.c | 51 +++++++++++++++++++++++++++++++-------------------- package.c | 10 +++++++--- package.h | 4 ++-- 4 files changed, 41 insertions(+), 25 deletions(-) Index: pacman-lib/lib/libalpm/alpm.c diff -u pacman-lib/lib/libalpm/alpm.c:1.117 pacman-lib/lib/libalpm/alpm.c:1.118 --- pacman-lib/lib/libalpm/alpm.c:1.117 Sun Feb 11 23:45:21 2007 +++ pacman-lib/lib/libalpm/alpm.c Mon Feb 12 20:46:33 2007 @@ -613,6 +613,7 @@ /** Searches a database * @param db pointer to the package database to search in + * @param needles the list of strings to search for * @return the list of packages on success, NULL on error */ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, alpm_list_t* needles) Index: pacman-lib/lib/libalpm/be_files.c diff -u pacman-lib/lib/libalpm/be_files.c:1.26 pacman-lib/lib/libalpm/be_files.c:1.27 --- pacman-lib/lib/libalpm/be_files.c:1.26 Wed Feb 7 17:08:37 2007 +++ pacman-lib/lib/libalpm/be_files.c Mon Feb 12 20:46:33 2007 @@ -197,8 +197,10 @@ struct stat buf; char path[PATH_MAX+1]; char line[513]; + /* alpm_list_t *tmplist; char *locale; + */ ALPM_LOG_FUNC; @@ -254,11 +256,16 @@ } _alpm_strtrim(info->filename); } else if(!strcmp(line, "%DESC%")) { + if(fgets(info->desc, sizeof(info->desc), fp) == NULL) { + goto error; + } + /* while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) { info->desc_localized = alpm_list_add(info->desc_localized, strdup(line)); + PKG_ } - if((locale = setlocale(LC_ALL, "")) == NULL) { /* To fix segfault when locale invalid */ + if((locale = setlocale(LC_ALL, "")) == NULL) { //To fix segfault when locale invalid setenv("LC_ALL", "C", 1); locale = setlocale(LC_ALL, ""); } @@ -277,6 +284,7 @@ } } } + */ _alpm_strtrim(info->desc); } else if(!strcmp(line, "%GROUPS%")) { while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) { @@ -485,7 +493,7 @@ if(strcmp(db->treename, "local") == 0) { local = 1; } - + /* DESC */ if(inforeq & INFRQ_DESC) { _alpm_log(PM_LOG_DEBUG, _("writing %s-%s DESC information back to db"), info->name, info->version); @@ -496,13 +504,16 @@ goto cleanup; } fprintf(fp, "%%NAME%%\n%s\n\n" - "%%VERSION%%\n%s\n\n", info->name, info->version); + "%%VERSION%%\n%s\n\n", info->name, info->version); if(info->desc[0]) { - fputs("%DESC%\n", fp); - for(lp = info->desc_localized; lp; lp = lp->next) { + /*fputs("%DESC%\n", fp); + for(lp = info->desc_localized; lp; lp = lp->next) { fprintf(fp, "%s\n", (char *)lp->data); - } - fprintf(fp, "\n"); + } + fprintf(fp, "\n"); + */ + fprintf(fp, "%%DESC%%\n" + "%s\n\n", info->desc); } if(info->groups) { fputs("%GROUPS%\n", fp); @@ -514,7 +525,7 @@ if(local) { if(info->url[0]) { fprintf(fp, "%%URL%%\n" - "%s\n\n", info->url); + "%s\n\n", info->url); } if(info->license) { fputs("%LICENSE%\n", fp); @@ -525,47 +536,47 @@ } if(info->arch[0]) { fprintf(fp, "%%ARCH%%\n" - "%s\n\n", info->arch); + "%s\n\n", info->arch); } if(info->builddate[0]) { fprintf(fp, "%%BUILDDATE%%\n" - "%s\n\n", info->builddate); + "%s\n\n", info->builddate); } if(info->buildtype[0]) { fprintf(fp, "%%BUILDTYPE%%\n" - "%s\n\n", info->buildtype); + "%s\n\n", info->buildtype); } if(info->installdate[0]) { fprintf(fp, "%%INSTALLDATE%%\n" - "%s\n\n", info->installdate); + "%s\n\n", info->installdate); } if(info->packager[0]) { fprintf(fp, "%%PACKAGER%%\n" - "%s\n\n", info->packager); + "%s\n\n", info->packager); } if(info->size) { fprintf(fp, "%%SIZE%%\n" - "%lu\n\n", info->size); + "%lu\n\n", info->size); } if(info->reason) { fprintf(fp, "%%REASON%%\n" - "%u\n\n", info->reason); + "%u\n\n", info->reason); } } else { if(info->size) { fprintf(fp, "%%CSIZE%%\n" - "%lu\n\n", info->size); + "%lu\n\n", info->size); } if(info->isize) { fprintf(fp, "%%ISIZE%%\n" - "%lu\n\n", info->isize); + "%lu\n\n", info->isize); } if(info->sha1sum) { fprintf(fp, "%%SHA1SUM%%\n" - "%s\n\n", info->sha1sum); + "%s\n\n", info->sha1sum); } else if(info->md5sum) { fprintf(fp, "%%MD5SUM%%\n" - "%s\n\n", info->md5sum); + "%s\n\n", info->md5sum); } } fclose(fp); @@ -646,7 +657,7 @@ } if(info->force) { fprintf(fp, "%%FORCE%%\n" - "\n"); + "\n"); } } fclose(fp); Index: pacman-lib/lib/libalpm/package.c diff -u pacman-lib/lib/libalpm/package.c:1.66 pacman-lib/lib/libalpm/package.c:1.67 --- pacman-lib/lib/libalpm/package.c:1.66 Sat Feb 10 18:44:39 2007 +++ pacman-lib/lib/libalpm/package.c Mon Feb 12 20:46:33 2007 @@ -81,7 +81,7 @@ memcpy(newpkg, pkg, sizeof(pmpkg_t)); newpkg->license = alpm_list_strdup(pkg->license); - newpkg->desc_localized = alpm_list_strdup(pkg->desc_localized); + /*newpkg->desc_localized = alpm_list_strdup(pkg->desc_localized);*/ newpkg->requiredby = alpm_list_strdup(pkg->requiredby); newpkg->conflicts = alpm_list_strdup(pkg->conflicts); newpkg->files = alpm_list_strdup(pkg->files); @@ -108,7 +108,7 @@ } FREELIST(pkg->license); - FREELIST(pkg->desc_localized); + /*FREELIST(pkg->desc_localized);*/ FREELIST(pkg->files); FREELIST(pkg->backup); FREELIST(pkg->depends); @@ -216,6 +216,7 @@ } else if(!strcmp(key, "PKGVER")) { STRNCPY(info->version, ptr, sizeof(info->version)); } else if(!strcmp(key, "PKGDESC")) { + /* char *lang_tmp; info->desc_localized = alpm_list_add(info->desc_localized, strdup(ptr)); if((lang_tmp = (char *)malloc(strlen(setlocale(LC_ALL, "")))) == NULL) { @@ -223,11 +224,14 @@ } STRNCPY(lang_tmp, setlocale(LC_ALL, ""), strlen(setlocale(LC_ALL, ""))); if(info->desc_localized && !info->desc_localized->next) { - STRNCPY(info->desc, ptr, sizeof(info->desc)); + */ + STRNCPY(info->desc, ptr, sizeof(info->desc)); + /* } else if (ptr && !strncmp(ptr, lang_tmp, strlen(lang_tmp))) { STRNCPY(info->desc, ptr+strlen(lang_tmp)+1, sizeof(info->desc)); } FREE(lang_tmp); + */ } else if(!strcmp(key, "GROUP")) { info->groups = alpm_list_add(info->groups, strdup(ptr)); } else if(!strcmp(key, "URL")) { Index: pacman-lib/lib/libalpm/package.h diff -u pacman-lib/lib/libalpm/package.h:1.28 pacman-lib/lib/libalpm/package.h:1.29 --- pacman-lib/lib/libalpm/package.h:1.28 Sat Feb 10 18:50:31 2007 +++ pacman-lib/lib/libalpm/package.h Mon Feb 12 20:46:33 2007 @@ -41,7 +41,7 @@ #define PKG_FILENAME_LEN 512 #define PKG_NAME_LEN 256 #define PKG_VERSION_LEN 64 -#define PKG_FULLNAME_LEN (PKG_NAME_LEN-1)+1+(PKG_VERSION_LEN-1)+1 +#define PKG_FULLNAME_LEN (PKG_NAME_LEN + PKG_VERSION_LEN) #define PKG_DESC_LEN 512 #define PKG_URL_LEN 256 #define PKG_DATE_LEN 32 @@ -70,7 +70,7 @@ unsigned short force; time_t date; pmpkgreason_t reason; - alpm_list_t *desc_localized; + /* alpm_list_t *desc_localized;*/ alpm_list_t *license; alpm_list_t *replaces; alpm_list_t *groups;