corrent an error in previous commit:

don't corrupt return value on error case, pointed out by yamt
This commit is contained in:
soda 2004-09-25 23:51:31 +00:00
parent bb8f03e106
commit 879ba02666

View File

@ -1,4 +1,4 @@
/* $NetBSD: citrus_ctype_template.h,v 1.26 2004/09/25 22:53:46 soda Exp $ */ /* $NetBSD: citrus_ctype_template.h,v 1.27 2004/09/25 23:51:31 soda Exp $ */
/*- /*-
* Copyright (c)2002 Citrus Project, * Copyright (c)2002 Citrus Project,
@ -603,7 +603,8 @@ _FUNCNAME(ctype_wcrtomb)(void * __restrict cl, char * __restrict s, wchar_t wc,
err = _FUNCNAME(wcrtomb_priv)(_CEI_TO_EI(_TO_CEI(cl)), s, sz, err = _FUNCNAME(wcrtomb_priv)(_CEI_TO_EI(_TO_CEI(cl)), s, sz,
wc, psenc, nresult); wc, psenc, nresult);
#if _ENCODING_IS_STATE_DEPENDENT #if _ENCODING_IS_STATE_DEPENDENT
*nresult += rsz; if (err == 0)
*nresult += rsz;
quit: quit:
#endif #endif
if (err == E2BIG) if (err == E2BIG)
@ -693,7 +694,8 @@ _FUNCNAME(ctype_wctomb)(void * __restrict cl, char * __restrict s, wchar_t wc,
#endif #endif
err = _FUNCNAME(wcrtomb_priv)(ei, s, sz, wc, psenc, &nr); err = _FUNCNAME(wcrtomb_priv)(ei, s, sz, wc, psenc, &nr);
#if _ENCODING_IS_STATE_DEPENDENT #if _ENCODING_IS_STATE_DEPENDENT
*nresult = (int)(nr + rsz); if (err == 0)
*nresult = (int)(nr + rsz);
#else #else
*nresult = (int)nr; *nresult = (int)nr;
#endif #endif