From ade327a7af869d4d70e28e2a596473943e0299dd Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Tue, 10 Nov 2009 17:09:12 +0000 Subject: [PATCH] Don't export STREQ and friends in Move these to private header file(s) and other places as required since these aren't part of the public API. --- capitests/test-command.c | 3 +++ fish/fish.h | 10 +++++++++ fuse/Makefile.am | 3 ++- fuse/dircache.c | 10 +-------- fuse/dircache.h | 2 ++ fuse/guestmount.c | 16 +------------- fuse/guestmount.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 1 + src/generator.ml | 3 +++ src/guestfs-internal.h | 32 ++++++++++++++++++++++++++++ src/guestfs.c | 1 + src/guestfs.h | 10 --------- test-tool/test-tool.c | 10 +++++++++ 13 files changed, 121 insertions(+), 35 deletions(-) create mode 100644 fuse/guestmount.h create mode 100644 src/guestfs-internal.h diff --git a/capitests/test-command.c b/capitests/test-command.c index c43353d..7a3e64b 100644 --- a/capitests/test-command.c +++ b/capitests/test-command.c @@ -26,6 +26,9 @@ #include #include +/* Get STREQ etc */ +#include "../src/guestfs-internal.h" + int main (int argc, char *argv[]) { diff --git a/fish/fish.h b/fish/fish.h index cdb3d63..8b3bdbc 100644 --- a/fish/fish.h +++ b/fish/fish.h @@ -30,6 +30,16 @@ #define N_(str) str #endif +#define STREQ(a,b) (strcmp((a),(b)) == 0) +#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0) +#define STRNEQ(a,b) (strcmp((a),(b)) != 0) +#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0) +#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0) +#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0) +#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0) +#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0) +#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0) + /* in fish.c */ extern guestfs_h *g; extern int quit; diff --git a/fuse/Makefile.am b/fuse/Makefile.am index dc00823..c041058 100644 --- a/fuse/Makefile.am +++ b/fuse/Makefile.am @@ -24,7 +24,8 @@ bin_PROGRAMS = guestmount guestmount_SOURCES = \ dircache.c \ dircache.h \ - guestmount.c + guestmount.c \ + guestmount.h guestmount_CFLAGS = \ -I$(top_srcdir)/src -I$(top_builddir)/src \ diff --git a/fuse/dircache.c b/fuse/dircache.c index 1028926..86760f0 100644 --- a/fuse/dircache.c +++ b/fuse/dircache.c @@ -37,17 +37,9 @@ #include "hash.h" #include "hash-pjw.h" +#include "guestmount.h" #include "dircache.h" -extern int verbose; -extern int dir_cache_timeout; - -static inline char * -bad_cast (char const *s) -{ - return (char *) s; -} - /* Note on attribute caching: FUSE can cache filesystem attributes for * short periods of time (configurable via -o attr_timeout). It * doesn't cache xattrs, and in any case FUSE caching doesn't solve diff --git a/fuse/dircache.h b/fuse/dircache.h index adc117e..748d17c 100644 --- a/fuse/dircache.h +++ b/fuse/dircache.h @@ -41,4 +41,6 @@ extern const struct stat *lsc_lookup (const char *pathname); extern const struct guestfs_xattr_list *xac_lookup (const char *pathname); extern const char *rlc_lookup (const char *pathname); +extern int dir_cache_timeout; + #endif /* GUESTMOUNT_DIRCACHE_H */ diff --git a/fuse/guestmount.c b/fuse/guestmount.c index d45c18b..739d8cb 100644 --- a/fuse/guestmount.c +++ b/fuse/guestmount.c @@ -46,6 +46,7 @@ #include "progname.h" +#include "guestmount.h" #include "dircache.h" /* See */ @@ -53,21 +54,6 @@ #define ENOATTR ENODATA #endif -#ifdef HAVE_GETTEXT -#include "gettext.h" -#define _(str) dgettext(PACKAGE, (str)) -//#define N_(str) dgettext(PACKAGE, (str)) -#else -#define _(str) str -//#define N_(str) str -#endif - -static inline char * -bad_cast (char const *s) -{ - return (char *) s; -} - static guestfs_h *g = NULL; static int read_only = 0; int verbose = 0; diff --git a/fuse/guestmount.h b/fuse/guestmount.h new file mode 100644 index 0000000..07cd42e --- /dev/null +++ b/fuse/guestmount.h @@ -0,0 +1,55 @@ +/* guestmount - mount guests using libguestfs and FUSE + * Copyright (C) 2009 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Derived from the example program 'fusexmp.c': + * Copyright (C) 2001-2007 Miklos Szeredi + * + * This program can be distributed under the terms of the GNU GPL. + * See the file COPYING. + */ + +#ifndef GUESTMOUNT_H_ +#define GUESTMOUNT_H_ + +#ifdef HAVE_GETTEXT +#include "gettext.h" +#define _(str) dgettext(PACKAGE, (str)) +//#define N_(str) dgettext(PACKAGE, (str)) +#else +#define _(str) str +//#define N_(str) str +#endif + +#define STREQ(a,b) (strcmp((a),(b)) == 0) +#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0) +#define STRNEQ(a,b) (strcmp((a),(b)) != 0) +#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0) +#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0) +#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0) +#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0) +#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0) +#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0) + +static inline char * +bad_cast (char const *s) +{ + return (char *) s; +} + +extern int verbose; + +#endif /* GUESTMOUNT_H_ */ diff --git a/src/Makefile.am b/src/Makefile.am index 4fb466d..419982b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -106,6 +106,7 @@ libguestfs_la_SOURCES = \ guestfs-actions.h \ guestfs-actions.c \ guestfs-bindtests.c \ + guestfs-internal.h \ gettext.h # Make libguestfs include the convenience library. diff --git a/src/generator.ml b/src/generator.ml index dd58a02..bde50ff 100644 --- a/src/generator.ml +++ b/src/generator.ml @@ -5088,6 +5088,7 @@ and generate_client_actions () = #include #include \"guestfs.h\" +#include \"guestfs-internal.h\" #include \"guestfs-internal-actions.h\" #include \"guestfs_protocol.h\" @@ -5845,6 +5846,7 @@ and generate_tests () = #include #include \"guestfs.h\" +#include \"guestfs-internal.h\" static guestfs_h *g; static int suppress_error = 0; @@ -9701,6 +9703,7 @@ and generate_bindtests () = #include #include \"guestfs.h\" +#include \"guestfs-internal.h\" #include \"guestfs-internal-actions.h\" #include \"guestfs_protocol.h\" diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h new file mode 100644 index 0000000..aa78c3a --- /dev/null +++ b/src/guestfs-internal.h @@ -0,0 +1,32 @@ +/* libguestfs + * Copyright (C) 2009 Red Hat Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef GUESTFS_INTERNAL_H_ +#define GUESTFS_INTERNAL_H_ + +#define STREQ(a,b) (strcmp((a),(b)) == 0) +#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0) +#define STRNEQ(a,b) (strcmp((a),(b)) != 0) +#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0) +#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0) +#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0) +#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0) +#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0) +#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0) + +#endif /* GUESTFS_INTERNAL_H_ */ diff --git a/src/guestfs.c b/src/guestfs.c index 91d2672..4c94c32 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -61,6 +61,7 @@ #include #include "guestfs.h" +#include "guestfs-internal.h" #include "guestfs-internal-actions.h" #include "guestfs_protocol.h" #include "c-ctype.h" diff --git a/src/guestfs.h b/src/guestfs.h index e89f744..35f995d 100644 --- a/src/guestfs.h +++ b/src/guestfs.h @@ -30,16 +30,6 @@ extern "C" { #endif -#define STREQ(a,b) (strcmp((a),(b)) == 0) -#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0) -#define STRNEQ(a,b) (strcmp((a),(b)) != 0) -#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0) -#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0) -#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0) -#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0) -#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0) -#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0) - typedef struct guestfs_h guestfs_h; /* Connection management. */ diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c index 73f3af5..93aaca2 100644 --- a/test-tool/test-tool.c +++ b/test-tool/test-tool.c @@ -41,6 +41,16 @@ #define N_(str) str #endif +#define STREQ(a,b) (strcmp((a),(b)) == 0) +#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0) +#define STRNEQ(a,b) (strcmp((a),(b)) != 0) +#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0) +#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0) +#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0) +#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0) +#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0) +#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0) + #define DEFAULT_TIMEOUT 120 static const char *helper = DEFAULT_HELPER; -- 1.8.3.1