From 487bcca4e20444a23fa610a98fde8b2bbc0f095e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 4 Dec 2006 23:36:36 +0000 Subject: [PATCH] =?UTF-8?q?Use=20strcspn=20to=20remove=20\n=20from=20fgets?= =?UTF-8?q?=20result.=20Prompted=20by=20change=20by=20Ray=20Lai=20of=20Ope?= =?UTF-8?q?nBSD=20via=20Bj=C3=B6rn=20Sandell.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19213 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kadmin/add-random-users.c | 3 +-- kdc/string2key.c | 6 ++---- lib/krb5/config_file.c | 6 ++---- lib/sl/sl.c | 3 +-- 4 files changed, 6 insertions(+), 12 deletions(-) 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); }