r4581 - in trunk/varnish-cache: . include include/compat lib/libvarnishcompat

phk at projects.linpro.no phk at projects.linpro.no
Sun Feb 21 21:36:32 CET 2010


Author: phk
Date: 2010-02-21 21:36:31 +0100 (Sun, 21 Feb 2010)
New Revision: 4581

Removed:
   trunk/varnish-cache/include/compat/asprintf.h
   trunk/varnish-cache/include/compat/vasprintf.h
   trunk/varnish-cache/lib/libvarnishcompat/asprintf.c
   trunk/varnish-cache/lib/libvarnishcompat/vasprintf.c
Modified:
   trunk/varnish-cache/configure.ac
   trunk/varnish-cache/include/Makefile.am
   trunk/varnish-cache/lib/libvarnishcompat/Makefile.am
Log:
Evict the [v]asprintf compat & configure stuff, we have stopped using
these functions.

The [v]asprintf() functions are convenient shorthand, but suffer from
a number of problems, portability, cornercases and performance being
the most relevant to Varnish. 

Static buffers on the stack (see [v]bprintf macros, or sbufs (vsb)
are always better choices for us.



Modified: trunk/varnish-cache/configure.ac
===================================================================
--- trunk/varnish-cache/configure.ac	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/configure.ac	2010-02-21 20:36:31 UTC (rev 4581)
@@ -210,7 +210,6 @@
 
 # These functions are provided by libcompat on platforms where they
 # are not available
-AC_CHECK_FUNCS([asprintf vasprintf])
 AC_CHECK_FUNCS([setproctitle])
 AC_CHECK_FUNCS([srandomdev])
 AC_CHECK_FUNCS([strlcat strlcpy])

Modified: trunk/varnish-cache/include/Makefile.am
===================================================================
--- trunk/varnish-cache/include/Makefile.am	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/include/Makefile.am	2010-02-21 20:36:31 UTC (rev 4581)
@@ -13,7 +13,6 @@
 	cli_common.h \
 	cli_priv.h \
 	cli_serve.h \
-	compat/asprintf.h \
 	compat/daemon.h \
 	compat/execinfo.h \
 	compat/setproctitle.h \
@@ -21,7 +20,6 @@
 	compat/strlcat.h \
 	compat/strlcpy.h \
 	compat/strndup.h \
-	compat/vasprintf.h \
 	flopen.h \
 	http_headers.h \
 	http_response.h \

Deleted: trunk/varnish-cache/include/compat/asprintf.h
===================================================================
--- trunk/varnish-cache/include/compat/asprintf.h	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/include/compat/asprintf.h	2010-02-21 20:36:31 UTC (rev 4581)
@@ -1,39 +0,0 @@
-/*-
- * Copyright (c) 2006 Verdens Gang AS
- * Copyright (c) 2006-2009 Linpro AS
- * All rights reserved.
- *
- * Author: Dag-Erling Smørgrav <des at des.no>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id$
- */
-
-#ifndef COMPAT_ASPRINTF_H_INCLUDED
-#define COMPAT_ASPRINTF_H_INCLUDED
-
-#ifndef HAVE_ASPRINTF
-int asprintf(char **strp, const char *fmt, ...);
-#endif
-
-#endif

Deleted: trunk/varnish-cache/include/compat/vasprintf.h
===================================================================
--- trunk/varnish-cache/include/compat/vasprintf.h	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/include/compat/vasprintf.h	2010-02-21 20:36:31 UTC (rev 4581)
@@ -1,41 +0,0 @@
-/*-
- * Copyright (c) 2006 Verdens Gang AS
- * Copyright (c) 2006-2009 Linpro AS
- * All rights reserved.
- *
- * Author: Dag-Erling Smørgrav <des at des.no>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id$
- */
-
-#ifndef COMPAT_VASPRINTF_H_INCLUDED
-#define COMPAT_VASPRINTF_H_INCLUDED
-
-#include <stdarg.h>
-
-#ifndef HAVE_VASPRINTF
-int vasprintf(char **strp, const char *fmt, va_list ap);
-#endif
-
-#endif

Modified: trunk/varnish-cache/lib/libvarnishcompat/Makefile.am
===================================================================
--- trunk/varnish-cache/lib/libvarnishcompat/Makefile.am	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/lib/libvarnishcompat/Makefile.am	2010-02-21 20:36:31 UTC (rev 4581)
@@ -7,10 +7,8 @@
 libvarnishcompat_la_LDFLAGS = -version-info 1:0:0
 
 libvarnishcompat_la_SOURCES = \
-	asprintf.c \
 	daemon.c \
 	execinfo.c \
-	vasprintf.c \
 	setproctitle.c \
 	srandomdev.c \
 	strlcat.c \

Deleted: trunk/varnish-cache/lib/libvarnishcompat/asprintf.c
===================================================================
--- trunk/varnish-cache/lib/libvarnishcompat/asprintf.c	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/lib/libvarnishcompat/asprintf.c	2010-02-21 20:36:31 UTC (rev 4581)
@@ -1,55 +0,0 @@
-/*-
- * Copyright (c) 2006 Verdens Gang AS
- * Copyright (c) 2006-2009 Linpro AS
- * All rights reserved.
- *
- * Author: Dag-Erling Smørgrav <des at des.no>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#include "config.h"
-
-#include "svnid.h"
-SVNID("$Id$")
-
-#ifndef HAVE_ASPRINTF
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#include "compat/asprintf.h"
-#include "compat/vasprintf.h"
-
-int
-asprintf(char **strp, const char *fmt, ...)
-{
-	va_list ap;
-	int ret;
-
-	va_start(ap, fmt);
-	ret = vasprintf(strp, fmt, ap);
-	va_end(ap);
-	return (ret);
-}
-#endif

Deleted: trunk/varnish-cache/lib/libvarnishcompat/vasprintf.c
===================================================================
--- trunk/varnish-cache/lib/libvarnishcompat/vasprintf.c	2010-02-21 20:24:11 UTC (rev 4580)
+++ trunk/varnish-cache/lib/libvarnishcompat/vasprintf.c	2010-02-21 20:36:31 UTC (rev 4581)
@@ -1,58 +0,0 @@
-/*-
- * Copyright (c) 2006 Verdens Gang AS
- * Copyright (c) 2006-2009 Linpro AS
- * All rights reserved.
- *
- * Author: Dag-Erling Smørgrav <des at des.no>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#include "config.h"
-
-#include "svnid.h"
-SVNID("$Id$")
-
-#ifndef HAVE_VASPRINTF
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "compat/vasprintf.h"
-
-int
-vasprintf(char **strp, const char *fmt, va_list ap)
-{
-	va_list aq;
-	int ret;
-
-	va_copy(aq, ap);
-	ret = vsnprintf(NULL, 0, fmt, aq);
-	va_end(aq);
-	if ((*strp = malloc(ret + 1)) == NULL)
-		return (-1);
-	ret = vsnprintf(*strp, ret + 1, fmt, ap);
-	return (ret);
-}
-#endif



More information about the varnish-commit mailing list