summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-02-20 08:09:38 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2013-02-20 08:10:10 -0800
commit17f99bc6f1405effe6cc31a60bb7353a033c13d6 (patch)
tree796a44c4c22219096cc6149db5c322c63ace0afb
parent7b5e803963822e69a73d00ba62ac01b1c23f112c (diff)
downloadtar-17f99bc6f1405effe6cc31a60bb7353a033c13d6.tar.gz
tar: remove lint
* lib/wordsplit.c (_wsplit_error): Mark with printf attribute. (expvar): "Use" defstr to pacify GCC. * src/system.c (xexec): Now _Noreturn, to pacify GCC. (run_decompress_program): Add cast to pacify GCC. (sys_exec_command, sys_exec_info_script, sys_exec_checkpoint_script): Remove unused variables.
-rw-r--r--lib/wordsplit.c7
-rw-r--r--src/system.c24
2 files changed, 13 insertions, 18 deletions
diff --git a/lib/wordsplit.c b/lib/wordsplit.c
index bd5d59d4..75faf9e5 100644
--- a/lib/wordsplit.c
+++ b/lib/wordsplit.c
@@ -61,7 +61,7 @@ _wsplt_alloc_die (struct wordsplit *wsp)
abort ();
}
-static void
+static void __attribute__ ((__format__ (__printf__, 1, 2)))
_wsplt_error (const char *fmt, ...)
{
va_list ap;
@@ -795,7 +795,10 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
else
value = "";
}
+
/* FIXME: handle defstr */
+ (void) defstr;
+
if (value)
{
if (flg & _WSNF_QUOTE)
@@ -1461,7 +1464,7 @@ wordsplit_process_list (struct wordsplit *wsp, size_t start)
}
int
-wordsplit_len (const char *command, size_t length, struct wordsplit *wsp,
+wordsplit_len (const char *command, size_t length, struct wordsplit *wsp,
int flags)
{
int rc;
diff --git a/src/system.c b/src/system.c
index 6adcbf02..e1fd263c 100644
--- a/src/system.c
+++ b/src/system.c
@@ -23,7 +23,7 @@
#include <signal.h>
#include <wordsplit.h>
-static void
+static _Noreturn void
xexec (const char *cmd)
{
struct wordsplit ws;
@@ -329,7 +329,7 @@ sys_child_open_for_compress (void)
int child_pipe[2];
pid_t grandchild_pid;
pid_t child_pid;
-
+
xpipe (parent_pipe);
child_pid = xfork ();
@@ -474,7 +474,7 @@ run_decompress_program (void)
ws.ws_env = (const char **) environ;
ws.ws_offs = 1;
-
+
for (p = first_decompress_program (&i); p; p = next_decompress_program (&i))
{
if (prog)
@@ -490,8 +490,8 @@ run_decompress_program (void)
wsflags |= WRDSF_REUSE;
memmove(ws.ws_wordv, ws.ws_wordv + ws.ws_offs,
sizeof(ws.ws_wordv[0])*ws.ws_wordc);
- ws.ws_wordv[ws.ws_wordc] = "-d";
- prog = p;
+ ws.ws_wordv[ws.ws_wordc] = (char *) "-d";
+ prog = p;
execvp (ws.ws_wordv[0], ws.ws_wordv);
ws.ws_wordv[ws.ws_wordc] = NULL;
}
@@ -726,8 +726,7 @@ int
sys_exec_command (char *file_name, int typechar, struct tar_stat_info *st)
{
int p[2];
- char *argv[4];
-
+
xpipe (p);
pipe_handler = signal (SIGPIPE, SIG_IGN);
global_pid = xfork ();
@@ -787,7 +786,6 @@ int
sys_exec_info_script (const char **archive_name, int volume_number)
{
pid_t pid;
- char *argv[4];
char uintbuf[UINTMAX_STRSIZE_BOUND];
int p[2];
static RETSIGTYPE (*saved_handler) (int sig);
@@ -849,7 +847,7 @@ sys_exec_info_script (const char **archive_name, int volume_number)
archive_format_string (current_format == DEFAULT_FORMAT ?
archive_format : current_format), 1);
setenv ("TAR_FD", STRINGIFY_BIGINT (p[PWRITE], uintbuf), 1);
-
+
xclose (p[PREAD]);
priv_set_restore_linkdir ();
@@ -862,9 +860,8 @@ sys_exec_checkpoint_script (const char *script_name,
int checkpoint_number)
{
pid_t pid;
- char *argv[4];
char uintbuf[UINTMAX_STRSIZE_BOUND];
-
+
pid = xfork ();
if (pid != 0)
@@ -893,11 +890,6 @@ 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] = (char *) "/bin/sh";
- argv[1] = (char *) "-c";
- argv[2] = (char *) script_name;
- argv[3] = NULL;
-
priv_set_restore_linkdir ();
xexec (script_name);
}