X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-striconveha.c;h=8c87663843df4d8112c195be59ac52f9882bd6af;hb=a20403123cca92c457751f335d502bdf1c36b6f7;hp=f105161e767fd2d742e403cd9e0ab4a04b3ff693;hpb=355bf88579db3e71cb9b64e7f83c5c762f889edd;p=gnulib.git diff --git a/tests/test-striconveha.c b/tests/test-striconveha.c index f105161e7..8c8766384 100644 --- a/tests/test-striconveha.c +++ b/tests/test-striconveha.c @@ -1,10 +1,10 @@ /* Test of character set conversion with error handling and autodetection. Copyright (C) 2007 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -12,14 +12,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include #include "striconveha.h" @@ -28,11 +25,21 @@ #endif #include +#include #include #include #define SIZEOF(array) (sizeof (array) / sizeof (array[0])) -#define ASSERT(expr) if (!(expr)) abort (); +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + abort (); \ + } \ + } \ + while (0) /* Magic number for detecting bounds violations. */ #define MAGIC 0x1983EFF1 @@ -306,11 +313,12 @@ main () ASSERT (offsets[1] == MAGIC); free (offsets); } - if (result != NULL) - free (result); + free (result); } } + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun) /* Test conversions from autodetect_jp to UTF-8. */ for (h = 0; h < SIZEOF (handlers); h++) { @@ -402,6 +410,7 @@ main () free (result); } } +# endif # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 || _LIBICONV_VERSION >= 0x0105 /* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */ @@ -544,6 +553,8 @@ main () free (result); } + /* autodetect_jp is only supported when iconv() support ISO-2022-JP-2. */ +# if defined _LIBICONV_VERSION || !(defined _AIX || defined __sgi || defined __hpux || defined __osf__ || defined __sun) /* Test conversions from autodetect_jp to UTF-8. */ for (h = 0; h < SIZEOF (handlers); h++) { @@ -575,6 +586,7 @@ main () ASSERT (strcmp (result, expected) == 0); free (result); } +# endif # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 || _LIBICONV_VERSION >= 0x0105 /* Test conversion from UTF-8 to ISO-8859-1 with transliteration. */