10 #ifndef SATSOLVER_REPOPACK_H
11 #define SATSOLVER_REPOPACK_H
13 static inline unsigned char *
26 x = (x << 7) ^ c ^ 128;
30 static inline unsigned char *
50 x = (x << 7) ^ c ^ 128;
54 static inline unsigned char *
57 *nump = (dp[0] << 24) | (dp[1] << 16) | (dp[2] << 8) | dp[3];
61 static inline unsigned char *
69 case REPOKEY_TYPE_VOID:
71 case REPOKEY_TYPE_CONSTANT:
74 case REPOKEY_TYPE_CONSTANTID:
77 case REPOKEY_TYPE_STR:
78 kv->
str = (
const char *)dp;
79 return dp + strlen(kv->
str) + 1;
81 case REPOKEY_TYPE_DIR:
83 case REPOKEY_TYPE_NUM:
85 case REPOKEY_TYPE_U32:
87 case REPOKEY_TYPE_MD5:
88 kv->
str = (
const char *)dp;
90 case REPOKEY_TYPE_SHA1:
91 kv->
str = (
const char *)dp;
93 case REPOKEY_TYPE_SHA256:
94 kv->
str = (
const char *)dp;
96 case REPOKEY_TYPE_BINARY:
98 kv->
str = (
const char *)dp;
100 case REPOKEY_TYPE_IDARRAY:
102 case REPOKEY_TYPE_DIRSTRARRAY:
104 kv->
str = (
const char *)dp;
105 return dp + strlen(kv->
str) + 1;
106 case REPOKEY_TYPE_DIRNUMNUMARRAY:
110 case REPOKEY_TYPE_FIXARRAY:
113 case REPOKEY_TYPE_FLEXARRAY:
120 static inline unsigned char *
126 case REPOKEY_TYPE_VOID:
127 case REPOKEY_TYPE_CONSTANT:
128 case REPOKEY_TYPE_CONSTANTID:
129 case REPOKEY_TYPE_DELETED:
131 case REPOKEY_TYPE_ID:
132 case REPOKEY_TYPE_NUM:
133 case REPOKEY_TYPE_DIR:
134 while ((*dp & 0x80) != 0)
137 case REPOKEY_TYPE_U32:
139 case REPOKEY_TYPE_MD5:
141 case REPOKEY_TYPE_SHA1:
143 case REPOKEY_TYPE_SHA256:
145 case REPOKEY_TYPE_IDARRAY:
146 case REPOKEY_TYPE_REL_IDARRAY:
147 while ((*dp & 0xc0) != 0)
150 case REPOKEY_TYPE_STR:
154 case REPOKEY_TYPE_BINARY:
160 case REPOKEY_TYPE_DIRSTRARRAY:
163 while ((*dp & 0x80) != 0)
172 case REPOKEY_TYPE_DIRNUMNUMARRAY:
175 while ((*dp & 0x80) != 0)
178 while ((*dp & 0x80) != 0)
181 while ((*dp & 0x80) != 0)
192 static inline unsigned char *
200 case REPOKEY_TYPE_VOID:
201 case REPOKEY_TYPE_CONSTANT:
202 case REPOKEY_TYPE_CONSTANTID:
203 case REPOKEY_TYPE_DELETED:
205 case REPOKEY_TYPE_NUM:
206 while ((*dp & 0x80) != 0)
209 case REPOKEY_TYPE_U32:
211 case REPOKEY_TYPE_MD5:
213 case REPOKEY_TYPE_SHA1:
215 case REPOKEY_TYPE_SHA256:
217 case REPOKEY_TYPE_ID:
222 case REPOKEY_TYPE_DIR:
227 case REPOKEY_TYPE_IDARRAY:
236 case REPOKEY_TYPE_STR:
240 case REPOKEY_TYPE_DIRSTRARRAY:
252 case REPOKEY_TYPE_DIRNUMNUMARRAY:
258 while ((*dp & 0x80) != 0)
261 while ((*dp & 0x80) != 0)