mirror of
https://git.savannah.gnu.org/git/tar.git
synced 2026-04-28 20:27:06 +00:00
build: new configure option --enable-gcc-warnings
This has a similar meaning as in other GNU applications such as coreutils and Emacs. * NEWS: Document it. * .gitignore: Remove redundant build-aux. Remove gnu, since gnu/Makefile.am is now in git. Add gnu/.gitignore, gnu/charset.alias, gnu/*.h, gnu/*/ to cover autogenerated files. * bootstrap.conf (gnulib_mk): Remove. * configure.ac: Add support for --enable-gcc-warnings, taken from coreutils and simplified. * gnu/Makefile.am: New file. Formerly this was autogenerated, but the autogenerated file has been renamed to gnulib.mk, its usual name when bootstrapping from gnulib. This way, AM_CFLAGS can incorporate warning options. * gnulib.modules: Add manywarnings. * lib/Makefile.am, src/Makefile.am (AM_CFLAGS): New macro, incorporating warning options. * lib/attr-xattr.in.h (ENOATTR): New macro, if not already defined. * src/buffer.c (magic): Don't rely on incomplete initializers. * src/common.h (report_difference): Add printf format attribute. * src/system.c (sys_exec_command, sys_exec_info_script) (sys_exec_checkpoint_script): * src/tar.c (update_argv): Add casts to char * to pacify GCC warnings about using string literals in a char * context. * src/xattrs.c, src/xattrs.h (xattrs_clear_setup): Declare parameters as (void), not (). * src/xheader.c (xheader_format_name): Initialize pptr to null, to pacify GCC. Remove unnecessary test of nptr versus null.
This commit is contained in:
@@ -46,6 +46,7 @@ tar_SOURCES = \
|
||||
xattrs.c
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib
|
||||
AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
|
||||
|
||||
LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
|
||||
|
||||
|
||||
@@ -289,8 +289,8 @@ struct zip_program
|
||||
};
|
||||
|
||||
static struct zip_magic const magic[] = {
|
||||
{ ct_none, },
|
||||
{ ct_tar },
|
||||
{ ct_none, 0, 0 },
|
||||
{ ct_tar, 0, 0 },
|
||||
{ ct_compress, 2, "\037\235" },
|
||||
{ ct_gzip, 2, "\037\213" },
|
||||
{ ct_bzip2, 3, "BZh" },
|
||||
|
||||
@@ -781,7 +781,8 @@ void sys_exec_checkpoint_script (const char *script_name,
|
||||
int checkpoint_number);
|
||||
|
||||
/* Module compare.c */
|
||||
void report_difference (struct tar_stat_info *st, const char *message, ...);
|
||||
void report_difference (struct tar_stat_info *st, const char *message, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
/* Module sparse.c */
|
||||
bool sparse_member_p (struct tar_stat_info *st);
|
||||
|
||||
12
src/system.c
12
src/system.c
@@ -722,8 +722,8 @@ sys_exec_command (char *file_name, int typechar, struct tar_stat_info *st)
|
||||
|
||||
stat_to_env (file_name, typechar, st);
|
||||
|
||||
argv[0] = "/bin/sh";
|
||||
argv[1] = "-c";
|
||||
argv[0] = (char *) "/bin/sh";
|
||||
argv[1] = (char *) "-c";
|
||||
argv[2] = to_command_option;
|
||||
argv[3] = NULL;
|
||||
|
||||
@@ -837,8 +837,8 @@ sys_exec_info_script (const char **archive_name, int volume_number)
|
||||
|
||||
xclose (p[PREAD]);
|
||||
|
||||
argv[0] = "/bin/sh";
|
||||
argv[1] = "-c";
|
||||
argv[0] = (char *) "/bin/sh";
|
||||
argv[1] = (char *) "-c";
|
||||
argv[2] = (char *) info_script_option;
|
||||
argv[3] = NULL;
|
||||
|
||||
@@ -885,8 +885,8 @@ sys_exec_checkpoint_script (const char *script_name,
|
||||
setenv ("TAR_FORMAT",
|
||||
archive_format_string (current_format == DEFAULT_FORMAT ?
|
||||
archive_format : current_format), 1);
|
||||
argv[0] = "/bin/sh";
|
||||
argv[1] = "-c";
|
||||
argv[0] = (char *) "/bin/sh";
|
||||
argv[1] = (char *) "-c";
|
||||
argv[2] = (char *) script_name;
|
||||
argv[3] = NULL;
|
||||
|
||||
|
||||
@@ -1287,7 +1287,7 @@ update_argv (const char *filename, struct argp_state *state)
|
||||
for (i = state->next, p = start; *p; p += strlen (p) + 1, i++)
|
||||
{
|
||||
if (term == 0 && p[0] == '-')
|
||||
state->argv[i++] = "--add-file";
|
||||
state->argv[i++] = (char *) "--add-file";
|
||||
state->argv[i] = p;
|
||||
}
|
||||
}
|
||||
@@ -2013,7 +2013,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
||||
case OLD_ARCHIVE_OPTION:
|
||||
set_archive_format ("v7");
|
||||
break;
|
||||
|
||||
|
||||
case OVERWRITE_DIR_OPTION:
|
||||
old_files_option = DEFAULT_OLD_FILES;
|
||||
break;
|
||||
|
||||
14
src/xattrs.c
14
src/xattrs.c
@@ -137,7 +137,7 @@ static char *
|
||||
skip_to_ext_fields (char *ptr)
|
||||
{
|
||||
/* skip tag name (user/group/default/mask) */
|
||||
ptr += strcspn (ptr, ":,\n");
|
||||
ptr += strcspn (ptr, ":,\n");
|
||||
|
||||
if (*ptr != ':')
|
||||
return ptr;
|
||||
@@ -192,7 +192,7 @@ static void
|
||||
xattrs__acls_set (struct tar_stat_info const *st,
|
||||
char const *file_name, int type,
|
||||
char *ptr, size_t len, bool def)
|
||||
{
|
||||
{
|
||||
acl_t acl;
|
||||
|
||||
if (ptr)
|
||||
@@ -229,7 +229,7 @@ static void
|
||||
xattrs__acls_get_a (int parentfd, const char *file_name,
|
||||
struct tar_stat_info *st,
|
||||
char **ret_ptr, size_t * ret_len)
|
||||
{
|
||||
{
|
||||
char *val = NULL;
|
||||
ssize_t len;
|
||||
acl_t acl;
|
||||
@@ -261,7 +261,7 @@ static void
|
||||
xattrs__acls_get_d (int parentfd, char const *file_name,
|
||||
struct tar_stat_info *st,
|
||||
char **ret_ptr, size_t * ret_len)
|
||||
{
|
||||
{
|
||||
char *val = NULL;
|
||||
ssize_t len;
|
||||
acl_t acl;
|
||||
@@ -407,7 +407,7 @@ clear_mask_map (struct xattrs_mask_map *mask_map)
|
||||
}
|
||||
|
||||
void
|
||||
xattrs_clear_setup ()
|
||||
xattrs_clear_setup (void)
|
||||
{
|
||||
clear_mask_map (&xattrs_setup.incl);
|
||||
clear_mask_map (&xattrs_setup.excl);
|
||||
@@ -614,7 +614,7 @@ static bool
|
||||
xattrs_masked_out (const char *kw, bool archiving)
|
||||
{
|
||||
return xattrs_kw_included (kw, archiving) ?
|
||||
xattrs_kw_excluded (kw, archiving) : true;
|
||||
xattrs_kw_excluded (kw, archiving) : true;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -720,7 +720,7 @@ xattrs_print (struct tar_stat_info const *st)
|
||||
if (xattrs_option && st->xattr_map_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
for (i = 0; i < st->xattr_map_size; ++i)
|
||||
{
|
||||
char *keyword = st->xattr_map[i].xkey + strlen ("SCHILY.xattr.");
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
extern void xattrs_mask_add (const char *mask, bool incl);
|
||||
|
||||
/* clear helping structures when tar finishes */
|
||||
extern void xattrs_clear_setup ();
|
||||
extern void xattrs_clear_setup (void);
|
||||
|
||||
extern void xattrs_acls_get (int parentfd, char const *file_name,
|
||||
struct tar_stat_info *st, int fd, int xisfile);
|
||||
|
||||
@@ -262,7 +262,7 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n)
|
||||
char *dir = NULL;
|
||||
char *base = NULL;
|
||||
char pidbuf[UINTMAX_STRSIZE_BOUND];
|
||||
char const *pptr;
|
||||
char const *pptr = NULL;
|
||||
char nbuf[UINTMAX_STRSIZE_BOUND];
|
||||
char const *nptr = NULL;
|
||||
|
||||
@@ -335,13 +335,10 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n)
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
if (nptr)
|
||||
{
|
||||
q = stpcpy (q, nptr);
|
||||
p += 2;
|
||||
break;
|
||||
}
|
||||
/* else fall through */
|
||||
q = stpcpy (q, nptr);
|
||||
p += 2;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
*q++ = *p++;
|
||||
|
||||
Reference in New Issue
Block a user