more fixes, should work now
This commit is contained in:
parent
3b3b50b7ec
commit
3bf7660b85
@ -17,11 +17,13 @@ add_library(libircclient
|
|||||||
./libircclient/src/errors.c
|
./libircclient/src/errors.c
|
||||||
./libircclient/src/libircclient.c
|
./libircclient/src/libircclient.c
|
||||||
./libircclient/src/params.h
|
./libircclient/src/params.h
|
||||||
|
./libircclient/src/portable.h
|
||||||
./libircclient/src/portable.c
|
./libircclient/src/portable.c
|
||||||
./libircclient/src/session.h
|
./libircclient/src/session.h
|
||||||
./libircclient/src/sockets.c
|
./libircclient/src/sockets.h
|
||||||
|
./libircclient/src/ssl.h
|
||||||
./libircclient/src/ssl.c
|
./libircclient/src/ssl.c
|
||||||
./libircclient/src/utils.c
|
./libircclient/src/utils.h
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(libircclient PUBLIC ./libircclient/include)
|
target_include_directories(libircclient PUBLIC ./libircclient/include)
|
||||||
|
@ -16,6 +16,11 @@
|
|||||||
#define LIBIRC_DCC_SENDFILE 2
|
#define LIBIRC_DCC_SENDFILE 2
|
||||||
#define LIBIRC_DCC_RECVFILE 3
|
#define LIBIRC_DCC_RECVFILE 3
|
||||||
|
|
||||||
|
#include "./session.h"
|
||||||
|
#include "./utils.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
static irc_dcc_session_t * libirc_find_dcc_session (irc_session_t * session, irc_dcc_t dccid, int lock_list)
|
static irc_dcc_session_t * libirc_find_dcc_session (irc_session_t * session, irc_dcc_t dccid, int lock_list)
|
||||||
{
|
{
|
||||||
@ -54,7 +59,7 @@ static void libirc_dcc_destroy_nolock (irc_session_t * session, irc_dcc_t dccid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void libirc_remove_dcc_session (irc_session_t * session, irc_dcc_session_t * dcc, int lock_list)
|
void libirc_remove_dcc_session (irc_session_t * session, irc_dcc_session_t * dcc, int lock_list)
|
||||||
{
|
{
|
||||||
if ( dcc->sock >= 0 )
|
if ( dcc->sock >= 0 )
|
||||||
socket_close (&dcc->sock);
|
socket_close (&dcc->sock);
|
||||||
@ -91,7 +96,7 @@ static void libirc_remove_dcc_session (irc_session_t * session, irc_dcc_session_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void libirc_dcc_add_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set, int * maxfd)
|
void libirc_dcc_add_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set, int * maxfd)
|
||||||
{
|
{
|
||||||
irc_dcc_session_t * dcc, *dcc_next;
|
irc_dcc_session_t * dcc, *dcc_next;
|
||||||
time_t now = time (0);
|
time_t now = time (0);
|
||||||
@ -208,7 +213,7 @@ static void libirc_dcc_add_descriptors (irc_session_t * ircsession, fd_set *in_s
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void libirc_dcc_process_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set)
|
void libirc_dcc_process_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set)
|
||||||
{
|
{
|
||||||
irc_dcc_session_t * dcc;
|
irc_dcc_session_t * dcc;
|
||||||
|
|
||||||
@ -710,7 +715,7 @@ int irc_dcc_msg (irc_session_t * session, irc_dcc_t dccid, const char * text)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void libirc_dcc_request (irc_session_t * session, const char * nick, const char * req)
|
void libirc_dcc_request (irc_session_t * session, const char * nick, const char * req)
|
||||||
{
|
{
|
||||||
char filenamebuf[256];
|
char filenamebuf[256];
|
||||||
unsigned long ip, size;
|
unsigned long ip, size;
|
||||||
|
@ -15,6 +15,13 @@
|
|||||||
#ifndef INCLUDE_IRC_DCC_H
|
#ifndef INCLUDE_IRC_DCC_H
|
||||||
#define INCLUDE_IRC_DCC_H
|
#define INCLUDE_IRC_DCC_H
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "../include/libircclient.h"
|
||||||
|
|
||||||
|
#include "./sockets.h"
|
||||||
|
#include "./portable.h"
|
||||||
|
#include "./params.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This structure keeps the state of a single DCC connection.
|
* This structure keeps the state of a single DCC connection.
|
||||||
@ -50,5 +57,9 @@ struct irc_dcc_session_s
|
|||||||
irc_dcc_callback_t cb;
|
irc_dcc_callback_t cb;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void libirc_remove_dcc_session (irc_session_t * session, irc_dcc_session_t * dcc, int lock_list);
|
||||||
|
void libirc_dcc_add_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set, int * maxfd);
|
||||||
|
void libirc_dcc_request (irc_session_t * session, const char * nick, const char * req);
|
||||||
|
void libirc_dcc_process_descriptors (irc_session_t * ircsession, fd_set *in_set, fd_set *out_set);
|
||||||
|
|
||||||
#endif /* INCLUDE_IRC_DCC_H */
|
#endif /* INCLUDE_IRC_DCC_H */
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
* License for more details.
|
* License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "../include/libircclient.h"
|
||||||
|
#include "./session.h"
|
||||||
|
|
||||||
static const char * libirc_strerror[LIBIRC_ERR_MAX] =
|
static const char * libirc_strerror[LIBIRC_ERR_MAX] =
|
||||||
{
|
{
|
||||||
"No error",
|
"No error",
|
||||||
|
@ -14,17 +14,19 @@
|
|||||||
|
|
||||||
#define IS_DEBUG_ENABLED(s) ((s)->options & LIBIRC_OPTION_DEBUG)
|
#define IS_DEBUG_ENABLED(s) ((s)->options & LIBIRC_OPTION_DEBUG)
|
||||||
|
|
||||||
#include "portable.c"
|
#include "./portable.h"
|
||||||
#include "sockets.c"
|
#include "./sockets.h"
|
||||||
|
|
||||||
#include "libircclient.h"
|
#include "../include/libircclient.h"
|
||||||
#include "session.h"
|
#include "./session.h"
|
||||||
|
|
||||||
#include "utils.c"
|
#include "./utils.h"
|
||||||
#include "errors.c"
|
/*#include "errors.c"*/
|
||||||
#include "colors.c"
|
/*#include "colors.c"*/
|
||||||
#include "dcc.c"
|
#include "./dcc.h"
|
||||||
#include "ssl.c"
|
/*#include "dcc.c"*/
|
||||||
|
/*#include "ssl.c"*/
|
||||||
|
#include "./ssl.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
@ -12,121 +12,7 @@
|
|||||||
* License for more details.
|
* License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined (_WIN32)
|
#include "./portable.h"
|
||||||
#include "config.h"
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#if defined (ENABLE_THREADS)
|
|
||||||
#include <pthread.h>
|
|
||||||
typedef pthread_mutex_t port_mutex_t;
|
|
||||||
|
|
||||||
#if !defined (PTHREAD_MUTEX_RECURSIVE) && defined (PTHREAD_MUTEX_RECURSIVE_NP)
|
|
||||||
#define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <ws2tcpip.h>
|
|
||||||
#include <windows.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#if defined (ENABLE_THREADS)
|
|
||||||
typedef CRITICAL_SECTION port_mutex_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define inline
|
|
||||||
#define snprintf _snprintf
|
|
||||||
#define vsnprintf _vsnprintf
|
|
||||||
#define strncasecmp _strnicmp
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if defined (ENABLE_SSL)
|
|
||||||
#include <openssl/ssl.h>
|
|
||||||
#include <openssl/err.h>
|
|
||||||
#include <openssl/rand.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if defined (ENABLE_THREADS)
|
|
||||||
static inline int libirc_mutex_init (port_mutex_t * mutex)
|
|
||||||
{
|
|
||||||
#if defined (_WIN32)
|
|
||||||
InitializeCriticalSection (mutex);
|
|
||||||
return 0;
|
|
||||||
#elif defined (PTHREAD_MUTEX_RECURSIVE)
|
|
||||||
pthread_mutexattr_t attr;
|
|
||||||
|
|
||||||
return (pthread_mutexattr_init (&attr)
|
|
||||||
|| pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE)
|
|
||||||
|| pthread_mutex_init (mutex, &attr));
|
|
||||||
#else /* !defined (PTHREAD_MUTEX_RECURSIVE) */
|
|
||||||
|
|
||||||
return pthread_mutex_init (mutex, 0);
|
|
||||||
|
|
||||||
#endif /* defined (_WIN32) */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static inline void libirc_mutex_destroy (port_mutex_t * mutex)
|
|
||||||
{
|
|
||||||
#if defined (_WIN32)
|
|
||||||
DeleteCriticalSection (mutex);
|
|
||||||
#else
|
|
||||||
pthread_mutex_destroy (mutex);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static inline void libirc_mutex_lock (port_mutex_t * mutex)
|
|
||||||
{
|
|
||||||
#if defined (_WIN32)
|
|
||||||
EnterCriticalSection (mutex);
|
|
||||||
#else
|
|
||||||
pthread_mutex_lock (mutex);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static inline void libirc_mutex_unlock (port_mutex_t * mutex)
|
|
||||||
{
|
|
||||||
#if defined (_WIN32)
|
|
||||||
LeaveCriticalSection (mutex);
|
|
||||||
#else
|
|
||||||
pthread_mutex_unlock (mutex);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef void * port_mutex_t;
|
|
||||||
|
|
||||||
static inline int libirc_mutex_init (port_mutex_t * mutex) { return 0; }
|
|
||||||
static inline void libirc_mutex_destroy (port_mutex_t * mutex) {}
|
|
||||||
static inline void libirc_mutex_lock (port_mutex_t * mutex) {}
|
|
||||||
static inline void libirc_mutex_unlock (port_mutex_t * mutex) {}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stub for WIN32 dll to initialize winsock API
|
* Stub for WIN32 dll to initialize winsock API
|
||||||
|
133
libircclient/src/portable.h
Normal file
133
libircclient/src/portable.h
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2004-2012 George Yunaev gyunaev@ulduzsoft.com
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
* License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef INCLUDE_IRC_PORTABLE_H
|
||||||
|
#define INCLUDE_IRC_PORTABLE_H
|
||||||
|
|
||||||
|
#if !defined (_WIN32)
|
||||||
|
//#include "config.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#if defined (ENABLE_THREADS)
|
||||||
|
#include <pthread.h>
|
||||||
|
typedef pthread_mutex_t port_mutex_t;
|
||||||
|
|
||||||
|
#if !defined (PTHREAD_MUTEX_RECURSIVE) && defined (PTHREAD_MUTEX_RECURSIVE_NP)
|
||||||
|
#define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
#include <windows.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
#if defined (ENABLE_THREADS)
|
||||||
|
typedef CRITICAL_SECTION port_mutex_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define inline
|
||||||
|
#define snprintf _snprintf
|
||||||
|
#define vsnprintf _vsnprintf
|
||||||
|
#define strncasecmp _strnicmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (ENABLE_SSL)
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
#include <openssl/rand.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (ENABLE_THREADS)
|
||||||
|
static inline int libirc_mutex_init (port_mutex_t * mutex)
|
||||||
|
{
|
||||||
|
#if defined (_WIN32)
|
||||||
|
InitializeCriticalSection (mutex);
|
||||||
|
return 0;
|
||||||
|
#elif defined (PTHREAD_MUTEX_RECURSIVE)
|
||||||
|
pthread_mutexattr_t attr;
|
||||||
|
|
||||||
|
return (pthread_mutexattr_init (&attr)
|
||||||
|
|| pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE)
|
||||||
|
|| pthread_mutex_init (mutex, &attr));
|
||||||
|
#else /* !defined (PTHREAD_MUTEX_RECURSIVE) */
|
||||||
|
|
||||||
|
return pthread_mutex_init (mutex, 0);
|
||||||
|
|
||||||
|
#endif /* defined (_WIN32) */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline void libirc_mutex_destroy (port_mutex_t * mutex)
|
||||||
|
{
|
||||||
|
#if defined (_WIN32)
|
||||||
|
DeleteCriticalSection (mutex);
|
||||||
|
#else
|
||||||
|
pthread_mutex_destroy (mutex);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline void libirc_mutex_lock (port_mutex_t * mutex)
|
||||||
|
{
|
||||||
|
#if defined (_WIN32)
|
||||||
|
EnterCriticalSection (mutex);
|
||||||
|
#else
|
||||||
|
pthread_mutex_lock (mutex);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline void libirc_mutex_unlock (port_mutex_t * mutex)
|
||||||
|
{
|
||||||
|
#if defined (_WIN32)
|
||||||
|
LeaveCriticalSection (mutex);
|
||||||
|
#else
|
||||||
|
pthread_mutex_unlock (mutex);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
typedef void * port_mutex_t;
|
||||||
|
|
||||||
|
static inline int libirc_mutex_init (port_mutex_t * mutex) { return 0; }
|
||||||
|
static inline void libirc_mutex_destroy (port_mutex_t * mutex) {}
|
||||||
|
static inline void libirc_mutex_lock (port_mutex_t * mutex) {}
|
||||||
|
static inline void libirc_mutex_unlock (port_mutex_t * mutex) {}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* INCLUDE_IRC_PORTABLE_H */
|
@ -17,9 +17,9 @@
|
|||||||
#define INCLUDE_IRC_SESSION_H
|
#define INCLUDE_IRC_SESSION_H
|
||||||
|
|
||||||
|
|
||||||
#include "params.h"
|
#include "./params.h"
|
||||||
#include "dcc.h"
|
#include "./dcc.h"
|
||||||
#include "libirc_events.h"
|
#include "../include/libirc_events.h"
|
||||||
|
|
||||||
|
|
||||||
// Session flags
|
// Session flags
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
* License for more details.
|
* License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef INCLUDE_IRC_SOCKET_H
|
||||||
|
#define INCLUDE_IRC_SOCKET_H
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The sockets interface was moved out to simplify going OpenSSL integration.
|
* The sockets interface was moved out to simplify going OpenSSL integration.
|
||||||
*/
|
*/
|
||||||
@ -159,3 +162,5 @@ static int socket_send (socket_t * sock, const void *buf, size_t len)
|
|||||||
|
|
||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* INCLUDE_IRC_SOCKET_H */
|
@ -12,6 +12,10 @@
|
|||||||
* License for more details.
|
* License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "./ssl.h"
|
||||||
|
|
||||||
|
#include "../include/libircclient.h"
|
||||||
|
#include "./session.h"
|
||||||
|
|
||||||
#if defined (ENABLE_SSL)
|
#if defined (ENABLE_SSL)
|
||||||
|
|
||||||
@ -331,7 +335,7 @@ static int ssl_send( irc_session_t * session )
|
|||||||
// Returns -1 in case there is an error and socket should be closed/connection terminated
|
// Returns -1 in case there is an error and socket should be closed/connection terminated
|
||||||
// Returns 0 in case there is a temporary error and the call should be retried (SSL_WANTS_WRITE case)
|
// Returns 0 in case there is a temporary error and the call should be retried (SSL_WANTS_WRITE case)
|
||||||
// Returns a positive number if we actually read something
|
// Returns a positive number if we actually read something
|
||||||
static int session_socket_read( irc_session_t * session )
|
int session_socket_read( irc_session_t * session )
|
||||||
{
|
{
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
@ -365,7 +369,7 @@ static int session_socket_read( irc_session_t * session )
|
|||||||
// Returns -1 in case there is an error and socket should be closed/connection terminated
|
// Returns -1 in case there is an error and socket should be closed/connection terminated
|
||||||
// Returns 0 in case there is a temporary error and the call should be retried (SSL_WANTS_WRITE case)
|
// Returns 0 in case there is a temporary error and the call should be retried (SSL_WANTS_WRITE case)
|
||||||
// Returns a positive number if we actually sent something
|
// Returns a positive number if we actually sent something
|
||||||
static int session_socket_write( irc_session_t * session )
|
int session_socket_write( irc_session_t * session )
|
||||||
{
|
{
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
|
23
libircclient/src/ssl.h
Normal file
23
libircclient/src/ssl.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2004-2012 George Yunaev gyunaev@ulduzsoft.com
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
* License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "./session.h"
|
||||||
|
|
||||||
|
#ifndef INCLUDE_IRC_SSL_H
|
||||||
|
#define INCLUDE_IRC_SSL_H
|
||||||
|
|
||||||
|
int session_socket_read( irc_session_t * session );
|
||||||
|
int session_socket_write( irc_session_t * session );
|
||||||
|
|
||||||
|
#endif /* INCLUDE_IRC_SSL_H */
|
@ -12,6 +12,17 @@
|
|||||||
* License for more details.
|
* License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef INCLUDE_IRC_UTILS_H
|
||||||
|
#define INCLUDE_IRC_UTILS_H
|
||||||
|
|
||||||
|
//#include <sys/select.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "./session.h"
|
||||||
|
|
||||||
static void libirc_add_to_set (int fd, fd_set *set, int * maxfd)
|
static void libirc_add_to_set (int fd, fd_set *set, int * maxfd)
|
||||||
{
|
{
|
||||||
FD_SET (fd, set);
|
FD_SET (fd, set);
|
||||||
@ -128,3 +139,5 @@ static void libirc_event_ctcp_internal (irc_session_t * session, const char * ev
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* INCLUDE_IRC_UTILS_H */
|
Loading…
Reference in New Issue
Block a user