From 4f8ba5ad6ac9b7153b0e13654e59f47e67b3f608 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 13 Nov 2009 10:51:14 +1100 Subject: s4:heimdal: import lorikeet-heimdal-200911122202 (commit 9291fd2d101f3eecec550178634faa94ead3e9a1) --- source4/heimdal/lib/com_err/error.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'source4/heimdal/lib/com_err/error.c') diff --git a/source4/heimdal/lib/com_err/error.c b/source4/heimdal/lib/com_err/error.c index 6b12c00c7a..d4a42ac5de 100644 --- a/source4/heimdal/lib/com_err/error.c +++ b/source4/heimdal/lib/com_err/error.c @@ -47,18 +47,28 @@ const char * com_right(struct et_list *list, long code) +{ + struct et_list *p; + for (p = list; p; p = p->next) + if (code >= p->table->base && code < p->table->base + p->table->n_msgs) + return p->table->msgs[code - p->table->base]; + return NULL; +} + +const char * +com_right_r(struct et_list *list, long code, char *str, size_t len) { struct et_list *p; for (p = list; p; p = p->next) { if (code >= p->table->base && code < p->table->base + p->table->n_msgs) { - const char *str = p->table->msgs[code - p->table->base]; + const char *msg = p->table->msgs[code - p->table->base]; #ifdef LIBINTL char domain[12 + 20]; snprintf(domain, sizeof(domain), "heim_com_err%d", p->table->base); #endif - return dgettext(domain, str); + strlcpy(str, dgettext(domain, msg), len); + return str; } - } return NULL; } -- cgit