diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-11-19 22:55:04 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-11-19 22:55:04 +0000 |
commit | e4dfe2462ddf3f6896b8231866fa39809921351a (patch) | |
tree | ce738defe47af13a15e69a144e132033f996eb7d | |
parent | 3c3d34f3da67e964ee89318f07583b99d6686eb1 (diff) |
Don't discard lines after comments.
-rw-r--r-- | intl/localealias.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/intl/localealias.c b/intl/localealias.c index e08cdf94a9..94673de35b 100644 --- a/intl/localealias.c +++ b/intl/localealias.c @@ -1,5 +1,5 @@ /* localealias.c -- handle aliases for locale names - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -229,6 +229,19 @@ read_alias_file (fname, fname_len) /* EOF reached. */ break; + /* Possibly not the whole line fits into the buffer. Ignore + the rest of the line. */ + if (strchr (buf, '\n') == NULL) + { + char altbuf[BUFSIZ]; + do + if (fgets (altbuf, sizeof altbuf, fp) == NULL) + /* Make sure the inner loop will be left. The outer loop + will exit at the `feof' test. */ + break; + while (strchr (altbuf, '\n') == NULL); + } + cp = buf; /* Ignore leading white space. */ while (isspace (cp[0])) @@ -296,17 +309,6 @@ read_alias_file (fname, fname_len) ++added; } } - - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - while (strchr (cp, '\n') == NULL) - { - cp = buf; - if (fgets (buf, BUFSIZ, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - *cp = '\n'; - } } /* Should we test for ferror()? I think we have to silently ignore |