Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/perl5Public

Commitfe289ff

Browse files
committed
perl_langinfo.h: Resume some assumptions
To save some typing, I assumed that if a system had these glibc-onlylocale categories, that it would have all elements that comprise them.For example with LC_PAPER, the elements are the height and width of apiece of paper. It doesn't make any sense to have LC_PAPER without anydimensions available.But Android has LC_PAPER without paper dimensions; the same with all theother elements in the glibc category extensions. See GH#22627.I believe that means that these categories are useless on this platform.But this commit now checks each element for existence individually;removing the assumption that if the category exists, the element musttoo.
1 parent82c4939 commitfe289ff

File tree

1 file changed

+147
-47
lines changed

1 file changed

+147
-47
lines changed

‎perl_langinfo.h

Lines changed: 147 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -253,70 +253,170 @@ typedef int nl_item; /* Substitute 'int' for emulated nl_langinfo() */
253253
* conflict with some other value, in which case after much gnashing of teeth
254254
* you will find this comment, and end up having to adjust the numbers. But
255255
* glibc values are not (so far) negative */
256-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_ADDRESS)
257-
# define_NL_ADDRESS_POSTAL_FMT -58
258-
# define_NL_ADDRESS_COUNTRY_NAME -59
259-
# define_NL_ADDRESS_COUNTRY_POST -60
260-
# define_NL_ADDRESS_COUNTRY_AB2 -61
261-
# define_NL_ADDRESS_COUNTRY_AB3 -62
262-
# define_NL_ADDRESS_COUNTRY_CAR -63
263-
# define_NL_ADDRESS_COUNTRY_NUM -64
264-
# define_NL_ADDRESS_COUNTRY_ISBN -65
265-
# define_NL_ADDRESS_LANG_NAME -66
266-
# define_NL_ADDRESS_LANG_AB -67
267-
# define_NL_ADDRESS_LANG_TERM -68
268-
# define_NL_ADDRESS_LANG_LIB -69
269-
256+
#ifndef_NL_ADDRESS_POSTAL_FMT
257+
# define_NL_ADDRESS_POSTAL_FMT -58
258+
# defineHAS_MISSING_LANGINFO_ITEM_
259+
#endif
260+
#ifndef_NL_ADDRESS_COUNTRY_NAME
261+
# define_NL_ADDRESS_COUNTRY_NAME -59
262+
# defineHAS_MISSING_LANGINFO_ITEM_
263+
#endif
264+
#ifndef_NL_ADDRESS_COUNTRY_POST
265+
# define_NL_ADDRESS_COUNTRY_POST -60
266+
# defineHAS_MISSING_LANGINFO_ITEM_
267+
#endif
268+
#ifndef_NL_ADDRESS_COUNTRY_AB2
269+
# define_NL_ADDRESS_COUNTRY_AB2 -61
270+
# defineHAS_MISSING_LANGINFO_ITEM_
271+
#endif
272+
#ifndef_NL_ADDRESS_COUNTRY_AB3
273+
# define_NL_ADDRESS_COUNTRY_AB3 -62
274+
# defineHAS_MISSING_LANGINFO_ITEM_
275+
#endif
276+
#ifndef_NL_ADDRESS_COUNTRY_CAR
277+
# define_NL_ADDRESS_COUNTRY_CAR -63
278+
# defineHAS_MISSING_LANGINFO_ITEM_
279+
#endif
280+
#ifndef_NL_ADDRESS_COUNTRY_NUM
281+
# define_NL_ADDRESS_COUNTRY_NUM -64
282+
# defineHAS_MISSING_LANGINFO_ITEM_
283+
#endif
284+
#ifndef_NL_ADDRESS_COUNTRY_ISBN
285+
# define_NL_ADDRESS_COUNTRY_ISBN -65
286+
# defineHAS_MISSING_LANGINFO_ITEM_
287+
#endif
288+
#ifndef_NL_ADDRESS_LANG_NAME
289+
# define_NL_ADDRESS_LANG_NAME -66
290+
# defineHAS_MISSING_LANGINFO_ITEM_
291+
#endif
292+
#ifndef_NL_ADDRESS_LANG_AB
293+
# define_NL_ADDRESS_LANG_AB -67
294+
# defineHAS_MISSING_LANGINFO_ITEM_
295+
#endif
296+
#ifndef_NL_ADDRESS_LANG_TERM
297+
# define_NL_ADDRESS_LANG_TERM -68
298+
# defineHAS_MISSING_LANGINFO_ITEM_
299+
#endif
300+
#ifndef_NL_ADDRESS_LANG_LIB
301+
# define_NL_ADDRESS_LANG_LIB -69
270302
# defineHAS_MISSING_LANGINFO_ITEM_
271303
#endif
272-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_IDENTIFICATION)
273-
# define_NL_IDENTIFICATION_TITLE -70
274-
# define_NL_IDENTIFICATION_SOURCE -71
275-
# define_NL_IDENTIFICATION_ADDRESS -72
276-
# define_NL_IDENTIFICATION_CONTACT -73
277-
# define_NL_IDENTIFICATION_EMAIL -74
278-
# define_NL_IDENTIFICATION_TEL -75
279-
# define_NL_IDENTIFICATION_FAX -76
280-
# define_NL_IDENTIFICATION_LANGUAGE -77
281-
# define_NL_IDENTIFICATION_TERRITORY -78
282-
# define_NL_IDENTIFICATION_AUDIENCE -79
283-
# define_NL_IDENTIFICATION_APPLICATION -80
284-
# define_NL_IDENTIFICATION_ABBREVIATION -81
285-
# define_NL_IDENTIFICATION_REVISION -82
286-
# define_NL_IDENTIFICATION_DATE -83
287-
# define_NL_IDENTIFICATION_CATEGORY -84
288304

