[PATCH] Portability patches

Jeremy Allison jra at samba.org
Thu Oct 9 11:04:40 MDT 2014


On Thu, Oct 09, 2014 at 06:28:05PM +0200, Ralph Böhme wrote:
> Hi all,
> 
> attached please find two simple fixes for non-portable code that
> exploded on my FreeBSD 10 testbox (the non-portable code, not the
> fixes ;)
> 
> Cheerio!

LGTM - pushed. Thanks !

> -- 
> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
> phone: +49-551-370000-0, fax: +49-551-370000-9
> AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
> http://www.sernet.de,mailto:kontakt@sernet.de

> >From 2cc93bbeacf2a1b868cbd2e3b18345a819176693 Mon Sep 17 00:00:00 2001
> From: Ralph Boehme <slow at samba.org>
> Date: Thu, 9 Oct 2014 14:34:02 +0200
> Subject: [PATCH 1/2] lib/texpect: portability fix, include signal.h
> 
> Signed-off-by: Ralph Boehme <slow at samba.org>
> ---
>  lib/texpect/texpect.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/texpect/texpect.c b/lib/texpect/texpect.c
> index c1a6a99..ac88979 100644
> --- a/lib/texpect/texpect.c
> +++ b/lib/texpect/texpect.c
> @@ -62,6 +62,7 @@
>  #include <popt.h>
>  #include <errno.h>
>  #include <err.h>
> +#include <signal.h>
>  
>  struct command {
>  	enum { CMD_EXPECT = 0, CMD_SEND, CMD_PASSWORD } type;
> -- 
> 2.1.0
> 
> 
> >From 5d111bb4a6e47c3785c5599cf2d33f0ca19cde36 Mon Sep 17 00:00:00 2001
> From: Ralph Boehme <slow at samba.org>
> Date: Thu, 9 Oct 2014 16:41:10 +0200
> Subject: [PATCH 2/2] ncacn_http: fix GNUism
> 
> %a format conversion is a GNU extension, use the more portable %m.
> It's at least in SUSv4, supported by glibc since 2.7 and FreeBSD 10.
> 
> Signed-off-by: Ralph Boehme <slow at samba.org>
> ---
>  source4/lib/http/http.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/source4/lib/http/http.c b/source4/lib/http/http.c
> index 314ceed..c3bd728 100644
> --- a/source4/lib/http/http.c
> +++ b/source4/lib/http/http.c
> @@ -112,7 +112,7 @@ static enum http_read_status http_parse_headers(struct http_read_response_state
>  		return HTTP_ALL_DATA_READ;
>  	}
>  
> -	n = sscanf(line, "%a[^:]: %a[^\r\n]\r\n", &key, &value);
> +	n = sscanf(line, "%m[^:]: %m[^\r\n]\r\n", &key, &value);
>  	if (n != 2) {
>  		DEBUG(0, ("%s: Error parsing header '%s'\n", __func__, line));
>  		status = HTTP_DATA_CORRUPTED;
> @@ -158,7 +158,7 @@ static bool http_parse_response_line(struct http_read_response_state *state)
>  		return false;
>  	}
>  
> -	n = sscanf(line, "%a[^/]/%c.%c %d %a[^\r\n]\r\n",
> +	n = sscanf(line, "%m[^/]/%c.%c %d %m[^\r\n]\r\n",
>  		   &protocol, &major, &minor, &code, &msg);
>  
>  	DEBUG(11, ("%s: Header parsed(%i): protocol->%s, major->%c, minor->%c, "
> -- 
> 2.1.0
> 



More information about the samba-technical mailing list