* configure.in (AC_CHECK_FUNCS): Detect library functions
strcasecmp and strncasecmp. * lib-src/etags.c (etags_strcasecmp, etags_strncasecmp): Define to library functions strcasecmp and strncasecmp if available. * lwlib/lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which may be defined to library function strcasecmp if available. * src/dispextern.c (xstrcasecmp): Define to library function strcasecmp if available. * src/xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
This commit is contained in:
parent
fb7da12e75
commit
3511c78479
9 changed files with 47 additions and 4 deletions
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
||||||
|
|
||||||
|
* configure.in (AC_CHECK_FUNCS): Detect library functions
|
||||||
|
strcasecmp and strncasecmp.
|
||||||
|
|
||||||
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
||||||
|
|
|
||||||
|
|
@ -2671,6 +2671,7 @@ gai_strerror mkstemp getline getdelim fsync sync \
|
||||||
difftime posix_memalign \
|
difftime posix_memalign \
|
||||||
getpwent endpwent getgrent endgrent \
|
getpwent endpwent getgrent endgrent \
|
||||||
touchlock \
|
touchlock \
|
||||||
|
strcasecmp strncasecmp \
|
||||||
cfmakeraw cfsetspeed copysign __executable_start)
|
cfmakeraw cfsetspeed copysign __executable_start)
|
||||||
|
|
||||||
dnl Cannot use AC_CHECK_FUNCS
|
dnl Cannot use AC_CHECK_FUNCS
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
||||||
|
|
||||||
|
* etags.c (etags_strcasecmp, etags_strncasecmp): Define to
|
||||||
|
library functions strcasecmp and strncasecmp if available.
|
||||||
|
|
||||||
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
||||||
|
|
|
||||||
|
|
@ -389,8 +389,16 @@ static char *savenstr (const char *, int);
|
||||||
static char *savestr (const char *);
|
static char *savestr (const char *);
|
||||||
static char *etags_strchr (const char *, int);
|
static char *etags_strchr (const char *, int);
|
||||||
static char *etags_strrchr (const char *, int);
|
static char *etags_strrchr (const char *, int);
|
||||||
|
#ifdef HAVE_STRCASECMP
|
||||||
|
#define etags_strcasecmp(x,y) strcasecmp ((x), (y))
|
||||||
|
#else
|
||||||
static int etags_strcasecmp (const char *, const char *);
|
static int etags_strcasecmp (const char *, const char *);
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STRNCASECMP
|
||||||
|
#define etags_strncasecmp(x,y,z) strncasecmp ((x), (y), (z))
|
||||||
|
#else
|
||||||
static int etags_strncasecmp (const char *, const char *, int);
|
static int etags_strncasecmp (const char *, const char *, int);
|
||||||
|
#endif
|
||||||
static char *etags_getcwd (void);
|
static char *etags_getcwd (void);
|
||||||
static char *relative_filename (char *, char *);
|
static char *relative_filename (char *, char *);
|
||||||
static char *absolute_filename (char *, char *);
|
static char *absolute_filename (char *, char *);
|
||||||
|
|
@ -6320,6 +6328,7 @@ etags_strchr (register const char *sp, register int c)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_STRCASECMP
|
||||||
/*
|
/*
|
||||||
* Compare two strings, ignoring case for alphabetic characters.
|
* Compare two strings, ignoring case for alphabetic characters.
|
||||||
*
|
*
|
||||||
|
|
@ -6338,7 +6347,9 @@ etags_strcasecmp (register const char *s1, register const char *s2)
|
||||||
? lowcase (*s1) - lowcase (*s2)
|
? lowcase (*s1) - lowcase (*s2)
|
||||||
: *s1 - *s2);
|
: *s1 - *s2);
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_STRCASECMP */
|
||||||
|
|
||||||
|
#ifndef HAVE_STRNCASECMP
|
||||||
/*
|
/*
|
||||||
* Compare two strings, ignoring case for alphabetic characters.
|
* Compare two strings, ignoring case for alphabetic characters.
|
||||||
* Stop after a given number of characters
|
* Stop after a given number of characters
|
||||||
|
|
@ -6361,6 +6372,7 @@ etags_strncasecmp (register const char *s1, register const char *s2, register in
|
||||||
? lowcase (*s1) - lowcase (*s2)
|
? lowcase (*s1) - lowcase (*s2)
|
||||||
: *s1 - *s2);
|
: *s1 - *s2);
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_STRCASECMP */
|
||||||
|
|
||||||
/* Skip spaces (end of string is not space), return new pointer. */
|
/* Skip spaces (end of string is not space), return new pointer. */
|
||||||
static char *
|
static char *
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
||||||
|
|
||||||
|
* lwlib.c (my_strcasecmp): Rename to lwlib_strcasecmp, which
|
||||||
|
may be defined to library function strcasecmp if available.
|
||||||
|
|
||||||
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,6 @@ static widget_value *merge_widget_value (widget_value *,
|
||||||
widget_value *,
|
widget_value *,
|
||||||
int, int *);
|
int, int *);
|
||||||
static void instantiate_widget_instance (widget_instance *);
|
static void instantiate_widget_instance (widget_instance *);
|
||||||
static int my_strcasecmp (const char *, const char *);
|
|
||||||
static void safe_free_str (char *);
|
static void safe_free_str (char *);
|
||||||
static void free_widget_value_tree (widget_value *);
|
static void free_widget_value_tree (widget_value *);
|
||||||
static widget_value *copy_widget_value_tree (widget_value *,
|
static widget_value *copy_widget_value_tree (widget_value *,
|
||||||
|
|
@ -115,10 +114,14 @@ safe_strdup (const char *s)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_STRCASECMP
|
||||||
|
#define lwlib_strcasecmp(x,y) strcasecmp ((x), (y))
|
||||||
|
#else
|
||||||
|
|
||||||
/* Like strcmp but ignore differences in case. */
|
/* Like strcmp but ignore differences in case. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
my_strcasecmp (const char *s1, const char *s2)
|
lwlib_strcasecmp (const char *s1, const char *s2)
|
||||||
{
|
{
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
|
@ -134,6 +137,7 @@ my_strcasecmp (const char *s1, const char *s2)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_STRCASECMP */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
safe_free_str (char *s)
|
safe_free_str (char *s)
|
||||||
|
|
@ -731,7 +735,7 @@ find_in_table (const char *type, const widget_creation_entry *table)
|
||||||
{
|
{
|
||||||
const widget_creation_entry* cur;
|
const widget_creation_entry* cur;
|
||||||
for (cur = table; cur->type; cur++)
|
for (cur = table; cur->type; cur++)
|
||||||
if (!my_strcasecmp (type, cur->type))
|
if (!lwlib_strcasecmp (type, cur->type))
|
||||||
return cur->function;
|
return cur->function;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-06-25 Dmitry Antipov <dmantipov@yandex.ru>
|
||||||
|
|
||||||
|
* dispextern.c (xstrcasecmp): Define to library function
|
||||||
|
strcasecmp if available.
|
||||||
|
* xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
|
||||||
|
|
||||||
2012-06-25 Andreas Schwab <schwab@linux-m68k.org>
|
2012-06-25 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
* keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
|
* keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
|
||||||
|
|
|
||||||
|
|
@ -3216,7 +3216,11 @@ void unload_color (struct frame *, unsigned long);
|
||||||
char *choose_face_font (struct frame *, Lisp_Object *, Lisp_Object,
|
char *choose_face_font (struct frame *, Lisp_Object *, Lisp_Object,
|
||||||
int *);
|
int *);
|
||||||
void prepare_face_for_display (struct frame *, struct face *);
|
void prepare_face_for_display (struct frame *, struct face *);
|
||||||
|
#ifdef HAVE_STRCASECMP
|
||||||
|
#define xstrcasecmp(x,y) strcasecmp ((x), (y))
|
||||||
|
#else
|
||||||
int xstrcasecmp (const char *, const char *);
|
int xstrcasecmp (const char *, const char *);
|
||||||
|
#endif
|
||||||
int lookup_named_face (struct frame *, Lisp_Object, int);
|
int lookup_named_face (struct frame *, Lisp_Object, int);
|
||||||
int lookup_basic_face (struct frame *, int);
|
int lookup_basic_face (struct frame *, int);
|
||||||
int smaller_face (struct frame *, int, int);
|
int smaller_face (struct frame *, int, int);
|
||||||
|
|
|
||||||
|
|
@ -716,6 +716,7 @@ x_free_gc (struct frame *f, GC gc)
|
||||||
}
|
}
|
||||||
#endif /* HAVE_NS */
|
#endif /* HAVE_NS */
|
||||||
|
|
||||||
|
#ifndef HAVE_STRCASECMP
|
||||||
/* Like strcasecmp/stricmp. Used to compare parts of font names which
|
/* Like strcasecmp/stricmp. Used to compare parts of font names which
|
||||||
are in ISO8859-1. */
|
are in ISO8859-1. */
|
||||||
|
|
||||||
|
|
@ -737,7 +738,7 @@ xstrcasecmp (const char *s1, const char *s2)
|
||||||
return *s2 == 0 ? 0 : -1;
|
return *s2 == 0 ? 0 : -1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_STRCASECMP */
|
||||||
|
|
||||||
/* If FRAME is nil, return a pointer to the selected frame.
|
/* If FRAME is nil, return a pointer to the selected frame.
|
||||||
Otherwise, check that FRAME is a live frame, and return a pointer
|
Otherwise, check that FRAME is a live frame, and return a pointer
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue