]> diplodocus.org Git - nmh/blobdiff - sbr/ruserpass.c
Don't `else' after return. Simplify control flow.
[nmh] / sbr / ruserpass.c
index bc24f520b28589b9b4dc99f47d74448bc441d541..610f32a5c3b9c16d6f6821a3f0695525f86c9707 100644 (file)
@@ -59,7 +59,7 @@ static int token(char *);
 
 
 void
-ruserpass(char *host, char **aname, char **apass)
+ruserpass(const char *host, char **aname, char **apass, int flags)
 {
     int t, usedefault = 0;
     struct stat stb;
@@ -133,7 +133,7 @@ ruserpass(char *host, char **aname, char **apass)
        }
     }
 
-    if (!*aname) {
+    if (!*aname && ! (flags & RUSERPASS_NO_PROMPT_USER)) {
        char tmp[80];
        char *myname;
 
@@ -148,7 +148,7 @@ ruserpass(char *host, char **aname, char **apass)
        if (fgets(tmp, sizeof(tmp) - 1, stdin) == NULL) {
            advise ("tmp", "fgets");
        }
-       tmp[strlen(tmp) - 1] = '\0';
+        TrimSuffixC(tmp, '\n');
        if (*tmp != '\0' || myname == NULL) {
            myname = tmp;
        }
@@ -156,7 +156,7 @@ ruserpass(char *host, char **aname, char **apass)
         *aname = mh_xstrdup(myname);
     }
 
-    if (!*apass) {
+    if (!*apass && ! (flags & RUSERPASS_NO_PROMPT_PASSWORD)) {
        char prompt[256];
        char *mypass;