int docontent;
Pool *pool;
Repo *repo;
+ Repodata *data;
Solvable *solvable;
char *kind;
-
+ unsigned int timestamp;
+
struct stateswitch *swtab[NUMSTATES];
enum state sbtab[NUMSTATES];
char *tempstr;
struct deltarpm delta;
};
+static Id id_timestamp;
+
#if 0
static void
append_str(struct parsedata *pd, const char *s)
}
break;
case STATE_PATCH:
+ if (sw->from == STATE_START)
+ {
+ if ((str = find_attr("timestamp", atts)))
+ {
+ pd->timestamp = strtoul(str, NULL, 10);
+ fprintf(stderr, "timestamp %s [%d]\n", str, pd->timestamp);
+ }
+ }
+ /*FALLTHRU*/
case STATE_ATOM:
if (pd->state == STATE_ATOM)
{
pd->kind = "patch";
pd->solvable = pool_id2solvable(pool, repo_add_solvable(pd->repo));
+
+ if (!strcmp(pd->kind, "patch"))
+ {
+ int solvnum = (pd->solvable - pool->solvables) - pd->repo->start;
+ if (pd->data)
+ repodata_extend(pd->data, pd->solvable - pool->solvables);
+ repodata_set_num(pd->data, solvnum, id_timestamp, pd->timestamp);
+ }
#if 0
fprintf(stderr, "package #%d\n", pd->solvable - pool->solvables);
#endif
}
pd.pool = pool;
pd.repo = repo;
+ pd.data = repo_add_repodata(pd.repo);
+ id_timestamp = str2id(pool, "patch:timestamp", 1);
+
pd.content = malloc(256);
pd.acontent = 256;
pd.lcontent = 0;
}
XML_ParserFree(parser);
+ if (pd.data)
+ repodata_internalize(pd.data);
+
free(pd.content);
}