diff -Naur rpm2targz-9.0.0.4g.orig/rpmoffset.c rpm2targz-9.0.0.4g/rpmoffset.c --- rpm2targz-9.0.0.4g.orig/rpmoffset.c 2012-04-13 13:09:35.000000000 -0600 +++ rpm2targz-9.0.0.4g/rpmoffset.c 2012-04-13 13:23:42.000000000 -0600 @@ -38,6 +38,25 @@ #define MAGIC_SIZE_MIN 3 #define MAGIC_SIZE_MAX 6 +#if defined(__INTERIX) || (defined (__SVR4) && defined (__sun)) || defined(__MACH__) +void *memmem(const void *buf, size_t buflen, const void *pattern, size_t len) +{ + char *bf = (char *)buf, *pt = (char *)pattern, *p = bf; + + while (len <= (buflen - (p - bf))) { + if (NULL != (p = memchr(p, (int)(*pt), buflen - (p - bf)))) { + if (0 == memcmp(p, pattern, len)) + return p; + else + ++p; + } + else + break; + } + return NULL; +} +#endif + int main(int argc, char *argv[]) { int show_magic = 0;