ctype.h: Fix unused variable warnings

If __HAVE_LOCALE_INFO__ is not defined, then the locale in the
locale-specific ctype functions is ignored.  In the previous
implementation this resulted in compiler warnings.  For example:

int main()
{
  locale_t locale;
  locale = duplocale(uselocale((locale_t)0));
  isspace_l('x', locale);
  return 0;
}

gcc -Wall main.c
main.c: In function 'main':
main.c:6:11: warning: variable 'locale' set but not used [-Wunused-but-set-variable]
    6 |  locale_t locale;
      |           ^~~~~~
This commit is contained in:
Aschref Ben Thabet 2020-07-16 10:28:49 +02:00 committed by Corinna Vinschen
parent 52ad92e1b6
commit 0ee972d1b0
1 changed files with 9 additions and 4 deletions

View File

@ -66,6 +66,9 @@ extern int toascii_l (int __c, locale_t __l);
#define _X 0100
#define _B 0200
/* For C++ backward-compatibility only. */
extern __IMPORT const char _ctype_[];
#ifdef __HAVE_LOCALE_INFO__
const char *__locale_ctype_ptr (void);
#else
@ -108,7 +111,12 @@ const char *__locale_ctype_ptr (void);
#ifdef __HAVE_LOCALE_INFO__
const char *__locale_ctype_ptr_l (locale_t);
#else
#define __locale_ctype_ptr_l(l) _ctype_
static __inline char *
__locale_ctype_ptr_l(locale_t _l)
{
(void)_l;
return __locale_ctype_ptr();
}
#endif
#define __ctype_lookup_l(__c,__l) ((__locale_ctype_ptr_l(__l)+sizeof(""[__c]))[(int)(__c)])
@ -170,9 +178,6 @@ const char *__locale_ctype_ptr_l (locale_t);
#endif /* !__cplusplus */
/* For C++ backward-compatibility only. */
extern __IMPORT const char _ctype_[];
_END_STD_C
#endif /* _CTYPE_H_ */