diff options
author | Ariadne Conill <ariadne@dereferenced.org> | 2021-12-10 13:35:00 -0600 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2021-12-14 12:57:47 -0600 |
commit | 892a55635757e32bf48e7c40f3fc7443b6522db0 (patch) | |
tree | fab3eaf103df6e98c40044149ebe61883a9ad6ed | |
parent | db25345de9924c87fae0f3ba5519ae1f99617037 (diff) | |
download | apk-tools-892a55635757e32bf48e7c40f3fc7443b6522db0.tar.gz apk-tools-892a55635757e32bf48e7c40f3fc7443b6522db0.tar.bz2 apk-tools-892a55635757e32bf48e7c40f3fc7443b6522db0.tar.xz apk-tools-892a55635757e32bf48e7c40f3fc7443b6522db0.zip |
blob: add memrchr implementation from musl
-rw-r--r-- | src/apk_blob.h | 4 | ||||
-rw-r--r-- | src/blob.c | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/apk_blob.h b/src/apk_blob.h index 4286fbe..fa307a9 100644 --- a/src/apk_blob.h +++ b/src/apk_blob.h @@ -131,4 +131,8 @@ int apk_blob_pull_blob_match(apk_blob_t *b, apk_blob_t match); extern size_t strlcpy(char *dest, const char *src, size_t size); #endif +#if defined(__APPLE__) +extern void *memrchr(const void *m, int c, size_t n); +#endif + #endif @@ -156,6 +156,16 @@ int apk_blob_cspn(apk_blob_t blob, const apk_spn_match reject, apk_blob_t *l, ap } #endif +#if defined(__APPLE__) +void *memrchr(const void *m, int c, size_t n) +{ + const unsigned char *s = m; + c = (unsigned char)c; + while (n--) if (s[n]==c) return (void *)(s+n); + return 0; +} +#endif + int apk_blob_rsplit(apk_blob_t blob, char split, apk_blob_t *l, apk_blob_t *r) { char *sep; |