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> | ||||
| @@ -119,6 +119,11 @@ | ||||
| #define TTY_NAME_MAX 32 | ||||
| #endif | ||||
|  | ||||
| #ifndef HAVE_STRCASESTR | ||||
| /* strcasestr.c */ | ||||
| char		*strcasestr(const char *, const char *); | ||||
| #endif | ||||
|  | ||||
| #ifndef HAVE_STRTONUM | ||||
| /* strtonum.c */ | ||||
| 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 | ||||
| # $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`} | ||||
|  | ||||
| @@ -25,6 +25,7 @@ cat <<EOF >>$CONFIG_H | ||||
| #undef HAVE_PTY_H | ||||
| #undef HAVE_QUEUE_H | ||||
| #undef HAVE_SETPROCTITLE | ||||
| #undef HAVE_STRCASESTR | ||||
| #undef HAVE_STRLCAT | ||||
| #undef HAVE_STRLCPY | ||||
| #undef HAVE_STRTONUM | ||||
| @@ -48,6 +49,7 @@ case $TMUX_PLATFORM in | ||||
| #define HAVE_PROGNAME | ||||
| #define HAVE_QUEUE_H | ||||
| #define HAVE_SETPROCTITLE | ||||
| #define HAVE_STRCASESTR | ||||
| #define HAVE_STRLCAT | ||||
| #define HAVE_STRLCPY | ||||
| #define HAVE_STRTONUM | ||||
| @@ -70,6 +72,7 @@ EOF | ||||
| #define HAVE_POLL | ||||
| #define HAVE_PROGNAME | ||||
| #define HAVE_PTY_H | ||||
| #define HAVE_STRCASESTR | ||||
| EOF | ||||
| 	cat <<EOF >>$CONFIG_MK | ||||
| SRCS+= osdep-linux.c \ | ||||
| @@ -95,6 +98,7 @@ SRCS+= osdep-unknown.c \ | ||||
| 	compat/bsd-poll.c \ | ||||
| 	compat/daemon.c \ | ||||
| 	compat/forkpty-aix.c \ | ||||
| 	compat/strcasestr.c \ | ||||
| 	compat/strlcat.c \ | ||||
| 	compat/strlcpy.c \ | ||||
| 	compat/strtonum.c \ | ||||
| @@ -125,6 +129,7 @@ SRCS+= osdep-unknown.c \ | ||||
| 	compat/fgetln.c \ | ||||
| 	compat/forkpty-sunos.c \ | ||||
| 	compat/getopt.c \ | ||||
| 	compat/strcasestr.c \ | ||||
| 	compat/strtonum.c \ | ||||
| 	compat/vis.c | ||||
| EOF | ||||
| @@ -139,6 +144,7 @@ EOF | ||||
| #define HAVE_GETOPT | ||||
| #define HAVE_PATHS_H | ||||
| #define HAVE_PROGNAME | ||||
| #define HAVE_STRCASESTR | ||||
| #define HAVE_STRLCAT | ||||
| #define HAVE_STRLCPY | ||||
| #define HAVE_UTIL_H | ||||
| @@ -163,6 +169,7 @@ EOF | ||||
| #define HAVE_POLL | ||||
| #define HAVE_PROGNAME | ||||
| #define HAVE_SETPROCTITLE | ||||
| #define HAVE_STRCASESTR | ||||
| #define HAVE_STRLCAT | ||||
| #define HAVE_STRLCPY | ||||
| #define HAVE_STRTONUM | ||||
| @@ -185,6 +192,7 @@ EOF | ||||
| #define HAVE_POLL | ||||
| #define HAVE_PROGNAME | ||||
| #define HAVE_SETPROCTITLE | ||||
| #define HAVE_STRCASESTR | ||||
| #define HAVE_STRLCAT | ||||
| #define HAVE_STRLCPY | ||||
| #define HAVE_UTIL_H | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicholas Marriott
					Nicholas Marriott