commit fdd9015111ff8fcb39d85d25250d14b1d532e44f
parent 0f068c22353a61db22df334ef605f19ef213cd49
Author: Geoff Johnstone <qwerty@acm.org>
Date: Fri, 12 Feb 2010 23:37:03 +0000
Enforce stricter warnings.
Diffstat:
9 files changed, 51 insertions(+), 43 deletions(-)
diff --git a/Makefile.in b/Makefile.in
@@ -2,7 +2,7 @@
#
# @configure_input@
#
-# Copyright (C) 2006-2009 Geoff Johnstone
+# Copyright (C) 2006-2010 Geoff Johnstone
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
@@ -22,7 +22,7 @@ prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
-CFLAGS = @CFLAGS@ -I@srcdir@ -I@builddir@
+CFLAGS = @CFLAGS@ -I@srcdir@ -I@builddir@ -Werror
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
diff --git a/conffile.c b/conffile.c
@@ -1,5 +1,5 @@
/* usmb - mount SMB shares via FUSE and Samba
- * Copyright (C) 2006-2009 Geoff Johnstone
+ * Copyright (C) 2006-2010 Geoff Johnstone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -26,6 +26,7 @@
#include <unistd.h>
#include "utils.h"
#include "xml.h"
+#include "conffile.h"
#include "config.rng.h"
diff --git a/configure.ac b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.63])
-AC_INIT([usmb], [20090411])
+AC_INIT([usmb], [20100212])
AC_CONFIG_SRCDIR([usmb.c])
AC_CONFIG_HEADERS([config.h])
@@ -33,7 +33,7 @@ m4_define([MUSTCHECK_],[])
if test "$GCC" = yes ; then
m4_define([UNUSED_], [__attribute__ ((unused))])
m4_define([MUSTCHECK_], [__attribute__ ((warn_unused_result))])
- CFLAGS="$CFLAGS -Wall -Wextra -Werror -pedantic"
+ CFLAGS="$CFLAGS -Wall -Wextra -pedantic -Wformat-security -Winit-self -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations"
fi
AC_DEFINE([UNUSED], [UNUSED_], [Marks unused parameters])
@@ -46,18 +46,18 @@ AC_CHECK_LIB([smbclient], [smbc_init], [],
AC_CHECK_LIB([smbclient], [smbc_getFunctionStatVFS],
[AC_DEFINE([HAVE_SAMBA33], [],
- [Whether we have Samba 3.3 or later])
- SAMBA_VERSION=33])
+ [Whether we have Samba 3.3 or later])
+ SAMBA_VERSION=33])
AC_CHECK_LIB([smbclient], [smbc_getFunctionOpen],
[AC_DEFINE([HAVE_SAMBA32], [],
- [Whether we have Samba 3.2 or later])
- if test "$SAMBA_VERSION" = "" ; then
- SAMBA_VERSION=32
- fi])
+ [Whether we have Samba 3.2 or later])
+ if test "$SAMBA_VERSION" = "" ; then
+ SAMBA_VERSION=32
+ fi])
if test "$SAMBA_VERSION" = '' ; then
- SAMBA_VERSION=30
+ SAMBA_VERSION=30
fi
AC_SUBST(SAMBA_VERSION,[$SAMBA_VERSION])
diff --git a/options.c b/options.c
@@ -1,5 +1,5 @@
/* usmb - mount SMB shares via FUSE and Samba
- * Copyright (C) 2006-2009 Geoff Johnstone
+ * Copyright (C) 2006-2010 Geoff Johnstone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -144,29 +144,36 @@ bool parse_args (int *argc, char ***argv,
void build_fuse_args (const char *options, const char *mountpoint,
int *out_argc, char ***out_argv)
{
+ static char USMB[] = "usmb";
+ static char MINUS_S[] = "-s";
+ static char MINUS_D[] = "-d";
+ static char MINUS_F[] = "-f";
+ static char MINUS_O[] = "-o";
+ static char MAX_READ[] = "max_read=32768";
+
assert (NULL != mountpoint);
static char *argv[MAXARGS];
int argc = 0;
- argv[argc++] = "usmb";
- argv[argc++] = "-s";
+ argv[argc++] = USMB;
+ argv[argc++] = MINUS_S;
if (debug)
- argv[argc++] = "-d";
+ argv[argc++] = MINUS_D;
// force -f in debug mode
#ifndef DEBUGON
if (nofork)
#endif
- argv[argc++] = "-f";
+ argv[argc++] = MINUS_F;
- argv[argc++] = "-o";
- argv[argc++] = "max_read=32768";
+ argv[argc++] = MINUS_O;
+ argv[argc++] = MAX_READ;
if ((NULL != options) && ('\0' != options[0]))
{
- argv[argc++] = "-o";
+ argv[argc++] = MINUS_O;
argv[argc++] = (char *)options;
}
diff --git a/usmb.c b/usmb.c
@@ -1,5 +1,5 @@
/* usmb - mount SMB shares via FUSE and Samba
- * Copyright (C) 2006-2009 Geoff Johnstone
+ * Copyright (C) 2006-2010 Geoff Johnstone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -77,12 +77,12 @@ static void auth_fn (const char *srv UNUSED, const char *shr UNUSED,
}
-void destroy_smb_context (SMBCCTX *ctx, int shutdown)
+void destroy_smb_context (SMBCCTX *ctx_, int shutdown)
{
// Samba frees the workgroup and user strings but we want to persist them.
- smbc_setWorkgroup (ctx, NULL);
- smbc_setUser (ctx, NULL);
- smbc_free_context (ctx, shutdown);
+ smbc_setWorkgroup (ctx_, NULL);
+ smbc_setUser (ctx_, NULL);
+ smbc_free_context (ctx_, shutdown);
}
@@ -178,10 +178,10 @@ static struct fuse_operations fuse_ops = {
};
-static bool create_share_name (const char *server, const char *sharename)
+static bool create_share_name (const char *server_, const char *sharename)
{
size_t len = strlen ("smb:///") +
- strlen (server) +
+ strlen (server_) +
strlen (sharename) + 1;
if (NULL == (share = malloc (len)))
@@ -190,7 +190,7 @@ static bool create_share_name (const char *server, const char *sharename)
return false;
}
- snprintf (share, len, "smb://%s/%s", server, sharename);
+ snprintf (share, len, "smb://%s/%s", server_, sharename);
DEBUG (fprintf (stderr, "Share URL: %s\n", share));
return true;
}
@@ -220,8 +220,8 @@ static bool check_credentials (void)
DEBUG (fprintf (stderr, "URL: %s\n", url));
- struct stat stat;
- bool ret = (0 == (smbc_getFunctionStat (ctx) (ctx, url, &stat)));
+ struct stat stat_;
+ bool ret = (0 == (smbc_getFunctionStat (ctx) (ctx, url, &stat_)));
free_errno (url);
return ret;
diff --git a/usmb_dir.c b/usmb_dir.c
@@ -1,5 +1,5 @@
/* usmb - mount SMB shares via FUSE and Samba
- * Copyright (C) 2006-2009 Geoff Johnstone
+ * Copyright (C) 2006-2010 Geoff Johnstone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -79,7 +79,7 @@ int usmb_opendir (const char *dirname, struct fuse_file_info *fi)
int usmb_readdir (const char *path, void *h, fuse_fill_dir_t filler,
off_t offset UNUSED, struct fuse_file_info *fi UNUSED)
{
- SMBCCTX *ctx = NULL;
+ SMBCCTX *ctx_ = NULL;
SMBCFILE *file = NULL;
char *url = NULL;
struct smbc_dirent *dirent;
@@ -87,7 +87,7 @@ int usmb_readdir (const char *path, void *h, fuse_fill_dir_t filler,
DEBUG (fprintf (stderr, "readdir (%s)\n", path));
- if (!create_smb_context (&ctx))
+ if (!create_smb_context (&ctx_))
return -errno;
do
@@ -99,16 +99,16 @@ int usmb_readdir (const char *path, void *h, fuse_fill_dir_t filler,
break;
}
- file = smbc_getFunctionOpendir (ctx) (ctx, url);
+ file = smbc_getFunctionOpendir (ctx_) (ctx_, url);
if (NULL == file)
{
ret = -errno;
break;
}
- smbc_getFunctionLseekdir (ctx) (ctx, file, 0);
+ smbc_getFunctionLseekdir (ctx_) (ctx_, file, 0);
- while (NULL != (dirent = smbc_getFunctionReaddir (ctx) (ctx, file)))
+ while (NULL != (dirent = smbc_getFunctionReaddir (ctx_) (ctx_, file)))
{
struct stat stbuf;
@@ -140,12 +140,12 @@ int usmb_readdir (const char *path, void *h, fuse_fill_dir_t filler,
} while (false /*CONSTCOND*/);
if (NULL != file)
- (void)smbc_getFunctionClosedir (ctx) (ctx, file);
+ (void)smbc_getFunctionClosedir (ctx_) (ctx_, file);
if (NULL != url)
free (url);
- destroy_smb_context (ctx, 0);
+ destroy_smb_context (ctx_, 0);
return ret;
}
diff --git a/version.c b/version.c
@@ -34,7 +34,7 @@ void show_about (FILE *fp)
{
fprintf (fp, "usmb - mount SMB shares via FUSE and Samba\n"
"\n"
- "Copyright (C) 2006-2009 Geoff Johnstone.\n"
+ "Copyright (C) 2006-2010 Geoff Johnstone.\n"
"Licensed under the GNU General Public License.\n"
"usmb comes with ABSOLUTELY NO WARRANTY; "
"for details please see\n"
diff --git a/version.h b/version.h
@@ -19,7 +19,7 @@
#include <stdio.h>
- #define USMB_VERSION 0x20090411
+ #define USMB_VERSION 0x20100212
// a - alpha, b - beta, p - pre-release, s - stable
#define USMB_VERSION_STATUS 'b'
diff --git a/xml.c b/xml.c
@@ -1,5 +1,5 @@
/* usmb - mount SMB shares via FUSE and Samba
- * Copyright (C) 2006-2009 Geoff Johnstone
+ * Copyright (C) 2006-2010 Geoff Johnstone
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -66,7 +66,7 @@ bool xml_validate_relaxng (xmlDocPtr doc, const char *schema)
bool xml_xpath_attr_value (xmlXPathContextPtr ctx,
char *xpath,
- const char *attribute,
+ const char *attr,
char **out)
{
xmlXPathObjectPtr obj;
@@ -106,7 +106,7 @@ bool xml_xpath_attr_value (xmlXPathContextPtr ctx,
break;
}
- tmp = xmlGetProp (obj->nodesetval->nodeTab[0], BAD_CAST attribute);
+ tmp = xmlGetProp (obj->nodesetval->nodeTab[0], BAD_CAST attr);
if (NULL == tmp)
break;