mirror of git://anongit.mindrot.org/openssh.git
- (djm) Sync sys/tree.h with OpenBSD -current. Rename tree.h and
fake-queue.h to sys-tree.h and sys-queue.h
This commit is contained in:
parent
622accfdb7
commit
9b481510bb
|
@ -1,6 +1,8 @@
|
||||||
20020912
|
20020912
|
||||||
- (djm) Added getpeereid() replacement. Properly implemented for systems
|
- (djm) Added getpeereid() replacement. Properly implemented for systems
|
||||||
with SO_PEERCRED support. Faked for systems which lack it.
|
with SO_PEERCRED support. Faked for systems which lack it.
|
||||||
|
- (djm) Sync sys/tree.h with OpenBSD -current. Rename tree.h and
|
||||||
|
fake-queue.h to sys-tree.h and sys-queue.h
|
||||||
- (djm) OpenBSD CVS Sync
|
- (djm) OpenBSD CVS Sync
|
||||||
- markus@cvs.openbsd.org 2002/09/08 20:24:08
|
- markus@cvs.openbsd.org 2002/09/08 20:24:08
|
||||||
[hostfile.h]
|
[hostfile.h]
|
||||||
|
@ -1651,4 +1653,4 @@
|
||||||
- (stevesk) entropy.c: typo in debug message
|
- (stevesk) entropy.c: typo in debug message
|
||||||
- (djm) ssh-keygen -i needs seeded RNG; report from markus@
|
- (djm) ssh-keygen -i needs seeded RNG; report from markus@
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.2460 2002/09/12 00:34:13 djm Exp $
|
$Id: ChangeLog,v 1.2461 2002/09/12 00:43:29 djm Exp $
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
#ifndef _MM_H_
|
#ifndef _MM_H_
|
||||||
#define _MM_H_
|
#define _MM_H_
|
||||||
#include "openbsd-compat/tree.h"
|
#include "openbsd-compat/sys-tree.h"
|
||||||
|
|
||||||
struct mm_share {
|
struct mm_share {
|
||||||
RB_ENTRY(mm_share) next;
|
RB_ENTRY(mm_share) next;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* $OpenBSD: tree.h,v 1.6 2002/06/11 22:09:52 provos Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -113,48 +114,8 @@ struct { \
|
||||||
#define SPLAY_PROTOTYPE(name, type, field, cmp) \
|
#define SPLAY_PROTOTYPE(name, type, field, cmp) \
|
||||||
void name##_SPLAY(struct name *, struct type *); \
|
void name##_SPLAY(struct name *, struct type *); \
|
||||||
void name##_SPLAY_MINMAX(struct name *, int); \
|
void name##_SPLAY_MINMAX(struct name *, int); \
|
||||||
\
|
struct type *name##_SPLAY_INSERT(struct name *, struct type *); \
|
||||||
static __inline void \
|
struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \
|
||||||
name##_SPLAY_INSERT(struct name *head, struct type *elm) \
|
|
||||||
{ \
|
|
||||||
if (SPLAY_EMPTY(head)) { \
|
|
||||||
SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
|
|
||||||
} else { \
|
|
||||||
int __comp; \
|
|
||||||
name##_SPLAY(head, elm); \
|
|
||||||
__comp = (cmp)(elm, (head)->sph_root); \
|
|
||||||
if(__comp < 0) { \
|
|
||||||
SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
|
|
||||||
SPLAY_RIGHT(elm, field) = (head)->sph_root; \
|
|
||||||
SPLAY_LEFT((head)->sph_root, field) = NULL; \
|
|
||||||
} else if (__comp > 0) { \
|
|
||||||
SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
|
|
||||||
SPLAY_LEFT(elm, field) = (head)->sph_root; \
|
|
||||||
SPLAY_RIGHT((head)->sph_root, field) = NULL; \
|
|
||||||
} else \
|
|
||||||
return; \
|
|
||||||
} \
|
|
||||||
(head)->sph_root = (elm); \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
static __inline void \
|
|
||||||
name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
|
|
||||||
{ \
|
|
||||||
struct type *__tmp; \
|
|
||||||
if (SPLAY_EMPTY(head)) \
|
|
||||||
return; \
|
|
||||||
name##_SPLAY(head, elm); \
|
|
||||||
if ((cmp)(elm, (head)->sph_root) == 0) { \
|
|
||||||
if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
|
|
||||||
(head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
|
|
||||||
} else { \
|
|
||||||
__tmp = SPLAY_RIGHT((head)->sph_root, field); \
|
|
||||||
(head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
|
|
||||||
name##_SPLAY(head, elm); \
|
|
||||||
SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
\
|
\
|
||||||
/* Finds the node with the same key as elm */ \
|
/* Finds the node with the same key as elm */ \
|
||||||
static __inline struct type * \
|
static __inline struct type * \
|
||||||
|
@ -193,7 +154,53 @@ name##_SPLAY_MIN_MAX(struct name *head, int val) \
|
||||||
* Moves node close to the key of elm to top
|
* Moves node close to the key of elm to top
|
||||||
*/
|
*/
|
||||||
#define SPLAY_GENERATE(name, type, field, cmp) \
|
#define SPLAY_GENERATE(name, type, field, cmp) \
|
||||||
void name##_SPLAY(struct name *head, struct type *elm) \
|
struct type * \
|
||||||
|
name##_SPLAY_INSERT(struct name *head, struct type *elm) \
|
||||||
|
{ \
|
||||||
|
if (SPLAY_EMPTY(head)) { \
|
||||||
|
SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
|
||||||
|
} else { \
|
||||||
|
int __comp; \
|
||||||
|
name##_SPLAY(head, elm); \
|
||||||
|
__comp = (cmp)(elm, (head)->sph_root); \
|
||||||
|
if(__comp < 0) { \
|
||||||
|
SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
|
||||||
|
SPLAY_RIGHT(elm, field) = (head)->sph_root; \
|
||||||
|
SPLAY_LEFT((head)->sph_root, field) = NULL; \
|
||||||
|
} else if (__comp > 0) { \
|
||||||
|
SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
|
||||||
|
SPLAY_LEFT(elm, field) = (head)->sph_root; \
|
||||||
|
SPLAY_RIGHT((head)->sph_root, field) = NULL; \
|
||||||
|
} else \
|
||||||
|
return ((head)->sph_root); \
|
||||||
|
} \
|
||||||
|
(head)->sph_root = (elm); \
|
||||||
|
return (NULL); \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
struct type * \
|
||||||
|
name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
|
||||||
|
{ \
|
||||||
|
struct type *__tmp; \
|
||||||
|
if (SPLAY_EMPTY(head)) \
|
||||||
|
return (NULL); \
|
||||||
|
name##_SPLAY(head, elm); \
|
||||||
|
if ((cmp)(elm, (head)->sph_root) == 0) { \
|
||||||
|
if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
|
||||||
|
(head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
|
||||||
|
} else { \
|
||||||
|
__tmp = SPLAY_RIGHT((head)->sph_root, field); \
|
||||||
|
(head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
|
||||||
|
name##_SPLAY(head, elm); \
|
||||||
|
SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
|
||||||
|
} \
|
||||||
|
return (elm); \
|
||||||
|
} \
|
||||||
|
return (NULL); \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
void \
|
||||||
|
name##_SPLAY(struct name *head, struct type *elm) \
|
||||||
{ \
|
{ \
|
||||||
struct type __node, *__left, *__right, *__tmp; \
|
struct type __node, *__left, *__right, *__tmp; \
|
||||||
int __comp; \
|
int __comp; \
|
||||||
|
@ -367,7 +374,7 @@ struct { \
|
||||||
#define RB_PROTOTYPE(name, type, field, cmp) \
|
#define RB_PROTOTYPE(name, type, field, cmp) \
|
||||||
void name##_RB_INSERT_COLOR(struct name *, struct type *); \
|
void name##_RB_INSERT_COLOR(struct name *, struct type *); \
|
||||||
void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
|
void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
|
||||||
void name##_RB_REMOVE(struct name *, struct type *); \
|
struct type *name##_RB_REMOVE(struct name *, struct type *); \
|
||||||
struct type *name##_RB_INSERT(struct name *, struct type *); \
|
struct type *name##_RB_INSERT(struct name *, struct type *); \
|
||||||
struct type *name##_RB_FIND(struct name *, struct type *); \
|
struct type *name##_RB_FIND(struct name *, struct type *); \
|
||||||
struct type *name##_RB_NEXT(struct name *, struct type *); \
|
struct type *name##_RB_NEXT(struct name *, struct type *); \
|
||||||
|
@ -498,17 +505,17 @@ name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm)
|
||||||
RB_COLOR(elm, field) = RB_BLACK; \
|
RB_COLOR(elm, field) = RB_BLACK; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
void \
|
struct type * \
|
||||||
name##_RB_REMOVE(struct name *head, struct type *elm) \
|
name##_RB_REMOVE(struct name *head, struct type *elm) \
|
||||||
{ \
|
{ \
|
||||||
struct type *child, *parent; \
|
struct type *child, *parent, *old = elm; \
|
||||||
int color; \
|
int color; \
|
||||||
if (RB_LEFT(elm, field) == NULL) \
|
if (RB_LEFT(elm, field) == NULL) \
|
||||||
child = RB_RIGHT(elm, field); \
|
child = RB_RIGHT(elm, field); \
|
||||||
else if (RB_RIGHT(elm, field) == NULL) \
|
else if (RB_RIGHT(elm, field) == NULL) \
|
||||||
child = RB_LEFT(elm, field); \
|
child = RB_LEFT(elm, field); \
|
||||||
else { \
|
else { \
|
||||||
struct type *old = elm, *left; \
|
struct type *left; \
|
||||||
elm = RB_RIGHT(elm, field); \
|
elm = RB_RIGHT(elm, field); \
|
||||||
while ((left = RB_LEFT(elm, field))) \
|
while ((left = RB_LEFT(elm, field))) \
|
||||||
elm = left; \
|
elm = left; \
|
||||||
|
@ -562,6 +569,7 @@ name##_RB_REMOVE(struct name *head, struct type *elm) \
|
||||||
color: \
|
color: \
|
||||||
if (color == RB_BLACK) \
|
if (color == RB_BLACK) \
|
||||||
name##_RB_REMOVE_COLOR(head, parent, child); \
|
name##_RB_REMOVE_COLOR(head, parent, child); \
|
||||||
|
return (old); \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
/* Inserts a node into the RB tree */ \
|
/* Inserts a node into the RB tree */ \
|
|
@ -30,7 +30,7 @@
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$OpenBSD: sftp-client.c,v 1.35 2002/09/11 22:41:49 djm Exp $");
|
RCSID("$OpenBSD: sftp-client.c,v 1.35 2002/09/11 22:41:49 djm Exp $");
|
||||||
|
|
||||||
#include "openbsd-compat/fake-queue.h"
|
#include "openbsd-compat/sys-queue.h"
|
||||||
|
|
||||||
#include "buffer.h"
|
#include "buffer.h"
|
||||||
#include "bufaux.h"
|
#include "bufaux.h"
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
#include "openbsd-compat/fake-queue.h"
|
#include "openbsd-compat/sys-queue.h"
|
||||||
RCSID("$OpenBSD: ssh-agent.c,v 1.103 2002/09/10 20:24:47 markus Exp $");
|
RCSID("$OpenBSD: ssh-agent.c,v 1.103 2002/09/10 20:24:47 markus Exp $");
|
||||||
|
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$OpenBSD: ssh-keyscan.c,v 1.40 2002/07/06 17:47:58 stevesk Exp $");
|
RCSID("$OpenBSD: ssh-keyscan.c,v 1.40 2002/07/06 17:47:58 stevesk Exp $");
|
||||||
|
|
||||||
#include "openbsd-compat/fake-queue.h"
|
#include "openbsd-compat/sys-queue.h"
|
||||||
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue