summaryrefslogtreecommitdiffstats
path: root/lib/libc/locale/ldpart.c
diff options
context:
space:
mode:
authorphantom <phantom@FreeBSD.org>2001-02-13 15:29:39 +0000
committerphantom <phantom@FreeBSD.org>2001-02-13 15:29:39 +0000
commitced7256011bf11eb4b07e931bbfa8d5df18d0f9d (patch)
tree0fd5d5eece0b7b596b29637975dd02262f4cfe01 /lib/libc/locale/ldpart.c
parentba80a3ed223c9d3392b5b78aa72270d604907d0b (diff)
downloadFreeBSD-src-ced7256011bf11eb4b07e931bbfa8d5df18d0f9d.zip
FreeBSD-src-ced7256011bf11eb4b07e931bbfa8d5df18d0f9d.tar.gz
add additional function parameter: bufsize_min. it's possible
to check two sizes per one function invocation now. Suggested by: ache
Diffstat (limited to 'lib/libc/locale/ldpart.c')
-rw-r--r--lib/libc/locale/ldpart.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libc/locale/ldpart.c b/lib/libc/locale/ldpart.c
index 533b253..09ac06e 100644
--- a/lib/libc/locale/ldpart.c
+++ b/lib/libc/locale/ldpart.c
@@ -45,7 +45,8 @@ __part_load_locale(const char *name,
int* using_locale,
char *locale_buf,
const char *category_name,
- int locale_buf_size,
+ int locale_buf_size_max,
+ int locale_buf_size_min,
const char **dst_localebuf) {
static char locale_buf_C[] = "C";
@@ -118,8 +119,10 @@ __part_load_locale(const char *name,
if (plim[-1] != '\n')
goto bad_lbuf;
num_lines = split_lines(p, plim);
- if (num_lines >= locale_buf_size)
- num_lines = locale_buf_size;
+ if (num_lines >= locale_buf_size_max)
+ num_lines = locale_buf_size_max;
+ else if (num_lines >= locale_buf_size_min)
+ num_lines = locale_buf_size_min;
else
goto reset_locale;
set_from_buf(lbuf, num_lines, dst_localebuf);
OpenPOWER on IntegriCloud