diff --git a/kadmin/add-random-users.c b/kadmin/add-random-users.c index f5dd52c06..7f5923160 100644 --- a/kadmin/add-random-users.c +++ b/kadmin/add-random-users.c @@ -57,8 +57,7 @@ read_words (const char *filename, char ***ret_w) while (fgets (buf, sizeof(buf), f) != NULL) { size_t len; - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; if (n >= alloc) { alloc = max(alloc + 16, alloc * 2); w = erealloc (w, alloc * sizeof(char **)); diff --git a/kdc/string2key.c b/kdc/string2key.c index df59feedb..6ac0aa766 100644 --- a/kdc/string2key.c +++ b/kdc/string2key.c @@ -161,16 +161,14 @@ main(int argc, char **argv) printf("Kerberos v5 principal: "); if(fgets(buf, sizeof(buf), stdin) == NULL) return 1; - if(buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; principal = estrdup(buf); } if(afs && cell == NULL){ printf("AFS cell: "); if(fgets(buf, sizeof(buf), stdin) == NULL) return 1; - if(buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; cell = estrdup(buf); } if(argv[0]) diff --git a/lib/krb5/config_file.c b/lib/krb5/config_file.c index 45266dcdd..94a33a710 100644 --- a/lib/krb5/config_file.c +++ b/lib/krb5/config_file.c @@ -158,8 +158,7 @@ parse_list(struct fileptr *f, unsigned *lineno, krb5_config_binding **parent, char *p; ++*lineno; - if (buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; p = buf; while(isspace((unsigned char)*p)) ++p; @@ -255,8 +254,7 @@ krb5_config_parse_debug (struct fileptr *f, char *p; ++*lineno; - if(buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; p = buf; while(isspace((unsigned char)*p)) ++p; diff --git a/lib/sl/sl.c b/lib/sl/sl.c index 1aedfe22d..2c6df042c 100644 --- a/lib/sl/sl.c +++ b/lib/sl/sl.c @@ -191,8 +191,7 @@ readline(char *prompt) fflush (stdout); if(fgets(buf, sizeof(buf), stdin) == NULL) return NULL; - if (buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; return strdup(buf); }