| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- --- a/archival/libipkg/pkg.c
- +++ b/archival/libipkg/pkg.c
- @@ -575,25 +575,28 @@
- return temp;
- }
-
- - len = 14 ;
- + len = sizeof("Conffiles:") ;
- for (iter = pkg->conffiles.head; iter; iter = iter->next) {
- if (iter->data->name && iter->data->value) {
- - len = len + (strlen(iter->data->name)+strlen(iter->data->value)+5);
- - }
- + /* " <filename> <md5hash>" */
- + len += 1+strlen(iter->data->name)+1+strlen(iter->data->value);
- + }
- }
- + len +=2; /* "\n\0" */
- temp = (char *)realloc(temp,len);
- if ( temp == NULL ){
- fprintf(stderr, "%s: out of memory\n", __FUNCTION__);
- return NULL;
- }
- temp[0]='\0';
- - strncpy(temp, "Conffiles:\n", 12);
- + strcpy(temp, "Conffiles:");
- for (iter = pkg->conffiles.head; iter; iter = iter->next) {
- if (iter->data->name && iter->data->value) {
- - snprintf(line_str, LINE_LEN, "%s %s\n", iter->data->name, iter->data->value);
- + snprintf(line_str, LINE_LEN, " %s %s", iter->data->name, iter->data->value);
- strncat(temp, line_str, strlen(line_str));
- }
- }
- + strcat(temp, "\n");
- } else if (strcasecmp(field, "Conflicts") == 0) {
- int i;
-
- --- a/archival/libipkg/pkg_parse.c
- +++ b/archival/libipkg/pkg_parse.c
- @@ -88,17 +88,14 @@
- if(!strncmp(raw, "Conffiles:", 10))
- raw += strlen("Conffiles:");
-
- + while(*raw && isspace(*raw)) raw++;
- while(*raw && (sscanf(raw, "%s%s", file_name, md5sum) == 2)){
- conffile_list_append(&pkg->conffiles, file_name, md5sum);
- /* fprintf(stderr, "%s %s ", file_name, md5sum);*/
- - while (*raw && isspace(*raw)) {
- - raw++;
- - }
- raw += strlen(file_name);
- - while (*raw && isspace(*raw)) {
- - raw++;
- - }
- + while(*raw && isspace(*raw)) raw++;
- raw += strlen(md5sum);
- + while(*raw && isspace(*raw)) raw++;
- }
- }
-
|