- FILE *fp;
- if ((fp = fopen(refname, "r")) == NULL)
- {
- perror(refname);
- }
- else
- {
- Pool *refpool = extrapool ? pool_create() : 0;
- ref = repo_create(refpool ? refpool : pool, "ref");
- if (repo_add_solv(ref, fp, 0) != 0)
- {
- fprintf(stderr, "%s: %s\n", refname, pool_errstr(ref->pool));
- if (ref->pool != pool)
- pool_free(ref->pool);
- else
- repo_free(ref, 1);
- ref = 0;
- }
- else
- repo_disable_paging(ref);
- fclose(fp);
- }