about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--intl/dcigettext.c15
-rw-r--r--intl/loadmsgcat.c7
3 files changed, 16 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 5389040f25..d6d520f2b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -43,6 +43,10 @@
 	warning.
 	* sysdeps/unix/sysv/linux/init-first.c: Add prototypes for
 	__libc_init_first and _dl_start.
+	* intl/dcigettext.c (transcmp): Make s1 and s2 const.
+	(DCIGETTEXT): Make domaindata variable const.
+	* intl/loadmsgcat.c (_nl_load_domain): Rearrange domain initialization
+	to avoid warning.
 
 2000-11-20  Hiroyuki Machida  <machida@sm.sony.co.jp>
 
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index c47cccf512..dd3a559f58 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -243,10 +243,13 @@ static void *root;
 static int
 transcmp (const void *p1, const void *p2)
 {
-  struct known_translation_t *s1 = (struct known_translation_t *) p1;
-  struct known_translation_t *s2 = (struct known_translation_t *) p2;
+  const struct known_translation_t *s1;
+  const struct known_translation_t *s2;
   int result;
 
+  s1 = (const struct known_translation_t *) p1;
+  s2 = (const struct known_translation_t *) p2;
+
   result = strcmp (s1->msgid, s2->msgid);
   if (result == 0)
     {
@@ -564,8 +567,8 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
 
 	  if (plural != 0)
 	    {
-	      struct loaded_domain *domaindata =
-		(struct loaded_domain *) domain->data;
+	      const struct loaded_domain *domaindata =
+		(const struct loaded_domain *) domain->data;
 	      index = plural_eval (domaindata->plural, n);
 	      if (index >= domaindata->nplurals)
 		/* This should never happen.  It means the plural expression
@@ -662,7 +665,7 @@ _nl_find_msg (domain_file, msgid, index)
      const char *msgid;
      unsigned long int index;
 {
-  struct loaded_domain *domain;
+  const struct loaded_domain *domain;
   size_t act;
   char *result;
 
@@ -672,7 +675,7 @@ _nl_find_msg (domain_file, msgid, index)
   if (domain_file->data == NULL)
     return NULL;
 
-  domain = (struct loaded_domain *) domain_file->data;
+  domain = (const struct loaded_domain *) domain_file->data;
 
   /* Locate the MSGID and its translation.  */
   if (domain->hash_size > 2 && domain->hash_tab != NULL)
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index aad6dfe5db..6b09815437 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -214,12 +214,11 @@ _nl_load_domain (domain_file)
       return;
     }
 
-  domain_file->data
-    = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
-  if (domain_file->data == NULL)
+  domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
+  if (domain == NULL)
     return;
+  domain_file->data = domain;
 
-  domain = (struct loaded_domain *) domain_file->data;
   domain->data = (char *) data;
   domain->use_mmap = use_mmap;
   domain->mmap_size = size;