Symbol: mohandle
lib/libintl/gettext.c
1000
db->mohandle.mo.mo_magic)
lib/libintl/gettext.c
1023
if (db->mohandle.mo.mo_plural) {
lib/libintl/gettext.c
1025
_gettext_calculate_plural(db->mohandle.mo.mo_plural, n);
lib/libintl/gettext.c
1026
if (plural_index >= db->mohandle.mo.mo_nplurals)
lib/libintl/gettext.c
1037
if (db->mohandle.mo.mo_plural)
lib/libintl/gettext.c
371
validate(void *arg, struct mohandle *mohandle)
lib/libintl/gettext.c
376
if (p < (char *)mohandle->addr ||
lib/libintl/gettext.c
377
p > (char *)mohandle->addr + mohandle->len)
lib/libintl/gettext.c
440
expand_sysdep(struct mohandle *mohandle, struct mosysdepstr_h *str)
lib/libintl/gettext.c
457
mohandle->mo.mo_sysdep_segs[str->segs[i].ref].len;
lib/libintl/gettext.c
471
memcpy(dst, mohandle->mo.mo_sysdep_segs[str->segs[i].ref].str,
lib/libintl/gettext.c
472
mohandle->mo.mo_sysdep_segs[str->segs[i].ref].len);
lib/libintl/gettext.c
473
dst += mohandle->mo.mo_sysdep_segs[str->segs[i].ref].len;
lib/libintl/gettext.c
496
setup_sysdep_stuffs(struct mo *mo, struct mohandle *mohandle, char *base)
lib/libintl/gettext.c
507
mohandle->mo.mo_sysdep_nsegs = flip(mo->mo_sysdep_nsegs, magic);
lib/libintl/gettext.c
508
mohandle->mo.mo_sysdep_nstring = flip(mo->mo_sysdep_nstring, magic);
lib/libintl/gettext.c
510
if (mohandle->mo.mo_sysdep_nstring == 0)
lib/libintl/gettext.c
514
if (mohandle->mo.mo_hsize <= 2 ||
lib/libintl/gettext.c
515
mohandle->mo.mo_hsize <
lib/libintl/gettext.c
516
(mohandle->mo.mo_nstring + mohandle->mo.mo_sysdep_nstring))
lib/libintl/gettext.c
520
l = sizeof(struct mosysdepsegs_h) * mohandle->mo.mo_sysdep_nsegs;
lib/libintl/gettext.c
521
mohandle->mo.mo_sysdep_segs = (struct mosysdepsegs_h *)malloc(l);
lib/libintl/gettext.c
522
if (!mohandle->mo.mo_sysdep_segs)
lib/libintl/gettext.c
526
for (i=0; i<mohandle->mo.mo_sysdep_nsegs; i++) {
lib/libintl/gettext.c
528
mohandle->mo.mo_sysdep_segs[i].str =
lib/libintl/gettext.c
531
&mohandle->mo.mo_sysdep_segs[i].len);
lib/libintl/gettext.c
535
mohandle->mo.mo_sysdep_otable =
lib/libintl/gettext.c
536
(struct mosysdepstr_h **)calloc(mohandle->mo.mo_sysdep_nstring,
lib/libintl/gettext.c
538
if (!mohandle->mo.mo_sysdep_otable)
lib/libintl/gettext.c
542
if (get_sysdep_string_table(mohandle->mo.mo_sysdep_otable, ofstable,
lib/libintl/gettext.c
543
mohandle->mo.mo_sysdep_nstring, magic,
lib/libintl/gettext.c
546
mohandle->mo.mo_sysdep_ttable =
lib/libintl/gettext.c
547
(struct mosysdepstr_h **)calloc(mohandle->mo.mo_sysdep_nstring,
lib/libintl/gettext.c
549
if (!mohandle->mo.mo_sysdep_ttable)
lib/libintl/gettext.c
553
if (get_sysdep_string_table(mohandle->mo.mo_sysdep_ttable, ofstable,
lib/libintl/gettext.c
554
mohandle->mo.mo_sysdep_nstring, magic,
lib/libintl/gettext.c
559
for (i=0; i<mohandle->mo.mo_sysdep_nstring; i++) {
lib/libintl/gettext.c
560
if (expand_sysdep(mohandle, mohandle->mo.mo_sysdep_otable[i]))
lib/libintl/gettext.c
562
insert_to_hash(mohandle->mo.mo_htable,
lib/libintl/gettext.c
563
mohandle->mo.mo_hsize,
lib/libintl/gettext.c
564
mohandle->mo.mo_sysdep_otable[i]->expanded,
lib/libintl/gettext.c
585
struct mohandle *mohandle = &db->mohandle;
lib/libintl/gettext.c
587
if (mohandle->addr && mohandle->addr != MAP_FAILED &&
lib/libintl/gettext.c
588
mohandle->mo.mo_magic)
lib/libintl/gettext.c
624
mohandle->addr = mmap(NULL, (size_t)st.st_size, PROT_READ,
lib/libintl/gettext.c
626
if (!mohandle->addr || mohandle->addr == MAP_FAILED) {
lib/libintl/gettext.c
631
mohandle->len = (size_t)st.st_size;
lib/libintl/gettext.c
633
base = mohandle->addr;
lib/libintl/gettext.c
634
mo = (struct mo *)mohandle->addr;
lib/libintl/gettext.c
637
mohandle->mo.mo_magic = mo->mo_magic;
lib/libintl/gettext.c
638
mohandle->mo.mo_revision = flip(mo->mo_revision, magic);
lib/libintl/gettext.c
639
mohandle->mo.mo_nstring = flip(mo->mo_nstring, magic);
lib/libintl/gettext.c
640
mohandle->mo.mo_hsize = flip(mo->mo_hsize, magic);
lib/libintl/gettext.c
641
mohandle->mo.mo_flags = flags;
lib/libintl/gettext.c
648
if (!validate(otable, mohandle) ||
lib/libintl/gettext.c
649
!validate(&otable[mohandle->mo.mo_nstring], mohandle)) {
lib/libintl/gettext.c
653
if (!validate(ttable, mohandle) ||
lib/libintl/gettext.c
654
!validate(&ttable[mohandle->mo.mo_nstring], mohandle)) {
lib/libintl/gettext.c
660
l = sizeof(struct moentry_h) * mohandle->mo.mo_nstring;
lib/libintl/gettext.c
661
mohandle->mo.mo_otable = (struct moentry_h *)malloc(l);
lib/libintl/gettext.c
662
if (!mohandle->mo.mo_otable) {
lib/libintl/gettext.c
666
mohandle->mo.mo_ttable = (struct moentry_h *)malloc(l);
lib/libintl/gettext.c
667
if (!mohandle->mo.mo_ttable) {
lib/libintl/gettext.c
671
p = mohandle->mo.mo_otable;
lib/libintl/gettext.c
672
for (i = 0; i < mohandle->mo.mo_nstring; i++) {
lib/libintl/gettext.c
676
if (!validate(p[i].off, mohandle) ||
lib/libintl/gettext.c
677
!validate(p[i].off + p[i].len + 1, mohandle)) {
lib/libintl/gettext.c
682
p = mohandle->mo.mo_ttable;
lib/libintl/gettext.c
683
for (i = 0; i < mohandle->mo.mo_nstring; i++) {
lib/libintl/gettext.c
687
if (!validate(p[i].off, mohandle) ||
lib/libintl/gettext.c
688
!validate(p[i].off + p[i].len + 1, mohandle)) {
lib/libintl/gettext.c
694
if (mohandle->mo.mo_hsize > 2) {
lib/libintl/gettext.c
695
l = sizeof(uint32_t) * mohandle->mo.mo_hsize;
lib/libintl/gettext.c
696
mohandle->mo.mo_htable = (uint32_t *)malloc(l);
lib/libintl/gettext.c
697
if (!mohandle->mo.mo_htable) {
lib/libintl/gettext.c
70
static int validate(void *, struct mohandle *);
lib/libintl/gettext.c
703
for (i=0; i < mohandle->mo.mo_hsize; i++) {
lib/libintl/gettext.c
704
mohandle->mo.mo_htable[i] = flip(htable[i], magic);
lib/libintl/gettext.c
705
if (mohandle->mo.mo_htable[i] >=
lib/libintl/gettext.c
706
mohandle->mo.mo_nstring+1) {
lib/libintl/gettext.c
714
mohandle->mo.mo_header = lookup("", db, &headerlen);
lib/libintl/gettext.c
715
if (mohandle->mo.mo_header)
lib/libintl/gettext.c
716
value = strstr(mohandle->mo.mo_header, "charset=");
lib/libintl/gettext.c
720
mohandle->mo.mo_charset = strdup(value + 8);
lib/libintl/gettext.c
721
if (!mohandle->mo.mo_charset)
lib/libintl/gettext.c
723
char *newline = strchr(mohandle->mo.mo_charset, '\n');
lib/libintl/gettext.c
727
if (!mohandle->mo.mo_header ||
lib/libintl/gettext.c
728
_gettext_parse_plural(&mohandle->mo.mo_plural,
lib/libintl/gettext.c
729
&mohandle->mo.mo_nplurals,
lib/libintl/gettext.c
730
mohandle->mo.mo_header, headerlen))
lib/libintl/gettext.c
731
mohandle->mo.mo_plural = NULL;
lib/libintl/gettext.c
742
if ((mohandle->mo.mo_flags & MO_F_SYSDEP) != 0) {
lib/libintl/gettext.c
743
if (setup_sysdep_stuffs(mo, mohandle, base)) {
lib/libintl/gettext.c
774
struct mohandle *mohandle = &db->mohandle;
lib/libintl/gettext.c
777
if (mohandle->addr && mohandle->addr != MAP_FAILED)
lib/libintl/gettext.c
778
munmap(mohandle->addr, mohandle->len);
lib/libintl/gettext.c
779
mohandle->addr = NULL;
lib/libintl/gettext.c
780
free(mohandle->mo.mo_otable);
lib/libintl/gettext.c
781
free(mohandle->mo.mo_ttable);
lib/libintl/gettext.c
782
free(mohandle->mo.mo_charset);
lib/libintl/gettext.c
783
free(mohandle->mo.mo_htable);
lib/libintl/gettext.c
784
free(mohandle->mo.mo_sysdep_segs);
lib/libintl/gettext.c
785
free_sysdep_table(mohandle->mo.mo_sysdep_otable,
lib/libintl/gettext.c
786
mohandle->mo.mo_sysdep_nstring);
lib/libintl/gettext.c
787
free_sysdep_table(mohandle->mo.mo_sysdep_ttable,
lib/libintl/gettext.c
788
mohandle->mo.mo_sysdep_nstring);
lib/libintl/gettext.c
789
_gettext_free_plural(mohandle->mo.mo_plural);
lib/libintl/gettext.c
790
memset(&mohandle->mo, 0, sizeof(mohandle->mo));
lib/libintl/gettext.c
798
struct mohandle *mohandle = &db->mohandle;
lib/libintl/gettext.c
803
if (mohandle->mo.mo_hsize <= 2 || mohandle->mo.mo_htable == NULL)
lib/libintl/gettext.c
807
step = calc_collision_step(hashval, mohandle->mo.mo_hsize);
lib/libintl/gettext.c
808
idx = hashval % mohandle->mo.mo_hsize;
lib/libintl/gettext.c
811
strno = mohandle->mo.mo_htable[idx];
lib/libintl/gettext.c
819
if (len <= mohandle->mo.mo_otable[strno].len &&
lib/libintl/gettext.c
820
!strcmp(msgid, mohandle->mo.mo_otable[strno].off)) {
lib/libintl/gettext.c
824
mohandle->mo.mo_ttable[strno].len;
lib/libintl/gettext.c
825
return mohandle->mo.mo_ttable[strno].off;
lib/libintl/gettext.c
830
sysdep_otable = mohandle->mo.mo_sysdep_otable[strno];
lib/libintl/gettext.c
831
sysdep_ttable = mohandle->mo.mo_sysdep_ttable[strno];
lib/libintl/gettext.c
835
if (expand_sysdep(mohandle, sysdep_ttable))
lib/libintl/gettext.c
843
idx = calc_next_index(idx, mohandle->mo.mo_hsize, step);
lib/libintl/gettext.c
853
struct mohandle *mohandle = &db->mohandle;
lib/libintl/gettext.c
856
bottom = mohandle->mo.mo_nstring;
lib/libintl/gettext.c
866
if ((size_t)middle >= mohandle->mo.mo_nstring)
lib/libintl/gettext.c
869
n = strcmp(msgid, mohandle->mo.mo_otable[middle].off);
lib/libintl/gettext.c
872
*rlen = mohandle->mo.mo_ttable[middle].len;
lib/libintl/gettext.c
873
return (const char *)mohandle->mo.mo_ttable[middle].off;
lib/libintl/gettext_iconv.c
113
const char *fromcode = db->mohandle.mo.mo_charset;
lib/libintl/libintl_local.h
138
struct mohandle mohandle;
lib/libintl/textdomain.c
103
p->mohandle.mo.mo_magic = 0; /* invalidate current mapping */