Lines Matching defs:category

154 native_setlocale(int category, const char* locale)
167 if (category == LC_MESSAGES)
169 sys = uwin_setlocale(category, usr);
171 sfprintf(sfstderr, "locale uwin %17s %-24s %-24s\n", lc_categories[lcindex(category, 0)].name, usr, sys);
2293 register int category = cp->internal;
2305 if (!LCINFO(category)->data)
2316 LCINFO(category)->data = (void*)dp;
2384 default_setlocale(int category, const char* locale)
2396 return (locales[1]->flags & (1<<category)) ? locales[1]->name : locales[0]->name;
2411 _sys_setlocale(int category, const char* locale)
2417 r = setlocale(category, locale);
2427 * set a single AST_LC_* locale category
2428 * the caller must validate category
2433 single(int category, Lc_t* lc, unsigned int flags)
2440 sfprintf(sfstderr, "locale single %16s %16s flags %04x\n", lc_categories[category].name, lc ? lc->name : 0, flags);
2445 lc_categories[category].prev = lc;
2446 if ((flags & LC_setenv) && lc_all && locales[category])
2448 if (lc_categories[category].setf)
2449 (*lc_categories[category].setf)(&lc_categories[category]);
2450 return (char*)locales[category]->name;
2453 if (!lc && (!(lc_categories[category].flags & LC_setlocale) || !(lc = lc_categories[category].prev)) && !(lc = lc_all) && !(lc = lc_categories[category].prev) && !(lc = lang))
2456 if (locales[category] != lc)
2458 if (lc_categories[category].external == -lc_categories[category].internal)
2468 sys = setlocale(lc_categories[category].external, lcmake(NiL)->name);
2469 else if (!(sys = setlocale(lc_categories[category].external, lc->name)) &&
2470 (streq(lc->name, lc->code) || !(sys = setlocale(lc_categories[category].external, lc->code))) &&
2472 sys = setlocale(lc_categories[category].external, lc->language->code);
2492 if (lc_categories[category].external != -lc_categories[category].internal)
2493 setlocale(lc_categories[category].external, lcmake(NiL)->name);
2495 locales[category] = lc;
2496 if (lc_categories[category].setf && (*lc_categories[category].setf)(&lc_categories[category]))
2498 locales[category] = lc_categories[category].prev;
2501 if ((lc->flags & LC_default) || category == AST_LC_MESSAGES && lc->name[0] == 'e' && lc->name[1] == 'n' && (lc->name[2] == 0 || lc->name[2] == '_' && lc->name[3] == 'U'))
2502 ast.locale.set &= ~(1<<category);
2504 ast.locale.set |= (1<<category);
2507 else if (lc_categories[category].flags ^ flags)
2509 lc_categories[category].flags &= ~(LC_setenv|LC_setlocale);
2510 lc_categories[category].flags |= flags;
2514 if (lc_categories[category].setf)
2515 (*lc_categories[category].setf)(&lc_categories[category]);
2521 sfprintf(sfstderr, "locale set %17s %16s %16s %16s", lc_categories[category].name, lc->name, sys, lc_categories[category].prev ? lc_categories[category].prev->name : NiL);
2522 if (category == AST_LC_CTYPE)
2535 else if (category == AST_LC_NUMERIC)
2537 Lc_numeric_t* dp = (Lc_numeric_t*)LCINFO(category)->data;
2541 if ((locales[category]->flags | lc_categories[category].flags) & LC_default)
2543 if ((locales[category]->flags | lc_categories[category].flags) & LC_local)
2545 if ((locales[category]->flags | lc_categories[category].flags) & LC_setlocale)
2547 if ((locales[category]->flags | lc_categories[category].flags) & LC_setenv)
2674 _ast_setlocale(int category, const char* locale)
2688 if ((category = lcindex(category, 0)) < 0)
2697 if (category != AST_LC_ALL && category != AST_LC_LANG)
2698 return (char*)locales[category]->name;
2739 sfprintf(sfstderr, "locale user %17s %16s %16s %16s%s%s\n", category == AST_LC_LANG ? "LANG" : lc_categories[category].name, locale && !*locale ? "''" : locale, "", "", initialized ? "" : " initial", (ast.locale.set & AST_LC_setenv) ? " setenv" : "");
2751 else if (category == AST_LC_ALL)
2805 else if (category == AST_LC_LANG || !(p = lc_categories[category].prev))
2812 if (category == AST_LC_LANG)
2827 else if (category != AST_LC_ALL)
2830 return single(category, p, f);
2832 lc_categories[category].prev = p;
2833 return (char*)locales[category]->name;