diff -uNr ushare-1.1a/configure ushare-1.1b/configure
---- ushare-1.1a/configure 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1b/configure 2012-03-25 17:35:07.000000000 -0400
+--- ushare-1.1a/configure 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/configure 2016-02-11 02:17:48.788843889 +0100
@@ -42,6 +42,9 @@
echo " --with-libdlna-dir=DIR check for libdlna installed in DIR"
echo ""
diff -uNr ushare-1.1a/scripts/Makefile ushare-1.1b/scripts/Makefile
---- ushare-1.1a/scripts/Makefile 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1b/scripts/Makefile 2012-03-25 17:35:07.000000000 -0400
+--- ushare-1.1a/scripts/Makefile 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/scripts/Makefile 2016-02-11 02:17:48.788843889 +0100
@@ -3,6 +3,11 @@
endif
include ../config.mak
$(INSTALL) -d $(sysconfdir)
$(INSTALL) -m 644 $(CONF_FILE) $(sysconfdir)
$(INSTALL) -d $(sysconfdir)/init.d
-diff -uNr ushare-1.1a/src/Makefile ushare-1.1b/src/Makefile
---- ushare-1.1a/src/Makefile 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1b/src/Makefile 2012-03-25 17:35:07.000000000 -0400
-@@ -3,6 +3,15 @@
- endif
- include ../config.mak
+diff -uNr ushare-1.1a/scripts/ushare.conf ushare-1.1b/scripts/ushare.conf
+--- ushare-1.1a/scripts/ushare.conf 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/scripts/ushare.conf 2016-02-11 02:17:48.796843888 +0100
+@@ -2,11 +2,11 @@
+ # Configuration file for uShare
-+ifeq ($(DEVELOPER),yes)
-+ ifeq ($(HAVE_ETAGS),yes)
-+ BUILD_RULES += TAGS
-+ endif
-+ ifeq ($(HAVE_CTAGS),yes)
-+ BUILD_RULES += tags
-+ endif
-+endif
-+
- PROG = ushare
+ # uShare UPnP Friendly Name (default is 'uShare').
+-USHARE_NAME=
++USHARE_NAME=coolstream
- EXTRADIST = ushare.1 \
-@@ -50,7 +59,7 @@
+ # Interface to listen to (default is eth0).
+ # Ex : USHARE_IFACE=eth1
+-USHARE_IFACE=
++USHARE_IFACE=eth0
- .SUFFIXES: .c .o
+ # Port to listen to (default is random from IANA Dynamic Ports range)
+ # Ex : USHARE_PORT=49200
+@@ -18,7 +18,7 @@
--all: depend $(PROG)
-+all: depend $(BUILD_RULES) $(PROG)
+ # Directories to be shared (space or CSV list).
+ # Ex: USHARE_DIR=/dir1,/dir2
+-USHARE_DIR=
++USHARE_DIR=/media/sda1,media/sdb1
- .c.o:
- $(CC) -c $(CFLAGS) $(OPTFLAGS) -o $@ $<
-@@ -58,6 +67,14 @@
- $(PROG): $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS) $(EXTRALIBS) -o $@
+ # Use to override what happens when iconv fails to parse a file name.
+ # The default uShare behaviour is to not add the entry in the media list
+@@ -28,7 +28,7 @@
+ # as is. (Umlauts for all!)
+ #
+ # Options are TRUE/YES/1 for override and anything else for default behaviour
+-USHARE_OVERRIDE_ICONV_ERR=
++USHARE_OVERRIDE_ICONV_ERR=yes
-+TAGS:
-+ @rm -f $@; \
-+ ( find -name '*.[chS]' -print ) | xargs etags -a
-+
-+tags:
-+ @rm -f $@; \
-+ ( find -name '*.[chS]' -print ) | xargs ctags -a;
-+
- clean:
- -$(RM) -f *.o $(PROG)
- -$(RM) -f .depend
-diff --git a/src/ctrl_telnet.c b/src/ctrl_telnet.c
-index 0849d80..b3e9e8d 100644
---- a/src/ctrl_telnet.c
-+++ b/src/ctrl_telnet.c
-@@ -202,6 +202,7 @@ ctrl_telnet_start (int port)
+ # Enable Web interface (yes/no)
+ ENABLE_WEB=
+diff -uNr ushare-1.1a/src/cds.c ushare-1.1b/src/cds.c
+--- ushare-1.1a/src/cds.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/cds.c 2016-02-11 02:17:48.796843888 +0100
+@@ -19,7 +19,9 @@
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
++#include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+diff -uNr ushare-1.1a/src/cms.c ushare-1.1b/src/cms.c
+--- ushare-1.1a/src/cms.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/cms.c 2016-02-11 02:17:48.796843888 +0100
+@@ -20,6 +20,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+diff -uNr ushare-1.1a/src/ctrl_telnet.c ushare-1.1b/src/ctrl_telnet.c
+--- ushare-1.1a/src/ctrl_telnet.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/ctrl_telnet.c 2016-02-11 02:17:48.792843889 +0100
+@@ -202,6 +202,7 @@
void
ctrl_telnet_stop (void)
{
pthread_mutex_lock (&startstop_lock);
if (!started)
-@@ -211,7 +212,7 @@ ctrl_telnet_stop (void)
+@@ -211,7 +212,7 @@
}
/* yes is int, which is bigger then char, so this should be safe */
pthread_mutex_unlock (&startstop_lock);
pthread_join (ttd.thread, NULL);
-diff --git a/src/mime.c b/src/mime.c
-index 66c48ab..bf0121b 100644
---- a/src/mime.c
-+++ b/src/mime.c
-@@ -144,7 +144,8 @@ char *mime_get_protocol (struct mime_type_t *mime)
- if (!mime)
- return NULL;
+diff -uNr ushare-1.1a/src/http.c ushare-1.1b/src/http.c
+--- ushare-1.1a/src/http.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/http.c 2016-02-11 02:17:48.796843888 +0100
+@@ -25,6 +25,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <errno.h>
-- sprintf (protocol, mime->mime_protocol);
-+ //sprintf (protocol, mime->mime_protocol);
-+ strcpy (protocol, mime->mime_protocol);
- strcat (protocol, "*");
- return strdup (protocol);
- }
-diff --git a/src/mime.c b/src/mime.c
-index bf0121b..f38deca 100644
---- a/src/mime.c
-+++ b/src/mime.c
-@@ -53,6 +53,7 @@ const struct mime_type_t MIME_Type_List[] = {
- { "mpeg2", UPNP_VIDEO, "http-get:*:video/mpeg2:"},
- { "m4v", UPNP_VIDEO, "http-get:*:video/mp4:"},
- { "m4p", UPNP_VIDEO, "http-get:*:video/mp4:"},
-+ { "mp4", UPNP_VIDEO, "http-get:*:video/mp4:"},
- { "mp4ps", UPNP_VIDEO, "http-get:*:video/x-nerodigital-ps:"},
- { "ts", UPNP_VIDEO, "http-get:*:video/mpeg2:"},
- { "ogm", UPNP_VIDEO, "http-get:*:video/mpeg:"},
-@@ -79,7 +80,6 @@ const struct mime_type_t MIME_Type_List[] = {
- { "mp1", UPNP_AUDIO, "http-get:*:audio/mp1:"},
- { "mp2", UPNP_AUDIO, "http-get:*:audio/mp2:"},
- { "mp3", UPNP_AUDIO, "http-get:*:audio/mpeg:"},
-- { "mp4", UPNP_AUDIO, "http-get:*:audio/mp4:"},
- { "m4a", UPNP_AUDIO, "http-get:*:audio/mp4:"},
- { "ogg", UPNP_AUDIO, "http-get:*:audio/x-ogg:"},
- { "wav", UPNP_AUDIO, "http-get:*:audio/wav:"},
-diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c
---- ushare-1.1a/src/http.c 2007-12-09 13:03:36.000000000 +0000
-+++ ushare-1.1a.my/src/http.c 2010-10-29 11:13:07.000000000 +0000
-@@ -77,8 +77,7 @@
+@@ -77,8 +78,7 @@
info->content_type = ixmlCloneDOMString (content_type);
}
{
extern struct ushare_t *ut;
struct upnp_entry_t *entry = NULL;
-@@ -197,8 +196,7 @@
+@@ -197,8 +197,7 @@
return ((UpnpWebFileHandle) file);
}
{
extern struct ushare_t *ut;
struct upnp_entry_t *entry = NULL;
-@@ -251,8 +249,7 @@
+@@ -251,8 +250,7 @@
return ((UpnpWebFileHandle) file);
}
{
struct web_file_t *file = (struct web_file_t *) fh;
ssize_t len = -1;
-@@ -286,8 +283,7 @@
+@@ -286,8 +284,7 @@
return len;
}
char *buf __attribute__((unused)),
size_t buflen __attribute__((unused)))
{
-@@ -296,8 +292,7 @@
+@@ -296,8 +293,7 @@
return 0;
}
{
struct web_file_t *file = (struct web_file_t *) fh;
off_t newpos = -1;
-@@ -371,8 +366,7 @@
+@@ -371,8 +367,7 @@
return 0;
}
{
struct web_file_t *file = (struct web_file_t *) fh;
-@@ -402,13 +396,3 @@
+@@ -402,13 +397,3 @@
return 0;
}
- http_seek,
- http_close
- };
-diff -wbBur ushare-1.1a/src/http.h ushare-1.1a.my/src/http.h
---- ushare-1.1a/src/http.h 2007-12-09 13:03:36.000000000 +0000
-+++ ushare-1.1a.my/src/http.h 2010-10-29 11:13:11.000000000 +0000
+diff -uNr ushare-1.1a/src/http.h ushare-1.1b/src/http.h
+--- ushare-1.1a/src/http.h 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/http.h 2016-02-11 02:17:48.792843889 +0100
@@ -25,6 +25,13 @@
#include <upnp/upnp.h>
#include <upnp/upnptools.h>
+int http_get_info (const char *filename, struct File_Info *info);
#endif /* _HTTP_H_ */
-diff -wbBur ushare-1.1a/src/ushare.c ushare-1.1a.my/src/ushare.c
---- ushare-1.1a/src/ushare.c 2007-12-09 13:03:36.000000000 +0000
-+++ ushare-1.1a.my/src/ushare.c 2010-10-29 11:17:45.000000000 +0000
+diff -uNr ushare-1.1a/src/Makefile ushare-1.1b/src/Makefile
+--- ushare-1.1a/src/Makefile 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/Makefile 2016-02-11 02:17:48.788843889 +0100
+@@ -3,6 +3,15 @@
+ endif
+ include ../config.mak
+
++ifeq ($(DEVELOPER),yes)
++ ifeq ($(HAVE_ETAGS),yes)
++ BUILD_RULES += TAGS
++ endif
++ ifeq ($(HAVE_CTAGS),yes)
++ BUILD_RULES += tags
++ endif
++endif
++
+ PROG = ushare
+
+ EXTRADIST = ushare.1 \
+@@ -50,7 +59,7 @@
+
+ .SUFFIXES: .c .o
+
+-all: depend $(PROG)
++all: depend $(BUILD_RULES) $(PROG)
+
+ .c.o:
+ $(CC) -c $(CFLAGS) $(OPTFLAGS) -o $@ $<
+@@ -58,6 +67,14 @@
+ $(PROG): $(OBJS)
+ $(CC) $(OBJS) $(LDFLAGS) $(EXTRALIBS) -o $@
+
++TAGS:
++ @rm -f $@; \
++ ( find -name '*.[chS]' -print ) | xargs etags -a
++
++tags:
++ @rm -f $@; \
++ ( find -name '*.[chS]' -print ) | xargs ctags -a;
++
+ clean:
+ -$(RM) -f *.o $(PROG)
+ -$(RM) -f .depend
+diff -uNr ushare-1.1a/src/mime.c ushare-1.1b/src/mime.c
+--- ushare-1.1a/src/mime.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/mime.c 2016-02-11 02:17:48.792843889 +0100
+@@ -53,6 +53,7 @@
+ { "mpeg2", UPNP_VIDEO, "http-get:*:video/mpeg2:"},
+ { "m4v", UPNP_VIDEO, "http-get:*:video/mp4:"},
+ { "m4p", UPNP_VIDEO, "http-get:*:video/mp4:"},
++ { "mp4", UPNP_VIDEO, "http-get:*:video/mp4:"},
+ { "mp4ps", UPNP_VIDEO, "http-get:*:video/x-nerodigital-ps:"},
+ { "ts", UPNP_VIDEO, "http-get:*:video/mpeg2:"},
+ { "ogm", UPNP_VIDEO, "http-get:*:video/mpeg:"},
+@@ -79,7 +80,6 @@
+ { "mp1", UPNP_AUDIO, "http-get:*:audio/mp1:"},
+ { "mp2", UPNP_AUDIO, "http-get:*:audio/mp2:"},
+ { "mp3", UPNP_AUDIO, "http-get:*:audio/mpeg:"},
+- { "mp4", UPNP_AUDIO, "http-get:*:audio/mp4:"},
+ { "m4a", UPNP_AUDIO, "http-get:*:audio/mp4:"},
+ { "ogg", UPNP_AUDIO, "http-get:*:audio/x-ogg:"},
+ { "wav", UPNP_AUDIO, "http-get:*:audio/wav:"},
+@@ -144,7 +144,8 @@
+ if (!mime)
+ return NULL;
+
+- sprintf (protocol, mime->mime_protocol);
++ //sprintf (protocol, mime->mime_protocol);
++ strcpy (protocol, mime->mime_protocol);
+ strcat (protocol, "*");
+ return strdup (protocol);
+ }
+diff -uNr ushare-1.1a/src/presentation.c ushare-1.1b/src/presentation.c
+--- ushare-1.1a/src/presentation.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/presentation.c 2016-02-11 02:17:48.796843888 +0100
+@@ -18,7 +18,9 @@
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
++#include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+
+ #if HAVE_LANGINFO_CODESET
+ # include <langinfo.h>
+diff -uNr ushare-1.1a/src/services.c ushare-1.1b/src/services.c
+--- ushare-1.1a/src/services.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/services.c 2016-02-11 02:17:48.796843888 +0100
+@@ -20,6 +20,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <upnp/upnp.h>
+ #include <upnp/upnptools.h>
+
+diff -uNr ushare-1.1a/src/trace.c ushare-1.1b/src/trace.c
+--- ushare-1.1a/src/trace.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/trace.c 2016-02-11 02:58:25.784764698 +0100
+@@ -57,7 +57,11 @@
+ va_end (va);
+ }
+
++#ifdef __UCLIBC__
++extern inline void
++#else
+ inline void
++#endif
+ start_log (void)
+ {
+ openlog (PACKAGE_NAME, LOG_PID, LOG_DAEMON);
+diff -uNr ushare-1.1a/src/trace.h ushare-1.1b/src/trace.h
+--- ushare-1.1a/src/trace.h 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/trace.h 2016-02-11 02:57:24.632766685 +0100
+@@ -29,7 +29,11 @@
+
+ void print_log (log_level level, const char *format, ...)
+ __attribute__ ((format (printf, 2, 3)));
++#ifdef __UCLIBC__
++extern inline void start_log (void);
++#else
+ inline void start_log (void);
++#endif
+
+ /* log_info
+ * Normal print, to replace printf
+diff -uNr ushare-1.1a/src/ushare.c ushare-1.1b/src/ushare.c
+--- ushare-1.1a/src/ushare.c 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/ushare.c 2016-02-11 02:59:53.076761861 +0100
@@ -188,7 +188,7 @@
if (strcmp (request->DevUDN + 5, ut->udn))
return;
if (res != UPNP_E_SUCCESS)
{
log_error (_("Cannot set virtual directory callbacks\n"));
-diff -uNr ushare-1.1a.a/src/cds.c ushare-1.1a.b/src/cds.c
---- ushare-1.1a.a/src/cds.c 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1a.b/src/cds.c 2012-05-27 11:28:42.000000000 -0400
-@@ -19,7 +19,9 @@
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-+#include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- #include <upnp/upnp.h>
- #include <upnp/upnptools.h>
-
-diff -uNr ushare-1.1a.a/src/cms.c ushare-1.1a.b/src/cms.c
---- ushare-1.1a.a/src/cms.c 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1a.b/src/cms.c 2012-05-27 11:25:03.000000000 -0400
-@@ -20,6 +20,7 @@
- */
-
- #include <stdlib.h>
-+#include <string.h>
- #include <upnp/upnp.h>
- #include <upnp/upnptools.h>
-
-diff -uNr ushare-1.1a.a/src/http.c ushare-1.1a.b/src/http.c
---- ushare-1.1a.a/src/http.c 2012-05-27 11:23:32.000000000 -0400
-+++ ushare-1.1a.b/src/http.c 2012-05-27 11:25:13.000000000 -0400
-@@ -25,6 +25,7 @@
- #include <errno.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- #include <unistd.h>
- #include <errno.h>
-
-diff -uNr ushare-1.1a.a/src/presentation.c ushare-1.1a.b/src/presentation.c
---- ushare-1.1a.a/src/presentation.c 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1a.b/src/presentation.c 2012-05-27 11:30:08.000000000 -0400
-@@ -18,7 +18,9 @@
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-+#include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
-
- #if HAVE_LANGINFO_CODESET
- # include <langinfo.h>
-diff -uNr ushare-1.1a.a/src/services.c ushare-1.1a.b/src/services.c
---- ushare-1.1a.a/src/services.c 2007-12-09 08:03:36.000000000 -0500
-+++ ushare-1.1a.b/src/services.c 2012-05-27 11:25:26.000000000 -0400
-@@ -20,6 +20,7 @@
- */
-
- #include <stdlib.h>
-+#include <string.h>
- #include <upnp/upnp.h>
- #include <upnp/upnptools.h>
-
-diff -Naur ushare-1.1a/scripts/ushare.conf ushare-1.1a_/scripts/ushare.conf
---- ushare-1.1a/scripts/ushare.conf 2007-12-09 14:03:36.000000000 +0100
-+++ ushare-1.1a_/scripts/ushare.conf 2012-07-05 09:35:00.000000000 +0200
-@@ -2,11 +2,11 @@
- # Configuration file for uShare
-
- # uShare UPnP Friendly Name (default is 'uShare').
--USHARE_NAME=
-+USHARE_NAME=coolstream
-
- # Interface to listen to (default is eth0).
- # Ex : USHARE_IFACE=eth1
--USHARE_IFACE=
-+USHARE_IFACE=eth0
-
- # Port to listen to (default is random from IANA Dynamic Ports range)
- # Ex : USHARE_PORT=49200
-@@ -18,7 +18,7 @@
-
- # Directories to be shared (space or CSV list).
- # Ex: USHARE_DIR=/dir1,/dir2
--USHARE_DIR=
-+USHARE_DIR=/media/sda1,media/sdb1
-
- # Use to override what happens when iconv fails to parse a file name.
- # The default uShare behaviour is to not add the entry in the media list
-@@ -28,7 +28,7 @@
- # as is. (Umlauts for all!)
- #
- # Options are TRUE/YES/1 for override and anything else for default behaviour
--USHARE_OVERRIDE_ICONV_ERR=
-+USHARE_OVERRIDE_ICONV_ERR=yes
+@@ -718,7 +758,11 @@
+ }
+ }
- # Enable Web interface (yes/no)
- ENABLE_WEB=
++#ifdef __UCLIBC__
++extern inline void
++#else
+ inline void
++#endif
+ display_headers (void)
+ {
+ printf (_("%s (version %s), a lightweight UPnP A/V and DLNA Media Server.\n"),
+diff -uNr ushare-1.1a/src/ushare.h ushare-1.1b/src/ushare.h
+--- ushare-1.1a/src/ushare.h 2007-12-09 14:03:36.000000000 +0100
++++ ushare-1.1b/src/ushare.h 2016-02-11 02:59:16.980763034 +0100
+@@ -127,6 +127,9 @@
+ struct service_t *service;
+ };
+
++#ifdef __UCLIBC__
++extern inline void display_headers (void);
++#else
+ inline void display_headers (void);
+-
++#endif
+ #endif /* _USHARE_H_ */