Do not use variables before checked for NULL.
Signed-off-by: wharms <[email protected]> --- modules/lc/def/lcDefConv.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/modules/lc/def/lcDefConv.c b/modules/lc/def/lcDefConv.c index 3cd5c22..2cae504 100644 --- a/modules/lc/def/lcDefConv.c +++ b/modules/lc/def/lcDefConv.c @@ -149,13 +149,14 @@ def_mbstowcs( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; wchar_t *dst = (wchar_t *) * to; State state = (State) conv->state; int unconv = 0; if (from == NULL || *from == NULL) return 0; + src = (const char *) *from; while (*from_left && *to_left) { (*from_left)--; @@ -181,14 +182,16 @@ def_wcstombs( XPointer *args, int num_args) { - const wchar_t *src = (const wchar_t *) * from; + const wchar_t *src; char *dst = (char *) *to; State state = (State) conv->state; char ch[MB_LEN_MAX]; int unconv = 0; if (from == NULL || *from == NULL) - return 0; + return 0; + + src = (const wchar_t *) * from; while (*from_left && *to_left) { (*from_left)--; @@ -214,7 +217,7 @@ mbstostr( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; char *dst = (char *) *to; CodeSet codeset; State state = (State) conv->state; @@ -223,6 +226,7 @@ mbstostr( if (from == NULL || *from == NULL) return 0; + src = (const char *) *from; while (*from_left && *to_left) { ch = *src++; @@ -251,7 +255,7 @@ wcstostr( XPointer *args, int num_args) { - const wchar_t *src = (const wchar_t *) *from; + const wchar_t *src; char *dst = (char *) *to; CodeSet codeset; State state = (State) conv->state; @@ -261,6 +265,8 @@ wcstostr( if (from == NULL || *from == NULL) return 0; + src = (const wchar_t *) *from; + while (*from_left && *to_left) { (*from_left)--; if (state->WCtoMB (state, *src++, ch)) { @@ -290,7 +296,7 @@ mbstocs( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; char *dst = (char *) *to; int length; State state = (State) conv->state; @@ -299,6 +305,7 @@ mbstocs( if (from == NULL || *from == NULL) return 0; + src = (const char *) *from; length = min(*from_left, *to_left); @@ -336,7 +343,7 @@ wcstocs( XPointer *args, int num_args) { - const wchar_t *src = (const wchar_t *) * from; + const wchar_t *src; char *dst = (char *) *to; State state = (State) conv->state; char cur_side = 0, ch[MB_LEN_MAX]; @@ -346,6 +353,8 @@ wcstocs( if (from == NULL || *from == NULL) return 0; + src = (const wchar_t *) * from; + while (*from_left) { if ((found = state->WCtoMB (state, *src, ch))) break; @@ -398,7 +407,7 @@ cstombs( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; char *dst = (char *) *to; CodeSet codeset; XlcCharSet charset; @@ -410,6 +419,8 @@ cstombs( if (from == NULL || *from == NULL) return 0; + src = (const char *) *from; + if (num_args > 0) { charset = (XlcCharSet) args[0]; if (charset == NULL) @@ -467,7 +478,7 @@ cstowcs( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; wchar_t *dst = (wchar_t *) * to; CodeSet codeset; XlcCharSet charset; @@ -479,6 +490,8 @@ cstowcs( if (from == NULL || *from == NULL) return 0; + src= (const char *) *from; + if (num_args > 0) { charset = (XlcCharSet) args[0]; if (charset == NULL) @@ -539,13 +552,15 @@ strtombs( XPointer *args, int num_args) { - const char *src = (const char *) *from; + const char *src; char *dst = (char *) *to; int length; if (from == NULL || *from == NULL) return 0; + src = (const char *) *from; + length = min(*from_left, *to_left); while (length) { *dst++ = *src++; -- 1.8.4.5 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
