]> Pileus Git - ~andy/fetchmail/commitdiff
Shrouding fix.
authorEric S. Raymond <esr@thyrsus.com>
Mon, 3 Jun 2002 02:09:21 +0000 (02:09 -0000)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 3 Jun 2002 02:09:21 +0000 (02:09 -0000)
svn path=/trunk/; revision=3623

transact.c

index 0d219ad05649fbfc2ded3232318b60953353d978..4750fbee3907588b658af61a3b361d2bf990a0a3 100644 (file)
@@ -1333,6 +1333,23 @@ void init_transact(const struct method *proto)
     protocol = (struct method *)proto;
 }
 
+static void enshroud(char *buf)
+/* shroud a password in the given buffer */
+{
+    char *cp;
+
+    if (shroud[0] && (cp = strstr(buf, shroud)))
+    {
+       char    *sp;
+
+       sp = cp + strlen(shroud);
+       *cp = '*';
+       while (*sp)
+           *cp++ = *sp++;
+       *cp = '\0';
+    }
+}
+
 #if defined(HAVE_STDARG_H)
 void gen_send(int sock, const char *fmt, ... )
 #else
@@ -1372,18 +1389,7 @@ va_dcl
 
     if (outlevel >= O_MONITOR)
     {
-       char *cp;
-
-       if (shroud[0] && (cp = strstr(buf, shroud)))
-       {
-           char        *sp;
-
-           sp = cp + strlen(shroud);
-           *cp++ = '*';
-           while (*sp)
-               *cp++ = *sp++;
-           *cp = '\0';
-       }
+       enshroud(buf);
        buf[strlen(buf)-2] = '\0';
        report(stdout, "%s> %s\n", protocol->name, buf);
     }
@@ -1462,19 +1468,8 @@ va_dcl
 
     if (outlevel >= O_MONITOR)
     {
-       char *cp;
-
-       if (shroud && shroud[0] && (cp = strstr(buf, shroud)))
-       {
-           char        *sp;
-
-           sp = cp + strlen(shroud);
-           *cp++ = '*';
-           while (*sp)
-               *cp++ = *sp++;
-           *cp = '\0';
-       }
-       buf[strlen(buf)-1] = '\0';
+       enshroud(buf);
+       buf[strlen(buf)-2] = '\0';
        report(stdout, "%s> %s\n", protocol->name, buf);
     }