Have a little faith on nl_langinfo() itself.
Jarkko Hietaniemi [Sat, 1 Dec 2001 20:21:27 +0000 (20:21 +0000)]
p4raw-id: //depot/perl@13413

ext/I18N/Langinfo/Langinfo.xs

index 3a97daf..f1a0a17 100644 (file)
@@ -19,31 +19,13 @@ langinfo(code)
        int     code
   CODE:
 #ifdef HAS_NL_LANGINFO
-       char *s;
-       if (code > 0) { /* bold assumption: all valid langinfo codes > 0 */
-#ifdef _MAXSTRMSG
-         if (code > _MAXSTRMSG)
-               RETVAL = &PL_sv_undef;
-           else
-#else
-#   ifdef _NL_NUM_ITEMS
-           if (code >= _NL_NUM_ITEMS)
-               RETVAL = &PL_sv_undef;
-           else
-#   else
-#       ifdef _NL_NUM
-           if (code >= _NL_NUM)
-               RETVAL = &PL_sv_undef;
-           else
-#       endif
-#   endif
-#endif
-           {
-               s = nl_langinfo(code);
-               RETVAL = newSVpvn(s, strlen(s));
-           }
-       } else {
-           RETVAL = &PL_sv_undef;
+       {
+         char *s;
+
+         if ((s = nl_langinfo(code)))
+             RETVAL = newSVpvn(s, strlen(s));
+         else
+             RETVAL = &PL_sv_undef;
        }
 #else
        croak("nl_langinfo() not implemented on this architecture");