- unsigned int j;
- printf("%s has %d keys, %d schemata\n", data->location ? data->location : "**EMBED**", data->nkeys, data->nschemata);
- for (j = 1; j < data->nkeys; j++)
- printf(" %s (type %s size %d storage %d)\n", id2str(repo->pool, data->keys[j].name), id2str(repo->pool, data->keys[j].type), data->keys[j].size, data->keys[j].storage);
- if (data->localpool)
- printf(" localpool has %d strings, size is %d\n", data->spool.nstrings, data->spool.sstrings);
- if (data->dirpool.ndirs)
- printf(" localpool has %d directories\n", data->dirpool.ndirs);
- if (data->addedfileprovides)
+ case REPOKEY_TYPE_ID:
+ if (data && data->localpool)
+ kv->str = stringpool_id2str(&data->spool, kv->id);
+ else
+ kv->str = pool_dep2str(repo->pool, kv->id);
+ printf("%s: %s\n", keyname, kv->str);
+ break;
+ case REPOKEY_TYPE_CONSTANTID:
+ printf("%s: %s\n", keyname, pool_dep2str(repo->pool, kv->id));
+ break;
+ case REPOKEY_TYPE_IDARRAY:
+ if (!kv->entry)
+ printf("%s:\n%*s", keyname, indent, "");
+ if (data && data->localpool)
+ printf(" %s\n", stringpool_id2str(&data->spool, kv->id));
+ else
+ printf(" %s\n", pool_dep2str(repo->pool, kv->id));
+ break;
+ case REPOKEY_TYPE_STR:
+ printf("%s: %s\n", keyname, kv->str);
+ break;
+ case REPOKEY_TYPE_VOID:
+ printf("%s: (void)\n", keyname);
+ break;
+ case REPOKEY_TYPE_CONSTANT:
+ printf("%s: %u\n", keyname, kv->num);
+ break;
+ case REPOKEY_TYPE_NUM:
+ printf("%s: %llu\n", keyname, SOLV_KV_NUM64(kv));
+ break;
+ case REPOKEY_TYPE_BINARY:
+ if (kv->num)
+ printf("%s: %02x..%02x len %u\n", keyname, (unsigned char)kv->str[0], (unsigned char)kv->str[kv->num - 1], kv->num);
+ else
+ printf("%s: len 0\n", keyname);
+ break;
+ case REPOKEY_TYPE_DIRNUMNUMARRAY:
+ if (!kv->entry)
+ printf("%s:\n%*s", keyname, indent, "");
+ printf(" %s %u %u\n", repodata_dir2str(data, kv->id, 0), kv->num, kv->num2);
+ break;
+ case REPOKEY_TYPE_DIRSTRARRAY:
+ if (!kv->entry)
+ printf("%s:\n%*s", keyname, indent, "");
+ printf(" %s\n", repodata_dir2str(data, kv->id, kv->str));
+ break;
+ case REPOKEY_TYPE_FIXARRAY:
+ case REPOKEY_TYPE_FLEXARRAY:
+ if (!kv->entry)
+ printf("%s:\n", keyname);
+ else
+ printf("\n");
+ break;
+ default:
+ if (solv_chksum_len(key->type))