From 8d61b3e49e22a63a735732b3dc7488940396a24f Mon Sep 17 00:00:00 2001 From: Josh Elsasser Date: Thu, 24 May 2007 03:44:40 +0000 Subject: [PATCH] Move ipc parsing code into libt. --- {daemon => libtransmission}/ipc.c | 62 ++++++++++++++++++++++++++++++- {daemon => libtransmission}/ipc.h | 0 mk/daemon.mk | 2 +- mk/lib.mk | 2 +- 4 files changed, 63 insertions(+), 3 deletions(-) rename {daemon => libtransmission}/ipc.c (91%) rename {daemon => libtransmission}/ipc.h (100%) diff --git a/daemon/ipc.c b/libtransmission/ipc.c similarity index 91% rename from daemon/ipc.c rename to libtransmission/ipc.c index 18d93b30a..0e38f7a9d 100644 --- a/daemon/ipc.c +++ b/libtransmission/ipc.c @@ -30,11 +30,71 @@ #include "bsdtree.h" #include "ipc.h" -#include "misc.h" #include "transmission.h" #include "bencode.h" +/* begin copy-paste from daemon/misc.h */ + +#define ARRAYLEN( ary ) ( sizeof( ary ) / sizeof( (ary)[0] ) ) + +#ifndef MIN +#define MIN( aa, bb ) ( (aa) < (bb) ? (aa) : (bb) ) +#endif +#ifndef MAX +#define MAX( aa, bb ) ( (aa) > (bb) ? (aa) : (bb) ) +#endif + +#undef NULL +#define NULL ( ( void * )0 ) + +#define TORRENT_ID_VALID( id ) ( 0 < (id) && INT_MAX > (id) ) + +#define SAFEFREE( ptr ) \ + do \ + { \ + int saved = errno; \ + free( ptr ); \ + errno = saved; \ + } \ + while( 0 ) +#define SAFEFREESTRLIST( ptr ) \ + do \ + { \ + int saved = errno; \ + FREESTRLIST( ptr ); \ + errno = saved; \ + } \ + while( 0 ) +#define SAFEBENCFREE( val ) \ + do \ + { \ + int saved = errno; \ + tr_bencFree( val ); \ + errno = saved; \ + } \ + while( 0 ) + +#define INTCMP_FUNC( name, type, id ) \ +int \ +name( struct type * _icf_first, struct type * _icf_second ) \ +{ \ + if( _icf_first->id < _icf_second->id ) \ + { \ + return -1; \ + } \ + else if( _icf_first->id > _icf_second->id ) \ + { \ + return 1; \ + } \ + else \ + { \ + return 0; \ + } \ +} + +/* end copy-paste from daemon/misc.h */ + /* IPC protocol version */ #define PROTO_VERS_MIN ( 1 ) #define PROTO_VERS_MAX ( 2 ) diff --git a/daemon/ipc.h b/libtransmission/ipc.h similarity index 100% rename from daemon/ipc.h rename to libtransmission/ipc.h diff --git a/mk/daemon.mk b/mk/daemon.mk index 597b78323..40631dfce 100644 --- a/mk/daemon.mk +++ b/mk/daemon.mk @@ -3,7 +3,7 @@ include ../mk/config.mk include ../mk/common.mk -COMSRCS = errors.c ipc.c misc.c +COMSRCS = errors.c misc.c SRVSRCS = daemon.c server.c torrents.c CLISRCS = client.c remote.c PXYSRCS = proxy.c diff --git a/mk/lib.mk b/mk/lib.mk index 20409166b..e112ababd 100644 --- a/mk/lib.mk +++ b/mk/lib.mk @@ -6,7 +6,7 @@ include ../mk/common.mk SRCS = transmission.c bencode.c net.c tracker.c peer.c inout.c \ metainfo.c sha1.c utils.c fdlimit.c clients.c completion.c \ platform.c ratecontrol.c choking.c natpmp.c upnp.c http.c xml.c \ - shared.c torrent.c strlcpy.c strlcat.c + shared.c torrent.c strlcpy.c strlcat.c ipc.c OBJS = $(SRCS:%.c=%.o)