printdir(data, kv->id);
printf(" %d %d\n", kv->num, kv->num2);
break;
+ case TYPE_DIRSTRARRAY:
+ printf("%s: ", keyname);
+ printdir(data, kv->id);
+ printf("/%s\n", kv->str);
+ break;
default:
printf("%s: ?\n", keyname);
break;
#define SCHEMATADATA_BLOCK 255
#define EXTDATA_BLOCK 1023
-void
+static void
data_addid(struct extdata *xd, Id x)
{
unsigned char *dp;
xd->len = dp - xd->buf;
}
-void
+static void
data_addideof(struct extdata *xd, Id x, int eof)
{
if (x >= 64)
data_addid(xd, (eof ? x: x | 64));
}
-void
+static void
data_addblob(struct extdata *xd, unsigned char *blob, int len)
{
xd->buf = sat_extend(xd->buf, xd->len, len, 1, EXTDATA_BLOCK);
return id;
}
-Id
+static Id
putinowndirpool(struct cbdata *cbdata, Repodata *data, Dirpool *dp, Id dir)
{
Id compid, parent;
cbdata->dirused[0] = 2;
}
-int
+static int
repo_write_cb_needed(void *vcbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv)
{
struct cbdata *cbdata = vcbdata;
break;
case TYPE_DIR:
case TYPE_DIRNUMNUMARRAY:
+ case TYPE_DIRSTRARRAY:
id = kv->id;
if (cbdata->owndirpool)
putinowndirpool(cbdata, data, &data->dirpool, id);
return 0;
}
-int
+static int
repo_write_cb_sizes(void *vcbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv)
{
struct cbdata *cbdata = vcbdata;
repodataused[i] = 1;
if (key->type != TYPE_STR && key->type != TYPE_U32)
idused = 1;
- if (key->type == TYPE_DIR || key->type == TYPE_DIRNUMNUMARRAY)
+ if (key->type == TYPE_DIR || key->type == TYPE_DIRNUMNUMARRAY || key->type == TYPE_DIRSTRARRAY)
dirused = 1;
}
if (idused)
static Id id_source;
static Id id_sourceid;
static Id id_time;
+static Id id_filelist;
/* resobject */
static Id id_summary;
id_source = str2id(pool, "source", 1);
id_sourceid = str2id(pool, "sourceid", 1);
id_time = str2id(pool, "time", 1);
+ id_filelist = str2id(pool, "filelist", 1);
id_isvisible = str2id(pool, "isvisible", 1);