Bug#671586: gjacktransport: FTBFS on hurd-i386.

2012-05-15 Thread Alessio Treglia
Hello Robin, how are you?

On Sat, May 5, 2012 at 3:59 AM, Cyril Roelandt tipec...@gmail.com wrote:
 gjacktransport FTBFS on hurd-i386 because it uses PATH_MAX unconditionally. 
 The attached patch should fix this issue.

The reporter has prepared a patch too, you may find it attached to the
bug report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671586

Thanks for considering, cya!

-- 
Alessio Treglia          | www.alessiotreglia.com
Debian Developer         | ales...@debian.org
Ubuntu Core Developer    | quadris...@ubuntu.com
0416 0e004 A827 6E40 BB98 90FB E8A4 8AE5 311D 765A



___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers


Bug#671586: gjacktransport: FTBFS on hurd-i386.

2012-05-15 Thread Robin Gareus
Hi Cyril, Alessio.

Thanks for the patch! Merged upstream in 0.5.3:

http://sourceforge.net/projects/gjacktransport/files/gjacktransport/v0.5/gjacktransport-0.5.3.tar.gz/download

Happy hurding.
Cheers!
robin



___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers


Bug#671586: gjacktransport: FTBFS on hurd-i386.

2012-05-04 Thread Cyril Roelandt
Package: gjacktransport
Severity: important
Tags: patch

Dear Maintainer,

gjacktransport FTBFS on hurd-i386 because it uses PATH_MAX unconditionally. The 
attached patch should fix this issue.

WBR,
Cyril Roelandt.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.3.99/Hurd-0.3
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
diff --git a/src/gjack.c b/src/gjack.c
index b7a9026..5915dee 100644
--- a/src/gjack.c
+++ b/src/gjack.c
@@ -16,27 +16,39 @@ extern GtkWidget *window1;
 void dothejack (gboolean onoff);
 
 void status_msg (char *msg) {
-	gchar buf[PATH_MAX];
+	gchar *buf;
 	guint context = 1;
 	GtkWidget *statusbar1;
-	statusbar1=lookup_widget(window1,statusbar1);
+	size_t size;
 
-	snprintf(buf, PATH_MAX, %s, msg);
+	statusbar1=lookup_widget(window1,statusbar1);
+	size = 1+strlen(msg);
+	buf = malloc(size);
+	if (buf == NULL)
+		return;
+	
+	snprintf(buf, size, %s, msg);
 	gtk_statusbar_pop(GTK_STATUSBAR(statusbar1), context);
 	gtk_statusbar_push(GTK_STATUSBAR(statusbar1), context,  buf);
+	free(buf);
 }
 
 
 void status_printf (const char *format, ...) {
 	va_list arglist;
-	char text[PATH_MAX];
+	char *text;
+	size_t text_size;
 
 	va_start(arglist, format);
-	vsnprintf(text, PATH_MAX, format, arglist);
+	text_size = vsnprintf(NULL, 0, format, arglist);
+	text = malloc(text_size);
+	if (text == NULL)
+		return;
+	vsnprintf(text, text_size, format, arglist);
 	va_end(arglist);
-	text[PATH_MAX -1] =0;
 	
 	status_msg(text);
+	free(text);
 }
 
 /* end status bar */
diff --git a/src/resourceconfig.c b/src/resourceconfig.c
index f63e8f2..6e153d1 100644
--- a/src/resourceconfig.c
+++ b/src/resourceconfig.c
@@ -30,6 +30,10 @@
 # define SYSCFGDIR /etc
 #endif
 
+#ifdef __GNU__
+#include assert.h
+#endif
+
 #include stdio.h
 #include stdlib.h
 #include errno.h
@@ -116,6 +120,39 @@ void try_load_rc_file (char *filename) {
 }
 
 void load_rc (void) {
+#ifdef __GNU__
+	char *home;
+	char *filename;
+	size_t size, old_size;
+
+	size = strlen(SYSCFGDIR) + strlen(GJACKTRANSPORTRC) + 2;
+	filename = malloc(size);
+	assert(filename);
+	sprintf(filename, %s/%s, SYSCFGDIR, GJACKTRANSPORTRC);
+	try_load_rc_file(filename);
+
+	home = getenv(HOME);
+	if (home) {
+		old_size = size;
+		size = strlen(home) + strlen(GJACKTRANSPORTRC) + 2;
+		if (old_size  size) {
+			filename = realloc(filename, size);
+			assert(filename);
+		}
+		sprintf(filename, %s/.%s, home, GJACKTRANSPORTRC);
+		try_load_rc_file(filename);
+	}
+
+	old_size = size;
+	size = strlen(GJACKTRANSPORTRC) + 2;
+	if (old_size  size) {
+		filename = realloc(filename, size);
+		assert(filename);
+	}
+	sprintf(filename, ./%s, GJACKTRANSPORTRC);
+	try_load_rc_file(filename);
+	free(filename);
+#else
 	char *home;
 	char filename[PATH_MAX];
 	if ((strlen(SYSCFGDIR) + strlen(GJACKTRANSPORTRC) + 2)  PATH_MAX) {
@@ -131,6 +168,7 @@ void load_rc (void) {
 		sprintf(filename, ./%s, GJACKTRANSPORTRC);
 		try_load_rc_file(filename);
 	}
+#endif
 }
 
 /* vi:set ts=8 sts=2 sw=2: */ 
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers