Package: bayonne
Version: 2.3.2-3
Severity: normal
Tags: patch

Hi,

thanks for maintaining bayonne.

During Ubuntu's rebuild test, bayonne failed to build with gcc-4.4 in
conjunction with a newer eglibc [1].

Attached is a patch to fix the build failure, would be great if you could
included it in the package.

Cheers,
   Stefan.

[1]:
<http://launchpadlibrarian.net/31573099/buildlog_ubuntu-karmic-amd64.bayonne_2.3.2-3build1_FAILEDTOBUILD.txt.gz>

-- System Information:
Debian Release: squeeze/sid
  APT prefers karmic-updates
  APT policy: (500, 'karmic-updates'), (500, 'karmic-security'), (500, 'karmic')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31-11-generic (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
#! /bin/sh /usr/share/dpatch/dpatch-run
## gcc-4.4.dpatch by  <Stefan Potyra <[email protected]>>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad bayonne-2.3.2~/binders/bayonnexml/image.cpp bayonne-2.3.2/binders/bayonnexml/image.cpp
--- bayonne-2.3.2~/binders/bayonnexml/image.cpp	2006-11-30 20:17:26.000000000 +0100
+++ bayonne-2.3.2/binders/bayonnexml/image.cpp	2009-10-08 16:03:47.000000000 +0200
@@ -88,11 +88,11 @@
 	return count;
 }
 
-const char *ParseImage::dupString(const char *text)
+char *ParseImage::dupString(const char *text)
 {
 	char *str = (char *)alloc(strlen(text) + 1);
 	strcpy(str, text);
-	return (const char *)str;
+	return str;
 }
 
 void ParseImage::postCompile(Compile *cc, unsigned long mask)
diff -urNad bayonne-2.3.2~/binders/bayonnexml/module.h bayonne-2.3.2/binders/bayonnexml/module.h
--- bayonne-2.3.2~/binders/bayonnexml/module.h	2006-12-14 16:01:28.000000000 +0100
+++ bayonne-2.3.2/binders/bayonnexml/module.h	2009-10-08 16:03:47.000000000 +0200
@@ -57,7 +57,7 @@
 public:
 	ParseImage();
 
-	const char *dupString(const char *str);
+	char *dupString(const char *str);
 	unsigned getList(const char **args, const char *text, unsigned len, unsigned max);
 	void getCompile(Compile *cc, const char *name = "1");
 	void postCompile(Compile *cc, unsigned long mask = 0);
diff -urNad bayonne-2.3.2~/binders/bayonnexml/parse.cpp bayonne-2.3.2/binders/bayonnexml/parse.cpp
--- bayonne-2.3.2~/binders/bayonnexml/parse.cpp	2006-11-30 20:17:27.000000000 +0100
+++ bayonne-2.3.2/binders/bayonnexml/parse.cpp	2009-10-08 16:03:47.000000000 +0200
@@ -151,7 +151,7 @@
 void ParseThread::startDocument(const char **attrib)
 {
 	const char *vargs[3];
-	const char *voicelib = NULL;
+	char *voicelib = NULL;
 	char *p;
 
 	memset(vargs, 0, sizeof(vargs));
@@ -628,8 +628,8 @@
 void ParseThread::doGoto(const char **attrib)
 {
 	const char *submit = NULL;
-	const char *value = NULL;
-	const char *label = NULL;
+	char *value = NULL;
+	char *label = NULL;
 	const char *args[10];
 	unsigned argc = 0;
 	char *p, *q;
@@ -787,7 +787,7 @@
 void ParseThread::endBlock(void)
 {
 	char *p, *q;
-	const char *label;
+	char *label;
 	const char *args[10];
 
 	current->trap = 0;
@@ -807,7 +807,7 @@
 		else
 		{
 			label = NULL;
-			p = strchr(bnext, '#');
+			p = const_cast<char *>(strchr(bnext, '#'));
 			if(p)
 			{
 				*p = 0;
diff -urNad bayonne-2.3.2~/binders/ivrscript/binder.cpp bayonne-2.3.2/binders/ivrscript/binder.cpp
--- bayonne-2.3.2~/binders/ivrscript/binder.cpp	2007-01-16 13:02:12.000000000 +0100
+++ bayonne-2.3.2/binders/ivrscript/binder.cpp	2009-10-08 16:03:47.000000000 +0200
@@ -427,7 +427,7 @@
 	char *p;
 
 	setString(vbuf, sizeof(vbuf), v);
-	p = strchr(v, ':');
+	p = const_cast<char *>(strchr(v, ':'));
 	if(p)
 	{
 		*p = 0;
@@ -449,7 +449,7 @@
 	char *p;
 
 	setString(vbuf, sizeof(vbuf), v);
-	p = strchr(v, ':');
+	p = const_cast<char *>(strchr(v, ':'));
 	if(p)
 	{
 		*p = 0;
@@ -471,7 +471,7 @@
 	char *p;
 
 	setString(vbuf, sizeof(vbuf), v);
-	p = strchr(v, ':');
+	p = const_cast<char *>(strchr(v, ':'));
 	if(p)
 	{
 		*p = 0;
@@ -505,7 +505,7 @@
 	char *p;
 
 	setString(vbuf, sizeof(vbuf), v);
-	p = strchr(v, ':');
+	p = const_cast<char *>(strchr(v, ':'));
 	if(p)
 	{
 		*p = 0;
diff -urNad bayonne-2.3.2~/engine/sysexec.cpp bayonne-2.3.2/engine/sysexec.cpp
--- bayonne-2.3.2~/engine/sysexec.cpp	2007-01-02 18:58:18.000000000 +0100
+++ bayonne-2.3.2/engine/sysexec.cpp	2009-10-08 16:03:47.000000000 +0200
@@ -322,8 +322,9 @@
 void BayonneTSession::sysTone(const char *tsid, char *tok)
 {
 	Event event;
-	const char *loc, *tone, *cp;
+	const char *loc, *cp;
 	char *p;
+	char *tone;
 	timeout_t timeout = TIMEOUT_INF;
 	Audio::Level level = 26000;
 	TelTone::tonekey_t *key;
diff -urNad bayonne-2.3.2~/modules/sip/driver.cpp bayonne-2.3.2/modules/sip/driver.cpp
--- bayonne-2.3.2~/modules/sip/driver.cpp	2007-01-16 15:20:07.000000000 +0100
+++ bayonne-2.3.2/modules/sip/driver.cpp	2009-10-08 16:03:47.000000000 +0200
@@ -2016,7 +2016,7 @@
 	}
 	while(gateways)
 	{
-		p = strrchr(gateways, ':');
+		p = const_cast<char *>(strrchr(gateways, ':'));
 		if(p && !stricmp(p, ":5060"))
 			*p = 0;
 
diff -urNad bayonne-2.3.2~/modules/webservice/session.cpp bayonne-2.3.2/modules/webservice/session.cpp
--- bayonne-2.3.2~/modules/webservice/session.cpp	2007-01-17 18:23:22.000000000 +0100
+++ bayonne-2.3.2/modules/webservice/session.cpp	2009-10-08 16:05:53.000000000 +0200
@@ -297,7 +297,7 @@
 	req_query = NULL;
 	req_auth = NULL;
 	if(req_path)
-		tok = strchr(req_path, '?');
+		tok = const_cast<char *>(strchr(req_path, '?'));
 	else
 		tok = NULL;
 	if(tok)
@@ -335,9 +335,9 @@
 			cp = buffer + 11;
 			while(isspace(*cp))
 				++cp;
-			tok = strrchr(cp, '\r');
+			tok = const_cast<char *>(strrchr(cp, '\r'));
 			if(!tok)
-				tok = strrchr(cp, '\n');
+				tok = const_cast<char *>(strrchr(cp, '\n'));
 			if(tok)
 				*tok = 0;
 			setString(agent, sizeof(agent), cp);

Reply via email to