package: irssi-plugin-xmpp
version: 0.13+cvs20090406-1
severity: serious
tags: patch

The ia64 buildd has a build log filter looking for implicit conversions of function results to pointers (because they belive they are almost certain to cause the app to segfault and usually indicate an include screwup or similar), this filter detects "Function `strptime' implicitly converted to pointer at xep/datetime.c:83" and fails the build. Hence your package cannot currently be built on the IA64 autobuilders and therefore cannot migrate to testing.

To attack the issue of major warnings (stuff that would be errors in any modern langauge) I enabled -Werror then as each warning came up depending on it's severity either fixed it or added a -Wno-error=<warning type> for it. In doing so I also discovered I had to modify the makefiles a bit to make the upstream makefiles respect CFLAGS from debian/rules.

In the process of fixing warnings I have also fixed some code that didn't look like it could possiblly work (in get_jids in xmpp-completion.c) . Please check that the fix there is correct (i'm only doing flyby rc bug inspection, in this case looking at why the fixes for 521227 and 527697 aren't in testing.). I also had to add -Wno-error=uninitialized to make some code build which i'm not happy about but probablly needs real knowlage of the codebase to fix.

r...@debian:/irssi-plugin-xmpp-0.13+cvs20090406.new# dpkg-buildpackage 2>&1 | grep 'used uninitialized' rosters-tools.c:83: warning: ‘group_tmp’ may be used uninitialized in this function [-Wuninitialized] xep/fe-version.c:37: warning: ‘name’ may be used uninitialized in this function [-Wuninitialized]
r...@debian:/irssi-plugin-xmpp-0.13+cvs20090406.new#


diff -ur irssi-plugin-xmpp-0.13+cvs20090406/config.mk irssi-plugin-xmpp-0.13+cvs20090406.new/config.mk
--- irssi-plugin-xmpp-0.13+cvs20090406/config.mk	2009-04-06 22:19:25.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/config.mk	2009-05-23 22:14:01.000000000 +0000
@@ -21,7 +21,7 @@
 LIBS =	${LIB_LIBS}
 
 # flags
-CFLAGS = -fPIC -std=c99 -DUOFF_T_LONG ${INCS}
+CFLAGS = ${DEBIAN_CFLAGS} -fPIC -std=c99 -DUOFF_T_LONG ${INCS}
 LDFLAGS = -shared ${LIBS}
 
 # debug
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/debian/rules irssi-plugin-xmpp-0.13+cvs20090406.new/debian/rules
--- irssi-plugin-xmpp-0.13+cvs20090406/debian/rules	2009-05-23 22:29:39.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/debian/rules	2009-05-23 22:15:18.000000000 +0000
@@ -4,7 +4,8 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-CFLAGS = -Wall -g
+
+CFLAGS = -Wall -g -Werror -fdiagnostics-show-option -Wno-error=unused-parameter -Wno-error=empty-body -Wno-error=uninitialized -Wno-error=unused-variable -Wno-error=unused-parameter -Wno-error=unused-function
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0
@@ -12,6 +13,8 @@
 	CFLAGS += -O2
 endif
 
+export DEBIAN_CFLAGS=${CFLAGS}
+
 build: build-stamp
 
 build-stamp:
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/datetime.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/datetime.c
--- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/datetime.c	2009-04-06 22:19:32.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/datetime.c	2009-05-23 21:39:55.000000000 +0000
@@ -21,6 +21,9 @@
  * XEP-0082: XMPP Date and Time Profiles
  */
 
+//according to the manpage we need this #define to get strptime
+#define _XOPEN_SOURCE
+
 #include <ctype.h>
 #include <stdlib.h>
 #include <string.h>
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/muc-nicklist.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/muc-nicklist.c
--- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/muc-nicklist.c	2009-04-06 22:19:31.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/muc-nicklist.c	2009-05-23 21:42:21.000000000 +0000
@@ -179,15 +179,15 @@
 	switch (affiliation) {
 	case XMPP_NICKLIST_AFFILIATION_OWNER:
 		nick->prefixes[0] = '&';
-		nick->prefixes[1] = NULL;
+		nick->prefixes[1] = 0;
 		nick->op = TRUE;
 		break;
 	case XMPP_NICKLIST_AFFILIATION_ADMIN:
-		nick->prefixes[0] = NULL;
+		nick->prefixes[0] = 0;
 		nick->op = TRUE;
 		break;
 	default:
-		nick->prefixes[0] = NULL;
+		nick->prefixes[0] = 0;
 		nick->op = FALSE;
 	}
 	switch (role) {
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/oob.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/oob.c
--- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/oob.c	2009-04-06 22:19:31.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/oob.c	2009-05-23 21:47:38.000000000 +0000
@@ -50,7 +50,7 @@
 		url_recoded = xmpp_recode_in(url);
 		if (desc != NULL) {
 			desc_recoded = xmpp_recode_in(desc);
-			str = g_strconcat(desc_recoded, ": ", url_recoded);
+			str = g_strconcat(desc_recoded, ": ", url_recoded,NULL);
 			g_free(url_recoded);
 			g_free(desc_recoded);
 		} else
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/fe-common/xmpp-completion.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/fe-common/xmpp-completion.c
--- irssi-plugin-xmpp-0.13+cvs20090406/src/fe-common/xmpp-completion.c	2009-04-06 22:19:27.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/fe-common/xmpp-completion.c	2009-05-23 21:55:45.000000000 +0000
@@ -89,14 +89,14 @@
 			user = (XMPP_ROSTER_USER_REC *)ul->data;
 			if (strncmp(user->jid, jid, len) == 0) {
 				if (user->resources != NULL)
-					g_list_append(list, user->jid);
+					list=g_list_append(list, user->jid);
 				else 
-					g_list_append(offlist, user->jid);
+					offlist=g_list_append(offlist, user->jid);
 			} else if (g_strncasecmp(user->jid, jid, len) == 0) {
 				if (user->resources != NULL)
-					g_list_append(list_case, user->jid);
+					list_case=g_list_append(list_case, user->jid);
 				else
-					g_list_append(offlist_case, user->jid);
+					offlist_case=g_list_append(offlist_case, user->jid);
 			}
 		}
 	}
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/rules.mk irssi-plugin-xmpp-0.13+cvs20090406.new/src/rules.mk
--- irssi-plugin-xmpp-0.13+cvs20090406/src/rules.mk	2009-04-06 22:19:25.000000000 +0000
+++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/rules.mk	2009-05-23 21:23:31.000000000 +0000
@@ -1,4 +1,6 @@
 # $Id: rules.mk,v 1.6 2008/08/15 00:25:21 cdidier Exp $
+# modified by plugw...@p10link.net to report what it's actually doing rather than
+# only part of what it's doing
 
 include ../../config.mk
 
@@ -7,12 +9,10 @@
 all: ${LIB}
 
 .c.o:
-	@echo ${CC} -c $<
-	@${CC} -c $< -o $@ ${CFLAGS}
+	${CC} -c $< -o $@ ${CFLAGS}
 
 ${LIB}: ${OBJS}
-	@echo ${CC} -o l...@.so
-	@${CC} -o l...@.so ${OBJS} ${LDFLAGS}
+	${CC} -o l...@.so ${OBJS} ${LDFLAGS}
 
 clean:
 	@echo cleaning

Reply via email to