Rev 4921 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4921 | Rev 6099 | ||
---|---|---|---|
Line 108... | Line 108... | ||
108 | if (fstat(fd, &st) != 0) |
108 | if (fstat(fd, &st) != 0) |
109 | #endif |
109 | #endif |
110 | goto bad_locale; |
110 | goto bad_locale; |
111 | if (st.st_size <= 0) |
111 | if (st.st_size <= 0) |
112 | goto bad_locale; |
112 | goto bad_locale; |
113 | bufsize = namesize + st.st_size; |
113 | bufsize = namesize + st.st_size + 1; |
114 | locale_buf = NULL; |
114 | locale_buf = NULL; |
Line 115... | Line 115... | ||
115 | 115 | ||
116 | if (lbuf == NULL || lbuf == locale_buf_C) |
116 | if (lbuf == NULL || lbuf == locale_buf_C) |
117 | { |
117 | { |
Line 135... | Line 135... | ||
135 | if (close(fd) != 0) |
135 | if (close(fd) != 0) |
136 | goto bad_lbuf; |
136 | goto bad_lbuf; |
137 | /* |
137 | /* |
138 | * Parse the locale file into localebuf. |
138 | * Parse the locale file into localebuf. |
139 | */ |
139 | */ |
- | 140 | p[st.st_size] = '\0'; |
|
140 | if (plim[-1] != '\n') |
141 | if (plim[-1] != '\n') |
141 | goto bad_lbuf; |
142 | goto bad_lbuf; |
142 | num_lines = split_lines(p, plim); |
143 | num_lines = split_lines(p, plim); |
143 | if (num_lines >= locale_buf_size_max) |
144 | if (num_lines >= locale_buf_size_max) |
144 | num_lines = locale_buf_size_max; |
145 | num_lines = locale_buf_size_max; |