buf_malloced = buf;
}
- if (resultbuf != NULL)
- {
- result = resultbuf;
- allocated = *lengthp;
- }
- else
- {
- result = NULL;
- allocated = 0;
- }
+ result = resultbuf;
+ allocated = (resultbuf != NULL ? *lengthp : 0);
length = 0;
/* Invariants:
- result is either == resultbuf or == NULL or malloc-allocated.
+ result is either == resultbuf or malloc-allocated.
+ If result == NULL, resultbuf is == NULL as well.
If length > 0, then result != NULL. */
/* Ensures that allocated >= needed. Aborts through a jump to
memory_size = xtimes (allocated, sizeof (DCHAR_T)); \
if (size_overflow_p (memory_size)) \
oom_statement \
- if (result == resultbuf || result == NULL) \
+ if (result == resultbuf) \
memory = (DCHAR_T *) malloc (memory_size); \
else \
memory = (DCHAR_T *) realloc (result, memory_size); \
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
# endif
if (converted == NULL)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
# endif
if (converted == NULL)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
break;
if (count < 0)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
# endif
if (converted == NULL)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (count < 0)
{
/* Invalid or incomplete multibyte character. */
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (count < 0)
{
/* Invalid or incomplete multibyte character. */
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (count < 0)
{
/* Cannot convert. */
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (count < 0)
{
/* Cannot convert. */
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (tmpdst == NULL)
{
free (tmpsrc);
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
if (count <= 0)
{
/* Cannot convert. */
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
NULL, &tmpdst_len);
if (tmpdst == NULL)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
errno = EINVAL;
}
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
NULL, &tmpdst_len);
if (tmpdst == NULL)
{
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
#if USE_SNPRINTF
overflow:
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
#endif
out_of_memory:
- if (!(result == resultbuf || result == NULL))
+ if (result != resultbuf)
free (result);
if (buf_malloced != NULL)
free (buf_malloced);