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 [email protected] 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 [email protected]
- @${CC} -o [email protected] ${OBJS} ${LDFLAGS}
+ ${CC} -o [email protected] ${OBJS} ${LDFLAGS}
clean:
@echo cleaning