Got rid of type-casting into isFOO() and toFOO() functions by
[rsync/rsync.git] / log.c
diff --git a/log.c b/log.c
index 2355214..f7ccc00 100644 (file)
--- a/log.c
+++ b/log.c
@@ -37,7 +37,6 @@ extern int msg_fd_out;
 extern int allow_8bit_chars;
 extern int protocol_version;
 extern int preserve_times;
-extern int in_exit_cleanup;
 extern int stdout_format_has_i;
 extern int stdout_format_has_o_or_i;
 extern int logfile_format_has_i;
@@ -91,14 +90,6 @@ struct {
        { 0, NULL }
 };
 
-#define EXIT_OR_RETURN(err) \
-       do { \
-               if (in_exit_cleanup) \
-                       return; \
-               exit_cleanup(err); \
-       } while (0)
-
-
 /*
  * Map from rsync error code to name, or return NULL.
  */
@@ -223,20 +214,20 @@ static void filtered_fwrite(FILE *f, const char *buf, int len, int use_isprint)
        for (s = buf; s < end; s++) {
                if ((s < end - 4
                  && *s == '\\' && s[1] == '#'
-                 && isdigit(*(uchar*)(s+2))
-                 && isdigit(*(uchar*)(s+3))
-                 && isdigit(*(uchar*)(s+4)))
+                 && isDigit(s + 2)
+                 && isDigit(s + 3)
+                 && isDigit(s + 4))
                 || (*s != '\t'
-                 && ((use_isprint && !isprint(*(uchar*)s))
+                 && ((use_isprint && !isPrint(s))
                   || *(uchar*)s < ' '))) {
                        if (s != buf && fwrite(buf, s - buf, 1, f) != 1)
-                               EXIT_OR_RETURN(RERR_MESSAGEIO);
+                               exit_cleanup(RERR_MESSAGEIO);
                        fprintf(f, "\\#%03o", *(uchar*)s);
                        buf = s + 1;
                }
        }
        if (buf != end && fwrite(buf, end - buf, 1, f) != 1)
-               EXIT_OR_RETURN(RERR_MESSAGEIO);
+               exit_cleanup(RERR_MESSAGEIO);
 }
 
 /* this is the underlying (unformatted) rsync debugging function. Call
@@ -248,7 +239,7 @@ void rwrite(enum logcode code, char *buf, int len)
        FILE *f = NULL;
 
        if (len < 0)
-               EXIT_OR_RETURN(RERR_MESSAGEIO);
+               exit_cleanup(RERR_MESSAGEIO);
 
        if (am_server && msg_fd_out >= 0) {
                /* Pass the message to our sibling. */
@@ -302,7 +293,7 @@ void rwrite(enum logcode code, char *buf, int len)
                f = am_server ? stderr : stdout;
                break;
        default:
-               EXIT_OR_RETURN(RERR_MESSAGEIO);
+               exit_cleanup(RERR_MESSAGEIO);
        }
 
        trailing_CR_or_NL = len && (buf[len-1] == '\n' || buf[len-1] == '\r')
@@ -394,7 +385,7 @@ void rsyserr(enum logcode code, int errcode, const char *format, ...)
        char buf[BIGPATHBUFLEN];
        size_t len;
 
-       strcpy(buf, RSYNC_NAME ": ");
+       strlcpy(buf, RSYNC_NAME ": ", sizeof buf);
        len = (sizeof RSYNC_NAME ": ") - 1;
 
        va_start(ap, format);
@@ -406,7 +397,7 @@ void rsyserr(enum logcode code, int errcode, const char *format, ...)
                                ": %s (%d)\n", strerror(errcode), errcode);
        }
        if (len >= sizeof buf)
-               EXIT_OR_RETURN(RERR_MESSAGEIO);
+               exit_cleanup(RERR_MESSAGEIO);
 
        rwrite(code, buf, len);
 }
@@ -444,7 +435,7 @@ static void log_formatted(enum logcode code, char *format, char *op,
        total = strlcpy(buf, format, sizeof buf);
        if (total > MAXPATHLEN) {
                rprintf(FERROR, "log-format string is WAY too long!\n");
-               EXIT_OR_RETURN(RERR_MESSAGEIO);
+               exit_cleanup(RERR_MESSAGEIO);
        }
        buf[total++] = '\n';
        buf[total] = '\0';
@@ -454,7 +445,7 @@ static void log_formatted(enum logcode code, char *format, char *op,
                n = fmt + 1;
                if (*p == '-')
                        *n++ = *p++;
-               while (isdigit(*(uchar*)p) && n - fmt < (int)(sizeof fmt) - 8)
+               while (isDigit(p) && n - fmt < (int)(sizeof fmt) - 8)
                        *n++ = *p++;
                if (!*p)
                        break;
@@ -544,15 +535,15 @@ static void log_formatted(enum logcode code, char *format, char *op,
                case 'L':
                        if (hlink && *hlink) {
                                n = hlink;
-                               strcpy(buf2, " => ");
+                               strlcpy(buf2, " => ", sizeof buf2);
                        } else if (S_ISLNK(file->mode) && file->u.link) {
                                n = file->u.link;
-                               strcpy(buf2, " -> ");
+                               strlcpy(buf2, " -> ", sizeof buf2);
                        } else {
                                n = "";
                                if (!fmt[1])
                                        break;
-                               strcpy(buf2, "    ");
+                               strlcpy(buf2, "    ", sizeof buf2);
                        }
                        strlcat(fmt, "s", sizeof fmt);
                        snprintf(buf2 + 4, sizeof buf2 - 4, fmt, n);
@@ -686,7 +677,7 @@ int log_format_has(const char *format, char esc)
        for (p = format; (p = strchr(p, '%')) != NULL; ) {
                if (*++p == '-')
                        p++;
-               while (isdigit(*(uchar*)p))
+               while (isDigit(p))
                        p++;
                if (!*p)
                        break;