Clean up some compiler warnings.
* commands.c, commands.h: Use unsigned char for flags.
* dir.c: Use time_t and size_t, and char for a boolean value.
* job.c: Use unsigned and char.
* read.c: Return a signed type since -1 is a valid return code.
diff --git a/commands.c b/commands.c
index bc418b7..6a9df7c 100644
--- a/commands.c
+++ b/commands.c
@@ -411,7 +411,7 @@
for (idx = 0; idx < nlines; ++idx)
{
- int flags = 0;
+ unsigned char flags = 0;
const char *p = lines[idx];
while (isblank (*p) || *p == '-' || *p == '@' || *p == '+')
diff --git a/commands.h b/commands.h
index ec70620..db95fb2 100644
--- a/commands.h
+++ b/commands.h
@@ -22,7 +22,7 @@
gmk_floc fileinfo; /* Where commands were defined. */
char *commands; /* Commands text. */
char **command_lines; /* Commands chopped up into lines. */
- char *lines_flags; /* One set of flag bits for each line. */
+ unsigned char *lines_flags; /* One set of flag bits for each line. */
unsigned short ncommand_lines;/* Number of command lines. */
char recipe_prefix; /* Recipe prefix for this command set. */
unsigned int any_recurse:1; /* Nonzero if any 'lines_flags' elt has */
diff --git a/dir.c b/dir.c
index baeaaa3..de85a3c 100644
--- a/dir.c
+++ b/dir.c
@@ -248,9 +248,9 @@
* qualified name of the directory. Beware though, this is also
* unreliable. I'm open to suggestion on a better way to emulate inode. */
char *path_key;
- int ctime;
- int mtime; /* controls check for stale directory cache */
- int fs_flags; /* FS_FAT, FS_NTFS, ... */
+ time_t ctime;
+ time_t mtime; /* controls check for stale directory cache */
+ int fs_flags; /* FS_FAT, FS_NTFS, ... */
# define FS_FAT 0x1
# define FS_NTFS 0x2
# define FS_UNKNOWN 0x4
@@ -405,7 +405,7 @@
struct dirfile
{
const char *name; /* Name of the file. */
- short length;
+ size_t length;
short impossible; /* This file is impossible. */
};
diff --git a/implicit.c b/implicit.c
index 7af635c..aa33b83 100644
--- a/implicit.c
+++ b/implicit.c
@@ -317,7 +317,7 @@
{
const char *target = rule->targets[ti];
const char *suffix = rule->suffixes[ti];
- int check_lastslash;
+ char check_lastslash;
/* Rules that can match any filename and are not terminal
are ignored if we're recursing, so that they cannot be
@@ -438,7 +438,7 @@
for (ri = 0; ri < nrules; ri++)
{
struct dep *dep;
- int check_lastslash;
+ char check_lastslash;
unsigned int failed = 0;
int file_variables_set = 0;
unsigned int deps_found = 0;
diff --git a/job.c b/job.c
index 321a1e8..084c1b8 100644
--- a/job.c
+++ b/job.c
@@ -589,7 +589,7 @@
while ((children != 0 || shell_function_pid != 0)
&& (block || REAP_MORE))
{
- int remote = 0;
+ unsigned int remote = 0;
pid_t pid;
int exit_code, exit_sig, coredump;
struct child *lastc, *c;
@@ -3109,7 +3109,7 @@
/* Write another line into the batch file. */
if (t > tstart)
{
- int c = *t;
+ char c = *t;
*t = '\0';
fputs (tstart, batch);
DB (DB_JOBS, ("\t%s", tstart));
diff --git a/read.c b/read.c
index 95c8850..bcd6c24 100644
--- a/read.c
+++ b/read.c
@@ -2467,7 +2467,7 @@
Since we aren't really reading from a file, don't bother with linenumbers.
*/
-static unsigned long
+static long
readstring (struct ebuffer *ebuf)
{
char *eol;
@@ -3013,12 +3013,12 @@
PARSEFS_NOCACHE - Do not add filenames to the strcache (caller frees)
*/
+void dir_setup_glob (glob_t *glob);
+
void *
parse_file_seq (char **stringp, unsigned int size, int stopmap,
const char *prefix, int flags)
{
- extern void dir_setup_glob (glob_t *glob);
-
/* tmp points to tmpbuf after the prefix, if any.
tp is the end of the buffer. */
static char *tmpbuf = NULL;