~ubuntu-branches/ubuntu/breezy/libx11/breezy

« back to all changes in this revision

Viewing changes to src/xlibi18n/XlcDL.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Stone
  • Date: 2005-09-30 16:30:55 UTC
  • Revision ID: james.westby@ubuntu.com-20050930163055-dfterq3qv2h111u0
Tags: 1:6.2.1+cvs.20050722-8
Fix non-UTF-8 locales by fixing generation of compose.dir, locale.alias,
and locale.dir in nls/ (closes: Ubuntu#13724).

Show diffs side-by-side

added added

removed removed

Lines of Context:
403
403
    dynamicLoadProc lc_loader = (dynamicLoadProc)NULL;
404
404
    int count;
405
405
    XI18NObjectsList objects_list;
406
 
    char lc_dir[BUFSIZE];
 
406
    char lc_dir[BUFSIZE], lc_lib_dir[BUFSIZE];
407
407
 
408
408
    if (lc_name == NULL) return (XLCd)NULL;
409
409
 
410
 
    if (_XlcLocaleDirName(lc_dir, BUFSIZE, (char *)lc_name) == (char*)NULL)
 
410
    if (_XlcLocaleDirName(lc_dir, BUFSIZE, (char *)lc_name) == (char *)NULL)
 
411
        return (XLCd)NULL;
 
412
    if (_XlcLocaleLibDirName(lc_lib_dir, BUFSIZE, (char *)lc_name) == (char*)NULL)
411
413
        return (XLCd)NULL;
412
414
 
413
415
    resolve_object(lc_dir, lc_name);
 
416
    resolve_object(lc_lib_dir, lc_name);
414
417
 
415
418
    objects_list = xi18n_objects_list;
416
419
    count = lc_count;
417
420
    for (; count-- > 0; objects_list++) {
418
421
        if (objects_list->type != XLC_OBJECT ||
419
422
            strcmp(objects_list->locale_name, lc_name)) continue;
420
 
        if (!open_object (objects_list, lc_dir))
 
423
        if (!open_object (objects_list, lc_dir) && \
 
424
            !open_object (objects_list, lc_lib_dir))
421
425
            continue;
422
426
 
423
427
        lc_loader = (dynamicLoadProc)fetch_symbol (objects_list, objects_list->open);
448
452
 
449
453
  lc_name = lcd->core->name;
450
454
 
451
 
  if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XIM)0;
 
455
  if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XIM)0;
452
456
 
453
457
  count = lc_count;
454
458
  for (; count-- > 0; objects_list++) {
496
500
 
497
501
  lc_name = lcd->core->name;
498
502
 
499
 
  if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False;
 
503
  if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False;
500
504
 
501
505
  count = lc_count;
502
506
  for (; count-- > 0; objects_list++) {
600
604
 
601
605
  lc_name = lcd->core->name;
602
606
 
603
 
  if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XOM)0;
 
607
  if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XOM)0;
604
608
 
605
609
  count = lc_count;
606
610
  for (; count-- > 0; objects_list++) {