]> git.samba.org - rsync.git/commitdiff
Warning fixes & impossible-failure improvements
authorWayne Davison <wayne@opencoder.net>
Wed, 8 Jul 2020 19:19:16 +0000 (12:19 -0700)
committerWayne Davison <wayne@opencoder.net>
Wed, 8 Jul 2020 19:26:19 +0000 (12:26 -0700)
- Silence a couple warnings for less-common builds.
- Use a better impossible-failure idiom than assert(0).

clientname.c
flist.c
lib/sysacls.c
main.c
options.c
rsync.h
token.c

index 2e36b0bac7bf30a7d7cce43ef8341e58877ed361..30e888cd82f1436153ba193f3e131354a1a113fd 100644 (file)
@@ -139,7 +139,7 @@ char *client_name(const char *ipaddr)
                break;
 #endif
        default:
-               assert(0);
+               NOISY_DEATH("Unknown ai_family value");
        }
        freeaddrinfo(answer);
 
diff --git a/flist.c b/flist.c
index c17a5620d704ac70c9e7e2ec3fbfda92d7e3132a..c98e57594325db833f9df14b4f6a84b3716f089e 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -680,7 +680,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
        int extra_len = file_extra_cnt * EXTRA_LEN;
        int first_hlink_ndx = -1;
        int64 file_length;
+#ifdef CAN_SET_NSEC
        uint32 modtime_nsec;
+#endif
        const char *basename;
        struct file_struct *file;
        alloc_pool_t *pool;
@@ -767,7 +769,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                        struct file_struct *first = flist->files[first_hlink_ndx - flist->ndx_start];
                        file_length = F_LENGTH(first);
                        modtime = first->modtime;
+#ifdef CAN_SET_NSEC
                        modtime_nsec = F_MOD_NSEC_or_0(first);
+#endif
                        mode = first->mode;
                        if (atimes_ndx && !S_ISDIR(mode))
                                atime = F_ATIME(first);
@@ -803,10 +807,12 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                } else
                        modtime = read_int(f);
        }
+#ifdef CAN_SET_NSEC
        if (xflags & XMIT_MOD_NSEC)
                modtime_nsec = read_varint(f);
        else
                modtime_nsec = 0;
+#endif
        if (!(xflags & XMIT_SAME_MODE))
                mode = from_wire_mode(read_int(f));
        if (atimes_ndx && !S_ISDIR(mode) && !(xflags & XMIT_SAME_ATIME)) {
index 194efe24d3328600e27a36e557275a293205fb13..c23864fec8a928231f40aa97e3e0c88868c3b9e5 100644 (file)
@@ -798,7 +798,7 @@ int sys_acl_free_acl(SMB_ACL_T acl_d)
 /* calls if it isn't there.                            */
 
 #ifdef __TANDEM
-inline do_acl(const char *path_p, int cmd, int nentries, struct acl *aclbufp)
+inline int do_acl(const char *path_p, int cmd, int nentries, struct acl *aclbufp)
 {
        return acl((char*)path_p, cmd, nentries, aclbufp);
 }
diff --git a/main.c b/main.c
index 7c36c2c7f25c27dec8e9a7a20c9aa2152f277893..61f62118524f4a3f14a29e8764110a9b0617ee62 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1555,11 +1555,13 @@ static void sigusr2_handler(UNUSED(int val))
        _exit(0);
 }
 
+#if defined SIGINFO || defined SIGVTALRM
 static void siginfo_handler(UNUSED(int val))
 {
        if (!am_server && !INFO_GTE(PROGRESS, 1))
                want_progress_now = True;
 }
+#endif
 
 void remember_children(UNUSED(int val))
 {
index 83146eefab07489d83d4f979e94d3ff3d26b466f..e6302c938ca4f02780e9062821d6077a203735c2 100644 (file)
--- a/options.c
+++ b/options.c
@@ -1358,7 +1358,7 @@ char *alt_dest_opt(int type)
        case LINK_DEST:
                return "--link-dest";
        default:
-               assert(0);
+               NOISY_DEATH("Unknown alt_dest_opt type");
        }
 }
 
diff --git a/rsync.h b/rsync.h
index 957f3d3201c5a2547e62f9a7140275b4fdf19d92..be4d85505fd74d819257924574ee756825b0aa49 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -1435,3 +1435,8 @@ char *getpass(const char *prompt);
 #ifdef MAINTAINER_MODE
 const char *get_panic_action(void);
 #endif
+
+#define NOISY_DEATH(msg) do { \
+    fprintf(stderr, "%s in %s at line %d\n", msg, __FILE__, __LINE__); \
+    exit_cleanup(RERR_UNSUPPORTED); \
+} while (0)
diff --git a/token.c b/token.c
index f15637e4e4a8ef796c01ba7e0064218317959ee4..cad6b641a22923b5a5387e07f858971fb54f962e 100644 (file)
--- a/token.c
+++ b/token.c
@@ -87,7 +87,7 @@ void init_compression_level(void)
                break;
 #endif
        default: /* paranoia to prevent missing case values */
-               assert(0);
+               NOISY_DEATH("Unknown do_compression value");
        }
 
        if (do_compression_level == CLVL_NOT_SPECIFIED)
@@ -1049,7 +1049,7 @@ void send_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
                break;
 #endif
        default:
-               assert(0);
+               NOISY_DEATH("Unknown do_compression value");
        }
 }
 
@@ -1076,7 +1076,7 @@ int32 recv_token(int f, char **data)
                return recv_compressed_token(f, data);
 #endif
        default:
-               assert(0);
+               NOISY_DEATH("Unknown do_compression value");
        }
 }
 
@@ -1103,6 +1103,6 @@ void see_token(char *data, int32 toklen)
                break;
 #endif
        default:
-               assert(0);
+               NOISY_DEATH("Unknown do_compression value");
        }
 }