ucx/string.c

changeset 146
aa376dba1ba8
parent 125
fca8efb122de
child 148
c27c2425c0b1
equal deleted inserted replaced
145:e974640ec4e0 146:aa376dba1ba8
250 } 250 }
251 newstr.length = i + 1; 251 newstr.length = i + 1;
252 252
253 return newstr; 253 return newstr;
254 } 254 }
255
256 int sstrprefix(sstr_t string, sstr_t prefix) {
257 if (string.length == 0) {
258 return prefix.length == 0;
259 }
260 if (prefix.length == 0) {
261 return 1;
262 }
263
264 if (prefix.length > string.length) {
265 return 0;
266 } else {
267 return memcmp(string.ptr, prefix.ptr, prefix.length) == 0;
268 }
269 }
270
271 int sstrsuffix(sstr_t string, sstr_t suffix) {
272 if (string.length == 0) {
273 return suffix.length == 0;
274 }
275 if (suffix.length == 0) {
276 return 1;
277 }
278
279 if (suffix.length > string.length) {
280 return 0;
281 } else {
282 return memcmp(string.ptr+string.length-suffix.length,
283 suffix.ptr, suffix.length) == 0;
284 }
285 }

mercurial