mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	More missing bits from Solaris.
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
# $Id: GNUmakefile,v 1.29 2008-06-21 10:21:05 nicm Exp $
 | 
			
		||||
# $Id: GNUmakefile,v 1.30 2008-06-22 21:52:41 nicm Exp $
 | 
			
		||||
 | 
			
		||||
.PHONY: clean
 | 
			
		||||
 | 
			
		||||
@@ -56,9 +56,9 @@ INSTALLMAN= install -g bin -o root -m 444
 | 
			
		||||
ifeq ($(shell uname),SunOS)
 | 
			
		||||
INCDIRS+= -Icompat -I/usr/local/include/ncurses
 | 
			
		||||
SRCS+= compat/strtonum.c compat/daemon.c compat/forkpty-sunos.c \
 | 
			
		||||
	compat/asprintf.c
 | 
			
		||||
	compat/asprintf.c compat/fgetln.c
 | 
			
		||||
CFLAGS+= -DNO_STRTONUM -DNO_TREE_H -DNO_PATHS_H -DNO_SETPROCTITLE \
 | 
			
		||||
	-DNO_DAEMON -DNO_FORKPTY -DNO_PROGNAME -DNO_ASPRINTF
 | 
			
		||||
	-DNO_DAEMON -DNO_FORKPTY -DNO_PROGNAME -DNO_ASPRINTF -DNO_FGETLN
 | 
			
		||||
LDFLAGS+= -L/usr/local/lib
 | 
			
		||||
LIBS+= -lsocket -lnsl
 | 
			
		||||
endif 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										80
									
								
								compat/fgetln.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								compat/fgetln.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
/*	$NetBSD: fgetln.c,v 1.3 2007/08/07 02:06:58 lukem Exp $	*/
 | 
			
		||||
 | 
			
		||||
/*-
 | 
			
		||||
 * Copyright (c) 1998 The NetBSD Foundation, Inc.
 | 
			
		||||
 * All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
 * This code is derived from software contributed to The NetBSD Foundation
 | 
			
		||||
 * by Christos Zoulas.
 | 
			
		||||
 *
 | 
			
		||||
 * 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 NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "tmux.h"
 | 
			
		||||
 | 
			
		||||
char *
 | 
			
		||||
fgetln(fp, len)
 | 
			
		||||
	FILE *fp;
 | 
			
		||||
	size_t *len;
 | 
			
		||||
{
 | 
			
		||||
	static char *buf = NULL;
 | 
			
		||||
	static size_t bufsiz = 0;
 | 
			
		||||
	char *ptr;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if (buf == NULL) {
 | 
			
		||||
		bufsiz = BUFSIZ;
 | 
			
		||||
		if ((buf = malloc(bufsiz)) == NULL)
 | 
			
		||||
			return NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (fgets(buf, bufsiz, fp) == NULL)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
	*len = 0;
 | 
			
		||||
	while ((ptr = strchr(&buf[*len], '\n')) == NULL) {
 | 
			
		||||
		size_t nbufsiz = bufsiz + BUFSIZ;
 | 
			
		||||
		char *nbuf = realloc(buf, nbufsiz);
 | 
			
		||||
 | 
			
		||||
		if (nbuf == NULL) {
 | 
			
		||||
			int oerrno = errno;
 | 
			
		||||
			free(buf);
 | 
			
		||||
			errno = oerrno;
 | 
			
		||||
			buf = NULL;
 | 
			
		||||
			return NULL;
 | 
			
		||||
		} else
 | 
			
		||||
			buf = nbuf;
 | 
			
		||||
 | 
			
		||||
		*len = bufsiz;
 | 
			
		||||
		if (fgets(&buf[bufsiz], BUFSIZ, fp) == NULL)
 | 
			
		||||
			return buf;
 | 
			
		||||
 | 
			
		||||
		bufsiz = nbufsiz;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*len = (ptr - buf) + 1;
 | 
			
		||||
	return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: tmux.h,v 1.162 2008-06-22 16:54:08 nicm Exp $ */
 | 
			
		||||
/* $Id: tmux.h,v 1.163 2008-06-22 21:52:41 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -812,6 +812,11 @@ int	asprintf(char **, const char *, ...);
 | 
			
		||||
int	vasprintf(char **, const char *, va_list);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef NO_FGETLN
 | 
			
		||||
/* fgetln.c */
 | 
			
		||||
char   *fgetln(FILE *, size_t *);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* tmux.c */
 | 
			
		||||
extern volatile sig_atomic_t sigwinch;
 | 
			
		||||
extern volatile sig_atomic_t sigterm;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user