/* Test of conversion from UTF-16 to legacy encodings.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007-2009 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
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 <http://www.gnu.org/licenses/>. */
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
if (!(expr)) \
{ \
fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
+ fflush (stderr); \
abort (); \
} \
} \
for (o = 0; o < 2; o++)
{
size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL);
- char *result = NULL;
- size_t length = 0;
- int retval = u16_conv_to_encoding ("ISO-8859-1", handler,
- input, SIZEOF (input),
- offsets,
- &result, &length);
- ASSERT (retval == 0);
- ASSERT (length == strlen (expected));
+ size_t length;
+ char *result = u16_conv_to_encoding ("ISO-8859-1", handler,
+ input, SIZEOF (input),
+ offsets,
+ NULL, &length);
ASSERT (result != NULL);
+ ASSERT (length == strlen (expected));
ASSERT (memcmp (result, expected, length) == 0);
if (o)
{
for (o = 0; o < 2; o++)
{
size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL);
- char *result = NULL;
- size_t length = 0;
- int retval = u16_conv_to_encoding ("ISO-8859-1", handler,
- input, SIZEOF (input),
- offsets,
- &result, &length);
+ size_t length = 0xdead;
+ char *result = u16_conv_to_encoding ("ISO-8859-1", handler,
+ input, SIZEOF (input),
+ offsets,
+ NULL, &length);
switch (handler)
{
case iconveh_error:
- ASSERT (retval == -1 && errno == EILSEQ);
ASSERT (result == NULL);
- ASSERT (length == 0);
+ ASSERT (errno == EILSEQ);
+ ASSERT (length == 0xdead);
break;
case iconveh_question_mark:
{
static const char expected[] = "Rafa? Maszkowski";
static const char expected_translit[] = "Rafal Maszkowski";
- ASSERT (retval == 0);
- ASSERT (length == strlen (expected));
ASSERT (result != NULL);
+ ASSERT (length == strlen (expected));
ASSERT (memcmp (result, expected, length) == 0
|| memcmp (result, expected_translit, length) == 0);
if (o)
case iconveh_escape_sequence:
{
static const char expected[] = "Rafa\\u0142 Maszkowski";
- ASSERT (retval == 0);
- ASSERT (length == strlen (expected));
ASSERT (result != NULL);
+ ASSERT (length == strlen (expected));
ASSERT (memcmp (result, expected, length) == 0);
if (o)
{
for (o = 0; o < 2; o++)
{
size_t *offsets = (o ? new_offsets (SIZEOF (input)) : NULL);
- char *result = NULL;
- size_t length = 0;
- int retval = u16_conv_to_encoding ("ISO-8859-1", handler,
- input, SIZEOF (input),
- offsets,
- &result, &length);
- ASSERT (retval == 0);
- ASSERT (length == strlen (""));
+ size_t length;
+ char *result = u16_conv_to_encoding ("ISO-8859-1", handler,
+ input, SIZEOF (input),
+ offsets,
+ NULL, &length);
ASSERT (result != NULL);
+ ASSERT (length == strlen (""));
if (o)
{
ASSERT (offsets[0] == 0);