summaryrefslogtreecommitdiff
path: root/intl/dcigettext.c
diff options
context:
space:
mode:
Diffstat (limited to 'intl/dcigettext.c')
-rw-r--r--intl/dcigettext.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 75762ea18f..8163064edc 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -177,7 +177,7 @@ static void *mempcpy PARAMS ((void *dest, const void *src, size_t n));
struct known_translation_t
{
/* Domain in which to search. */
- char *domainname;
+ const char *domainname;
/* The category. */
int category;
@@ -436,7 +436,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
search = (struct known_translation_t *)
alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
memcpy (search->msgid, msgid1, msgid_len);
- search->domainname = (char *) domainname;
+ search->domainname = domainname;
search->category = category;
/* Since tfind/tsearch manage a balanced tree, concurrent tfind and
@@ -632,9 +632,11 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
+ msgid_len + domainname_len + 1);
if (newp != NULL)
{
- newp->domainname =
- mempcpy (newp->msgid, msgid1, msgid_len);
- memcpy (newp->domainname, domainname, domainname_len + 1);
+ char *new_domainname;
+
+ new_domainname = mempcpy (newp->msgid, msgid1, msgid_len);
+ memcpy (new_domainname, domainname, domainname_len + 1);
+ newp->domainname = new_domainname;
newp->category = category;
newp->counter = _nl_msg_cat_cntr;
newp->domain = domain;