Changeset 16 in openpam for trunk/lib/openpam_ttyconv.c


Ignore:
Timestamp:
Feb 1, 2002, 10:20:07 PM (19 years ago)
Author:
Dag-Erling Smørgrav
Message:

Whitespace cleanup + keyword expansion sweep.

Sponsored by: DARPA, NAI Labs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/openpam_ttyconv.c

    • Property svn:keywords set to Id LastChangedRevision HeadURL LastChangedDate LastChangedBy
    r9 r16  
    5252int
    5353openpam_ttyconv(int n,
    54         const struct pam_message **msg,
    55         struct pam_response **resp,
    56         void *data)
     54        const struct pam_message **msg,
     55        struct pam_response **resp,
     56        void *data)
    5757{
    58         char buf[PAM_MAX_RESP_SIZE];
    59         struct termios tattr;
    60         tcflag_t lflag;
    61         int fd, err, i;
    62         size_t len;
     58        char buf[PAM_MAX_RESP_SIZE];
     59        struct termios tattr;
     60        tcflag_t lflag;
     61        int fd, err, i;
     62        size_t len;
    6363
    64         data = data;
    65         if (n <= 0 || n > PAM_MAX_NUM_MSG)
    66                 return (PAM_CONV_ERR);
    67         if ((*resp = calloc(n, sizeof **resp)) == NULL)
    68                 return (PAM_BUF_ERR);
    69         fd = fileno(stdin);
    70         for (i = 0; i < n; ++i) {
    71                 resp[i]->resp_retcode = 0;
    72                 resp[i]->resp = NULL;
    73                 switch (msg[i]->msg_style) {
    74                 case PAM_PROMPT_ECHO_OFF:
    75                 case PAM_PROMPT_ECHO_ON:
     64        data = data;
     65        if (n <= 0 || n > PAM_MAX_NUM_MSG)
     66                return (PAM_CONV_ERR);
     67        if ((*resp = calloc(n, sizeof **resp)) == NULL)
     68                return (PAM_BUF_ERR);
     69        fd = fileno(stdin);
     70        for (i = 0; i < n; ++i) {
     71                resp[i]->resp_retcode = 0;
     72                resp[i]->resp = NULL;
     73                switch (msg[i]->msg_style) {
     74                case PAM_PROMPT_ECHO_OFF:
     75                case PAM_PROMPT_ECHO_ON:
    7676                        if (msg[i]->msg_style == PAM_PROMPT_ECHO_OFF) {
    7777                                if (tcgetattr(fd, &tattr) != 0) {
     
    8989                                        goto fail;
    9090                                }
    91                         }
    92                         fputs(msg[i]->msg, stderr);
    93                         buf[0] = '\0';
    94                         fgets(buf, sizeof buf, stdin);
    95                         if (msg[i]->msg_style == PAM_PROMPT_ECHO_OFF) {
    96                                 tattr.c_lflag = lflag;
    97                                 (void)tcsetattr(fd, TCSANOW, &tattr);
    98                                 fputs("\n", stderr);
    99                         }
    100                         if (ferror(stdin)) {
    101                                 err = PAM_CONV_ERR;
    102                                 goto fail;
    103                         }
    104                         for (len = strlen(buf); len > 0; --len)
    105                                 if (!isspace(buf[len - 1]))
    106                                         break;
    107                         buf[len] = '\0';
    108                         if ((resp[i]->resp = strdup(buf)) == NULL) {
    109                                 err = PAM_BUF_ERR;
    110                                 goto fail;
    111                         }
    112                         break;
    113                 case PAM_ERROR_MSG:
    114                         fputs(msg[i]->msg, stderr);
    115                         break;
    116                 case PAM_TEXT_INFO:
    117                         fputs(msg[i]->msg, stdout);
    118                         break;
    119                 default:
    120                         err = PAM_BUF_ERR;
    121                         goto fail;
    122                 }
    123         }
    124         return (PAM_SUCCESS);
     91                        }
     92                        fputs(msg[i]->msg, stderr);
     93                        buf[0] = '\0';
     94                        fgets(buf, sizeof buf, stdin);
     95                        if (msg[i]->msg_style == PAM_PROMPT_ECHO_OFF) {
     96                                tattr.c_lflag = lflag;
     97                                (void)tcsetattr(fd, TCSANOW, &tattr);
     98                                fputs("\n", stderr);
     99                        }
     100                        if (ferror(stdin)) {
     101                                err = PAM_CONV_ERR;
     102                                goto fail;
     103                        }
     104                        for (len = strlen(buf); len > 0; --len)
     105                                if (!isspace(buf[len - 1]))
     106                                        break;
     107                        buf[len] = '\0';
     108                        if ((resp[i]->resp = strdup(buf)) == NULL) {
     109                                err = PAM_BUF_ERR;
     110                                goto fail;
     111                        }
     112                        break;
     113                case PAM_ERROR_MSG:
     114                        fputs(msg[i]->msg, stderr);
     115                        break;
     116                case PAM_TEXT_INFO:
     117                        fputs(msg[i]->msg, stdout);
     118                        break;
     119                default:
     120                        err = PAM_BUF_ERR;
     121                        goto fail;
     122                }
     123        }
     124        return (PAM_SUCCESS);
    125125 fail:
    126126        while (i)
    127127                free(resp[--i]);
    128         free(*resp);
    129         *resp = NULL;
    130         return (err);
     128        free(*resp);
     129        *resp = NULL;
     130        return (err);
    131131}
Note: See TracChangeset for help on using the changeset viewer.