summaryrefslogtreecommitdiff
path: root/win32/patches/libmms-strndup.diff
diff options
context:
space:
mode:
Diffstat (limited to 'win32/patches/libmms-strndup.diff')
-rw-r--r--win32/patches/libmms-strndup.diff44
1 files changed, 44 insertions, 0 deletions
diff --git a/win32/patches/libmms-strndup.diff b/win32/patches/libmms-strndup.diff
new file mode 100644
index 0000000..3c875ee
--- /dev/null
+++ b/win32/patches/libmms-strndup.diff
@@ -0,0 +1,44 @@
+diff -ur libmms-0.6.4-orig/configure.in libmms-0.6.4/configure.in
+--- libmms-0.6.4-orig/configure.in 2014-04-08 23:15:23 -0400
++++ libmms-0.6.4/configure.in 2015-01-02 13:03:49 -0500
+@@ -14,6 +14,7 @@
+
+ dnl Checks for header files.
+ AC_CHECK_HEADERS([sys/socket.h netinet/in.h netdb.h windows.h winsock2.h])
++AC_CHECK_FUNCS([strndup])
+
+ case $host in
+ *beos*)
+diff -ur libmms-0.6.4-orig/src/uri.c libmms-0.6.4/src/uri.c
+--- libmms-0.6.4-orig/src/uri.c 2014-04-02 10:22:58 -0400
++++ libmms-0.6.4/src/uri.c 2015-01-02 13:07:13 -0500
+@@ -125,6 +125,29 @@
+ #define ISSPACE(C) (((C) >= 9 && (C) <= 13) || (C) == ' ')
+
+
++/* Implement the strndup function.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ Written by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>. */
++#ifndef HAVE_STRNDUP
++char *
++strndup (const char *s, size_t n)
++{
++ char *result;
++ size_t len = strlen (s);
++
++ if (n < len)
++ len = n;
++
++ result = (char *) malloc (len + 1);
++ if (!result)
++ return 0;
++
++ result[len] = '\0';
++ return (char *) memcpy (result, s, len);
++}
++#endif
++
++
+ static int split_user_passwd(const char* in, char** user, char** passwd)
+ {
+ char *pass, *tmp = g_strdup(in);