305+
#ifndef_NL_IDENTIFICATION_TITLE
306+
# define_NL_IDENTIFICATION_TITLE -70
307+
# defineHAS_MISSING_LANGINFO_ITEM_
308+
#endif
309+
#ifndef_NL_IDENTIFICATION_SOURCE
310+
# define_NL_IDENTIFICATION_SOURCE -71
311+
# defineHAS_MISSING_LANGINFO_ITEM_
312+
#endif
313+
#ifndef_NL_IDENTIFICATION_ADDRESS
314+
# define_NL_IDENTIFICATION_ADDRESS -72
315+
# defineHAS_MISSING_LANGINFO_ITEM_
316+
#endif
317+
#ifndef_NL_IDENTIFICATION_CONTACT
318+
# define_NL_IDENTIFICATION_CONTACT -73
319+
# defineHAS_MISSING_LANGINFO_ITEM_
320+
#endif
321+
#ifndef_NL_IDENTIFICATION_EMAIL
322+
# define_NL_IDENTIFICATION_EMAIL -74
323+
# defineHAS_MISSING_LANGINFO_ITEM_
324+
#endif
325+
#ifndef_NL_IDENTIFICATION_TEL
326+
# define_NL_IDENTIFICATION_TEL -75
327+
# defineHAS_MISSING_LANGINFO_ITEM_
328+
#endif
329+
#ifndef_NL_IDENTIFICATION_FAX
330+
# define_NL_IDENTIFICATION_FAX -76
331+
# defineHAS_MISSING_LANGINFO_ITEM_
332+
#endif
333+
#ifndef_NL_IDENTIFICATION_LANGUAGE
334+
# define_NL_IDENTIFICATION_LANGUAGE -77
335+
# defineHAS_MISSING_LANGINFO_ITEM_
336+
#endif
337+
#ifndef_NL_IDENTIFICATION_TERRITORY
338+
# define_NL_IDENTIFICATION_TERRITORY -78
339+
# defineHAS_MISSING_LANGINFO_ITEM_
340+
#endif
341+
#ifndef_NL_IDENTIFICATION_AUDIENCE
342+
# define_NL_IDENTIFICATION_AUDIENCE -79
343+
# defineHAS_MISSING_LANGINFO_ITEM_
344+
#endif
345+
#ifndef_NL_IDENTIFICATION_APPLICATION
346+
# define_NL_IDENTIFICATION_APPLICATION -80
347+
# defineHAS_MISSING_LANGINFO_ITEM_
348+
#endif
349+
#ifndef_NL_IDENTIFICATION_ABBREVIATION
350+
# define_NL_IDENTIFICATION_ABBREVIATION -81
351+
# defineHAS_MISSING_LANGINFO_ITEM_
352+
#endif
353+
#ifndef_NL_IDENTIFICATION_REVISION
354+
# define_NL_IDENTIFICATION_REVISION -82
355+
# defineHAS_MISSING_LANGINFO_ITEM_
356+
#endif
357+
#ifndef_NL_IDENTIFICATION_DATE
358+
# define_NL_IDENTIFICATION_DATE -83
359+
# defineHAS_MISSING_LANGINFO_ITEM_
360+
#endif
361+
#ifndef_NL_IDENTIFICATION_CATEGORY
362+
# define_NL_IDENTIFICATION_CATEGORY -84
289363
# defineHAS_MISSING_LANGINFO_ITEM_
290364
#endif
291-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_MEASUREMENT)
292-
# define_NL_MEASUREMENT_MEASUREMENT -85
293365

