mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Solaris has no strcasestr.
This commit is contained in:
		
							
								
								
									
										7
									
								
								compat.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								compat.h
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: compat.h,v 1.5 2009-07-01 22:46:13 nicm Exp $ */ | /* $Id: compat.h,v 1.6 2009-07-02 07:30:59 nicm Exp $ */ | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> |  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> | ||||||
| @@ -119,6 +119,11 @@ | |||||||
| #define TTY_NAME_MAX 32 | #define TTY_NAME_MAX 32 | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifndef HAVE_STRCASESTR | ||||||
|  | /* strcasestr.c */ | ||||||
|  | char		*strcasestr(const char *, const char *); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifndef HAVE_STRTONUM | #ifndef HAVE_STRTONUM | ||||||
| /* strtonum.c */ | /* strtonum.c */ | ||||||
| long long	 strtonum(const char *, long long, long long, const char **); | long long	 strtonum(const char *, long long, long long, const char **); | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								compat/strcasestr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								compat/strcasestr.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | /* $Id: strcasestr.c,v 1.1 2009-07-02 07:31:02 nicm Exp $ */ | ||||||
|  | /*	$OpenBSD: strcasestr.c,v 1.3 2006/03/31 05:34:55 deraadt Exp $	*/ | ||||||
|  | /*	$NetBSD: strcasestr.c,v 1.2 2005/02/09 21:35:47 kleink Exp $	*/ | ||||||
|  |  | ||||||
|  | /*- | ||||||
|  |  * Copyright (c) 1990, 1993 | ||||||
|  |  *	The Regents of the University of California.  All rights reserved. | ||||||
|  |  * | ||||||
|  |  * This code is derived from software contributed to Berkeley by | ||||||
|  |  * Chris Torek. | ||||||
|  |  * | ||||||
|  |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
|  |  * are met: | ||||||
|  |  * 1. Redistributions of source code must retain the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * 3. Neither the name of the University nor the names of its contributors | ||||||
|  |  *    may be used to endorse or promote products derived from this software | ||||||
|  |  *    without specific prior written permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||||||
|  |  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||||
|  |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||||
|  |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include <ctype.h> | ||||||
|  | #include <string.h> | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Find the first occurrence of find in s, ignore case. | ||||||
|  |  */ | ||||||
|  | char * | ||||||
|  | strcasestr(const char *s, const char *find) | ||||||
|  | { | ||||||
|  | 	char c, sc; | ||||||
|  | 	size_t len; | ||||||
|  |  | ||||||
|  | 	if ((c = *find++) != 0) { | ||||||
|  | 		c = (char)tolower((unsigned char)c); | ||||||
|  | 		len = strlen(find); | ||||||
|  | 		do { | ||||||
|  | 			do { | ||||||
|  | 				if ((sc = *s++) == 0) | ||||||
|  | 					return (NULL); | ||||||
|  | 			} while ((char)tolower((unsigned char)sc) != c); | ||||||
|  | 		} while (strncasecmp(s, find, len) != 0); | ||||||
|  | 		s--; | ||||||
|  | 	} | ||||||
|  | 	return ((char *)s); | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/sh | #!/bin/sh | ||||||
| # $Id: configure,v 1.16 2009-07-01 22:28:56 nicm Exp $ | # $Id: configure,v 1.17 2009-07-02 07:31:01 nicm Exp $ | ||||||
|  |  | ||||||
| TMUX_PLATFORM=${TMUX_PLATFORM:-`uname -s`} | TMUX_PLATFORM=${TMUX_PLATFORM:-`uname -s`} | ||||||
|  |  | ||||||
| @@ -25,6 +25,7 @@ cat <<EOF >>$CONFIG_H | |||||||
| #undef HAVE_PTY_H | #undef HAVE_PTY_H | ||||||
| #undef HAVE_QUEUE_H | #undef HAVE_QUEUE_H | ||||||
| #undef HAVE_SETPROCTITLE | #undef HAVE_SETPROCTITLE | ||||||
|  | #undef HAVE_STRCASESTR | ||||||
| #undef HAVE_STRLCAT | #undef HAVE_STRLCAT | ||||||
| #undef HAVE_STRLCPY | #undef HAVE_STRLCPY | ||||||
| #undef HAVE_STRTONUM | #undef HAVE_STRTONUM | ||||||
| @@ -48,6 +49,7 @@ case $TMUX_PLATFORM in | |||||||
| #define HAVE_PROGNAME | #define HAVE_PROGNAME | ||||||
| #define HAVE_QUEUE_H | #define HAVE_QUEUE_H | ||||||
| #define HAVE_SETPROCTITLE | #define HAVE_SETPROCTITLE | ||||||
|  | #define HAVE_STRCASESTR | ||||||
| #define HAVE_STRLCAT | #define HAVE_STRLCAT | ||||||
| #define HAVE_STRLCPY | #define HAVE_STRLCPY | ||||||
| #define HAVE_STRTONUM | #define HAVE_STRTONUM | ||||||
| @@ -70,6 +72,7 @@ EOF | |||||||
| #define HAVE_POLL | #define HAVE_POLL | ||||||
| #define HAVE_PROGNAME | #define HAVE_PROGNAME | ||||||
| #define HAVE_PTY_H | #define HAVE_PTY_H | ||||||
|  | #define HAVE_STRCASESTR | ||||||
| EOF | EOF | ||||||
| 	cat <<EOF >>$CONFIG_MK | 	cat <<EOF >>$CONFIG_MK | ||||||
| SRCS+= osdep-linux.c \ | SRCS+= osdep-linux.c \ | ||||||
| @@ -95,6 +98,7 @@ SRCS+= osdep-unknown.c \ | |||||||
| 	compat/bsd-poll.c \ | 	compat/bsd-poll.c \ | ||||||
| 	compat/daemon.c \ | 	compat/daemon.c \ | ||||||
| 	compat/forkpty-aix.c \ | 	compat/forkpty-aix.c \ | ||||||
|  | 	compat/strcasestr.c \ | ||||||
| 	compat/strlcat.c \ | 	compat/strlcat.c \ | ||||||
| 	compat/strlcpy.c \ | 	compat/strlcpy.c \ | ||||||
| 	compat/strtonum.c \ | 	compat/strtonum.c \ | ||||||
| @@ -125,6 +129,7 @@ SRCS+= osdep-unknown.c \ | |||||||
| 	compat/fgetln.c \ | 	compat/fgetln.c \ | ||||||
| 	compat/forkpty-sunos.c \ | 	compat/forkpty-sunos.c \ | ||||||
| 	compat/getopt.c \ | 	compat/getopt.c \ | ||||||
|  | 	compat/strcasestr.c \ | ||||||
| 	compat/strtonum.c \ | 	compat/strtonum.c \ | ||||||
| 	compat/vis.c | 	compat/vis.c | ||||||
| EOF | EOF | ||||||
| @@ -139,6 +144,7 @@ EOF | |||||||
| #define HAVE_GETOPT | #define HAVE_GETOPT | ||||||
| #define HAVE_PATHS_H | #define HAVE_PATHS_H | ||||||
| #define HAVE_PROGNAME | #define HAVE_PROGNAME | ||||||
|  | #define HAVE_STRCASESTR | ||||||
| #define HAVE_STRLCAT | #define HAVE_STRLCAT | ||||||
| #define HAVE_STRLCPY | #define HAVE_STRLCPY | ||||||
| #define HAVE_UTIL_H | #define HAVE_UTIL_H | ||||||
| @@ -163,6 +169,7 @@ EOF | |||||||
| #define HAVE_POLL | #define HAVE_POLL | ||||||
| #define HAVE_PROGNAME | #define HAVE_PROGNAME | ||||||
| #define HAVE_SETPROCTITLE | #define HAVE_SETPROCTITLE | ||||||
|  | #define HAVE_STRCASESTR | ||||||
| #define HAVE_STRLCAT | #define HAVE_STRLCAT | ||||||
| #define HAVE_STRLCPY | #define HAVE_STRLCPY | ||||||
| #define HAVE_STRTONUM | #define HAVE_STRTONUM | ||||||
| @@ -185,6 +192,7 @@ EOF | |||||||
| #define HAVE_POLL | #define HAVE_POLL | ||||||
| #define HAVE_PROGNAME | #define HAVE_PROGNAME | ||||||
| #define HAVE_SETPROCTITLE | #define HAVE_SETPROCTITLE | ||||||
|  | #define HAVE_STRCASESTR | ||||||
| #define HAVE_STRLCAT | #define HAVE_STRLCAT | ||||||
| #define HAVE_STRLCPY | #define HAVE_STRLCPY | ||||||
| #define HAVE_UTIL_H | #define HAVE_UTIL_H | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Nicholas Marriott
					Nicholas Marriott