Added RERR_SIGNAL1's message and tweaked ERR_SIGNAL.
[rsync/rsync.git] / log.c
diff --git a/log.c b/log.c
index 8386ea4..c93989b 100644 (file)
--- a/log.c
+++ b/log.c
@@ -38,6 +38,7 @@ extern int module_id;
 extern int msg_fd_out;
 extern int protocol_version;
 extern int preserve_times;
+extern int log_format_has_i;
 extern int log_format_has_o_or_i;
 extern int daemon_log_format_has_o_or_i;
 extern char *auth_user;
@@ -65,8 +66,11 @@ struct {
        { RERR_STREAMIO   , "error in rsync protocol data stream" },
        { RERR_MESSAGEIO  , "errors with program diagnostics" },
        { RERR_IPC        , "error in IPC code" },
-       { RERR_SIGNAL     , "received SIGUSR1 or SIGINT" },
-       { RERR_WAITCHILD  , "some error returned by waitpid()" },
+       { RERR_CRASHED    , "sibling process crashed" },
+       { RERR_TERMINATED , "sibling process terminated abnormally" },
+       { RERR_SIGNAL1    , "received SIGUSR1" },
+       { RERR_SIGNAL     , "received SIGINT, SIGTERM, or SIGHUP" },
+       { RERR_WAITCHILD  , "waitpid() failed" },
        { RERR_MALLOC     , "error allocating core memory buffers" },
        { RERR_PARTIAL    , "some files could not be transferred" },
        { RERR_VANISHED   , "some files vanished before they could be transferred" },
@@ -512,7 +516,8 @@ static void log_formatted(enum logcode code, char *format, char *op,
                                int i;
                                for (i = 2; n[i]; i++)
                                        n[i] = ch;
-                       } else if (n[0] == '.' || n[0] == 'h') {
+                       } else if (n[0] == '.' || n[0] == 'h'
+                               || (n[0] == 'c' && n[1] == 'f')) {
                                int i;
                                for (i = 2; n[i]; i++) {
                                        if (n[i] != '.')
@@ -603,9 +608,9 @@ void maybe_log_item(struct file_struct *file, int iflags, int itemizing,
                    char *buf)
 {
        int significant_flags = iflags & SIGNIFICANT_ITEM_FLAGS;
-       int see_item = itemizing && (significant_flags || *buf || verbose > 1);
-       int local_change = iflags & ITEM_LOCAL_CHANGE
-           && (!(iflags & ITEM_XNAME_FOLLOWS) || significant_flags);
+       int see_item = itemizing && (significant_flags || *buf
+                                 || (verbose > 1 && log_format_has_i));
+       int local_change = iflags & ITEM_LOCAL_CHANGE && significant_flags;
        if (am_server) {
                if (am_daemon && !dry_run && see_item)
                        log_item(file, &stats, iflags, buf);