On 2013-8-9 05:05 , Adam Mercer wrote: > On Thu, Aug 8, 2013 at 11:19 AM, Adam Mercer <[email protected]> wrote: > > Jeremy > >> So adding something like the following to the file that is failing is >> the appropriate fix? >> >> /* >> * Mac OS X 10.6 and lower do not contain strndup, define this >> * statically if needed >> */ >> >> #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070 >> static char *strndup(const char *str, size_t n) >> { >> size_t len; >> char *copy; >> >> for (len = 0; len < n && str[len]; len++) >> continue; >> >> if ((copy = malloc(len + 1)) == NULL) >> return (NULL); >> memcpy(copy, str, len); >> copy[len] = '\0'; >> return (copy); >> } >> #endif > > So I tried this on a Snow Leopard machine (running Xcode-3.2.6) and > the compiler complained that there was an invalid conversion from > 'void*' to 'char*', replacing the call to malloc() in the above with: > > if ((copy = (char*)malloc(len + 1)) == NULL) > > allowed compilation to proceed. You seem more familiar with this so is > this a valid approach or should I be doing something else?
Sounds like it's being compiled as C++, where the rules are different to C. The explicit cast should be correct. - Josh _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