366+
#ifndef_NL_MEASUREMENT_MEASUREMENT
367+
# define_NL_MEASUREMENT_MEASUREMENT -85
294368
# defineHAS_MISSING_LANGINFO_ITEM_
295369
#endif
296-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_NAME)
297-
# define_NL_NAME_NAME_FMT -86
298-
# define_NL_NAME_NAME_GEN -87
299-
# define_NL_NAME_NAME_MR -88
300-
# define_NL_NAME_NAME_MRS -89
301-
# define_NL_NAME_NAME_MISS -90
302-
# define_NL_NAME_NAME_MS -91
303370

371+
#ifndef_NL_NAME_NAME_FMT
372+
# define_NL_NAME_NAME_FMT -86
373+
# defineHAS_MISSING_LANGINFO_ITEM_
374+
#endif
375+
#ifndef_NL_NAME_NAME_GEN
376+
# define_NL_NAME_NAME_GEN -87
377+
# defineHAS_MISSING_LANGINFO_ITEM_
378+
#endif
379+
#ifndef_NL_NAME_NAME_MR
380+
# define_NL_NAME_NAME_MR -88
381+
# defineHAS_MISSING_LANGINFO_ITEM_
382+
#endif
383+
#ifndef_NL_NAME_NAME_MRS
384+
# define_NL_NAME_NAME_MRS -89
385+
# defineHAS_MISSING_LANGINFO_ITEM_
386+
#endif
387+
#ifndef_NL_NAME_NAME_MISS
388+
# define_NL_NAME_NAME_MISS -90
389+
# defineHAS_MISSING_LANGINFO_ITEM_
390+
#endif
391+
#ifndef_NL_NAME_NAME_MS
392+
# define_NL_NAME_NAME_MS -91
304393
# defineHAS_MISSING_LANGINFO_ITEM_
305394
#endif
306-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_PAPER)
307-
# define_NL_PAPER_HEIGHT -92
308-
# define_NL_PAPER_WIDTH -93
309395

396+
#ifndef_NL_PAPER_HEIGHT
397+
# define_NL_PAPER_HEIGHT -92
398+
# defineHAS_MISSING_LANGINFO_ITEM_
399+
#endif
400+
#ifndef_NL_PAPER_WIDTH
401+
# define_NL_PAPER_WIDTH -93
310402
# defineHAS_MISSING_LANGINFO_ITEM_
311403
#endif
312-
#if ! defined(HAS_NL_LANGINFO)|| ! defined(LC_TELEPHONE)
313-
# define_NL_TELEPHONE_TEL_INT_FMT -94
314-
# define_NL_TELEPHONE_TEL_DOM_FMT -95
315-
# define_NL_TELEPHONE_INT_SELECT -96
316-
# define_NL_TELEPHONE_INT_PREFIX -97
317404

405+
#ifndef_NL_TELEPHONE_TEL_INT_FMT
406+
# define_NL_TELEPHONE_TEL_INT_FMT -94
407+
# defineHAS_MISSING_LANGINFO_ITEM_
408+
#endif
409+
#ifndef_NL_TELEPHONE_TEL_DOM_FMT
410+
# define_NL_TELEPHONE_TEL_DOM_FMT -95
411+
# defineHAS_MISSING_LANGINFO_ITEM_
412+
#endif
413+
#ifndef_NL_TELEPHONE_INT_SELECT
414+
# define_NL_TELEPHONE_INT_SELECT -96
318415
# defineHAS_MISSING_LANGINFO_ITEM_
319416
#endif
417+
#ifndef_NL_TELEPHONE_INT_PREFIX
418+
# define_NL_TELEPHONE_INT_PREFIX -97
419+
#endif
320420

321421
/* All these categories have to be emulated if not available on the platform */
322422
#if !LC_CTYPE_AVAIL_ \

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp