4 * create architecture policies
16 const char *archpolicies[] = {
17 "x86_64", "x86_64:i686:i585:i486:i386",
18 "i686", "i686:i585:i486:i386",
19 "i586", "i585:i486:i386",
26 pool_setarch(Pool *pool, const char *arch)
30 unsigned int score = 0x10001;
37 pool->id2arch = xfree(pool->id2arch);
45 id2arch = xcalloc(lastarch + 1, sizeof(Id));
49 for (i = 0; archpolicies[i]; i += 2)
50 if (!strcmp(archpolicies[i], arch))
53 a = archpolicies[i + 1];
57 l = strcspn(a, ":=>");
58 if (l && l < sizeof(buf) - 1)
62 id = str2id(pool, buf, 1);
65 id2arch = xrealloc(id2arch, (id + 255 + 1) * sizeof(Id));
66 memset(id2arch + lastarch + 1, 0, (id + 255 - lastarch) * sizeof(Id));
82 pool->id2arch = id2arch;
83 pool->lastarch = lastarch;