mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Need htonll and ntohll.
This commit is contained in:
		
							
								
								
									
										10
									
								
								compat.h
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								compat.h
									
									
									
									
									
								
							@@ -334,6 +334,16 @@ char		*strndup(const char *, size_t);
 | 
			
		||||
void		*memmem(const void *, size_t, const void *, size_t);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_HTONLL
 | 
			
		||||
/* htonll.c */
 | 
			
		||||
uint64_t	 htonll(uint64_t);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_NTOHLL
 | 
			
		||||
/* ntohll.c */
 | 
			
		||||
uint64_t	 ntohll(uint64_t);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_GETPEEREID
 | 
			
		||||
/* getpeereid.c */
 | 
			
		||||
int		getpeereid(int, uid_t *, gid_t *);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								compat/htonll.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								compat/htonll.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2024 Nicholas Marriott <nicholas.marriott@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, and distribute this software for any
 | 
			
		||||
 * purpose with or without fee is hereby granted, provided that the above
 | 
			
		||||
 * copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 *
 | 
			
		||||
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
			
		||||
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
 | 
			
		||||
 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 | 
			
		||||
 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#include "compat.h"
 | 
			
		||||
 | 
			
		||||
uint64_t
 | 
			
		||||
htonll(uint64_t v)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t b;
 | 
			
		||||
    uint32_t t;
 | 
			
		||||
 | 
			
		||||
    b = htonl (v & 0xffffffff);
 | 
			
		||||
    t = htonl (v >> 32);
 | 
			
		||||
    return ((uint64_t)b << 32 | t);
 | 
			
		||||
}
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/uio.h>
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
@@ -31,11 +32,17 @@
 | 
			
		||||
#include "compat.h"
 | 
			
		||||
#include "imsg.h"
 | 
			
		||||
 | 
			
		||||
#undef htobe16
 | 
			
		||||
#define htobe16 htons
 | 
			
		||||
#undef htobe32
 | 
			
		||||
#define htobe32 htonl
 | 
			
		||||
#undef htobe64
 | 
			
		||||
#define htobe64 htonll
 | 
			
		||||
#undef be16toh
 | 
			
		||||
#define be16toh ntohs
 | 
			
		||||
#undef be32toh
 | 
			
		||||
#define be32toh ntohl
 | 
			
		||||
#undef be64toh
 | 
			
		||||
#define be64toh ntohll
 | 
			
		||||
 | 
			
		||||
static int	ibuf_realloc(struct ibuf *, size_t);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								compat/ntohll.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								compat/ntohll.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2024 Nicholas Marriott <nicholas.marriott@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, and distribute this software for any
 | 
			
		||||
 * purpose with or without fee is hereby granted, provided that the above
 | 
			
		||||
 * copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 *
 | 
			
		||||
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
			
		||||
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
 | 
			
		||||
 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 | 
			
		||||
 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#include "compat.h"
 | 
			
		||||
 | 
			
		||||
uint64_t
 | 
			
		||||
ntohll(uint64_t v)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t b;
 | 
			
		||||
    uint32_t t;
 | 
			
		||||
 | 
			
		||||
    b = ntohl (v & 0xffffffff);
 | 
			
		||||
    t = ntohl (v >> 32);
 | 
			
		||||
    return ((uint64_t)b << 32 | t);
 | 
			
		||||
}
 | 
			
		||||
@@ -148,7 +148,7 @@ AC_CHECK_FUNCS([ \
 | 
			
		||||
	prctl \
 | 
			
		||||
	proc_pidinfo \
 | 
			
		||||
	getpeerucred \
 | 
			
		||||
	sysconf \
 | 
			
		||||
	sysconf
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Check for functions with a compatibility implementation.
 | 
			
		||||
@@ -165,7 +165,9 @@ AC_REPLACE_FUNCS([ \
 | 
			
		||||
	getpeereid \
 | 
			
		||||
	getline \
 | 
			
		||||
	getprogname \
 | 
			
		||||
	htonll \
 | 
			
		||||
	memmem \
 | 
			
		||||
	ntohll \
 | 
			
		||||
	setenv \
 | 
			
		||||
	setproctitle \
 | 
			
		||||
	strcasestr \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user