[MINOR] move MAXPATHLEN definition to compat.h

MAXPATHLEN may be used at other places, it's unconvenient to have it
redefined in a few files. Also, since checking it requires including
sys/param.h, some versions of it cause a macro declaration conflict
with MIN/MAX which are defined in tools.h. The solution consists in
including sys/param.h in both files so that we ensure it's loaded
before the macros are defined and MAXPATHLEN is checked.
This commit is contained in:
Willy Tarreau 2010-11-07 11:44:13 +01:00
parent ceb24bc7b4
commit 17f449b214
3 changed files with 27 additions and 24 deletions

View File

@ -1,30 +1,32 @@
/* /*
include/common/compat.h * include/common/compat.h
Operating system compatibility interface. * Operating system compatibility interface.
*
Copyright (C) 2000-2008 Willy Tarreau - w@1wt.eu * Copyright (C) 2000-2010 Willy Tarreau - w@1wt.eu
*
This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation, version 2.1 * License as published by the Free Software Foundation, version 2.1
exclusively. * exclusively.
*
This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. * Lesser General Public License for more details.
*
You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#ifndef _COMMON_COMPAT_H #ifndef _COMMON_COMPAT_H
#define _COMMON_COMPAT_H #define _COMMON_COMPAT_H
/* This is needed on Linux for Netfilter includes */ /* This is needed on Linux for Netfilter includes */
#include <sys/param.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <arpa/inet.h>
#include <common/config.h> #include <common/config.h>
#include <common/standard.h> #include <common/standard.h>
@ -62,6 +64,11 @@
#define MSG_MORE 0 #define MSG_MORE 0
#endif #endif
/* Maximum path length, OS-dependant */
#ifndef MAXPATHLEN
#define MAXPATHLEN 128
#endif
#if defined(TPROXY) && defined(NETFILTER) #if defined(TPROXY) && defined(NETFILTER)
#include <linux/types.h> #include <linux/types.h>
#include <linux/netfilter_ipv6.h> #include <linux/netfilter_ipv6.h>

View File

@ -22,6 +22,7 @@
#ifndef _COMMON_TOOLS_H #ifndef _COMMON_TOOLS_H
#define _COMMON_TOOLS_H #define _COMMON_TOOLS_H
#include <sys/param.h>
#include <common/config.h> #include <common/config.h>
#ifndef MIN #ifndef MIN

View File

@ -19,7 +19,6 @@
#include <syslog.h> #include <syslog.h>
#include <time.h> #include <time.h>
#include <sys/param.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
@ -43,10 +42,6 @@
#include <proto/stream_sock.h> #include <proto/stream_sock.h>
#include <proto/task.h> #include <proto/task.h>
#ifndef MAXPATHLEN
#define MAXPATHLEN 128
#endif
static int uxst_bind_listener(struct listener *listener, char *errmsg, int errlen); static int uxst_bind_listener(struct listener *listener, char *errmsg, int errlen);
static int uxst_bind_listeners(struct protocol *proto, char *errmsg, int errlen); static int uxst_bind_listeners(struct protocol *proto, char *errmsg, int errlen);
static int uxst_unbind_listeners(struct protocol *proto); static int uxst_unbind_listeners(struct protocol *proto);