/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2001, 2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include "gnu_msgfmt.h"
struct messages *
{
struct messages *m;
return (NULL);
m = p->msg;
/* found */
return (&m[i - 1]);
}
}
return (NULL);
}
static int
{
}
void
output_all_gnu_mo_files(void)
{
struct messages *m;
unsigned int *hash_tbl;
unsigned int hash_size;
unsigned int i, idx;
p = catalog_head;
while (p) {
if (p->nmsg == 0) {
/*
* no message in this file
* skip generating a mo
*/
goto skip;
}
if (p->header)
num--;
/*
* Sort the message array
*/
(int (*)(const void *, const void *))msg_cmp);
sizeof (unsigned int));
/* Setting Header info */
m = p->msg;
id_len = 0;
str_len = 0;
for (i = 0; i < p->nmsg; i++) {
}
p->nmsg);
p->nmsg);
id_off = 0;
str_off = 0;
sizeof (unsigned int) * hash_size;
for (i = 0; i < p->nmsg; i++) {
/*
* Set the hash table
*/
/*
* rearrange msgid and msgstr
*/
}
/* NOTREACHED */
}
/* writing header */
1, out);
/* writing msgid offset table */
/* writing msgstr offset table */
/* writing hash table */
/* writing msgid table */
/* writing msgstr table */
skip:
free(p);
p = op;
}
if (verbose_flag) {
}
}