Lines Matching defs:categories
28 * categories, it accomplishes this by just using different operations if it is
52 * categories need not be small contiguous integers, so do not lend themselves
93 * where perl is to ignore some locale categories that the libc
153 * categories differ, mojibake can result on many platforms. The code
157 * Several categories require extra work when their locale is changed.
166 * categories that have such requirements have such a function. The
168 * categories which don't need a function).
196 * locale that an external caller would expect, for all categories except
302 * 'name=value;' notation to represent LC_ALL when not all categories
626 /* But regardless, we have to look at individual categories if some are
633 /* Not all categories need be set to the same locale. This macro determines if
656 * nothing on the more typical case where all possible categories present on
775 * categories.
778 * following the individual categories. (The treatment for it varies, so can't
781 * Following this, each array ends with an entry for illegal categories. All
785 * added, using the paradigm of one of the existing categories. */
787 /* The first array is the locale categories perl uses on this system, used to
789 STATIC const int categories[] = {
850 /* A few categories require additional setup when they are changed. This table
1170 * the values for the individual component categories, returning those in
1174 * The locale for each category is independent of the other categories.
1178 * categories have the same locale. Platforms have differing ways of
1185 * Often, all categories will have the same locale. This is special cased
1205 * all categories on the system, 'full_array' will be returned, and the
1259 /* Any ignored categories are to be set to "C", so if this single-component
1261 * component. All the non-ignored categories are set to the input
1301 /* Keep track of the categories we have encountered so far */
1400 /* Finished looping through all the categories
1426 * categories have the same locale. Hence, if it is still 'false', all of
1507 * system is lacking LC_ALL, or there are categories that we ignore, but that
1524 * proper subset of the categories known by the system. */
1556 categories */
1680 * string from the constituent categories
1736 categories should
1747 case full_array: /* Loop below through all the component categories.
1753 /* All categories here are set to the same locale, and the parse
1892 # define setlocale_i(i, locale) stdized_setlocale(categories[i], locale)
1901 # define setlocale_i(i, locale) S_setlocale_i(aTHX_ categories[i], locale)
1978 # define setlocale_i(i, locale) less_dicey_setlocale_r(categories[i], locale)
1994 * emulate the setlocale() API with our own function(s). setlocale categories,
2076 retval = mortalized_pv_copy(posix_setlocale(categories[index], NULL));
2088 /* PL_curlocales[] is kept up-to-date for all categories except LC_ALL,
2131 nl_langinfo_l(_NL_LOCALE_NAME(categories[index]), cur_obj)
2183 * categories each time, since the querylocale() forms on many (if not
2184 * all) platforms only work on individual categories */
2270 categories[index], category_names[index], mask,
2501 /* Loop through the individual categories, setting the locale of
2546 /* Success for all categories. */
2646 # define querylocale_i(i) querylocale_r(categories[i])
2655 # define bool_setlocale_i(i, l) bool_setlocale_r(categories[i], l)
2670 void_setlocale_r_with_caller(categories[i], locale, file, line)
2677 void_setlocale_r(categories[i], locale)
2774 /* For LC_ALL, we change all individual categories to correspond,
2869 * individual categories; or
2894 * If all individual categories are the same locale, we can just set LC_ALL
2896 * categories on the system. Platforms differ as to the syntax they use
2907 * For systems that have categories we don't know about, the algorithm
2908 * below won't know about those missing categories, leading to potential
2915 * categories, adding new ones as they show up on obscure platforms.
2953 /* When we pay attention to all categories, we assume they are all the same
2959 /* But if there are ignored categories, those will be set to "C", so try an
3027 /* If all categories have the same locale, we already know the answer */
3053 else { /* Here, not all categories have the same locale */
3081 /* Loop through all the categories */
3135 } /* End of loop through the categories */
3138 } /* End of the categories' locales are displarate */
3241 * category separately. If all categories are desired, we loop through
3261 * overridden for individual categories that have corresponding environment
3297 locale_names[j] = wrap_wsetlocale(categories[i], ".ACP");
3367 const int cat = categories[cat_index];
3866 * printables plus \n and \t are in their expected categories in
4093 categories */
4524 * if there are locale categories that we are compiled to ignore, any
4528 /* But certain categories need further work. For example we may need to
4604 category_names[cat_index], categories[cat_index],
5199 * localeconv() returns items from two different locale categories,
5363 * But if the locales of both categories are the same, there is no need for
5505 /* And if the locales for the two categories are the same, we can also
5621 /* bit mask of which categories to
5707 /* bit mask of which categories to
5725 * many locks because localeconv() deals with two categories, and returns
5729 /* If the call could be for either or both of the two categories, we need
5876 * LC_ALL instead of the individual categories because of yet another bug
6464 * toggled locale categories. These could easily end up
6732 * 2) where it does exist, but there are categories that it shouldn't be
7941 * categories. The call to langinfo_i() below needs to pass the proper
8044 * But what is it? The other locale categories are not likely to be of
8770 assert(categories[LC_ALL_INDEX_] == LC_ALL);
8811 * categories into our internal indices. */
9053 curlocales[j] = savepv(stdized_setlocale(categories[j], locale));
9078 "perl: warning: Setting locale failed for the categories:\n");
9150 for all categories */
9196 system_locales[j] = savepv(stdized_setlocale(categories[j],
10110 * categories. Again, that is C if not within 'use locale' scope; or the
10120 * to bring the two categories into sync with each other, and possibly to the C
10144 /* On platforms that have precisely one of these categories (Windows
10189 DEBUG_STRERROR_ENTER(errnum, IN_LC(categories[WHICH_LC_INDEX]));
10192 const locale_t which_obj = (IN_LC(categories[WHICH_LC_INDEX]))
10206 # else /* Are using both categories. Place them in the same CODESET,
10245 /* If not using using either of the categories, return plain, unadorned
10276 DEBUG_STRERROR_ENTER(errnum, IN_LC(categories[WHICH_LC_INDEX]));
10279 if (IN_LC(categories[WHICH_LC_INDEX])) {
10508 posix_setlocale(categories[i], cur_thread_locales[i]);
10614 current_globals[i] = savepv(stdized_setlocale(categories[i], NULL));