Far-reaching changes to make BitchX compatible with 64 bit architectures
like x86-64, where sizeof(int) != sizeof (void *). This involves correctly casting every function pointer from the global table to the correct function type, which has the added benefit of allowing type-checking of function arguments and return values. git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@26 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
@@ -304,7 +304,7 @@ void toggle_aimwin (Window *win, char *unused, int onoff){
|
||||
tmp->query_cmd = m_strdup("asay");
|
||||
tmp->double_status = 0;
|
||||
tmp->absolute_size = 1;
|
||||
tmp->update_window_status = update_aim_window;
|
||||
tmp->update_status = update_aim_window;
|
||||
tmp->server = -2;
|
||||
set_wset_string_var(tmp->wset, STATUS_FORMAT1_WSET, NULL);
|
||||
set_wset_string_var(tmp->wset, STATUS_FORMAT2_WSET, NULL);
|
||||
|
||||
@@ -1286,7 +1286,7 @@ Window *tmp;
|
||||
tmp->query_cmd = m_strdup("nsay");
|
||||
tmp->double_status = 0;
|
||||
tmp->absolute_size = 1;
|
||||
tmp->update_window_status = update_napster_window;
|
||||
tmp->update_status = update_napster_window;
|
||||
tmp->server = -2;
|
||||
set_wset_string_var(tmp->wset, STATUS_FORMAT1_WSET, NULL);
|
||||
set_wset_string_var(tmp->wset, STATUS_FORMAT2_WSET, NULL);
|
||||
|
||||
@@ -113,22 +113,20 @@
|
||||
#define DCC_STATES 0xffffff00
|
||||
|
||||
|
||||
#define DCC_COMMAND(x) void x (char *command, char *args)
|
||||
|
||||
int check_dcc_list (char *);
|
||||
int dcc_exempt_save (FILE *);
|
||||
|
||||
DCC_COMMAND(BX_dcc_filesend);
|
||||
DCC_COMMAND(BX_dcc_resend);
|
||||
DCC_COMMAND(dcc_stats);
|
||||
DCC_COMMAND(dcc_chat);
|
||||
DCC_COMMAND(dcc_ftpopen);
|
||||
DCC_COMMAND(dcc_glist);
|
||||
DCC_COMMAND(dcc_chatbot);
|
||||
DCC_COMMAND(dcc_resume);
|
||||
DCC_COMMAND(dcc_rename);
|
||||
void BX_dcc_filesend(char *, char *);
|
||||
void BX_dcc_resend(char *, char *);
|
||||
void dcc_stats(char *, char *);
|
||||
void dcc_chat(char *, char *);
|
||||
void dcc_ftpopen(char *, char *);
|
||||
void dcc_glist(char *, char *);
|
||||
void dcc_chatbot(char *, char *);
|
||||
void dcc_resume(char *, char *);
|
||||
void dcc_rename(char *, char *);
|
||||
|
||||
int BX_get_active_count();
|
||||
int BX_get_active_count(void);
|
||||
int dcc_ftpcommand(char *, char *);
|
||||
void process_dcc(char *);
|
||||
int dcc_activechat(char *); /* identify all active chat dcc's */
|
||||
|
||||
@@ -138,7 +138,7 @@ char * urldecode (char *);
|
||||
/* From words.c */
|
||||
#define SOS -32767
|
||||
#define EOS 32767
|
||||
char *BX_search (register char *, char **, char *, int);
|
||||
char *BX_strsearch (register char *, char *, char *, int);
|
||||
char *BX_move_to_abs_word (const register char *, char **, int);
|
||||
char *BX_move_word_rel (const register char *, char **, int);
|
||||
char *BX_extract (char *, int, int);
|
||||
@@ -197,16 +197,16 @@ int lame_resolv (const char *, struct sockaddr_foobar *);
|
||||
((double)x/_1KB): (double)x)))) )
|
||||
|
||||
void *n_malloc (size_t, const char *, const char *, const int);
|
||||
void *n_realloc (void **, size_t, const char *, const char *, const int);
|
||||
void *n_realloc (void *, size_t, const char *, const char *, const int);
|
||||
|
||||
void *n_free (void **, const char *, const char *, const int);
|
||||
void *n_free (void *, const char *, const char *, const int);
|
||||
|
||||
#define MODULENAME NULL
|
||||
|
||||
#define new_malloc(x) n_malloc(x, MODULENAME, __FILE__, __LINE__)
|
||||
#define new_free(x) n_free((void **)(x), MODULENAME, __FILE__, __LINE__)
|
||||
#define new_free(x) (*(x) = n_free(*(x), MODULENAME, __FILE__, __LINE__))
|
||||
|
||||
#define RESIZE(x, y, z) n_realloc ((void **)& (x), sizeof(y) * (z), MODULENAME, __FILE__, __LINE__)
|
||||
#define RESIZE(x, y, z) ((x) = n_realloc((x), sizeof(y) * (z), MODULENAME, __FILE__, __LINE__))
|
||||
#define malloc_strcpy(x, y) n_malloc_strcpy((char **)x, (char *)y, MODULENAME, __FILE__, __LINE__)
|
||||
#define malloc_strcat(x, y) n_malloc_strcat((char **)x, (char *)y, MODULENAME, __FILE__, __LINE__)
|
||||
#define m_strdup(x) n_m_strdup(x, MODULENAME, __FILE__, __LINE__)
|
||||
|
||||
@@ -200,7 +200,7 @@ enum FUNCTION_VALUE
|
||||
RANDOM_NUMBER,
|
||||
|
||||
/* words.c */
|
||||
SEARCH,
|
||||
STRSEARCH,
|
||||
MOVE_TO_ABS_WORD,
|
||||
MOVE_WORD_REL,
|
||||
EXTRACT,
|
||||
@@ -504,9 +504,9 @@ enum FUNCTION_VALUE
|
||||
STATUS_UPDATE,
|
||||
SET_PROMPT_BY_REFNUM,
|
||||
GET_PROMPT_BY_REFNUM,
|
||||
QUERY_NICK,
|
||||
QUERY_HOST,
|
||||
QUERY_CMD,
|
||||
QUERY_NICK, /* DEFUNCT */
|
||||
QUERY_HOST, /* DEFUNCT */
|
||||
QUERY_CMD, /* DEFUNCT */
|
||||
GET_TARGET_BY_REFNUM,
|
||||
GET_TARGET_CMD_BY_REFNUM,
|
||||
GET_WINDOW_TARGET_BY_DESC,
|
||||
@@ -545,7 +545,7 @@ enum FUNCTION_VALUE
|
||||
SCROLLBACK_BACKWARDS,
|
||||
SCROLLBACK_END,
|
||||
SCROLLBACK_START,
|
||||
HOLD_MODE,
|
||||
SET_HOLD_MODE,
|
||||
UNHOLD_WINDOWS,
|
||||
FUNC_UNSTOP_ALL_WINDOWS,
|
||||
RESET_LINE_CNT,
|
||||
|
||||
870
include/modval.h
870
include/modval.h
@@ -84,7 +84,7 @@ extern Function_ptr *global;
|
||||
|
||||
#define MODULENAME _modname_
|
||||
|
||||
#define check_module_version(x) ((int) (global[MODULE_VERSION_CHECK]((unsigned long)x)))
|
||||
#define check_module_version (*(int (*)(unsigned long))global[MODULE_VERSION_CHECK])
|
||||
#define set_dll_name(x) malloc_strcpy(&_modname_, x)
|
||||
#define set_global_func(x) global = x;
|
||||
#define initialize_module(x) { \
|
||||
@@ -107,531 +107,537 @@ extern Function_ptr *global;
|
||||
#define snprintf ((char * (*)())global[SNPRINTF])
|
||||
#endif
|
||||
|
||||
/* Changed these to cast the function pointer rather than the arguments and result. The old method wasn't portable to
|
||||
* some 64 bit platforms. Next step - change instances of global[XYZ] to &xyzfunc in the code.
|
||||
*
|
||||
* Should also think about standardising types (eg Screen instead of struct ScreenStru, get rid of u_char).
|
||||
*/
|
||||
/* ircaux.c */
|
||||
#define new_malloc(x) ((void *)(global[NEW_MALLOC]((x),MODULENAME, __FILE__,__LINE__)))
|
||||
#define new_free(x) ((void *)(global[NEW_FREE]((x),MODULENAME, __FILE__,__LINE__)))
|
||||
#define RESIZE(x, y, z) ((void *)(global[NEW_REALLOC]((void **)& (x), sizeof(y) * (z), MODULENAME, __FILE__, __LINE__)))
|
||||
#define malloc_strcpy(x, y) ((char *)(global[MALLOC_STRCPY]((char **)x, (char *)y, MODULENAME, __FILE__, __LINE__)))
|
||||
#define malloc_strcat(x, y) ((char *)(global[MALLOC_STRCAT]((char **)x, (char *)y, MODULENAME, __FILE__, __LINE__)))
|
||||
#define malloc_str2cpy(x, y, z) ((char *)(global[MALLOC_STR2CPY]((char **)x, (char *)y, (char *)z)))
|
||||
#define m_3dup(x, y, z) ((char *) (global[M_3DUP]((char *)x, (char *)y, (char *)z)))
|
||||
#define m_opendup ((char * (*)())global[M_OPENDUP])
|
||||
#define m_s3cat(x, y, z) ((char *)(global[M_S3CAT]((char **)x, (char *)y, (char *)z)))
|
||||
#define m_s3cat_s(x, y, z) ((char *)(global[M_S3CAT_S]((char **)x, (char *)y, (char *)z)))
|
||||
#define m_3cat(x, y, z) ((char *) (global[M_3CAT]((char **)x, (char *)y, (char *)z)))
|
||||
#define m_2dup(x, y) ((char *)(global[M_2DUP]((char *)x, (char *)y)))
|
||||
#define m_e3cat(x, y, z) ((char *)(global[M_E3CAT]((char **)x, (char *)y, (char *)z)))
|
||||
#define new_malloc(x) ((void * (*)(size_t, const char *, const char *, int))global[NEW_MALLOC])((x),MODULENAME, __FILE__,__LINE__)
|
||||
#define new_free(x) (*(x) = ((void * (*)(void *, const char *, const char *, int))global[NEW_FREE])(*(x),MODULENAME, __FILE__,__LINE__))
|
||||
#define RESIZE(x, y, z) ((x) = ((void * (*)(void *, size_t, const char *, const char *, int))global[NEW_REALLOC])((x), sizeof(y) * (z), MODULENAME, __FILE__, __LINE__))
|
||||
#define malloc_strcpy(x, y) ((char * (*)(char **, const char *, const char *, const char *, int))global[MALLOC_STRCPY])((x), (y), MODULENAME, __FILE__, __LINE__)
|
||||
#define malloc_strcat(x, y) ((char * (*)(char **, const char *, const char *, const char *, int))global[MALLOC_STRCAT])((x), (y), MODULENAME, __FILE__, __LINE__)
|
||||
#define malloc_str2cpy (*(char * (*)(char **, const char *, const char *))global[MALLOC_STR2CPY])
|
||||
#define m_3dup (*(char * (*)(const char *, const char *, const char *))global[M_3DUP])
|
||||
#define m_opendup (*(char * (*)(const char *, ...))global[M_OPENDUP])
|
||||
#define m_s3cat (*(char * (*)(char **, const char *, const char *))global[M_S3CAT])
|
||||
#define m_s3cat_s (*(char * (*)(char **, const char *, const char *))global[M_S3CAT_S])
|
||||
#define m_3cat (*(char * (*)(char **, const char *, const char *))global[M_3CAT])
|
||||
#define m_2dup (*(char * (*)(const char *, const char *))global[M_2DUP])
|
||||
#define m_e3cat (*(char * (*)(char **, const char *, const char *))global[M_E3CAT])
|
||||
|
||||
#define my_stricmp(x, y) ((int)(global[MY_STRICMP]((const unsigned char *)x, (const unsigned char *)y)))
|
||||
#define my_strnicmp(x, y, n) ((int)(global[MY_STRNICMP]((const unsigned char *)x, (const unsigned char *)y, (int)n)))
|
||||
#define my_stricmp (*(int (*)(const unsigned char *, const unsigned char *))global[MY_STRICMP])
|
||||
#define my_strnicmp (*(int (*)(const unsigned char *, const unsigned char *, size_t))global[MY_STRNICMP])
|
||||
|
||||
#define my_strnstr(x, y, z) ((int) (global[MY_STRNSTR]((const unsigned char *)x, (const unsigned char *)y, (size_t)z)))
|
||||
#define chop(x, n) ((char *) (global[CHOP]((char *)x, (int)n)))
|
||||
#define strmcpy(x, y, n) ((char *) (global[STRMCPY]((char *)x, (const char *)y, (int)n)))
|
||||
#define strmcat(x, y, n) ((char *) (global[STRMCAT]((char *)x, (const char *)y, (int)n)))
|
||||
#define scanstr(x, y) ((int) (global[SCANSTR]((char *)x, (char *)y)))
|
||||
#define m_dupchar(c) ((char *) (global[M_DUPCHAR]((int)c)))
|
||||
#define streq(x, y) ((size_t) (global[STREQ]((const char *)x, (const char *)y)))
|
||||
#define strieq(x, y) ((size_t) (global[STRIEQ]((const char *)x, (const char *)y)))
|
||||
#define strmopencat ((char * (*)())global[STRMOPENCAT])
|
||||
#define ov_strcpy(x, y) ((char *) (global[OV_STRCPY]((char *)x, (const char *)y)))
|
||||
#define upper(x) ((char *) (global[UPPER]((char *)x)))
|
||||
#define lower(x) ((char *) (global[LOWER]((char *)x)))
|
||||
#define stristr(x, y) ((char *) (global[STRISTR]((const char *)x, (char *)y)))
|
||||
#define rstristr(x, y) ((char *) (global[RSTRISTR]((char *)x, (char *)y)))
|
||||
#define word_count(x) ((int) (global[WORD_COUNT]((char *)x)))
|
||||
#define remove_trailing_spaces(x) ((char *) (global[REMOVE_TRAILING_SPACES]((char *)x)))
|
||||
#define expand_twiddle(x) ((char *) (global[EXPAND_TWIDDLE]((char *)x)))
|
||||
#define check_nickname(x) ((char *) (global[CHECK_NICKNAME]((char *)x)))
|
||||
#define sindex(x, y) ((char *) (global[SINDEX](( char *)x, (char *)y)))
|
||||
#define rsindex(x, y, z, a) ((char *) (global[RSINDEX](( char *)x, (char *)y, (char *)z, (int)a)))
|
||||
#define is_number(x) ((int) (global[ISNUMBER]((char *)x)))
|
||||
#define rfgets(x, n, y) ((char *) (global[RFGETS]((char *)x, (int)n, (FILE *)y)))
|
||||
#define path_search(x, y) ((char *) (global[PATH_SEARCH]((char *)x, (char *)y)))
|
||||
#define double_quote(x, y, z) ((char *) (global[DOUBLE_QUOTE]((const char *)x, (const char *)y, (char *)z)))
|
||||
#define ircpanic (global[IRCPANIC])
|
||||
#define end_strcmp(x, y, n) ((int) (global[END_STRCMP]((const char *)x, (const char *)y, (int)n)))
|
||||
#define beep_em(x) ((void) (global[BEEP_EM]((int)x)))
|
||||
#define uzfopen(x, y, n) ((FILE *) (global[UZFOPEN]((char **)x, (char *)y, (int)n)))
|
||||
#define get_time(x) ((global[FUNC_GET_TIME]((struct timeval *)x)))
|
||||
#define time_diff(x, y) ((double) (global[TIME_DIFF]((struct timeval)x, (struct timeval)y)))
|
||||
#define time_to_next_minute (int (*)(void)global[TIME_TO_NEXT_MINUTE])
|
||||
#define plural(x) ((char *) (global[PLURAL]((int)x)))
|
||||
#define my_ctime(x) ((char *) (global[MY_CTIME]((time_t)x)))
|
||||
#define ccspan(x, y) ((size_t) (global[CCSPAN]((char *)x, (int)y)))
|
||||
#define my_strnstr (*(int (*)(const unsigned char *, const unsigned char *, size_t))global[MY_STRNSTR])
|
||||
#define chop (*(char * (*)(char *, int))global[CHOP])
|
||||
#define strmcpy (*(char * (*)(char *, const char *, int))global[STRMCPY])
|
||||
#define strmcat (*(char * (*)(char *, const char *, int))global[STRMCAT])
|
||||
#define scanstr (*(int (*)(char *, char *))global[SCANSTR])
|
||||
#define m_dupchar (*(char * (*)(int))global[M_DUPCHAR])
|
||||
#define streq (*(size_t (*)(const char *, const char *))global[STREQ])
|
||||
#define strieq (*(size_t (*)(const char *, const char *))global[STRIEQ])
|
||||
#define strmopencat (*(char * (*)(char *, int , ...))global[STRMOPENCAT])
|
||||
#define ov_strcpy (*(char * (*)(char *, const char *))global[OV_STRCPY])
|
||||
#define upper (*(char * (*)(char *))global[UPPER])
|
||||
#define lower (*(char * (*)(char *))global[LOWER])
|
||||
#define stristr (*(char * (*)(const char *, const char *))global[STRISTR])
|
||||
#define rstristr (*(char * (*)(char *, char *))global[RSTRISTR])
|
||||
#define word_count (*(int (*)(char *))global[WORD_COUNT])
|
||||
#define remove_trailing_spaces (*(char * (*)(char *))global[REMOVE_TRAILING_SPACES])
|
||||
#define expand_twiddle (*(char * (*)(char *))global[EXPAND_TWIDDLE])
|
||||
#define check_nickname (*(char * (*)(char *))global[CHECK_NICKNAME])
|
||||
#define sindex (*(char * (*)(char *, char *))global[SINDEX])
|
||||
#define rsindex (*(char * (*)(char *, char *, char *, int))global[RSINDEX])
|
||||
#define is_number (*(int (*)(const char *))global[ISNUMBER])
|
||||
#define rfgets (*(char * (*)(char *, int , FILE *))global[RFGETS])
|
||||
#define path_search (*(char * (*)(char *, char *))global[PATH_SEARCH])
|
||||
#define double_quote (*(char * (*)(const char *, const char *, char *))global[DOUBLE_QUOTE])
|
||||
#define ircpanic (*(void (*)(char *, ...))global[IRCPANIC])
|
||||
#define end_strcmp (*(int (*)(const char *, const char *, int))global[END_STRCMP])
|
||||
#define beep_em (*(void (*)(int))global[BEEP_EM])
|
||||
#define uzfopen (*(FILE * (*)(char **, char *, int))global[UZFOPEN])
|
||||
#define get_time (*(struct timeval (*)(struct timeval *))global[FUNC_GET_TIME])
|
||||
#define time_diff (*(double (*)(struct timeval , struct timeval))global[TIME_DIFF])
|
||||
#define time_to_next_minute (*(int (*)(void))global[TIME_TO_NEXT_MINUTE])
|
||||
#define plural (*(char * (*)(int))global[PLURAL])
|
||||
#define my_ctime (*(char * (*)(time_t))global[MY_CTIME])
|
||||
#define ccspan (*(size_t (*)(const char *, int))global[CCSPAN])
|
||||
|
||||
/* If we are in a module, undefine the previous define from ltoa to my_ltoa */
|
||||
#ifdef ltoa
|
||||
#undef ltoa
|
||||
#endif
|
||||
#define ltoa(x) ((char *) (global[LTOA]((long)x)))
|
||||
#define strformat(x, y, n, z) ((char *) (global[STRFORMAT]((char *)x, (char *)y, (int)n, (char)z)))
|
||||
#define MatchingBracket(x, y, z) ((char *) (global[MATCHINGBRACKET]((char *)x, ( char)y, (char)z)))
|
||||
#define parse_number(x) ((int) (global[PARSE_NUMBER]((char **)x)))
|
||||
#define splitw(x, y) ((int) (global[SPLITW]((char *)x, (char ***)y)))
|
||||
#define unsplitw(x, y) ((char *) (global[UNSPLITW]((char ***)x, (char *)y)))
|
||||
#define check_val(x) ((int) (global[CHECK_VAL]((char *)x)))
|
||||
#define on_off(x) ((char *) (global[ON_OFF]((int)x)))
|
||||
#define strextend(x, y, n) ((char *) (global[STREXTEND]((char *)x, (char)y, (int)n)))
|
||||
#define strfill(x, n) ((const char *) (global[STRFILL]((char)x, (int)n)))
|
||||
#define empty(x) ((int) (global[EMPTY_FUNC]((const char *)x)))
|
||||
#define remove_brackets(x, y, n) ((char *) (global[REMOVE_BRACKETS]((char *)x, (char *)y, (int *)n)))
|
||||
#define my_atol(x) ((long) (global[MY_ATOL]((char *)x)))
|
||||
#define strip_control(x, y) ((void) (global[STRIP_CONTROL]((const char *)x, (char *)y)))
|
||||
#define figure_out_address(a, b, c, d, e, f) ((int) (global[FIGURE_OUT_ADDRESS]((char *)a, (char **)b, (char **)c, (char **)d, (char **)e, (int *)f)))
|
||||
#define strnrchr(x, y, n) ((char *) (global[STRNRCHR]((char *)x, (char)y, (int)n)))
|
||||
#define mask_digits(x) ((void) (global[MASK_DIGITS]((char **)x)))
|
||||
#define ccscpan(x, n) ((size_t) (global[CCSPAN]((const char *)x, (int)n)))
|
||||
#define charcount(x, y) ((int) (global[CHARCOUNT]((const char *)x, (char)y)))
|
||||
#define strpcat ((char *) (global[STRPCAT]))
|
||||
#define strcpy_nocolorcodes(x, y) ((u_char *) (global[STRCPY_NOCOLORCODES]((u_char *)x, (const u_char *)y)))
|
||||
#define cryptit(x) ((char *) (global[CRYPTIT]((const char *)x)))
|
||||
#define stripdev(x) ((char *) (global[STRIPDEV]((char *)x)))
|
||||
#define mangle_line(x, y, z) ((size_t) (global[MANGLE_LINE]((char *)x, (int)y, (size_t)z)))
|
||||
#define m_strdup(x) ((char *)(global[M_STRDUP]((char *)x, MODULENAME, __FILE__, __LINE__)))
|
||||
#define m_strcat_ues(x, y, z) ((char *)(global[M_STRCAT_UES](x, y, z, MODULENAME, __FILE__, __LINE__)))
|
||||
#define m_strndup(x, y) ((char *)(global[M_STRNDUP](x, y, MODULENAME, __FILE__, __LINE__)))
|
||||
#define malloc_sprintf ((char * (*)())global[MALLOC_SPRINTF])
|
||||
#define m_sprintf ((char * (*)())global[M_SPRINTF])
|
||||
#define next_arg(x, y) ((char *)(global[NEXT_ARG]((char *)x, (char **)y)))
|
||||
#define new_next_arg(x, y) ((char *)(global[NEW_NEXT_ARG]((char *)x, (char **)y)))
|
||||
#define new_new_next_arg(x, y, z) ((char *)(global[NEW_NEW_NEXT_ARG]((char *)x, (char **)y, (char *)z)))
|
||||
#define last_arg(x) ((char *)(global[LAST_ARG]((char **)x)))
|
||||
#define next_in_comma_list(x, y) ((char *)(global[NEXT_IN_COMMA_LIST]((char *)x, (char **)y)))
|
||||
#define random_number(x) ((unsigned long)(global[RANDOM_NUMBER]((unsigned long)x)))
|
||||
#define ltoa (*(char *(*)(long ))global[LTOA])
|
||||
#define strformat (*(char *(*)(char *, const char *, int , char ))global[STRFORMAT])
|
||||
#define MatchingBracket (*(char *(*)(char *, char , char ))global[MATCHINGBRACKET])
|
||||
#define parse_number (*(int (*)(char **))global[PARSE_NUMBER])
|
||||
#define splitw (*(int (*)(char *, char ***))global[SPLITW])
|
||||
#define unsplitw (*(char *(*)(char ***, int ))global[UNSPLITW])
|
||||
#define check_val (*(int (*)(char *))global[CHECK_VAL])
|
||||
#define on_off (*(char *(*)(int ))global[ON_OFF])
|
||||
#define strextend (*(char *(*)(char *, char , int ))global[STREXTEND])
|
||||
#define strfill (*(const char *(*)(char , int ))global[STRFILL])
|
||||
#define empty (*(int (*)(const char *))global[EMPTY_FUNC])
|
||||
#define remove_brackets (*(char *(*)(const char *, const char *, int *))global[REMOVE_BRACKETS])
|
||||
#define my_atol (*(long (*)(const char *))global[MY_ATOL])
|
||||
#define strip_control (*(void (*)(const char *, char *))global[STRIP_CONTROL])
|
||||
#define figure_out_address (*(int (*)(char *, char **, char **, char **, char **, int *))global[FIGURE_OUT_ADDRESS])
|
||||
#define strnrchr (*(char *(*)(char *, char , int ))global[STRNRCHR])
|
||||
#define mask_digits (*(void (*)(char **))global[MASK_DIGITS])
|
||||
#define ccscpan (*(size_t (*)(const char *, int))global[CCSPAN])
|
||||
#define charcount (*(int (*)(const char *, char ))global[CHARCOUNT])
|
||||
#define strpcat (*(char *(*)(char *, const char *, ...))global[STRPCAT])
|
||||
#define strcpy_nocolorcodes (*(u_char *(*)(u_char *, const u_char *))global[STRCPY_NOCOLORCODES])
|
||||
#define cryptit (*(char *(*)(const char *))global[CRYPTIT])
|
||||
#define stripdev (*(char *(*)(char *))global[STRIPDEV])
|
||||
#define mangle_line (*(size_t (*)(char *, int, size_t))global[MANGLE_LINE])
|
||||
#define m_strdup(x) (*(char *(*)(const char *, const char *, const char *, const int ))global[M_STRDUP])((x), MODULENAME, __FILE__, __LINE__)
|
||||
#define m_strcat_ues(x, y, z) (*(char *(*)(char **, char *, int , const char *, const char *, const int ))global[M_STRCAT_UES])((x), (y), (z), MODULENAME, __FILE__, __LINE__)
|
||||
#define m_strndup(x, y) (*(char *(*)(const char *, size_t, const char *, const char *, const int ))global[M_STRNDUP])((x), (y), MODULENAME, __FILE__, __LINE__)
|
||||
#define malloc_sprintf (*(char *(*)(char **, const char *, ...))global[MALLOC_SPRINTF])
|
||||
#define m_sprintf (*(char *(*)(const char *, ...))global[M_SPRINTF])
|
||||
#define next_arg (*(char *(*)(char *, char **))global[NEXT_ARG])
|
||||
#define new_next_arg (*(char *(*)(char *, char **))global[NEW_NEXT_ARG])
|
||||
#define new_new_next_arg (*(char *(*)(char *, char **, char *))global[NEW_NEW_NEXT_ARG])
|
||||
#define last_arg (*(char *(*)(char **))global[LAST_ARG])
|
||||
#define next_in_comma_list (*(char *(*)(char *, char **))global[NEXT_IN_COMMA_LIST])
|
||||
#define random_number (*(u_long (*)(u_long))global[RANDOM_NUMBER])
|
||||
|
||||
|
||||
/* words.c reg.c */
|
||||
#define search(x, y, z, n) ((char *) (global[SEARCH]((char *)x, (char **)y, (char *)z, (int)n)))
|
||||
#define move_to_abs_word(x, y, n) ((char *) (global[MOVE_TO_ABS_WORD]((char *)x, (char **)y, (int)n)))
|
||||
#define move_word_rel(x, y, n) ((char *) (global[MOVE_WORD_REL]((char *)x, (char **)y, (int)n)))
|
||||
#define extract(x, y, n) ((char *) (global[EXTRACT]((char *)x, (int)y, (int)n)))
|
||||
#define extract2(x, y, n) ((char *) (global[EXTRACT2]((char *)x, (int)y, (int)n)))
|
||||
#define wild_match(x, y) ((int) (global[WILD_MATCH]((const unsigned char *)x, (const unsigned char *)y)))
|
||||
#define strsearch (*(char *(*)(char *, char *, char *, int ))global[STRSEARCH])
|
||||
#define move_to_abs_word (*(char *(*)(const char *, char **, int ))global[MOVE_TO_ABS_WORD])
|
||||
#define move_word_rel (*(char *(*)(const char *, char **, int ))global[MOVE_WORD_REL])
|
||||
#define extract (*(char *(*)(char *, int , int ))global[EXTRACT])
|
||||
#define extract2 (*(char *(*)(const char *, int , int ))global[EXTRACT2])
|
||||
#define wild_match (*(int (*)(const unsigned char *, const unsigned char *))global[WILD_MATCH])
|
||||
|
||||
/* network.c */
|
||||
#define connect_by_number(a, b, c, d, e) ((int) (global[CONNECT_BY_NUMBER]((char *)a, (unsigned short *)b, (int)c, (int)d, (int)e)))
|
||||
#define lookup_host(x) ((struct sockaddr_foobar *) (global[LOOKUP_HOST]((const char *)x)))
|
||||
#define resolv(x) ((struct sockaddr_foobar *) (global[LOOKUP_HOST]((const char *)x)))
|
||||
#define host_to_ip(x) ((char *) (global[HOST_TO_IP]((const char *)x)))
|
||||
#define ip_to_host(x) ((char *) (global[IP_TO_HOST]((const char *)x)))
|
||||
#define one_to_another(x) ((char *) (global[ONE_TO_ANOTHER]((const char *)x)))
|
||||
#define set_blocking(x) ((int) (global[SET_BLOCKING]((int)x)))
|
||||
#define set_non_blocking(x) ((int) (global[SET_NON_BLOCKING]((int)x)))
|
||||
#define connect_by_number (*(int (*)(char *, unsigned short *, int , int , int ))global[CONNECT_BY_NUMBER])
|
||||
#define lookup_host (*(struct sockaddr_foobar *(*)(const char *))global[LOOKUP_HOST])
|
||||
#define resolv (*(struct sockaddr_foobar *(*)(const char *))global[LOOKUP_HOST])
|
||||
#define host_to_ip (*(char *(*)(const char *))global[HOST_TO_IP])
|
||||
#define ip_to_host (*(char *(*)(const char *))global[IP_TO_HOST])
|
||||
#define one_to_another (*(char *(*)(const char *))global[ONE_TO_ANOTHER])
|
||||
#define set_blocking (*(int (*)(int ))global[SET_BLOCKING])
|
||||
#define set_non_blocking (*(int (*)(int ))global[SET_NON_BLOCKING])
|
||||
|
||||
|
||||
/* list.c */
|
||||
#define add_to_list(x, y) ((void)(global[ADD_TO_LIST]((List **)x, (List *)y)))
|
||||
#define add_to_list_ext(x, y, f) ((void) (global[ADD_TO_LIST_EXT]((List **)x, (List *)y, (int (*)(List *, List *))f )))
|
||||
#define find_in_list(x, y, z) ((List *) (global[FIND_IN_LIST]((List **)x, (char *)y, (int)z)))
|
||||
#define find_in_list_ext(x, y, n, f) ((List *) (global[FIND_IN_LIST_EXT]((List **)x, (char *)y, (int)n, (int (*)(List *, char *))f )))
|
||||
#define remove_from_list(x, y) ((List *) (global[REMOVE_FROM_LIST_]((List **)x, (char *)y)))
|
||||
#define remove_from_list_ext(x, y, f) ((List *) (global[REMOVE_FROM_LIST_EXT]((List **)x, (char *)y, (int (*)(List *, char *))f)))
|
||||
#define removewild_from_list(x, y) ((List *) (global[REMOVEWILD_FROM_LIST]((List **)x, (char *)y)))
|
||||
#define list_lookup(x, y, z, n) ((List *) (global[LIST_LOOKUP]((List **)x, (char *)y, (int)z, (int)n)))
|
||||
#define list_lookup_ext(x, y, z, n, f) ((List *) (global[LIST_LOOKUP_EXT]((List **)x, (char *)y, (int)z, (int)n, (int (*)(List *, char *))f)))
|
||||
#define add_to_list (*(void (*)(List **, List *))global[ADD_TO_LIST])
|
||||
#define add_to_list_ext (*(void (*)(List **, List *, int (*)(List *, List *)))global[ADD_TO_LIST_EXT])
|
||||
#define find_in_list (*(List *(*)(List **, char *, int))global[FIND_IN_LIST])
|
||||
#define find_in_list_ext (*(List *(*)(List **, char *, int, int (*)(List *, char *)))global[FIND_IN_LIST_EXT])
|
||||
#define remove_from_list (*(List *(*)(List **, char *))global[REMOVE_FROM_LIST_])
|
||||
#define remove_from_list_ext (*(List *(*)(List **, char *, int (*)(List *, char *)))global[REMOVE_FROM_LIST_EXT])
|
||||
#define removewild_from_list (*(List *(*)(List **, char *))global[REMOVEWILD_FROM_LIST])
|
||||
#define list_lookup (*(List *(*)(List **, char *, int, int))global[LIST_LOOKUP])
|
||||
#define list_lookup_ext (*(List *(*)(List **, char *, int, int, int (*)(List *, char *)))global[LIST_LOOKUP_EXT])
|
||||
|
||||
/* alist.c */
|
||||
#define add_to_array(x, y) ((Array_item *) (global[ADD_TO_ARRAY]((Array *)x, (Array_item *)y)))
|
||||
#define remove_from_array(x, y) ((Array_item *) (global[REMOVE_FROM_ARRAY]((Array *)x, (char *)y)))
|
||||
#define array_pop(x, y) ((Array_item *) (global[ARRAY_POP]((Array *)x, (int)y)))
|
||||
#define add_to_array (*(Array_item *(*)(Array *, Array_item *))global[ADD_TO_ARRAY])
|
||||
#define remove_from_array (*(Array_item *(*)(Array *, char *))global[REMOVE_FROM_ARRAY])
|
||||
#define array_pop (*(Array_item *(*)(Array *, int))global[ARRAY_POP])
|
||||
|
||||
#define remove_all_from_array(x, y) ((Array_item *) (global[REMOVE_ALL_FROM_ARRAY]((Array *)x, (char *)y)))
|
||||
#define array_lookup(x, y, z, a) ((Array_item *) (global[ARRAY_LOOKUP]((Array *)x, (char *)y, (int)z, (int)a)))
|
||||
#define find_array_item(x, y, z, a) ((Array_item *) (global[FIND_ARRAY_ITEM]((Array *)x, (char *)y, (int *)z, (int *)a)))
|
||||
#define remove_all_from_array (*(Array_item *(*)(Array *, char *))global[REMOVE_ALL_FROM_ARRAY])
|
||||
#define array_lookup (*(Array_item *(*)(Array *, char *, int, int ))global[ARRAY_LOOKUP])
|
||||
#define find_array_item (*(Array_item *(*)(Array *, char *, int *, int *))global[FIND_ARRAY_ITEM])
|
||||
|
||||
#define find_fixed_array_item(a, b, c, d, e, f) ((Array_item *) (global[FIND_FIXED_ARRAY_ITEM]((void *)a, (size_t)b, (int)c, (char *)d, (int *)e, (int *)f)))
|
||||
#define find_fixed_array_item (*(void *(*)(void *, size_t, int, char *, int *, int *))global[FIND_FIXED_ARRAY_ITEM])
|
||||
|
||||
/* output.c */
|
||||
#define put_it ((void (*)())global[PUT_IT])
|
||||
#define bitchsay ((void (*)())global[BITCHSAY])
|
||||
#define yell ((void (*)())global[YELL])
|
||||
#define add_to_screen(x) ((void) (global[ADD_TO_SCREEN]((unsigned char *)x)))
|
||||
#define add_to_log(x, y, z, a) ((void) (global[ADD_TO_LOG]((FILE *)x, (time_t)y, (const char *)z, (int)a)))
|
||||
#define put_it (*(void (*)(const char *, ...))global[PUT_IT])
|
||||
#define bitchsay (*(void (*)(const char *, ...))global[BITCHSAY])
|
||||
#define yell (*(void (*)(const char *, ...))global[YELL])
|
||||
#define add_to_screen (*(void (*)(unsigned char *))global[ADD_TO_SCREEN])
|
||||
#define add_to_log (*(void (*)(FILE *, time_t, const char *, int ))global[ADD_TO_LOG])
|
||||
|
||||
#define bsd_glob(x, y, z, a) ((int) (global[BSD_GLOB]((char *)x, (int)y, (void *)z, (glob_t *)a)))
|
||||
#define bsd_globfree(x) ((void) (global[BSD_GLOBFREE]((glob_t *)x)))
|
||||
#define bsd_glob (*(int (*)(const char *, int, int (*)(const char *, int), glob_t *))global[BSD_GLOB])
|
||||
#define bsd_globfree (*(void (*)(glob_t *))global[BSD_GLOBFREE])
|
||||
|
||||
/* misc commands */
|
||||
#define my_encrypt(x, y, z) ((void) (global[MY_ENCRYPT]((char *)x, (int)y, (char *)z)))
|
||||
#define my_decrypt(x, y, z) ((void) (global[MY_DECRYPT]((char *)x, (int)y, (char *)z)))
|
||||
#define prepare_command(x, y, z) ((ChannelList *)(global[PREPARE_COMMAND](x, y, z)))
|
||||
#define convert_output_format ((char * (*)())global[CONVERT_OUTPUT_FORMAT])
|
||||
#define userage(x, y) ((void) (global[USERAGE]((char *)x, (char *)y)))
|
||||
#define send_text(x, y, z, a, b) ((void) (global[SEND_TEXT]((char *)x, (const char *)y, (char *)z, (int)a, (int)b)))
|
||||
#define my_encrypt (*(void (*)(char *, int , char *))global[MY_ENCRYPT])
|
||||
#define my_decrypt (*(void (*)(char *, int , char *))global[MY_DECRYPT])
|
||||
#define prepare_command (*(ChannelList *(*)(int *, char *, int))global[PREPARE_COMMAND])
|
||||
#define convert_output_format (*(char *(*)(const char *, const char *, ...))global[CONVERT_OUTPUT_FORMAT])
|
||||
#define userage (*(void (*)(char *, char *))global[USERAGE])
|
||||
#define send_text (*(void (*)(const char *, const char *, char *, int , int ))global[SEND_TEXT])
|
||||
/* this needs to be worked out. it's passed in the IrcVariable * to _Init */
|
||||
#define load(a, b, c, d) ((void) (global[FUNC_LOAD]((char *)a, (char *)b, (char *)c, (char *)d)))
|
||||
#define update_clock(x) ((char *)(global[UPDATE_CLOCK](x)))
|
||||
#define PasteArgs(x, n) ((char *) (global[PASTEARGS]((char **)x, (int)n)))
|
||||
#define BreakArgs(x, y, z, n) ((int) (global[BREAKARGS]((char *)x, (char **)y, (char **)z, (int)n)))
|
||||
#define load (*(void (*)(char *, char *, char *, char *))global[FUNC_LOAD])
|
||||
#define update_clock (*(char *(*)(int ))global[UPDATE_CLOCK])
|
||||
#define PasteArgs (*(char *(*)(char **, int ))global[PASTEARGS])
|
||||
#define BreakArgs (*(int (*)(char *, char **, char **, int ))global[BREAKARGS])
|
||||
|
||||
#define set_lastlog_msg_level(x) ((unsigned long) (global[SET_LASTLOG_MSG_LEVEL]((unsigned long)x)))
|
||||
#define split_CTCP(x, y, z) ((void) (global[SPLIT_CTCP]((char *)x, (char *)y, (char *)z)))
|
||||
#define random_str(x, y) ((char *) (global[RANDOM_STR]((int)x, (int)y)))
|
||||
#define dcc_printf ((int (*)())global[DCC_PRINTF])
|
||||
#define set_lastlog_msg_level (*(unsigned long (*)(unsigned long ))global[SET_LASTLOG_MSG_LEVEL])
|
||||
#define split_CTCP (*(void (*)(char *, char *, char *))global[SPLIT_CTCP])
|
||||
#define random_str (*(char *(*)(int , int ))global[RANDOM_STR])
|
||||
#define dcc_printf (*(int (*)(int, char *, ...))global[DCC_PRINTF])
|
||||
|
||||
/* screen.c */
|
||||
#define prepare_display(x, y, z, a) ((unsigned char **) (global[PREPARE_DISPLAY]((const unsigned char *)x, (int)y, (int *)z, (int)a)))
|
||||
#define add_to_window(x, y) ((void) (global[ADD_TO_WINDOW]((Window *)x, (const unsigned char *)y)))
|
||||
#define skip_incoming_mirc(x) ((unsigned char *) (global[SKIP_INCOMING_MIRC]((unsigned char *)x)))
|
||||
#define add_to_screen(x) ((void) (global[ADD_TO_SCREEN]((unsigned char *)x)))
|
||||
#define split_up_line(x, y) ((unsigned char **) (global[SPLIT_UP_LINE]((const unsigned char *)x, (int)y)))
|
||||
#define output_line(x) ((int) (global[OUTPUT_LINE]((const unsigned char *)x)))
|
||||
#define output_with_count(x, y, z) ((int) (global[OUTPUT_WITH_COUNT]((const unsigned char *)x, (int)y, (int)z)))
|
||||
#define scroll_window(x) ((void) (global[SCROLL_WINDOW]((Window *)x)))
|
||||
#define prepare_display (*(unsigned char **(*)(const unsigned char *, int , int *, int ))global[PREPARE_DISPLAY])
|
||||
#define add_to_window (*(void (*)(Window *, const unsigned char *))global[ADD_TO_WINDOW])
|
||||
#define skip_incoming_mirc (*(unsigned char *(*)(unsigned char *))global[SKIP_INCOMING_MIRC])
|
||||
#define add_to_screen (*(void (*)(unsigned char *))global[ADD_TO_SCREEN])
|
||||
#define split_up_line (*(unsigned char **(*)(const unsigned char *, int ))global[SPLIT_UP_LINE])
|
||||
#define output_line (*(int (*)(const unsigned char *))global[OUTPUT_LINE])
|
||||
#define output_with_count (*(int (*)(const unsigned char *, int , int ))global[OUTPUT_WITH_COUNT])
|
||||
#define scroll_window (*(void (*)(Window *))global[SCROLL_WINDOW])
|
||||
/* Previous broken definitions - yet it still seemed to work?
|
||||
#define cursor_not_in_display(x) ((void) (global[CURSOR_IN_DISPLAY]((Screen *)x)))
|
||||
#define cursor_in_display(x) ((void) (global[CURSOR_IN_DISPLAY]((Screen *)x)))
|
||||
#define is_cursor_in_display(x) ((int) (global[IS_CURSOR_IN_DISPLAY]((Screen *)x)))
|
||||
#define repaint_window(x, y, z) ((void) (global[REPAINT_WINDOW]((Window *)x, (int)y, (int)z)))
|
||||
*/
|
||||
#define cursor_not_in_display (*(void (*)(Screen *))global[CURSOR_NOT_IN_DISPLAY])
|
||||
#define cursor_in_display (*(void (*)(Window *))global[CURSOR_IN_DISPLAY])
|
||||
#define is_cursor_in_display (*(int (*)(Screen *))global[IS_CURSOR_IN_DISPLAY])
|
||||
#define repaint_window (*(void (*)(Window *, int, int))global[REPAINT_WINDOW])
|
||||
|
||||
#define kill_screen(x) ((void) (global[KILL_SCREEN]((Screen *)x)))
|
||||
#define xterm_settitle ((void (*)(void)) global[XTERM_SETTITLE])
|
||||
#define add_wait_prompt(a, b, c, d, e) ((void) (global[ADD_WAIT_PROMPT]((char *)a,(void (*) (char *, char *))b, (char *)c, (int)d, (int)e )))
|
||||
#define skip_ctl_c_seq(a, b, c, d) ((const unsigned char *) (global[SKIP_CTL_C_SEQ]((const unsigned char *)a, (int *)b, (int *)c, (int)d)))
|
||||
#define strip_ansi(x) ((unsigned char *) (global[STRIP_ANSI]((const unsigned char *)x)))
|
||||
#define kill_screen (*(void (*)(Screen *))global[KILL_SCREEN])
|
||||
#define xterm_settitle (*(void (*)(void))global[XTERM_SETTITLE])
|
||||
#define add_wait_prompt (*(void (*)(char *, void (*)(char *, char *), char *, int , int ))global[ADD_WAIT_PROMPT])
|
||||
#define skip_ctl_c_seq (*(const unsigned char *(*)(const unsigned char *, int *, int *, int ))global[SKIP_CTL_C_SEQ])
|
||||
#define strip_ansi (*(unsigned char *(*)(const unsigned char *))global[STRIP_ANSI])
|
||||
#define create_new_screen ((Screen * (*)(void))global[CREATE_NEW_SCREEN])
|
||||
#define create_additional_screen ((Window * (*)(void))global[CREATE_ADDITIONAL_SCREEN])
|
||||
|
||||
|
||||
/* window.c */
|
||||
#define free_formats(x) ((void) (global[FREE_FORMATS]((Window *)x)))
|
||||
#define set_screens_current_window(x, y) ((void) (global[SET_SCREENS_CURRENT_WINDOW]((Screen *)x, (Window *)y)))
|
||||
#define new_window(x) ((Window *) (global[NEW_WINDOW]((Screen *)x)))
|
||||
#define delete_window(x) ((void) (global[DELETE_WINDOW]((Window *)x)))
|
||||
#define traverse_all_windows(x) ((int) (global[TRAVERSE_ALL_WINDOWS]((Window **)x)))
|
||||
#define add_to_invisible_list(x) ((void) (global[ADD_TO_INVISIBLE_LIST]((Window *)x)))
|
||||
#define remove_window_from_screen(x) ((void) (global[REMOVE_WINDOW_FROM_SCREEN]((Window *)x)))
|
||||
#define recalculate_window_positions(x) ((void) (global[RECALCULATE_WINDOW_POSITIONS]((Screen *)x)))
|
||||
#define move_window(x, y) ((void) (global[MOVE_WINDOW]((Window *)x, (int)y)))
|
||||
#define resize_window(x, y, z) ((void) (global[RESIZE_WINDOW]((int)x, (Window *)y, (int)z)))
|
||||
#define redraw_all_windows ((void (*)(void)) global[REDRAW_ALL_WINDOWS])
|
||||
#define rebalance_windows(x) ((void) (global[REBALANCE_WINDOWS]((Screen *)x)))
|
||||
#define recalculate_windows(x) ((void) (global[RECALCULATE_WINDOWS]((Screen *)x)))
|
||||
#define free_formats (*(void (*)(Window *))global[FREE_FORMATS])
|
||||
#define set_screens_current_window (*(void (*)(Screen *, Window *))global[SET_SCREENS_CURRENT_WINDOW])
|
||||
#define new_window (*(Window *(*)(struct ScreenStru *))global[NEW_WINDOW])
|
||||
#define delete_window (*(void (*)(Window *))global[DELETE_WINDOW])
|
||||
#define traverse_all_windows (*(int (*)(Window **))global[TRAVERSE_ALL_WINDOWS])
|
||||
#define add_to_invisible_list (*(void (*)(Window *))global[ADD_TO_INVISIBLE_LIST])
|
||||
#define remove_window_from_screen (*(void (*)(Window *))global[REMOVE_WINDOW_FROM_SCREEN])
|
||||
#define recalculate_window_positions (*(void (*)(struct ScreenStru *))global[RECALCULATE_WINDOW_POSITIONS])
|
||||
#define move_window (*(void (*)(Window *, int))global[MOVE_WINDOW])
|
||||
#define resize_window (*(void (*)(int, Window *, int))global[RESIZE_WINDOW])
|
||||
#define redraw_all_windows (*(void (*)(void))global[REDRAW_ALL_WINDOWS])
|
||||
#define rebalance_windows (*(void (*)(struct ScreenStru *))global[REBALANCE_WINDOWS])
|
||||
#define recalculate_windows (*(void (*)(struct ScreenStru *))global[RECALCULATE_WINDOWS])
|
||||
|
||||
#define update_all_windows ((void (*)(void))global[UPDATE_ALL_WINDOWS])
|
||||
#define update_all_windows (*(void (*)(void))global[UPDATE_ALL_WINDOWS])
|
||||
|
||||
#define goto_window(x, y) ((void) (global[GOTO_WINDOW]((Screen *)x, (int)y)))
|
||||
#define hide_window(x) ((void) (global[HIDE_BX_WINDOW]((Window *)x)))
|
||||
#define swap_last_window(x, y) ((void) (global[FUNC_SWAP_LAST_WINDOW]((char)x, (char *)y)))
|
||||
#define swap_next_window(x, y) ((void) (global[FUNC_SWAP_NEXT_WINDOW]((char)x, (char *)y)))
|
||||
#define swap_previous_window(x, y) ((void) (global[FUNC_SWAP_PREVIOUS_WINDOW]((char)x, (char
|
||||
#define show_window(x) ((void) (global[SHOW_WINDOW]((Window *)x)))
|
||||
#define get_status_by_refnum(x, y) ((char *) (global[GET_STATUS_BY_REFNUM]((unsigned int)x, (unsigned int)y)))
|
||||
#define get_visible_by_refnum(x) ((int) (global[GET_VISIBLE_BY_REFNUM]((char *)x)))
|
||||
#define get_window_by_desc(x) ((Window *) (global[GET_WINDOW_BY_DESC]((unsigned int)x)))
|
||||
#define get_window_by_refnum(x) ((Window *) (global[GET_WINDOW_BY_REFNUM]((unsigned int)x)))
|
||||
#define get_window_by_name(x) ((Window *) (global[GET_WINDOW_BY_NAME]((char *)x)))
|
||||
#define next_window(x, y) ((void) (global[FUNC_NEXT_WINDOW]((char)x, (char *)y)))
|
||||
#define previous_window(x, y) ((void) (global[FUNC_PREVIOUS_WINDOW]((char)x, (char *)y)))
|
||||
#define update_window_status(x, y) ((void) (global[UPDATE_WINDOW_STATUS]((Window *)x, (int)y)))
|
||||
#define update_all_status(x, y, z) ((void) (global[UPDATE_ALL_STATUS]((Window *)x, (char *)y, (int) z)))
|
||||
#define update_window_status_all ((void (*)())global[UPDATE_WINDOW_STATUS_ALL])
|
||||
#define status_update(x) ((int) (global[STATUS_UPDATE]((int)x)))
|
||||
/* Several of these are never used! */
|
||||
#define goto_window (*(void (*)(Screen *, int))global[GOTO_WINDOW])
|
||||
#define hide_window (*(void (*)(Window *))global[HIDE_BX_WINDOW])
|
||||
#define swap_last_window (*(void (*)(char , char *))global[FUNC_SWAP_LAST_WINDOW])
|
||||
#define swap_next_window (*(void (*)(char , char *))global[FUNC_SWAP_NEXT_WINDOW])
|
||||
#define swap_previous_window (*(void (*)(char , char *))global[FUNC_SWAP_PREVIOUS_WINDOW])
|
||||
#define show_window (*(void (*)(Window *))global[SHOW_WINDOW])
|
||||
#define get_status_by_refnum (*(char *(*)(unsigned , unsigned ))global[GET_STATUS_BY_REFNUM])
|
||||
#define get_visible_by_refnum (*(int (*)(char *))global[GET_VISIBLE_BY_REFNUM])
|
||||
#define get_window_by_desc (*(Window *(*)(const char *))global[GET_WINDOW_BY_DESC])
|
||||
#define get_window_by_refnum (*(Window *(*)(unsigned ))global[GET_WINDOW_BY_REFNUM])
|
||||
#define get_window_by_name (*(Window *(*)(const char *))global[GET_WINDOW_BY_NAME])
|
||||
#define next_window (*(void (*)(char , char *))global[FUNC_NEXT_WINDOW])
|
||||
#define previous_window (*(void (*)(char , char *))global[FUNC_PREVIOUS_WINDOW])
|
||||
#define update_window_status (*(void (*)(Window *, int ))global[UPDATE_WINDOW_STATUS])
|
||||
#define update_all_status (*(void (*)(Window *, char *, int))global[UPDATE_ALL_STATUS])
|
||||
#define update_window_status_all (*(void (*)(void ))global[UPDATE_WINDOW_STATUS_ALL])
|
||||
#define status_update (*(int (*)(int ))global[STATUS_UPDATE])
|
||||
|
||||
#define set_prompt_by_refnum(x, y) ((void) (global[SET_PROMPT_BY_REFNUM]((unsigned int)x, (char *)y)))
|
||||
#define get_prompt_by_refnum(x) ((char *) (global[GET_PROMPT_BY_REFNUM]((unsigned int)x)))
|
||||
#define query_nick() ((char *)(global[QUERY_NICK])())
|
||||
#define query_host() ((char *)(global[QUERY_HOST])())
|
||||
#define query_cmd() ((char *)(global[QUERY_CMD])())
|
||||
#define get_target_by_refnum(x) ((char *) (global[GET_TARGET_BY_REFNUM]((unsigned int)x)))
|
||||
#define get_target_cmd_by_refnum(x) ((char *) (global[GET_TARGET_CMD_BY_REFNUM]((unsigned int)x)))
|
||||
#define get_window_target_by_desc(x) ((Window *) (global[GET_WINDOW_TARGET_BY_DESC]((char *)x)))
|
||||
#define is_current_channel(x, y, z) ((int) (global[IS_CURRENT_CHANNEL]((char *)x, (int)y, (int)z)))
|
||||
#define set_current_channel_by_refnum(x, y) ((char *) (global[SET_CURRENT_CHANNEL_BY_REFNUM]((int)x, (char *)y)))
|
||||
#define get_current_channel_by_refnum(x) ((char *) (global[GET_CURRENT_CHANNEL_BY_REFNUM]((int)x)))
|
||||
#define get_refnum_by_window(x) ((char *) (global[GET_REFNUM_BY_WINDOW]((Window *)x)))
|
||||
#define is_bound_to_window(x, y) ((int) (global[IS_BOUND_TO_WINDOW]((Window *)x, (char *)y)))
|
||||
#define get_window_bound_channel(x) ((Window *) (global[GET_WINDOW_BOUND_CHANNEL]((char *)x)))
|
||||
#define is_bound_anywhere(x) ((int) (global[IS_BOUND_ANYWHERE]((char *)x)))
|
||||
#define is_bound(x, y) ((int) (global[IS_BOUND]((char *)x, (int)y)))
|
||||
#define unbind_channel(x, y) ((void) (global[UNBIND_CHANNEL]((char *)x, (int)y)))
|
||||
#define get_bound_channel(x) ((char *) (global[GET_BOUND_CHANNEL]((Window *)x)))
|
||||
#define get_window_server(x) ((int) (global[GET_WINDOW_SERVER]((unsigned int)x)))
|
||||
#define set_window_server(x, y, z) ((void) (global[SET_WINDOW_SERVER]((int)x, (int)y, (int)z)))
|
||||
#define window_check_servers ((void (*)(int))global[WINDOW_CHECK_SERVERS])
|
||||
#define window_close_server ((void (*)(int))global[WINDOW_CHECK_SERVERS])
|
||||
#define change_window_server(x, y) ((void) (global[CHANGE_WINDOW_SERVER]((int)x, (int)y)))
|
||||
#define set_level_by_refnum(x, y) ((void) (global[SET_LEVEL_BY_REFNUM]((unsigned int)x, (int)y)))
|
||||
#define message_to(x) ((void) (global[MESSAGE_TO]((unsigned int)x)))
|
||||
#define clear_window(x) ((void) (global[CLEAR_WINDOW]((Window *)x)))
|
||||
#define clear_all_windows(x, y) ((void) (global[CLEAR_ALL_WINDOWS]((int)x, (int)y)))
|
||||
#define clear_window_by_refnum(x) ((void) (global[CLEAR_WINDOW_BY_REFNUM]((unsigned int)x)))
|
||||
#define unclear_window_by_refnum(x) ((void) (global[UNCLEAR_WINDOW_BY_REFNUM]((unsigned int)x)))
|
||||
#define set_scroll_lines(x, y, z) ((void) (global[SET_SCROLL_LINES]((Window *)x, (char *)y, (int)y)))
|
||||
#define set_continued_lines(x, y, z) ((void) (global[SET_CONTINUED_LINES]((Window *)x, (char *)y, (int)y)))
|
||||
#define current_refnum ((int (*)())global[CURRENT_REFNUM])
|
||||
#define number_of_windows_on_screen(x) ((int) (global[NUMBER_OF_WINDOWS_ON_SCREEN]((Window *)x)))
|
||||
#define set_scrollback_size(x, y, z) ((void) (global[SET_SCROLLBACK_SIZE]((Window *)x, (char *)y, (int)y)))
|
||||
#define is_window_name_unique(x) ((int) (global[IS_WINDOW_NAME_UNIQUE]((char *)x)))
|
||||
#define get_nicklist_by_window(x) ((char *) (global[GET_NICKLIST_BY_WINDOW]((Window *)x)))
|
||||
#define scrollback_backwards_lines(x) ((void) (global[SCROLLBACK_BACKWARDS_LINES]((int)x)))
|
||||
#define scrollback_forwards_lines(x) ((void) (global[SCROLLBACK_FORWARDS_LINES]((int)x)))
|
||||
#define scrollback_forwards(x, y) ((void) (global[SCROLLBACK_FORWARDS]((char)x, (char *)y)))
|
||||
#define scrollback_backwards(x, y) ((void) (global[SCROLLBACK_BACKWARDS]((char)x, (char *)y)))
|
||||
#define scrollback_end(x, y) ((void) (global[SCROLLBACK_END]((char)x, (char *)y)))
|
||||
#define scrollback_start(x, y) ((void) (global[SCROLLBACK_START]((char)x, (char *)y)))
|
||||
#define hold_mode(x, y, z) ((void) (global[HOLD_MODE]((Window *)x, (int)y, (int)z)))
|
||||
#define unhold_windows ((int (*)())global[UNHOLD_WINDOWS])
|
||||
#define unstop_all_windows(x, y) ((void) (global[FUNC_UNSTOP_ALL_WINDOWS]((char)x, (char *)y)))
|
||||
#define reset_line_cnt(x, y, z) ((void) (global[RESET_LINE_CNT]((Window *)x, (char *)y, (int)z)))
|
||||
#define toggle_stop_screen(x, y) ((void) (global[TOGGLE_STOP_SCREEN]((char)x, (char *)y)))
|
||||
#define flush_everything_being_held(x) ((void) (global[FLUSH_EVERYTHING_BEING_HELD]((Window *)x)))
|
||||
#define unhold_a_window(x) ((int) (global[UNHOLD_A_WINDOW]((Window *)x)))
|
||||
#define recalculate_window_cursor(x) ((void) (global[RECALCULATE_WINDOW_CURSOR]((Screen *)x)))
|
||||
#define make_window_current(x) ((void) (global[MAKE_WINDOW_CURRENT]((Window *)x)))
|
||||
#define clear_scrollback(x) ((void) (global[CLEAR_SCROLLBACK]((Window *)x)))
|
||||
#define set_prompt_by_refnum (*(void (*)(unsigned , char *))global[SET_PROMPT_BY_REFNUM])
|
||||
#define get_prompt_by_refnum (*(char *(*)(unsigned ))global[GET_PROMPT_BY_REFNUM])
|
||||
#define get_target_by_refnum (*(char *(*)(unsigned ))global[GET_TARGET_BY_REFNUM])
|
||||
#define get_target_cmd_by_refnum (*(char *(*)(u_int))global[GET_TARGET_CMD_BY_REFNUM])
|
||||
#define get_window_target_by_desc (*(Window *(*)(char *))global[GET_WINDOW_TARGET_BY_DESC])
|
||||
#define is_current_channel (*(int (*)(char *, int , int ))global[IS_CURRENT_CHANNEL])
|
||||
#define set_current_channel_by_refnum (*(const char *(*)(unsigned , char *))global[SET_CURRENT_CHANNEL_BY_REFNUM])
|
||||
#define get_current_channel_by_refnum (*(char *(*)(unsigned ))global[GET_CURRENT_CHANNEL_BY_REFNUM])
|
||||
#define get_refnum_by_window (*(char *(*)(const Window *))global[GET_REFNUM_BY_WINDOW])
|
||||
#define is_bound_to_window (*(int (*)(const Window *, const char *))global[IS_BOUND_TO_WINDOW])
|
||||
#define get_window_bound_channel (*(Window *(*)(const char *))global[GET_WINDOW_BOUND_CHANNEL])
|
||||
#define is_bound_anywhere (*(int (*)(const char *))global[IS_BOUND_ANYWHERE])
|
||||
#define is_bound (*(int (*)(const char *, int ))global[IS_BOUND])
|
||||
#define unbind_channel (*(void (*)(const char *, int ))global[UNBIND_CHANNEL])
|
||||
#define get_bound_channel (*(char *(*)(Window *))global[GET_BOUND_CHANNEL])
|
||||
#define get_window_server (*(int (*)(unsigned ))global[GET_WINDOW_SERVER])
|
||||
#define set_window_server (*(void (*)(int , int , int ))global[SET_WINDOW_SERVER])
|
||||
#define window_check_servers (*(void (*)(int ))global[WINDOW_CHECK_SERVERS])
|
||||
#define change_window_server (*(void (*)(int , int ))global[CHANGE_WINDOW_SERVER])
|
||||
#define set_level_by_refnum (*(void (*)(unsigned , unsigned long ))global[SET_LEVEL_BY_REFNUM])
|
||||
#define message_to (*(void (*)(unsigned long ))global[MESSAGE_TO])
|
||||
#define clear_window (*(void (*)(Window *))global[CLEAR_WINDOW])
|
||||
#define clear_all_windows (*(void (*)(int , int ))global[CLEAR_ALL_WINDOWS])
|
||||
#define clear_window_by_refnum (*(void (*)(unsigned ))global[CLEAR_WINDOW_BY_REFNUM])
|
||||
#define unclear_window_by_refnum (*(void (*)(unsigned ))global[UNCLEAR_WINDOW_BY_REFNUM])
|
||||
#define set_scroll_lines (*(void (*)(Window *, char *, int))global[SET_SCROLL_LINES])
|
||||
#define set_continued_lines (*(void (*)(Window *, char *, int))global[SET_CONTINUED_LINES])
|
||||
#define current_refnum (*(unsigned (*)(void ))global[CURRENT_REFNUM])
|
||||
#define number_of_windows_on_screen (*(int (*)(Window *))global[NUMBER_OF_WINDOWS_ON_SCREEN])
|
||||
#define set_scrollback_size (*(void (*)(Window *, char *, int))global[SET_SCROLLBACK_SIZE])
|
||||
#define is_window_name_unique (*(int (*)(char *))global[IS_WINDOW_NAME_UNIQUE])
|
||||
#define get_nicklist_by_window (*(char *(*)(Window *))global[GET_NICKLIST_BY_WINDOW])
|
||||
#define scrollback_backwards_lines (*(void (*)(int ))global[SCROLLBACK_BACKWARDS_LINES])
|
||||
#define scrollback_forwards_lines (*(void (*)(int ))global[SCROLLBACK_FORWARDS_LINES])
|
||||
#define scrollback_forwards (*(void (*)(char , char *))global[SCROLLBACK_FORWARDS])
|
||||
#define scrollback_backwards (*(void (*)(char , char *))global[SCROLLBACK_BACKWARDS])
|
||||
#define scrollback_end (*(void (*)(char , char *))global[SCROLLBACK_END])
|
||||
#define scrollback_start (*(void (*)(char , char *))global[SCROLLBACK_START])
|
||||
#define set_hold_mode (*(void (*)(Window *, int, int))global[SET_HOLD_MODE])
|
||||
#define unhold_windows (*(int (*)(void ))global[UNHOLD_WINDOWS])
|
||||
#define unstop_all_windows (*(void (*)(char , char *))global[FUNC_UNSTOP_ALL_WINDOWS])
|
||||
#define reset_line_cnt (*(void (*)(Window *, char *, int))global[RESET_LINE_CNT])
|
||||
#define toggle_stop_screen (*(void (*)(char , char *))global[FUNC_TOGGLE_STOP_SCREEN])
|
||||
#define flush_everything_being_held (*(void (*)(Window *))global[FLUSH_EVERYTHING_BEING_HELD])
|
||||
#define unhold_a_window (*(int (*)(Window *))global[UNHOLD_A_WINDOW])
|
||||
#define recalculate_window_cursor (*(void (*)(Window *))global[RECALCULATE_WINDOW_CURSOR])
|
||||
#define make_window_current (*(void (*)(Window *))global[MAKE_WINDOW_CURRENT])
|
||||
#define clear_scrollback (*(void (*)(Window *))global[CLEAR_SCROLLBACK])
|
||||
|
||||
#define set_display_target(x, y) ((void) (global[SET_DISPLAY_TARGET]((const char *)x,(unsigned long)y)))
|
||||
#define save_display_target(x, y) ((void) (global[SAVE_DISPLAY_TARGET]((const char **)x, (unsigned long *)y)))
|
||||
#define restore_display_target(x, y) ((void) (global[RESTORE_DISPLAY_TARGET]((const char *)x, (unsigned long)y)))
|
||||
#define reset_display_target ((void (*)())global[RESET_DISPLAY_TARGET])
|
||||
#define set_display_target (*(void (*)(const char *, unsigned long ))global[SET_DISPLAY_TARGET])
|
||||
#define save_display_target (*(void (*)(const char **, unsigned long *))global[SAVE_DISPLAY_TARGET])
|
||||
#define restore_display_target (*(void (*)(const char *, unsigned long ))global[RESTORE_DISPLAY_TARGET])
|
||||
#define reset_display_target (*(void (*)(void ))global[RESET_DISPLAY_TARGET])
|
||||
|
||||
#define build_status(x, y, z) ((void) (global[BUILD_STATUS]((Window *)x, (char *)y, (int)z)))
|
||||
#define build_status (*(void (*)(Window *, char *, int))global[BUILD_STATUS])
|
||||
|
||||
|
||||
|
||||
#define do_hook ((int (*)())global[HOOK])
|
||||
#define do_hook (*(int (*)(int, char *, ...))global[HOOK])
|
||||
|
||||
/* input.c */
|
||||
#define update_input(x) ((void) (global[FUNC_UPDATE_INPUT]((int)x)))
|
||||
#define cursor_to_input ((void (*)(void)) global[CURSOR_TO_INPUT])
|
||||
#define set_input(x) ((void) (global[SET_INPUT]((char *)x)))
|
||||
#define get_input ((char * (*)(void)) (global[GET_INPUT]))
|
||||
#define get_input_prompt ((char * (*)(void)) (global[GET_INPUT_PROMPT]))
|
||||
#define set_input_prompt(x, y, z) ((void) (global[SET_INPUT_PROMPT]((Window *)x, (char *)y, (int)z)))
|
||||
#define addtabkey(x, y, z) ((void) (global[ADDTABKEY]((char *)x, (char *)y, (int)z)))
|
||||
#define gettabkey(x, y, z) ((NickTab *) (global[GETTABKEY]((int)x, (int)y, (char *)z)))
|
||||
#define getnextnick(x, y, z, a) ((NickTab *) (global[GETNEXTNICK]((int)x, (char *)y, (char *)z, (char *)a)))
|
||||
#define getchannick(x, y) ((char *) (global[GETCHANNICK]((char *)x, (char *)y)))
|
||||
#define lookup_nickcompletion(x, y) ((NickList *) (global[LOOKUP_NICKCOMPLETION]((ChannelList *)x, (char *)y)))
|
||||
#define add_completion_type(x, y, z) ((int) (global[ADD_COMPLETION_TYPE]((char *)x, (int)y, (enum completion)z)))
|
||||
#define update_input (*(void (*)(int ))global[FUNC_UPDATE_INPUT])
|
||||
#define cursor_to_input (*(void (*)(void ))global[CURSOR_TO_INPUT])
|
||||
#define set_input (*(void (*)(char *))global[SET_INPUT])
|
||||
#define get_input (*(char *(*)(void ))global[GET_INPUT])
|
||||
#define get_input_prompt (*(char *(*)(void ))global[GET_INPUT_PROMPT])
|
||||
#define set_input_prompt (*(void (*)(Window *, char *, int))global[SET_INPUT_PROMPT])
|
||||
#define addtabkey (*(void (*)(char *, char *, int ))global[ADDTABKEY])
|
||||
#define gettabkey (*(NickTab *(*)(int, int, char *))global[GETTABKEY])
|
||||
#define getnextnick (*(NickTab *(*)(int, char *, char *, char *))global[GETNEXTNICK])
|
||||
#define getchannick (*(char *(*)(char *, char *))global[GETCHANNICK])
|
||||
#define lookup_nickcompletion (*(NickList *(*)(ChannelList *, char *))global[LOOKUP_NICKCOMPLETION])
|
||||
#define add_completion_type (*(int (*)(char *, int , enum completion ))global[ADD_COMPLETION_TYPE])
|
||||
|
||||
/* names.c */
|
||||
#define is_channel(x) ((int) (global[IS_CHANNEL]((char *)x)))
|
||||
#define make_channel(x) ((char *) (global[MAKE_CHANNEL]((char *)x)))
|
||||
#define is_chanop(x, y) ((int) (global[IS_CHANOP]((char *)x, (char *)y)))
|
||||
#define im_on_channel(x, y) ((int) (global[IM_ON_CHANNEL]((char *)x, (int)y)))
|
||||
#define is_on_channel(x, y, z) ((int) (global[IS_ON_CHANNEL]((char *)x, (int)y, (char *)z)))
|
||||
#define add_channel(x, y, z) ((ChannelList *) (global[ADD_CHANNEL]((char *)x, (int)y, (int)z)))
|
||||
#define add_to_channel(a, b, c, d, e, f, g, h, i, j) ((ChannelList *) (global[ADD_TO_CHANNEL]((char *)a, (char *)b, (int)c, (int)d, (int)e, (char *)f, (char *)g, (char *)h, (int)i, (int)j)))
|
||||
#define get_channel_key(x, y) ((char *) (global[GET_CHANNEL_KEY]((char *)x, (int)y)))
|
||||
#define recreate_mode(x) ((char *) (global[FUNC_RECREATE_MODE]((ChannelList *)x)))
|
||||
#define compress_modes(x, y, z, a) ((char *) (global[FUNC_COMPRESS_MODES]((ChannelList *)x, (int)y, (char *)z, (char *)a)))
|
||||
#define got_ops(x, y) ((int) (global[FUNC_GOT_OPS]((int)x, (ChannelList *)y)))
|
||||
#define get_channel_bans(x, y, z) ((char *) (global[GET_CHANNEL_BANS]((char *)x, (int)y, (int)z)))
|
||||
#define get_channel_mode(x, y) ((char *) (global[GET_CHANNEL_MODE]((char *)x, (int)y)))
|
||||
#define clear_bans(x) ((void) (global[CLEAR_BANS]((ChannelList *)x)))
|
||||
#define remove_channel(x, y) ((void) (global[REMOVE_CHANNEL]((char *)x, (int)y)))
|
||||
#define remove_from_channel(a, b, c, d, e) ((void) (global[REMOVE_FROM_CHANNEL]((char *)a, (char *)b, (int)c, (int)d, (char *)e)))
|
||||
#define rename_nick(x, y, z) ((void) (global[RENAME_NICK]((char *)x, (char *)y, (int)z)))
|
||||
#define get_channel_oper(x, y) ((int) (global[GET_CHANNEL_OPER]((char *)x, (int)y)))
|
||||
#define get_channel_halfop(x, y) ((int) (global[GET_CHANNEL_HALFOP]((char *)x, (int)y)))
|
||||
#define get_channel_voice(x, y) ((int) (global[GET_CHANNEL_VOICE]((char *)x, (int)y)))
|
||||
#define fetch_userhost(x, y) ((char *) (global[FETCH_USERHOST]((int)x, (char *)y)))
|
||||
#define create_channel_list(x) ((char *) (global[CREATE_CHANNEL_LIST]((Window *)x)))
|
||||
#define flush_channel_stats ((void (*)(void)) (global[FLUSH_CHANNEL_STATS]))
|
||||
#define lookup_channel(x, y, z) ((ChannelList *) (global[LOOKUP_CHANNEL]((char *)x, (int)y, (int)z)))
|
||||
#define is_channel (*(int (*)(char *))global[IS_CHANNEL])
|
||||
#define make_channel (*(char *(*)(char *))global[MAKE_CHANNEL])
|
||||
#define is_chanop (*(int (*)(char *, char *))global[IS_CHANOP])
|
||||
#define im_on_channel (*(int (*)(char *, int ))global[IM_ON_CHANNEL])
|
||||
#define is_on_channel (*(int (*)(char *, int , char *))global[IS_ON_CHANNEL])
|
||||
#define add_channel (*(ChannelList *(*)(char *, int, int))global[ADD_CHANNEL])
|
||||
#define add_to_channel (*(ChannelList *(*)(char *, char *, int, int, int, char *, char *, char *, int, int))global[ADD_TO_CHANNEL])
|
||||
#define get_channel_key (*(char *(*)(char *, int ))global[GET_CHANNEL_KEY])
|
||||
#define recreate_mode (*(char *(*)(ChannelList *))global[FUNC_RECREATE_MODE])
|
||||
#define do_compress_modes (*(char *(*)(ChannelList *, int, char *, char *))global[FUNC_COMPRESS_MODES])
|
||||
#define got_ops (*(int (*)(int, ChannelList *))global[FUNC_GOT_OPS])
|
||||
#define get_channel_bans (*(char *(*)(char *, int , int ))global[GET_CHANNEL_BANS])
|
||||
#define get_channel_mode (*(char *(*)(char *, int ))global[GET_CHANNEL_MODE])
|
||||
#define clear_bans (*(void (*)(ChannelList *))global[CLEAR_BANS])
|
||||
#define remove_channel (*(void (*)(char *, int ))global[REMOVE_CHANNEL])
|
||||
#define remove_from_channel (*(void (*)(char *, char *, int , int , char *))global[REMOVE_FROM_CHANNEL])
|
||||
#define rename_nick (*(void (*)(char *, char *, int ))global[RENAME_NICK])
|
||||
#define get_channel_oper (*(int (*)(char *, int ))global[GET_CHANNEL_OPER])
|
||||
#define get_channel_halfop (*(int (*)(char *, int ))global[GET_CHANNEL_HALFOP])
|
||||
#define get_channel_voice (*(int (*)(char *, int ))global[GET_CHANNEL_VOICE])
|
||||
#define fetch_userhost (*(char *(*)(int , char *))global[FETCH_USERHOST])
|
||||
#define create_channel_list (*(char *(*)(Window *))global[CREATE_CHANNEL_LIST])
|
||||
#define flush_channel_stats (*(void (*)(void ))global[FLUSH_CHANNEL_STATS])
|
||||
#define lookup_channel (*(ChannelList *(*)(char *, int, int))global[LOOKUP_CHANNEL])
|
||||
|
||||
/* hash.c */
|
||||
#define find_nicklist_in_channellist(x, y, z) ((NickList *) (global[FIND_NICKLIST_IN_CHANNELLIST]((char *)x, (ChannelList *)y, (int)z)))
|
||||
#define add_nicklist_to_channellist(x, y) ((void) (global[ADD_NICKLIST_TO_CHANNELLIST]((NickList *)x, (ChannelList *)y)))
|
||||
#define next_nicklist(x, y) ((NickList *) (global[NEXT_NICKLIST] ((ChannelList *)x, (NickList *)y)))
|
||||
#define next_namelist(x, y, z) ((List *) (global[NEXT_NAMELIST]((HashEntry *)x, (List *)y, (unsigned int)z)))
|
||||
#define add_name_to_genericlist(x, y, z) ((void) (global[ADD_NAME_TO_GENERICLIST]((char *)x, (HashEntry *)y, (unsigned int)z)))
|
||||
#define find_name_in_genericlist(x, y, z, a) ((List *) (global[FIND_NAME_IN_GENERICLIST]((char *)x, (HashEntry *)y, (unsigned int)z, (int)a)))
|
||||
#define add_whowas_userhost_channel(x, y) ((void) (global[ADD_WHOWAS_USERHOST_CHANNEL]((WhowasList *)x, (WhowasWrapList *)y)))
|
||||
#define find_userhost_channel(x, y, z, a) ((WhowasList *) (global[FIND_USERHOST_CHANNEL]((char *)x, (char *)y, (int)z, (WhowasWrapList *)a)))
|
||||
#define next_userhost(x, y) ((WhowasList *) (global[NEXT_USERHOST]((WhowasWrapList *)x, (WhowasList *)y)))
|
||||
#define sorted_nicklist(x, y) ((NickList *) (global[SORTED_NICKLIST]((ChannelList *)x, (int)y)))
|
||||
#define clear_sorted_nicklist(x) ((void)(global[CLEAR_SORTED_NICKLIST](x)))
|
||||
#define add_name_to_floodlist(a, b, c, d, e) ((Flooding *) (global[ADD_NAME_TO_FLOODLIST]((char *)a, (char *)b, (char *)c, (HashEntry *)d, (unsigned int)e)))
|
||||
#define find_name_in_floodlist(a, b, c, d, e) ((Flooding *) (global[FIND_NAME_IN_FLOODLIST]((char *)a, (char *)b, (HashEntry *)c, (unsigned int)d, (int)e)))
|
||||
#define find_nicklist_in_channellist (*(NickList *(*)(char *, ChannelList *, int))global[FIND_NICKLIST_IN_CHANNELLIST])
|
||||
#define add_nicklist_to_channellist (*(void (*)(NickList *, ChannelList *))global[ADD_NICKLIST_TO_CHANNELLIST])
|
||||
#define next_nicklist (*(NickList *(*)(ChannelList *, NickList *))global[NEXT_NICKLIST])
|
||||
#define next_namelist (*(List *(*)(HashEntry *, List *, unsigned int))global[NEXT_NAMELIST])
|
||||
#define add_name_to_genericlist (*(void (*)(char *, HashEntry *, unsigned int))global[ADD_NAME_TO_GENERICLIST])
|
||||
#define find_name_in_genericlist (*(List *(*)(char *, HashEntry *, unsigned int, int))global[FIND_NAME_IN_GENERICLIST])
|
||||
#define add_whowas_userhost_channel (*(void (*)(WhowasList *, WhowasWrapList *))global[ADD_WHOWAS_USERHOST_CHANNEL])
|
||||
#define find_userhost_channel (*(WhowasList *(*)(char *, char *, int, WhowasWrapList *))global[FIND_USERHOST_CHANNEL])
|
||||
#define next_userhost (*(WhowasList *(*)(WhowasWrapList *, WhowasList *))global[NEXT_USERHOST])
|
||||
#define sorted_nicklist (*(NickList *(*)(ChannelList *, int))global[SORTED_NICKLIST])
|
||||
#define clear_sorted_nicklist (*(void (*)(NickList **))global[CLEAR_SORTED_NICKLIST])
|
||||
#define add_name_to_floodlist (*(Flooding *(*)(char *, char *, char *, HashEntry *, unsigned int))global[ADD_NAME_TO_FLOODLIST])
|
||||
#define find_name_in_floodlist (*(Flooding *(*)(char *, char *, HashEntry *, unsigned int, int))global[FIND_NAME_IN_FLOODLIST])
|
||||
|
||||
#define remove_oldest_whowas_hashlist(x, y, z) ((int) (global[REMOVE_OLDEST_WHOWAS_HASHLIST]((WhowasWrapList *)x, (time_t)y, (int)z)))
|
||||
#define remove_oldest_whowas_hashlist (*(int (*)(WhowasWrapList *, time_t, int))global[REMOVE_OLDEST_WHOWAS_HASHLIST])
|
||||
|
||||
|
||||
|
||||
/* cset.c fset.c vars.c set string and set int ops */
|
||||
#define fget_string_var(x) ((char *)(global[FGET_STRING_VAR]((int)x)))
|
||||
#define fset_string_var(x, y) ((void) (global[FSET_STRING_VAR]((int)x, (char *)y)))
|
||||
#define get_wset_string_var(x, y) ((char *) (global[GET_WSET_STRING_VAR]((WSet *)x, (char *)y)))
|
||||
#define set_wset_string_var(x, y, z) ((void) (global[SET_WSET_STRING_VAR]((WSet *)x, (int)y, (char *)z)))
|
||||
#define get_cset_int_var(x, y) ((int) (global[GET_CSET_INT_VAR]((CSetList *)x, (int)y)))
|
||||
#define set_cset_int_var(x, y, z) ((void) (global[SET_CSET_INT_VAR]((CSetList *)x, (int)y, (int)z)))
|
||||
#define get_cset_str_var(x, y) ((char *) (global[GET_CSET_STR_VAR]((CSetList *)x, (int)y)))
|
||||
#define set_cset_str_var(x, y, z) ((void) (global[SET_CSET_STR_VAR]((CSetList *)x, (int)y, (char *)z)))
|
||||
#define fget_string_var (*(char *(*)(enum FSET_TYPES ))global[FGET_STRING_VAR])
|
||||
#define fset_string_var (*(void (*)(enum FSET_TYPES , char *))global[FSET_STRING_VAR])
|
||||
#define get_wset_string_var (*(char *(*)(WSet *, int))global[GET_WSET_STRING_VAR])
|
||||
#define set_wset_string_var (*(void (*)(WSet *, int, char *))global[SET_WSET_STRING_VAR])
|
||||
#define get_cset_int_var (*(int (*)(CSetList *, int))global[GET_CSET_INT_VAR])
|
||||
#define set_cset_int_var (*(void (*)(CSetList *, int, int))global[SET_CSET_INT_VAR])
|
||||
#define get_cset_str_var (*(char *(*)(CSetList *, int))global[GET_CSET_STR_VAR])
|
||||
#define set_cset_str_var (*(void (*)(CSetList *, int, char *))global[SET_CSET_STR_VAR])
|
||||
|
||||
#define get_dllint_var(x) ((int) (global[GET_DLLINT_VAR]((char *)x)))
|
||||
#define set_dllint_var(x, y) ((void) (global[SET_DLLINT_VAR]((char *)x, (unsigned int)y)))
|
||||
#define get_dllstring_var(x) ((char *) (global[GET_DLLSTRING_VAR]((char *)x)))
|
||||
#define set_dllstring_var(x, y) ((void) (global[SET_DLLSTRING_VAR]((char *)x, (char *)y)))
|
||||
#define get_dllint_var (*(int (*)(char *))global[GET_DLLINT_VAR])
|
||||
#define set_dllint_var (*(void (*)(char *, unsigned int ))global[SET_DLLINT_VAR])
|
||||
#define get_dllstring_var (*(char *(*)(char *))global[GET_DLLSTRING_VAR])
|
||||
#define set_dllstring_var (*(void (*)(char *, char *))global[SET_DLLSTRING_VAR])
|
||||
|
||||
#define get_int_var(x) ((int) (global[GET_INT_VAR]((int)x)))
|
||||
#define set_int_var(x, y) ((void) (global[SET_INT_VAR]((int)x, (int)y)))
|
||||
#define get_string_var(x) ((char *) (global[GET_STRING_VAR]((int)x)))
|
||||
#define set_string_var(x, y) ((void) (global[SET_STRING_VAR]((int)x, (char *)y)))
|
||||
#define get_int_var (*(int (*)(enum VAR_TYPES ))global[GET_INT_VAR])
|
||||
#define set_int_var (*(void (*)(enum VAR_TYPES , unsigned int ))global[SET_INT_VAR])
|
||||
#define get_string_var (*(char *(*)(enum VAR_TYPES ))global[GET_STRING_VAR])
|
||||
#define set_string_var (*(void (*)(enum VAR_TYPES , char *))global[SET_STRING_VAR])
|
||||
|
||||
|
||||
/* module.c */
|
||||
#define add_module_proc(x, y, z, a, b, c, d, e) ((int)(global[ADD_MODULE_PROC](x, y, z, a, b, c, d, e)))
|
||||
#define remove_module_proc(a, b, c, d) ((int) (global[REMOVE_MODULE_PROC]((int)a, (char *)b, (char *)c, (char *)d)))
|
||||
#define add_module_proc (*(int (*)(unsigned int , char *, char *, char *, int , int , void *, void *))global[ADD_MODULE_PROC])
|
||||
#define remove_module_proc (*(int (*)(unsigned int , char *, char *, char *))global[REMOVE_MODULE_PROC])
|
||||
|
||||
|
||||
/* timer.c */
|
||||
#define add_timer(x, y, z, n, f, a, b, w, c) ((char *) (global[ADD_TIMER]((int)x, (char *)y, (double)z, (long)n, (int (*) (void *))f, (char *)a, (char *)b, (Window *)w, (char *)c)))
|
||||
#define delete_timer(x) ((int) (global[DELETE_TIMER]((char *)x)))
|
||||
#define delete_all_timers ((int (*)(void)) (global[DELETE_ALL_TIMERS]))
|
||||
#define add_timer (*(char *(*)(int , char *, double , long , int (*)(void *, char *), char *, char *, int , char *))global[ADD_TIMER])
|
||||
#define delete_timer (*(int (*)(char *))global[DELETE_TIMER])
|
||||
#define delete_all_timers (*(void (*)(void ))global[DELETE_ALL_TIMERS])
|
||||
|
||||
|
||||
|
||||
/* server.c */
|
||||
#define send_to_server ((void (*)()) global[SEND_TO_SERVER])
|
||||
#define queue_send_to_server ((void (*)()) global[QUEUE_SEND_TO_SERVER])
|
||||
#define my_send_to_server ((void (*)()) global[MY_SEND_TO_SERVER])
|
||||
#define get_connected(x, y) ((void) (global[GET_CONNECTED]((int)x, (int)y)))
|
||||
#define connect_to_server_by_refnum(x, y) ((int) (global[CONNECT_TO_SERVER_BY_REFNUM]((int)x, (int)y)))
|
||||
#define close_server(x, y) ((void) (global[CLOSE_SERVER]((int)x, (char *)y)))
|
||||
#define is_server_connected(x) ((int) (global[IS_SERVER_CONNECTED]((int)x)))
|
||||
#define flush_server ((void (*)(void)) global[FLUSH_SERVER])
|
||||
#define server_is_connected(x, y) ((int) (global[SERVER_IS_CONNECTED]((int)x, (int)y)))
|
||||
#define is_server_open(x) ((int) (global[IS_SERVER_OPEN]((int)x)))
|
||||
#define close_all_server ((void (*)(void)) global[CLOSE_ALL_SERVER])
|
||||
#define send_to_server (*(void (*)(const char *, ...))global[SEND_TO_SERVER])
|
||||
#define queue_send_to_server (*(void (*)(int, const char *, ...))global[QUEUE_SEND_TO_SERVER])
|
||||
#define my_send_to_server (*(void (*)(int, const char *, ...))global[MY_SEND_TO_SERVER])
|
||||
#define get_connected (*(void (*)(int , int ))global[GET_CONNECTED])
|
||||
#define connect_to_server_by_refnum (*(int (*)(int , int ))global[CONNECT_TO_SERVER_BY_REFNUM])
|
||||
#define close_server (*(void (*)(int , char *))global[CLOSE_SERVER])
|
||||
#define is_server_connected (*(int (*)(int ))global[IS_SERVER_CONNECTED])
|
||||
#define flush_server (*(void (*)(void ))global[FLUSH_SERVER])
|
||||
#define server_is_connected (*(void (*)(int , int ))global[SERVER_IS_CONNECTED])
|
||||
#define is_server_open (*(int (*)(int ))global[IS_SERVER_OPEN])
|
||||
#define close_all_server (*(void (*)(void ))global[CLOSE_ALL_SERVER])
|
||||
|
||||
#define read_server_file(x) ((int) (global[READ_SERVER_FILE]((char *)x)))
|
||||
#define add_to_server_list(a, b, c, d, e, f, g) ((void) (global[ADD_TO_SERVER_LIST]((char *)a, (int)b, (char *)c, (char *)d, (char *)e, (int)f, (int)g)))
|
||||
#define build_server_list(x) ((int) (global[BUILD_SERVER_LIST]((char *)x)))
|
||||
#define display_server_list() ((void) (global[DISPLAY_SERVER_LIST]()))
|
||||
#define create_server_list(x) ((char *) (global[CREATE_SERVER_LIST]((char *)x)))
|
||||
#define parse_server_info(a, b, c, d, e) ((void) (global[PARSE_SERVER_INFO]((char *)a, (char **)b, (char **)c, (char **)d, (char **)e)))
|
||||
#define server_list_size ((int (*)(void)) global[SERVER_LIST_SIZE])
|
||||
#define read_server_file (*(int (*)(char *))global[READ_SERVER_FILE])
|
||||
#define add_to_server_list (*(void (*)(char *, int , char *, char *, char *, int , int ))global[ADD_TO_SERVER_LIST])
|
||||
#define build_server_list (*(int (*)(char *))global[BUILD_SERVER_LIST])
|
||||
#define display_server_list (*(void (*)(void ))global[DISPLAY_SERVER_LIST])
|
||||
#define create_server_list (*(char *(*)(char *))global[CREATE_SERVER_LIST])
|
||||
#define parse_server_info (*(void (*)(char *, char **, char **, char **, char **))global[PARSE_SERVER_INFO])
|
||||
#define server_list_size (*(int (*)(void ))global[SERVER_LIST_SIZE])
|
||||
|
||||
#define find_server_refnum(x, y) ((int) (global[FIND_SERVER_REFNUM]((char *)x, (char **)y)))
|
||||
#define find_in_server_list(x, y) ((int) (global[FIND_IN_SERVER_LIST]((char *)x, (int)y)))
|
||||
#define parse_server_index(x) ((int) (global[PARSE_SERVER_INDEX]((char *)x)))
|
||||
#define find_server_refnum (*(int (*)(char *, char **))global[FIND_SERVER_REFNUM])
|
||||
#define find_in_server_list (*(int (*)(char *, int ))global[FIND_IN_SERVER_LIST])
|
||||
#define parse_server_index (*(int (*)(char *))global[PARSE_SERVER_INDEX])
|
||||
|
||||
#define set_server_redirect(x, y) ((void) (global[SET_SERVER_REDIRECT]((int)x, (char *)y)))
|
||||
#define get_server_redirect(x) ((char *) (global[GET_SERVER_REDIRECT]((int)x)))
|
||||
#define check_server_redirect(x) ((int) (global[CHECK_SERVER_REDIRECT]((char *)x)))
|
||||
#define fudge_nickname(x, y) ((void) (global[FUDGE_NICKNAME]((int)x, (int)y)))
|
||||
#define reset_nickname(x) ((void) (global[RESET_NICKNAME]((int)x)))
|
||||
#define set_server_redirect (*(void (*)(int , const char *))global[SET_SERVER_REDIRECT])
|
||||
#define get_server_redirect (*(char *(*)(int ))global[GET_SERVER_REDIRECT])
|
||||
#define check_server_redirect (*(int (*)(char *))global[CHECK_SERVER_REDIRECT])
|
||||
#define fudge_nickname (*(void (*)(int , int ))global[FUDGE_NICKNAME])
|
||||
#define reset_nickname (*(void (*)(int ))global[RESET_NICKNAME])
|
||||
|
||||
#define set_server_cookie(x, y) ((void) (global[SET_SERVER_COOKIE]((int)x, (char *)y)))
|
||||
#define set_server_flag(x, y, z) ((void) (global[SET_SERVER_FLAG]((int)x, (int)y, (int)z)))
|
||||
#define set_server_motd(x, y) ((void) (global[SET_SERVER_MOTD]((int)x, (int)y)))
|
||||
#define set_server_operator(x, y) ((void) (global[SET_SERVER_OPERATOR]((int)x, (int)y)))
|
||||
#define set_server_itsname(x, y) ((void) (global[SET_SERVER_ITSNAME]((int)x, (char *)y)))
|
||||
#define set_server_version(x, y) ((void) (global[SET_SERVER_VERSION]((int)x, (int)y)))
|
||||
#define set_server_lag(x, y) ((void) (global[SET_SERVER_LAG]((int)x, (int)y)))
|
||||
#define set_server_password(x, y) ((char *) (global[SET_SERVER_PASSWORD]((int)x, (char *)y)))
|
||||
#define set_server_nickname(x, y) ((void) (global[SET_SERVER_NICKNAME]((int)x, (char *)y)))
|
||||
#define set_server2_8(x, y) ((void) (global[SET_SERVER2_8]((int)x, (int)y)))
|
||||
#define set_server_away(x, y, z) ((void) (global[SET_SERVER_AWAY]((int)x, (char *)y, (int)z)))
|
||||
#define set_server_cookie (*(void (*)(int , char *))global[SET_SERVER_COOKIE])
|
||||
#define set_server_flag (*(void (*)(int , int , int ))global[SET_SERVER_FLAG])
|
||||
#define set_server_motd (*(void (*)(int , int ))global[SET_SERVER_MOTD])
|
||||
#define set_server_operator (*(void (*)(int , int ))global[SET_SERVER_OPERATOR])
|
||||
#define set_server_itsname (*(void (*)(int , char *))global[SET_SERVER_ITSNAME])
|
||||
#define set_server_version (*(void (*)(int , int ))global[SET_SERVER_VERSION])
|
||||
#define set_server_lag (*(void (*)(int , int ))global[SET_SERVER_LAG])
|
||||
#define set_server_password (*(char *(*)(int , char *))global[SET_SERVER_PASSWORD])
|
||||
#define set_server_nickname (*(void (*)(int , char *))global[SET_SERVER_NICKNAME])
|
||||
#define set_server2_8 (*(void (*)(int , int ))global[SET_SERVER2_8])
|
||||
#define set_server_away (*(void (*)(int , char *, int ))global[SET_SERVER_AWAY])
|
||||
|
||||
#define get_server_cookie(x) ((char *) (global[GET_SERVER_COOKIE]((int)x)))
|
||||
#define get_server_nickname(x) ((char *) (global[GET_SERVER_NICKNAME]((int)x)))
|
||||
#define get_server_name(x) ((char *) (global[GET_SERVER_NAME]((int)x)))
|
||||
#define get_server_itsname(x) ((char *) (global[GET_SERVER_ITSNAME]((int)x)))
|
||||
#define get_server_motd(x) ((int) (global[GET_SERVER_MOTD]((int)x)))
|
||||
#define get_server_operator(x) ((int) (global[GET_SERVER_OPERATOR]((int)x)))
|
||||
#define get_server_version(x) ((int) (global[GET_SERVER_VERSION]((int)x)))
|
||||
#define get_server_flag(x, y) ((int) (global[GET_SERVER_FLAG]((int)x, (int)y)))
|
||||
#define get_possible_umodes(x) ((char *) (global[GET_POSSIBLE_UMODES]((int)x)))
|
||||
#define get_server_port(x) ((int) (global[GET_SERVER_PORT]((int)x)))
|
||||
#define get_server_lag(x) ((int) (global[GET_SERVER_LAG]((int)x)))
|
||||
#define get_server2_8(x) ((int) (global[GET_SERVER2_8]((int)x)))
|
||||
#define get_umode(x) ((char *) (global[GET_UMODE]((int)x)))
|
||||
#define get_server_away(x) ((char *) (global[GET_SERVER_AWAY]((int)x)))
|
||||
#define get_server_network(x) ((char *) (global[GET_SERVER_NETWORK]((int)x)))
|
||||
#define get_pending_nickname(x) ((char *) (global[GET_PENDING_NICKNAME]((int)x)))
|
||||
#define server_disconnect(x, y) ((void) (global[SERVER_DISCONNECT]((int)x, (char *)y)))
|
||||
#define get_server_cookie (*(char *(*)(int ))global[GET_SERVER_COOKIE])
|
||||
#define get_server_nickname (*(char *(*)(int ))global[GET_SERVER_NICKNAME])
|
||||
#define get_server_name (*(char *(*)(int ))global[GET_SERVER_NAME])
|
||||
#define get_server_itsname (*(char *(*)(int ))global[GET_SERVER_ITSNAME])
|
||||
#define get_server_motd (*(int (*)(int ))global[GET_SERVER_MOTD])
|
||||
#define get_server_operator (*(int (*)(int ))global[GET_SERVER_OPERATOR])
|
||||
#define get_server_version (*(int (*)(int ))global[GET_SERVER_VERSION])
|
||||
#define get_server_flag (*(int (*)(int , int ))global[GET_SERVER_FLAG])
|
||||
#define get_possible_umodes (*(char *(*)(int ))global[GET_POSSIBLE_UMODES])
|
||||
#define get_server_port (*(int (*)(int ))global[GET_SERVER_PORT])
|
||||
#define get_server_lag (*(int (*)(int ))global[GET_SERVER_LAG])
|
||||
#define get_server2_8 (*(int (*)(int ))global[GET_SERVER2_8])
|
||||
#define get_umode (*(char *(*)(int ))global[GET_UMODE])
|
||||
#define get_server_away (*(char *(*)(int ))global[GET_SERVER_AWAY])
|
||||
#define get_server_network (*(char *(*)(int ))global[GET_SERVER_NETWORK])
|
||||
#define get_pending_nickname (*(char *(*)(int ))global[GET_PENDING_NICKNAME])
|
||||
#define server_disconnect (*(void (*)(int , char *))global[SERVER_DISCONNECT])
|
||||
|
||||
#define get_server_list ((Server * (*)(void)) global[GET_SERVER_LIST])
|
||||
#define get_server_channels(x) ((ChannelList *) (global[GET_SERVER_CHANNELS]((int) x)))
|
||||
#define get_server_list (*(Server *(*)(void))global[GET_SERVER_LIST])
|
||||
#define get_server_channels (*(ChannelList *(*)(int))global[GET_SERVER_CHANNELS])
|
||||
|
||||
#define set_server_last_ctcp_time(x, y) ((void) (global[SET_SERVER_LAST_CTCP_TIME]((int)x, (time_t)y)))
|
||||
#define get_server_last_ctcp_time(x) ((time_t) (global[GET_SERVER_LAST_CTCP_TIME]((int)x)))
|
||||
#define set_server_trace_flag(x, y) ((void) (global[SET_SERVER_TRACE_FLAG]((int)x, (int)y)))
|
||||
#define get_server_trace_flag(x) ((int) (global[GET_SERVER_TRACE_FLAG]((int)x)))
|
||||
#define get_server_read(x) ((int) (global[GET_SERVER_READ]((int)x)))
|
||||
#define get_server_linklook(x) ((int) (global[GET_SERVER_LINKLOOK]((int)x)))
|
||||
#define set_server_linklook(x, y) ((void) (global[SET_SERVER_LINKLOOK]((int)x, (int)y)))
|
||||
#define get_server_stat_flag(x) ((int) (global[GET_SERVER_STAT_FLAG]((int)x)))
|
||||
#define set_server_stat_flag(x, y) ((void) (global[SET_SERVER_STAT_FLAG]((int)x, (int)y)))
|
||||
#define get_server_linklook_time(x) ((time_t) (global[GET_SERVER_LINKLOOK_TIME]((int)x)))
|
||||
#define set_server_linklook_time(x, y) ((void) (global[SET_SERVER_LINKLOOK_TIME]((int)x, (time_t)y)))
|
||||
#define get_server_trace_kill(x) ((int) (global[GET_SERVER_TRACE_KILL]((int)x)))
|
||||
#define set_server_trace_kill(x, y) ((void) (global[SET_SERVER_TRACE_KILL]((int)x, (int)y)))
|
||||
#define add_server_channels(x, y) ((void) (global[ADD_SERVER_CHANNELS]((int)x, (ChannelList *)y)))
|
||||
#define set_server_channels(x, y) ((void) (global[SET_SERVER_CHANNELS]((int)x, (ChannelList *)y)))
|
||||
#define send_msg_to_channels(x, y, z) ((void) (global[SEND_MSG_TO_CHANNELS]((ChannelList *)x, (int)y, (char *)z)))
|
||||
#define send_msg_to_nicks(x, y, z) ((void) (global[SEND_MSG_TO_CHANNELS]((NickList *)x, (int)y, (char *)z)))
|
||||
#define is_server_queue() ((int) (global[IS_SERVER_QUEUE]()))
|
||||
#define set_server_last_ctcp_time (*(void (*)(int , time_t))global[SET_SERVER_LAST_CTCP_TIME])
|
||||
#define get_server_last_ctcp_time (*(time_t (*)(int))global[GET_SERVER_LAST_CTCP_TIME])
|
||||
#define set_server_trace_flag (*(void (*)(int , int ))global[SET_SERVER_TRACE_FLAG])
|
||||
#define get_server_trace_flag (*(int (*)(int ))global[GET_SERVER_TRACE_FLAG])
|
||||
#define get_server_read (*(int (*)(int ))global[GET_SERVER_READ])
|
||||
#define get_server_linklook (*(int (*)(int ))global[GET_SERVER_LINKLOOK])
|
||||
#define set_server_linklook (*(void (*)(int , int ))global[SET_SERVER_LINKLOOK])
|
||||
#define get_server_stat_flag (*(int (*)(int ))global[GET_SERVER_STAT_FLAG])
|
||||
#define set_server_stat_flag (*(void (*)(int , int ))global[SET_SERVER_STAT_FLAG])
|
||||
#define get_server_linklook_time (*(time_t (*)(int ))global[GET_SERVER_LINKLOOK_TIME])
|
||||
#define set_server_linklook_time (*(void (*)(int , time_t))global[SET_SERVER_LINKLOOK_TIME])
|
||||
#define get_server_trace_kill (*(int (*)(int ))global[GET_SERVER_TRACE_KILL])
|
||||
#define set_server_trace_kill (*(void (*)(int , int ))global[SET_SERVER_TRACE_KILL])
|
||||
#define add_server_channels (*(void (*)(int, ChannelList *))global[ADD_SERVER_CHANNELS])
|
||||
#define set_server_channels (*(void (*)(int, ChannelList *))global[SET_SERVER_CHANNELS])
|
||||
#define send_msg_to_channels (*(void (*)(ChannelList *, int, char *))global[SEND_MSG_TO_CHANNELS])
|
||||
#define send_msg_to_nicks (*(void (*)(ChannelList *, int, char *))global[SEND_MSG_TO_NICKS])
|
||||
#define is_server_queue (*(int (*)(void ))global[IS_SERVER_QUEUE])
|
||||
|
||||
|
||||
/* sockets */
|
||||
#define add_socketread(a, b, c, d, x, y) ((int) (global[ADD_SOCKETREAD]((int)a, (int)b, (unsigned long)c, (char *)d, (void *)x, (void *)y)))
|
||||
#define add_sockettimeout(x, y, z) ((int) (global[ADD_SOCKETTIMEOUT]((int)x, (time_t)y, (void *)z)))
|
||||
#define close_socketread(x) ((void) (global[CLOSE_SOCKETREAD]((int)x)))
|
||||
#define get_socket(x) ((SocketList *) (global[GET_SOCKET]((int)x)))
|
||||
#define set_socketflags(x, y) ((void) (global[SET_SOCKETFLAGS]((int)x, (unsigned long)y)))
|
||||
#define get_socketflags(x) ((unsigned long) (global[GET_SOCKETFLAGS]((int)x)))
|
||||
#define check_socket(x) ((int) (global[CHECK_SOCKET]((int)x)))
|
||||
#define read_sockets(x, y, z) ((int) (global[READ_SOCKETS]((int)x, (char *)y, (int)z)))
|
||||
#define write_sockets(x, y, z, a) ((int) (global[WRITE_SOCKETS]((int)x, (char *)y, (int)z, (int)a)))
|
||||
#define get_max_fd() ((int) (global[GET_MAX_FD]()))
|
||||
#define new_close(x) ((int) (global[NEW_CLOSE]((int)x)))
|
||||
#define new_open(x) ((int) (global[NEW_OPEN]((int)x)))
|
||||
#define dgets(x, y, z, l, m) ((int) (global[DGETS]((char *)x, (int)y, (int)z, (int)l, (void *)m)))
|
||||
#define get_socketinfo(a) ((void *) (global[GET_SOCKETINFO]((int)a)))
|
||||
#define set_socketinfo(a, b) ((void) (global[SET_SOCKETINFO]((int)a, (void *)b)))
|
||||
#define set_socket_write(a) ((int) (global[SET_SOCKETWRITE]((int)a)))
|
||||
#define add_socketread (*(int (*)(int, int, unsigned long, char *, void (*)(int), void (*)(int)))global[ADD_SOCKETREAD])
|
||||
#define add_sockettimeout (*(void (*)(int , time_t, void *))global[ADD_SOCKETTIMEOUT])
|
||||
#define close_socketread (*(void (*)(int ))global[CLOSE_SOCKETREAD])
|
||||
#define get_socket (*(SocketList *(*)(int ))global[GET_SOCKET])
|
||||
#define set_socketflags (*(unsigned long (*)(int , unsigned long ))global[SET_SOCKETFLAGS])
|
||||
#define get_socketflags (*(unsigned long (*)(int ))global[GET_SOCKETFLAGS])
|
||||
#define check_socket (*(int (*)(int ))global[CHECK_SOCKET])
|
||||
#define read_sockets (*(int (*)(int , unsigned char *, int ))global[READ_SOCKETS])
|
||||
#define write_sockets (*(int (*)(int , unsigned char *, int , int ))global[WRITE_SOCKETS])
|
||||
#define get_max_fd (*(int (*)(void ))global[GET_MAX_FD])
|
||||
#define new_close (*(int (*)(int ))global[NEW_CLOSE])
|
||||
#define new_open (*(int (*)(int ))global[NEW_OPEN])
|
||||
#define dgets (*(int (*)(char *, int , int , int , void *))global[DGETS])
|
||||
#define get_socketinfo (*(void *(*)(int ))global[GET_SOCKETINFO])
|
||||
#define set_socketinfo (*(void (*)(int , void *))global[SET_SOCKETINFO])
|
||||
#define set_socket_write (*(int (*)(int ))global[SET_SOCKETWRITE])
|
||||
|
||||
|
||||
/* flood.c */
|
||||
#define is_other_flood(x, y, z, a) ((int) (global[IS_OTHER_FLOOD]((ChannelList *)x, (NickList *)y, (int)z, (int *)a)))
|
||||
#define check_flooding(x, y, z, a) ((int) (global[CHECK_FLOODING]((char *)x, (int)y, (char *)z, (char *)a)))
|
||||
#define flood_prot(x, y, z, a, b, c) ((int) (global[FLOOD_PROT]((char *)x, (char *)y, (char *)z, (int)a, (int)b, (char *)c)))
|
||||
#define is_other_flood (*(int (*)(ChannelList *, NickList *, int, int *))global[IS_OTHER_FLOOD])
|
||||
#define check_flooding (*(int (*)(char *, int , char *, char *))global[CHECK_FLOODING])
|
||||
#define flood_prot (*(int (*)(char *, char *, char *, int , int , char *))global[FLOOD_PROT])
|
||||
|
||||
/* expr.c */
|
||||
#define next_unit(a, b, c, d) ((char *) (global[NEXT_UNIT]((char *)a, (char *)b, (int *)c, (int)d)))
|
||||
#define parse_inline(x, y, z) ((char *) (global[PARSE_INLINE]((char *)x, (char *)y, (int *)z)))
|
||||
#define expand_alias(a, b, c, d) ((char *) (global[EXPAND_ALIAS]((char *)a, (char *)b, (int *)c, (char **)d)))
|
||||
#define alias_special_char(a, b, c, d, e) ((char *) (global[ALIAS_SPECIAL_CHAR]((char **)a, (char *)b, (char *)c, (char *)d, (int *)e)))
|
||||
#define parse_line(a, b, c, e, f, g) ((void) (global[PARSE_LINE]((char *)a, (char *)b, (char *)c, (int)e, (int)f, (int)g)))
|
||||
#define parse_command(a, b, c) ((void) (global[PARSE_COMMAND_FUNC]((char *)a, (int)b, (char *)c)))
|
||||
#define make_local_stack(a) ((void) (global[MAKE_LOCAL_STACK]((char *)a)))
|
||||
#define destroy_local_stack() ((void (*)(void)) (global[DESTROY_LOCAL_STACK]))()
|
||||
#define next_unit (*(char *(*)(char *, const char *, int *, int ))global[NEXT_UNIT])
|
||||
#define parse_inline (*(char *(*)(char *, const char *, int *))global[PARSE_INLINE])
|
||||
#define expand_alias (*(char *(*)(const char *, const char *, int *, char **))global[EXPAND_ALIAS])
|
||||
#define alias_special_char (*(char *(*)(char **, char *, const char *, char *, int *))global[ALIAS_SPECIAL_CHAR])
|
||||
#define parse_line (*(void (*)(const char *, char *, const char *, int , int , int ))global[PARSE_LINE])
|
||||
#define parse_command (*(int (*)(char *, int , char *))global[PARSE_COMMAND_FUNC])
|
||||
#define make_local_stack (*(void (*)(char *))global[MAKE_LOCAL_STACK])
|
||||
#define destroy_local_stack (*(void (*)(void ))global[DESTROY_LOCAL_STACK])
|
||||
|
||||
|
||||
/* dcc.c */
|
||||
#define dcc_create(a, b, c, d, e, f, g, h) ((DCC_int *) (global[DCC_CREATE_FUNC]((char *)a, (char *)b, (char *)c, (unsigned long)d, (int)e, (int)f, (unsigned long)g, (void (*) (int))h)))
|
||||
#define find_dcc(a, b, c, d, e, f, g) ((SocketList *) (global[FIND_DCC_FUNC]((char *)a, (char *)b, (char *)c, (int)d, (int)e, (int)f, (int)g)))
|
||||
#define erase_dcc_info ((void (*)()) global[ERASE_DCC_INFO])
|
||||
#define add_dcc_bind(a, x, b, c, d, e, f) ((int) (global[ADD_DCC_BIND]((char *)a, (char *)x, (void *)b,(void *)c,(void *)d,(void *)e,(void *)f)))
|
||||
#define remove_dcc_bind(x, y) ((int) (global[REMOVE_DCC_BIND]((char *)x, (int)y)))
|
||||
#define remove_all_dcc_binds(x) ((int) (global[REMOVE_ALL_DCC_BINDS])((char *)x))
|
||||
#define get_active_count ((int (*)(void)) (global[GET_ACTIVE_COUNT]))
|
||||
#define get_num_queue ((int (*)(void)) (global[GET_NUM_QUEUE]))
|
||||
#define add_to_queue(x, y, z) ((int) (global[ADD_TO_QUEUE]((char *)x, (char *)y, (pack *)z)))
|
||||
#define dcc_filesend(x, y) ((void) (global[DCC_FILESEND]((char *)x, (char *)y)))
|
||||
#define dcc_resend(x, y) ((void) (global[DCC_RESEND]((char *)x, (char *)y)))
|
||||
#define dcc_create (*(DCC_int *(*)(char *, char *, char *, unsigned long, int, int, unsigned long, void (*)(int)))global[DCC_CREATE_FUNC])
|
||||
#define find_dcc (*(SocketList *(*)(char *, char *, char *, int, int, int, int))global[FIND_DCC_FUNC])
|
||||
#define erase_dcc_info (*(void (*)(int, int, char *, ...))global[ERASE_DCC_INFO])
|
||||
#define add_dcc_bind (*(int (*)(char *, char *, void *, void *, void *, void *, void *))global[ADD_DCC_BIND])
|
||||
#define remove_dcc_bind (*(int (*)(char *, int ))global[REMOVE_DCC_BIND])
|
||||
#define remove_all_dcc_binds (*(int (*)(char *))global[REMOVE_ALL_DCC_BINDS])
|
||||
#define get_active_count (*(int (*)(void ))global[GET_ACTIVE_COUNT])
|
||||
#define get_num_queue (*(int (*)(void ))global[GET_NUM_QUEUE])
|
||||
#define add_to_queue (*(int (*)(char *, char *, pack *))global[ADD_TO_QUEUE])
|
||||
#define dcc_filesend (*(void (*)(char *, char *))global[DCC_FILESEND])
|
||||
#define dcc_resend (*(void (*)(char *, char *))global[DCC_RESEND])
|
||||
|
||||
/* irc.c */
|
||||
#define irc_exit ((void (*)()) (global[IRC_EXIT_FUNC]))
|
||||
#define io(x) ((void) (global[IRC_IO_FUNC]((char *)x)))
|
||||
#define irc_exit (*(void (*)(int, char *, char *, ...))global[IRC_EXIT_FUNC])
|
||||
#define io (*(void (*)(const char *))global[IRC_IO_FUNC])
|
||||
|
||||
/* commands.c */
|
||||
#define find_command(x, y) ( (IrcCommand *)(global[FIND_COMMAND_FUNC]((char *)x, (int *)y)))
|
||||
#define find_command (*(IrcCommand *(*)(char *, int *))global[FIND_COMMAND_FUNC])
|
||||
|
||||
#define lock_stack_frame() ((void (*)(void)) (global[LOCK_STACK_FRAME]))()
|
||||
#define unlock_stack_frame() ((void (*) (void)) (global[UNLOCK_STACK_FRAME]))()
|
||||
#define lock_stack_frame (*(void (*)(void ))global[LOCK_STACK_FRAME])
|
||||
#define unlock_stack_frame (*(void (*)(void ))global[UNLOCK_STACK_FRAME])
|
||||
|
||||
/* who.c */
|
||||
#define userhostbase ((void (*)())global[USERHOSTBASE])
|
||||
#define isonbase ((void (*)())global[ISONBASE])
|
||||
#define whobase ((void (*)())global[WHOBASE])
|
||||
#define userhostbase (*(void (*)(char *, void (*)(UserhostItem *, char *, char *), int, char *, ...))global[USERHOSTBASE])
|
||||
#define isonbase (*(void (*)(char *, void (*)(char *, char *)))global[ISONBASE])
|
||||
#define whobase (*(void (*)(char *, void (*)(WhoEntry *, char *, char **), void (*)(WhoEntry *, char *, char **), char *, ...))global[WHOBASE])
|
||||
|
||||
#define add_to_window_list(x, y) ((int) (global[ADD_TO_WINDOW_LIST]((struct ScreenStru *)x, (Window *)y)))
|
||||
#define add_to_window_list (*(Window *(*)(struct ScreenStru *, Window *))global[ADD_TO_WINDOW_LIST])
|
||||
|
||||
/*
|
||||
* Rest of these are all variables of various sorts.
|
||||
|
||||
@@ -74,7 +74,7 @@ void move_window_channels (Window *);
|
||||
void reassign_window_channels (Window *);
|
||||
void check_channel_limits();
|
||||
void BX_clear_bans(ChannelList *);
|
||||
char *BX_compress_modes(ChannelList *, int, char *, char*);
|
||||
char *BX_do_compress_modes(ChannelList *, int, char *, char*);
|
||||
int BX_got_ops(int, ChannelList *);
|
||||
void BX_flush_channel_stats (void);
|
||||
char *BX_get_channel_bans(char *, int, int);
|
||||
|
||||
@@ -709,7 +709,7 @@ typedef struct WindowStru
|
||||
int in_more;
|
||||
int save_hold_mode;
|
||||
int mangler;
|
||||
void (*update_window_status) (struct WindowStru *);
|
||||
void (*update_status) (struct WindowStru *);
|
||||
void (*update_input) (struct WindowStru *);
|
||||
} Window;
|
||||
|
||||
@@ -939,7 +939,7 @@ typedef struct channel_stru
|
||||
int limit; /* max users for the channel */
|
||||
time_t limit_time; /* time of last limit set */
|
||||
char *key; /* key for this channel */
|
||||
char chop; /* true if you are chop */
|
||||
char have_op; /* true if you are a channel op */
|
||||
char hop; /* true if you are a half op */
|
||||
char voice; /* true if you are voice */
|
||||
char bound; /* true if channel is bound */
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
void BX_set_prompt_by_refnum (unsigned, char *);
|
||||
char *BX_get_prompt_by_refnum (unsigned);
|
||||
char *BX_get_target_by_refnum (unsigned);
|
||||
const char *BX_query_nick (void);
|
||||
void BX_set_query_nick (char *, char *, char *);
|
||||
int BX_is_current_channel (char *, int, int);
|
||||
const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
@@ -76,7 +75,6 @@ const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
int BX_get_window_server (unsigned);
|
||||
void BX_set_window_server (int, int, int);
|
||||
int windows_connected_to_server (int);
|
||||
void window_close_server (int);
|
||||
void BX_set_level_by_refnum (unsigned, unsigned long);
|
||||
void BX_message_to (unsigned long);
|
||||
|
||||
@@ -108,7 +106,7 @@ const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
void BX_scrollback_forwards (char, char *);
|
||||
void BX_scrollback_end (char, char *);
|
||||
void BX_scrollback_start (char, char *);
|
||||
void BX_hold_mode (Window *, int, int);
|
||||
void BX_set_hold_mode (Window *, int, int);
|
||||
void BX_unstop_all_windows (char, char *);
|
||||
void BX_reset_line_cnt (Window *, char *, int);
|
||||
void BX_toggle_stop_screen (char, char *);
|
||||
@@ -126,7 +124,6 @@ const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
Window *BX_get_window_by_desc (const char *);
|
||||
char *BX_get_nicklist_by_window (Window *); /* XXX */
|
||||
void BX_set_scrollback_size (Window *, char *, int);
|
||||
void BX_make_window_current (Window *);
|
||||
Window *window_query (Window *, char **, char *);
|
||||
int BX_unhold_windows (void);
|
||||
void free_window (Window *);
|
||||
@@ -135,7 +132,6 @@ const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
|
||||
char *BX_get_status_by_refnum (unsigned , unsigned);
|
||||
void BX_unclear_window_by_refnum (unsigned);
|
||||
void BX_set_screens_current_window (Screen *, Window *);
|
||||
void BX_clear_scrollback (Window *);
|
||||
void BX_clear_window (Window *window);
|
||||
void BX_repaint_window (Window *, int, int);
|
||||
@@ -146,8 +142,6 @@ const char *BX_set_current_channel_by_refnum (unsigned, char *);
|
||||
void BX_free_formats (Window *);
|
||||
void BX_goto_window (Screen *, int);
|
||||
void BX_update_window_status_all (void);
|
||||
const char *BX_query_host (void);
|
||||
const char *BX_query_cmd (void);
|
||||
void BX_window_check_servers (int);
|
||||
int windows_connected_to_server (int);
|
||||
void window_change_server (int, int);
|
||||
|
||||
@@ -743,7 +743,7 @@ void destroy_arglist (ArgList *arglist)
|
||||
new_free(&arglist->vars[i]);
|
||||
new_free(&arglist->defaults[i]);
|
||||
}
|
||||
new_free((char **)&arglist);
|
||||
new_free(&arglist);
|
||||
}
|
||||
|
||||
void prepare_alias_call (void *al, char **stuff)
|
||||
@@ -1707,7 +1707,7 @@ char ** glob_cmd_alias (char *name, int *howmany)
|
||||
|
||||
len = strlen(name);
|
||||
*howmany = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
|
||||
for (cnt = 0; cnt < cmd_alias.max; cnt++)
|
||||
{
|
||||
@@ -1749,7 +1749,7 @@ char ** glob_assign_alias (char *name, int *howmany)
|
||||
|
||||
len = strlen(name);
|
||||
*howmany = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
|
||||
for (cnt = 0; cnt < var_alias.max; cnt++)
|
||||
{
|
||||
@@ -1790,7 +1790,7 @@ char ** pmatch_cmd_alias (char *name, int *howmany)
|
||||
|
||||
len = strlen(name);
|
||||
*howmany = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
|
||||
for (cnt = 0; cnt < cmd_alias.max; cnt++)
|
||||
{
|
||||
@@ -1826,7 +1826,7 @@ char ** pmatch_assign_alias (char *name, int *howmany)
|
||||
|
||||
len = strlen(name);
|
||||
*howmany = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
|
||||
for (cnt = 0; cnt < var_alias.max; cnt++)
|
||||
{
|
||||
@@ -1873,7 +1873,7 @@ char ** get_subarray_elements (char *root, int *howmany, int type)
|
||||
|
||||
len = strlen(root);
|
||||
*howmany = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
for (cnt = 0; cnt < as->max; cnt++)
|
||||
{
|
||||
len2 = strlen(as->list[cnt]->name);
|
||||
|
||||
@@ -280,21 +280,21 @@ extern void move_index (an_array *array, long oldindex, long newindex)
|
||||
*/
|
||||
extern long find_index (an_array *array, long item)
|
||||
{
|
||||
long search = 0;
|
||||
long i = 0;
|
||||
|
||||
if (array->size >= ARRAY_THRESHOLD)
|
||||
{
|
||||
search = find_item(*array, array->item[item]);
|
||||
while (search >= 0 && !strcmp(array->item[array->index[search]], array->item[item]))
|
||||
search--;
|
||||
search++;
|
||||
i = find_item(*array, array->item[item]);
|
||||
while (i >= 0 && !strcmp(array->item[array->index[i]], array->item[item]))
|
||||
i--;
|
||||
i++;
|
||||
}
|
||||
while(array->index[search] != item && search < array->size)
|
||||
search++;
|
||||
while(array->index[i] != item && i < array->size)
|
||||
i++;
|
||||
|
||||
if (search == array->size)
|
||||
if (i == array->size)
|
||||
say("ERROR in find_index()");
|
||||
return search;
|
||||
return i;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -350,7 +350,7 @@ extern void delete_array (char *name)
|
||||
}
|
||||
array_info.item = (char**)RESIZE(array_info.item, char *, array_info.size);
|
||||
array_info.index = (long *)RESIZE(array_info.index, long, array_info.size);
|
||||
array_array = (an_array *)RESIZE(array_array, an_array, array_info.size);
|
||||
RESIZE(array_array, an_array, array_info.size);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -680,7 +680,7 @@ BUILT_IN_FUNCTION(function_setitem)
|
||||
if (item == 0)
|
||||
{
|
||||
if (array_info.size)
|
||||
array_array = (an_array*)RESIZE(array_array, an_array, (array_info.size + 1));
|
||||
RESIZE(array_array, an_array, (array_info.size + 1));
|
||||
else
|
||||
array_array = (an_array*)new_malloc(sizeof(an_array));
|
||||
array = &array_array[array_info.size];
|
||||
|
||||
@@ -776,7 +776,7 @@ DCC_int *n;
|
||||
ch = lookup_channel(chan, from_server, 0);
|
||||
else
|
||||
ch = lookup_channel(get_current_channel_by_refnum(0), from_server, 0);
|
||||
if (!nick || !ch || !ch->chop) { dcc_printf(idx, "No Nick specified or not on that channel or not chop\n"); return TCL_ERROR; }
|
||||
if (!nick || !ch || !ch->have_op) { dcc_printf(idx, "No Nick specified, not on that channel or not channel op\n"); return TCL_ERROR; }
|
||||
while ((n1 = next_in_comma_list(nick, &nick)))
|
||||
{
|
||||
if (!n1 || !*n1) break;
|
||||
|
||||
@@ -1128,7 +1128,7 @@ BUILT_IN_COMMAND(my_clear)
|
||||
if (scrollback)
|
||||
clear_scrollback(get_window_by_refnum(0));
|
||||
if (unhold)
|
||||
hold_mode(NULL, OFF, 1);
|
||||
set_hold_mode(NULL, OFF, 1);
|
||||
clear_window_by_refnum(0);
|
||||
}
|
||||
#if defined(WINNT) || defined(__EMX__)
|
||||
@@ -3393,7 +3393,7 @@ extern int MODE_TOPIC;
|
||||
my_send_to_server(server, "TOPIC %s :", chan->channel);
|
||||
return;
|
||||
}
|
||||
if (arg && (!(chan->mode & MODE_TOPIC) || chan->chop))
|
||||
if (arg && (!(chan->mode & MODE_TOPIC) || chan->have_op))
|
||||
{
|
||||
if (is_channel(arg))
|
||||
{
|
||||
@@ -3429,7 +3429,7 @@ BUILT_IN_COMMAND(do_mtopic)
|
||||
int count = 0;
|
||||
for (chan = get_server_channels(from_server); chan; chan = chan->next)
|
||||
{
|
||||
if (!chan->chop)
|
||||
if (!chan->have_op)
|
||||
continue;
|
||||
send_to_server("TOPIC %s :%s", chan->channel, args ? args : empty_string);
|
||||
count++;
|
||||
@@ -5020,7 +5020,7 @@ BUILT_IN_COMMAND(sendlinecmd)
|
||||
void irc_clear_screen(char key, char *ptr)
|
||||
{
|
||||
|
||||
hold_mode(NULL, OFF, 1);
|
||||
set_hold_mode(NULL, OFF, 1);
|
||||
my_clear(NULL, empty_string, empty_string, NULL);
|
||||
}
|
||||
|
||||
@@ -5117,7 +5117,7 @@ BUILT_IN_COMMAND(me)
|
||||
}
|
||||
else if (!my_stricmp(command, "qme"))
|
||||
{
|
||||
target = (char *)query_nick();
|
||||
target = current_window->query_nick;
|
||||
if (!target)
|
||||
{
|
||||
Window *tmp = NULL;
|
||||
|
||||
@@ -406,7 +406,7 @@ char buffer[BIG_BUFFER_SIZE+1];
|
||||
}
|
||||
modelock++;
|
||||
}
|
||||
if (chan && chan->chop && buffer)
|
||||
if (chan && chan->have_op && buffer)
|
||||
send_to_server("MODE %s %s", chan->channel, buffer);
|
||||
new_free(&save);
|
||||
new_free(&save1);
|
||||
|
||||
@@ -1267,7 +1267,7 @@ void set_channel_limit(ChannelList *channel, int currentlimit, int add, int numu
|
||||
|
||||
void check_channel_limit(ChannelList *chan)
|
||||
{
|
||||
if (chan && chan->csets && chan->csets->set_auto_limit && chan->chop)
|
||||
if (chan && chan->csets && chan->csets->set_auto_limit && chan->have_op)
|
||||
{
|
||||
int count = 0;
|
||||
NickList *nick;
|
||||
|
||||
@@ -598,7 +598,7 @@ int server;
|
||||
return NULL;
|
||||
}
|
||||
sprintf(ban, "%s!%s", from, FromUserHost);
|
||||
if (chan && chan->chop)
|
||||
if (chan && chan->have_op)
|
||||
{
|
||||
if ((b = ban_is_on_channel(ban, chan)))
|
||||
{
|
||||
|
||||
68
source/dcc.c
68
source/dcc.c
@@ -198,28 +198,28 @@ typedef struct
|
||||
DCC_dllcommands *dcc_dllcommands = NULL;
|
||||
|
||||
|
||||
DCC_COMMAND(dcc_chat);
|
||||
DCC_COMMAND(BX_dcc_filesend);
|
||||
DCC_COMMAND(BX_dcc_resend);
|
||||
DCC_COMMAND(dcc_getfile);
|
||||
DCC_COMMAND(dcc_regetfile);
|
||||
DCC_COMMAND(dcc_glist);
|
||||
DCC_COMMAND(dcc_resume);
|
||||
DCC_COMMAND(dcc_rename);
|
||||
void dcc_chat(char *command, char *args);
|
||||
void BX_dcc_filesend(char *command, char *args);
|
||||
void BX_dcc_resend(char *command, char *args);
|
||||
void dcc_getfile(char *command, char *args);
|
||||
void dcc_regetfile(char *command, char *args);
|
||||
void dcc_glist(char *command, char *args);
|
||||
void dcc_resume(char *command, char *args);
|
||||
void dcc_rename(char *command, char *args);
|
||||
|
||||
DCC_COMMAND(dcc_show_active);
|
||||
DCC_COMMAND(dcc_set_quiet);
|
||||
DCC_COMMAND(dcc_set_paths);
|
||||
DCC_COMMAND(dcc_tog_rename);
|
||||
DCC_COMMAND(dcc_tog_resume);
|
||||
DCC_COMMAND(dcc_overwrite_toggle);
|
||||
DCC_COMMAND(dcc_tog_auto);
|
||||
DCC_COMMAND(dcc_stats);
|
||||
DCC_COMMAND(dcc_close);
|
||||
DCC_COMMAND(dcc_closeall);
|
||||
DCC_COMMAND(dcc_help1);
|
||||
DCC_COMMAND(dcc_exempt);
|
||||
DCC_COMMAND(dcc_ftpopen);
|
||||
void dcc_show_active(char *command, char *args);
|
||||
void dcc_set_quiet(char *command, char *args);
|
||||
void dcc_set_paths(char *command, char *args);
|
||||
void dcc_tog_rename(char *command, char *args);
|
||||
void dcc_tog_resume(char *command, char *args);
|
||||
void dcc_overwrite_toggle(char *command, char *args);
|
||||
void dcc_tog_auto(char *command, char *args);
|
||||
void dcc_stats(char *command, char *args);
|
||||
void dcc_close(char *command, char *args);
|
||||
void dcc_closeall(char *command, char *args);
|
||||
void dcc_help1(char *command, char *args);
|
||||
void dcc_exempt(char *command, char *args);
|
||||
void dcc_ftpopen(char *command, char *args);
|
||||
|
||||
DCC_commands dcc_commands[] =
|
||||
{
|
||||
@@ -1516,7 +1516,7 @@ char *user = NULL;
|
||||
return user;
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_chat)
|
||||
void dcc_chat(char *command, char *args)
|
||||
{
|
||||
char *user;
|
||||
char *nick;
|
||||
@@ -2005,7 +2005,7 @@ void real_file_send(char *nick, char *filename, char *passwd, char *port, int td
|
||||
new->blocksize = blocksize;
|
||||
}
|
||||
|
||||
DCC_COMMAND(BX_dcc_filesend)
|
||||
void BX_dcc_filesend(char *command, char *args)
|
||||
{
|
||||
char *user;
|
||||
char *nick;
|
||||
@@ -2044,7 +2044,7 @@ DCC_COMMAND(BX_dcc_filesend)
|
||||
doing_multi = 0;
|
||||
}
|
||||
|
||||
DCC_COMMAND(BX_dcc_resend)
|
||||
void BX_dcc_resend(char *command, char *args)
|
||||
{
|
||||
char *user;
|
||||
char *nick;
|
||||
@@ -2205,7 +2205,7 @@ char *nick;
|
||||
}
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_getfile)
|
||||
void dcc_getfile(char *command, char *args)
|
||||
{
|
||||
char *user;
|
||||
|
||||
@@ -2284,7 +2284,7 @@ char *nick;
|
||||
}
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_regetfile)
|
||||
void dcc_regetfile(char *command, char *args)
|
||||
{
|
||||
char *user;
|
||||
char *passwd = NULL;
|
||||
@@ -2354,7 +2354,7 @@ static char *_dcc_offer[12] = {"%K
|
||||
}
|
||||
|
||||
|
||||
DCC_COMMAND(dcc_glist)
|
||||
void dcc_glist(char *command, char *args)
|
||||
{
|
||||
char *dformat =
|
||||
"#$[3]0 $[6]1%Y$2%n $[11]3 $[25]4 $[7]5 $6-";
|
||||
@@ -2985,7 +2985,7 @@ BUILT_IN_COMMAND(chat)
|
||||
}
|
||||
|
||||
|
||||
DCC_COMMAND(dcc_exempt)
|
||||
void dcc_exempt(char *command, char *args)
|
||||
{
|
||||
int remove;
|
||||
List *nptr = NULL;
|
||||
@@ -3314,7 +3314,7 @@ unsigned long flags;
|
||||
return;
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_close)
|
||||
void dcc_close(char *command, char *args)
|
||||
{
|
||||
char *type;
|
||||
char *file;
|
||||
@@ -3413,7 +3413,7 @@ int num = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_closeall)
|
||||
void dcc_closeall(char *command, char *args)
|
||||
{
|
||||
close_all_dcc();
|
||||
}
|
||||
@@ -3499,7 +3499,7 @@ struct stat sb;
|
||||
new_free(&tmp);
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_resume)
|
||||
void dcc_resume(char *command, char *args)
|
||||
{
|
||||
char *user, *nick;
|
||||
char *filename = NULL;
|
||||
@@ -3596,7 +3596,7 @@ int blocksize = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
DCC_COMMAND(dcc_help1)
|
||||
void dcc_help1(char *command, char *args)
|
||||
{
|
||||
char *comm;
|
||||
int i, c;
|
||||
@@ -4061,7 +4061,7 @@ FILE *f;
|
||||
return dir ? m_strdup(dir) : NULL;
|
||||
}
|
||||
|
||||
DCC_COMMAND(dcc_ftpopen)
|
||||
void dcc_ftpopen(char *command, char *args)
|
||||
{
|
||||
char u[] = "anonymous";
|
||||
char p[] = "- bxuser@";
|
||||
@@ -4155,7 +4155,7 @@ SocketList *s;
|
||||
}
|
||||
|
||||
|
||||
DCC_COMMAND(dcc_rename)
|
||||
void dcc_rename(char *command, char *args)
|
||||
{
|
||||
DCC_List *tmp;
|
||||
DCC_int *n;
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
* See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE /* Needed for strsignal from string.h on GLIBC systems */
|
||||
|
||||
#include "irc.h"
|
||||
static char cvsrevision[] = "$Id$";
|
||||
CVS_REVISION(exec_c)
|
||||
@@ -86,7 +88,7 @@ extern char *next_expr (char **, char);
|
||||
|
||||
/*
|
||||
* A nice array of the possible signals. Used by the coredump trapping
|
||||
* routines and in the exec.c package
|
||||
* routines and in the exec.c package.
|
||||
*/
|
||||
#if !defined(SYS_SIGLIST_DECLARED) && !defined(_SYS_SIGLIST_DECLARED) && !defined(__QNX__)
|
||||
#if defined(WINNT) || defined(__EMX__)
|
||||
@@ -96,7 +98,7 @@ char *sys_siglist[] = { "ZERO", "SIGINT", "SIGKILL", "SIGPIPE", "SIGFPE",
|
||||
"SIGBUS", "SIGLOST", "SIGSTOP", "SIGABRT", "SIGUSR1",
|
||||
"SIGUSR2", "SIGCHLD", "SIGTTOU", "SIGTTIN", "SIGCONT" };
|
||||
#elif defined(__GLIBC__)
|
||||
#define _GNU_SOURCE
|
||||
#define USING_STRSIGNAL
|
||||
/* use strsignal() from <string.h> */
|
||||
#include <string.h>
|
||||
#else
|
||||
@@ -432,7 +434,7 @@ BUILT_IN_COMMAND(execcmd)
|
||||
*/
|
||||
for (sig = 1; sig < NSIG-1; sig++)
|
||||
{
|
||||
#if defined(_GNU_SOURCE)
|
||||
#if defined(USING_STRSIGNAL)
|
||||
if (strsignal(sig) && !my_strnicmp(strsignal(sig), flag, len))
|
||||
#else
|
||||
if (sys_siglist[sig] && !my_strnicmp(sys_siglist[sig], flag, len))
|
||||
@@ -1162,7 +1164,7 @@ static void cleanup_dead_processes (void)
|
||||
if (dead->termsig > 0 && dead->termsig < NSIG)
|
||||
say("Process %d (%s) terminated with signal %s (%d)",
|
||||
dead->index, dead->name,
|
||||
#if defined(_GNU_SOURCE)
|
||||
#if defined(USING_STRSIGNAL)
|
||||
strsignal(dead->termsig),
|
||||
#else
|
||||
sys_siglist[dead->termsig],
|
||||
@@ -1260,7 +1262,7 @@ void kill_process (int kill_index, int sig)
|
||||
}
|
||||
|
||||
say("Sending signal %s (%d) to process %d: %s",
|
||||
#if defined(_GNU_SOURCE)
|
||||
#if defined(USING_STRSIGNAL)
|
||||
strsignal(sig),
|
||||
#else
|
||||
sys_siglist[sig],
|
||||
|
||||
@@ -1518,9 +1518,7 @@ char *BX_alias_special_char(char **buffer, char *ptr, const char *args, char *qu
|
||||
pad_char = 0;
|
||||
register unsigned char c;
|
||||
|
||||
int upper,
|
||||
lower,
|
||||
length;
|
||||
int length;
|
||||
|
||||
length = 0;
|
||||
if ((c = *ptr) == LEFT_BRACKET)
|
||||
@@ -1723,6 +1721,8 @@ register unsigned char c;
|
||||
*/
|
||||
if (isdigit(c) || (c == '-') || c == '~')
|
||||
{
|
||||
int first, last;
|
||||
|
||||
*args_flag = 1;
|
||||
|
||||
/*
|
||||
@@ -1731,7 +1731,7 @@ register unsigned char c;
|
||||
*/
|
||||
if (c == '~')
|
||||
{
|
||||
lower = upper = EOS;
|
||||
first = last = EOS;
|
||||
ptr++;
|
||||
}
|
||||
|
||||
@@ -1748,10 +1748,10 @@ register unsigned char c;
|
||||
*/
|
||||
else if (c == '-')
|
||||
{
|
||||
lower = SOS;
|
||||
first = SOS;
|
||||
ptr++;
|
||||
upper = parse_number(&ptr);
|
||||
if (upper == -1)
|
||||
last = parse_number(&ptr);
|
||||
if (last == -1)
|
||||
return empty_string; /* error */
|
||||
}
|
||||
|
||||
@@ -1761,16 +1761,16 @@ register unsigned char c;
|
||||
*/
|
||||
else
|
||||
{
|
||||
lower = parse_number(&ptr);
|
||||
first = parse_number(&ptr);
|
||||
if (*ptr == '-')
|
||||
{
|
||||
ptr++;
|
||||
upper = parse_number(&ptr);
|
||||
if (upper == -1)
|
||||
upper = EOS;
|
||||
last = parse_number(&ptr);
|
||||
if (last == -1)
|
||||
last = EOS;
|
||||
}
|
||||
else
|
||||
upper = lower;
|
||||
last = first;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1785,7 +1785,7 @@ register unsigned char c;
|
||||
if (!args)
|
||||
tmp2 = m_strdup(empty_string);
|
||||
else
|
||||
tmp2 = extract2(args, lower, upper);
|
||||
tmp2 = extract2(args, first, last);
|
||||
|
||||
TruncateAndQuote(buffer, tmp2, length, quote_em, pad_char);
|
||||
new_free(&tmp2);
|
||||
|
||||
@@ -460,7 +460,7 @@ ChannelList *chan = NULL;
|
||||
for (chan = get_server_channels(from_server); chan; chan = chan->next)
|
||||
if ((Nick = find_nicklist_in_channellist(nick, chan, 0)))
|
||||
break;
|
||||
if (chan && chan->chop && get_cset_int_var(chan->csets, CTCP_FLOOD_BAN_CSET) && Nick)
|
||||
if (chan && chan->have_op && get_cset_int_var(chan->csets, CTCP_FLOOD_BAN_CSET) && Nick)
|
||||
{
|
||||
if (!Nick->userlist || (Nick->userlist && !(Nick->userlist->flags & ADD_FLOOD)))
|
||||
{
|
||||
@@ -509,7 +509,7 @@ int kick_on_flood = 1;
|
||||
kick_on_flood = get_cset_int_var(chan->csets, PUBFLOOD_CSET);
|
||||
if (kick_on_flood && (Nick = find_nicklist_in_channellist(nick, chan, 0)))
|
||||
{
|
||||
if (chan->chop && (!Nick->userlist || (Nick->userlist && !(Nick->userlist->flags & ADD_FLOOD))))
|
||||
if (chan->have_op && (!Nick->userlist || (Nick->userlist && !(Nick->userlist->flags & ADD_FLOOD))))
|
||||
if (!nick_isop(Nick) || get_cset_int_var(chan->csets, KICK_OPS_CSET))
|
||||
send_to_server("KICK %s %s :\002%s\002 flooder", chan->channel, nick, type);
|
||||
}
|
||||
@@ -524,7 +524,7 @@ int kick_on_flood = 1;
|
||||
{
|
||||
for (chan = get_server_channels(from_server); chan; chan = chan->next)
|
||||
{
|
||||
if (chan->chop && (Nick = find_nicklist_in_channellist(nick, chan, 0)))
|
||||
if (chan->have_op && (Nick = find_nicklist_in_channellist(nick, chan, 0)))
|
||||
{
|
||||
if ((!Nick->userlist || (Nick->userlist && !(Nick->userlist->flags & ADD_FLOOD))))
|
||||
if (!nick_isop(Nick) || get_cset_int_var(chan->csets, KICK_OPS_CSET))
|
||||
|
||||
@@ -1021,13 +1021,15 @@ IrcVariable *return_fset_var(int nummer)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This is a horrible hack so that the standard List functions can be used
|
||||
* for the numeric list.
|
||||
*/
|
||||
int compare_number(List *item1, List *item2)
|
||||
{
|
||||
if ((int)item1->name == (int)(item2->name))
|
||||
return 0;
|
||||
else if ((int)item1->name > (int)(item2->name))
|
||||
return 1;
|
||||
return -1;
|
||||
FsetNumber *real1 = (FsetNumber *)item1;
|
||||
FsetNumber *real2 = (FsetNumber *)item2;
|
||||
|
||||
return real1->numeric - real2->numeric;
|
||||
}
|
||||
|
||||
char *find_numeric_fset(int numeric)
|
||||
|
||||
@@ -954,7 +954,7 @@ BuiltInDllFunctions *dll = NULL;
|
||||
|
||||
len = strlen(name);
|
||||
*cnt = 0;
|
||||
matches = RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
while (built_in_functions[i].func && i <= NUMBER_OF_FUNCTIONS)
|
||||
{
|
||||
if (strncmp(name, built_in_functions[i].name, len) == 0)
|
||||
@@ -965,7 +965,7 @@ BuiltInDllFunctions *dll = NULL;
|
||||
if (++(*cnt) == matches_size)
|
||||
{
|
||||
matches_size += 5;
|
||||
matches = (char **) RESIZE(matches, char *, matches_size);
|
||||
RESIZE(matches, char *, matches_size);
|
||||
}
|
||||
}
|
||||
else if (*cnt)
|
||||
@@ -1173,7 +1173,7 @@ static char *alias_serverport (void)
|
||||
static char *alias_query_nick (void)
|
||||
{
|
||||
char *tmp;
|
||||
return m_strdup((tmp = (char *)query_nick()) ? tmp : empty_string);
|
||||
return m_strdup((tmp = current_window->query_nick) ? tmp : empty_string);
|
||||
}
|
||||
|
||||
static char *alias_target (void)
|
||||
@@ -1950,7 +1950,7 @@ BUILT_IN_FUNCTION(function_before, word)
|
||||
if (numint < 0 && strlen(word))
|
||||
pointer = word + strlen(word) - 1;
|
||||
|
||||
pointer = search(word, &pointer, chars, numint);
|
||||
pointer = strsearch(word, pointer, chars, numint);
|
||||
|
||||
if (!pointer)
|
||||
RETURN_EMPTY;
|
||||
@@ -1985,7 +1985,7 @@ BUILT_IN_FUNCTION(function_after, word)
|
||||
if (numint < 0 && strlen(word))
|
||||
pointer = word + strlen(word) - 1;
|
||||
|
||||
pointer = search(word, &pointer, chars, numint);
|
||||
pointer = strsearch(word, pointer, chars, numint);
|
||||
|
||||
if (!pointer || !*pointer)
|
||||
RETURN_EMPTY;
|
||||
|
||||
@@ -1189,7 +1189,7 @@ BUILT_IN_KEYBINDING(send_line)
|
||||
if (!(cmdchar = get_string_var(CMDCHARS_VAR)))
|
||||
cmdchar = "/";
|
||||
malloc_strcpy(&tmp, line);
|
||||
if (line && (*line != *cmdchar) && get_int_var(NICK_COMPLETION_VAR) && !query_nick())
|
||||
if (line && (*line != *cmdchar) && get_int_var(NICK_COMPLETION_VAR) && !current_window->query_nick)
|
||||
{
|
||||
char auto_comp_char;
|
||||
char *p;
|
||||
@@ -1319,7 +1319,7 @@ BUILT_IN_KEYBINDING(type_text)
|
||||
*/
|
||||
BUILT_IN_KEYBINDING(clear_screen)
|
||||
{
|
||||
hold_mode(NULL, OFF, 1);
|
||||
set_hold_mode(NULL, OFF, 1);
|
||||
clear_window_by_refnum(0);
|
||||
}
|
||||
|
||||
@@ -1721,7 +1721,7 @@ BUILT_IN_KEYBINDING(cpu_saver_on)
|
||||
|
||||
BUILT_IN_KEYBINDING(input_unclear_screen)
|
||||
{
|
||||
hold_mode(NULL, OFF, 1);
|
||||
set_hold_mode(NULL, OFF, 1);
|
||||
unclear_window_by_refnum(0);
|
||||
}
|
||||
|
||||
@@ -2702,7 +2702,7 @@ do_more_tab:
|
||||
{
|
||||
char **completes = NULL;
|
||||
int c = 0, matches = count;
|
||||
completes = RESIZE(completes, char *, count+1);
|
||||
RESIZE(completes, char *, count+1);
|
||||
if (wcount > 1)
|
||||
{
|
||||
if (!got_space)
|
||||
|
||||
@@ -93,13 +93,13 @@ void * n_malloc (size_t size, const char *module, const char *file, const int li
|
||||
/*
|
||||
* new_free: Why do this? Why not? Saves me a bit of trouble here and there
|
||||
*/
|
||||
void * n_free(void **ptr, const char *module, const char *file, const int line)
|
||||
void * n_free(void *ptr, const char *module, const char *file, const int line)
|
||||
{
|
||||
if (*ptr)
|
||||
if (ptr)
|
||||
{
|
||||
#ifdef FREE_DEBUG
|
||||
/* Check to make sure its not been freed before */
|
||||
if (alloc_size(*ptr) == FREED_VAL)
|
||||
if (alloc_size(ptr) == FREED_VAL)
|
||||
{
|
||||
yell("free()ing a already free'd pointer, giving up!");
|
||||
putlog(LOG_ALL, "*", "*** failed free %s %s (%d)", module?module:empty_string, file, line);
|
||||
@@ -107,42 +107,41 @@ void * n_free(void **ptr, const char *module, const char *file, const int line)
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
alloc_size(*ptr) = FREED_VAL;
|
||||
alloc_size(ptr) = FREED_VAL;
|
||||
|
||||
#ifdef MEM_DEBUG
|
||||
_free_leap(file, line, (void *)alloc_start(*ptr));
|
||||
_free_leap(file, line, (void *)alloc_start(ptr));
|
||||
#else
|
||||
free((void *)alloc_start(*ptr));
|
||||
free((void *)alloc_start(ptr));
|
||||
#endif
|
||||
*ptr = NULL;
|
||||
ptr = NULL;
|
||||
}
|
||||
return (*ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void * n_realloc (void **ptr, size_t size, const char *module, const char *file, const int line)
|
||||
void * n_realloc (void *ptr, size_t size, const char *module, const char *file, const int line)
|
||||
{
|
||||
char *ptr2 = NULL;
|
||||
|
||||
if (*ptr)
|
||||
if (ptr)
|
||||
{
|
||||
if (size)
|
||||
{
|
||||
size_t msize = alloc_size(*ptr);
|
||||
size_t msize = alloc_size(ptr);
|
||||
|
||||
if (msize >= size)
|
||||
return *ptr;
|
||||
return ptr;
|
||||
|
||||
ptr2 = n_malloc(size, module, file, line);
|
||||
memmove(ptr2, *ptr, msize);
|
||||
memmove(ptr2, ptr, msize);
|
||||
n_free(ptr, module, file, line);
|
||||
return ((*ptr = ptr2));
|
||||
return ptr2;
|
||||
}
|
||||
n_free(ptr, module, file, line);
|
||||
return NULL;
|
||||
return n_free(ptr, module, file, line);
|
||||
}
|
||||
else if (size)
|
||||
ptr2 = n_malloc(size, module, file, line);
|
||||
return ((*ptr = ptr2));
|
||||
return ptr2;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -155,14 +154,14 @@ void * n_realloc (void **ptr, size_t size, const char *module, const char *file,
|
||||
char * n_malloc_strcpy (char **ptr, const char *src, const char *module, const char *file, const int line)
|
||||
{
|
||||
if (!src)
|
||||
return n_free((void **)ptr, module, file, line);
|
||||
return *ptr = n_free(*ptr, module, file, line);
|
||||
if (ptr && *ptr)
|
||||
{
|
||||
if (*ptr == src)
|
||||
return *ptr;
|
||||
if (alloc_size(*ptr) > strlen(src))
|
||||
return strcpy(*ptr, src);
|
||||
n_free((void **)ptr, module, file, line);
|
||||
*ptr = n_free(*ptr, module, file, line);
|
||||
}
|
||||
*ptr = n_malloc(strlen(src) + 1, module, file, line);
|
||||
return strcpy(*ptr, src);
|
||||
@@ -179,7 +178,7 @@ char * n_malloc_strcat (char **ptr, const char *src, const char *module, const c
|
||||
if (!src)
|
||||
return *ptr;
|
||||
msize = strlen(*ptr) + strlen(src) + 1;
|
||||
n_realloc((void **)ptr, sizeof(char)*msize, module, file, line);
|
||||
*ptr = n_realloc(*ptr, sizeof(char)*msize, module, file, line);
|
||||
return strcat(*ptr, src);
|
||||
}
|
||||
return (*ptr = n_m_strdup(src, module, file, line));
|
||||
@@ -867,7 +866,7 @@ char * n_m_strcat_ues(char **dest, char *src, int unescape, const char *module,
|
||||
total_length += strlen(src);
|
||||
|
||||
/* RESIZE(*dest, char, total_length + 2);*/
|
||||
n_realloc((void **)dest, sizeof(char) * (total_length + 2), module, file, line);
|
||||
*dest = n_realloc(*dest, sizeof(char) * (total_length + 2), module, file, line);
|
||||
if (z == 0)
|
||||
**dest = 0;
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ int kick_count = 0;
|
||||
UserList *user = NULL;
|
||||
|
||||
|
||||
if (channel && (tmp = lookup_channel(channel, from_server, CHAN_NOUNLINK)) && tmp->chop && tmp->max_idle && tmp->check_idle)
|
||||
if (channel && (tmp = lookup_channel(channel, from_server, CHAN_NOUNLINK)) && tmp->have_op && tmp->max_idle && tmp->check_idle)
|
||||
{
|
||||
NickList *nick;
|
||||
for (nick = next_nicklist(tmp, NULL); nick; nick = next_nicklist(tmp, nick))
|
||||
@@ -738,7 +738,7 @@ int t = 0;
|
||||
}
|
||||
if (!splitter)
|
||||
{
|
||||
if (chan->chop && is_other_flood(chan, nick, JOIN_FLOOD, &t))
|
||||
if (chan->have_op && is_other_flood(chan, nick, JOIN_FLOOD, &t))
|
||||
{
|
||||
if (get_cset_int_var(chan->csets, JOINFLOOD_CSET) && get_cset_int_var(chan->csets, KICK_ON_JOINFLOOD_CSET) && !nick->kickcount++)
|
||||
{
|
||||
@@ -816,7 +816,7 @@ int t = 0;
|
||||
if (nick) nick->stat_dops++;
|
||||
}
|
||||
|
||||
if (chan->chop && is_other_flood(chan, nick, DEOP_FLOOD, &t))
|
||||
if (chan->have_op && is_other_flood(chan, nick, DEOP_FLOOD, &t))
|
||||
{
|
||||
if (get_cset_int_var(chan->csets, DEOP_ON_DEOPFLOOD_CSET) < get_cset_int_var(chan->csets, KICK_ON_DEOPFLOOD_CSET))
|
||||
send_to_server("MODE %s -o %s", chan->channel, nick->nick);
|
||||
@@ -2184,7 +2184,6 @@ static int ar_remrequest(struct reslist *old)
|
||||
{
|
||||
for (; *s; s++)
|
||||
new_free(s);
|
||||
new_free(&rptr->re_he.h_aliases);
|
||||
}
|
||||
if (rptr->re_rinfo.ri_ptr)
|
||||
new_free(&rptr->re_rinfo.ri_ptr);
|
||||
@@ -4794,7 +4793,7 @@ ChannelList *chan = NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
if (need_op == NEED_OP && chan && !chan->chop && !chan->hop)
|
||||
if (need_op == NEED_OP && chan && !chan->have_op && !chan->hop)
|
||||
{
|
||||
set_display_target(chan->channel, LOG_CRAP);
|
||||
error_not_opped(chan->channel);
|
||||
|
||||
@@ -202,7 +202,7 @@ static int already_done = 0;
|
||||
global_table[RANDOM_NUMBER] = (Function_ptr) BX_random_number;
|
||||
|
||||
/* words.c reg.c */
|
||||
global_table[SEARCH] = (Function_ptr) BX_search;
|
||||
global_table[STRSEARCH] = (Function_ptr) BX_strsearch;
|
||||
global_table[MOVE_TO_ABS_WORD] = (Function_ptr) BX_move_to_abs_word;
|
||||
global_table[MOVE_WORD_REL] = (Function_ptr) BX_move_word_rel;
|
||||
global_table[EXTRACT] = (Function_ptr) BX_extract;
|
||||
@@ -364,7 +364,6 @@ static int already_done = 0;
|
||||
global_table[TRAVERSE_ALL_WINDOWS] = (Function_ptr) BX_traverse_all_windows;
|
||||
global_table[ADD_TO_INVISIBLE_LIST] = (Function_ptr) BX_add_to_invisible_list;
|
||||
global_table[ADD_TO_WINDOW_LIST] = (Function_ptr) BX_add_to_window_list;
|
||||
global_table[REMOVE_WINDOW_FROM_SCREEN] = (Function_ptr) BX_remove_window_from_screen;
|
||||
global_table[RECALCULATE_WINDOW_POSITIONS]= (Function_ptr) BX_recalculate_window_positions;
|
||||
global_table[MOVE_WINDOW] = (Function_ptr) BX_move_window;
|
||||
global_table[REDRAW_ALL_WINDOWS] = (Function_ptr) BX_redraw_all_windows;
|
||||
@@ -388,9 +387,9 @@ static int already_done = 0;
|
||||
global_table[STATUS_UPDATE] = (Function_ptr) BX_status_update;
|
||||
global_table[SET_PROMPT_BY_REFNUM] = (Function_ptr) BX_set_prompt_by_refnum;
|
||||
global_table[GET_PROMPT_BY_REFNUM] = (Function_ptr) BX_get_prompt_by_refnum;
|
||||
global_table[QUERY_NICK] = (Function_ptr) BX_query_nick;
|
||||
global_table[QUERY_HOST] = (Function_ptr) BX_query_host;
|
||||
global_table[QUERY_CMD] = (Function_ptr) BX_query_cmd;
|
||||
global_table[QUERY_NICK] = (Function_ptr) null_function; /* DEFUNCT */
|
||||
global_table[QUERY_HOST] = (Function_ptr) null_function; /* DEFUNCT */
|
||||
global_table[QUERY_CMD] = (Function_ptr) null_function; /* DEFUNCT */
|
||||
global_table[GET_TARGET_BY_REFNUM] = (Function_ptr) BX_get_target_by_refnum;
|
||||
global_table[GET_TARGET_CMD_BY_REFNUM] = (Function_ptr) BX_get_target_cmd_by_refnum;
|
||||
global_table[GET_WINDOW_TARGET_BY_DESC] = (Function_ptr) BX_get_window_target_by_desc;
|
||||
@@ -425,7 +424,7 @@ static int already_done = 0;
|
||||
global_table[SCROLLBACK_BACKWARDS] = (Function_ptr) BX_scrollback_backwards;
|
||||
global_table[SCROLLBACK_END] = (Function_ptr) BX_scrollback_end;
|
||||
global_table[SCROLLBACK_START] = (Function_ptr) BX_scrollback_start;
|
||||
global_table[HOLD_MODE] = (Function_ptr) BX_hold_mode;
|
||||
global_table[SET_HOLD_MODE] = (Function_ptr) BX_set_hold_mode;
|
||||
global_table[UNHOLD_WINDOWS] = (Function_ptr) BX_unhold_windows;
|
||||
global_table[FUNC_UNSTOP_ALL_WINDOWS] = (Function_ptr) BX_unstop_all_windows;
|
||||
global_table[RESET_LINE_CNT] = (Function_ptr) BX_reset_line_cnt;
|
||||
@@ -504,7 +503,7 @@ static int already_done = 0;
|
||||
global_table[GET_CHANNEL_KEY] = (Function_ptr) BX_get_channel_key;
|
||||
global_table[FUNC_RECREATE_MODE] = (Function_ptr) BX_recreate_mode;
|
||||
#ifdef COMPRESS_MODES
|
||||
global_table[FUNC_COMPRESS_MODES] = (Function_ptr) BX_compress_modes;
|
||||
global_table[FUNC_COMPRESS_MODES] = (Function_ptr) BX_do_compress_modes;
|
||||
#endif
|
||||
global_table[FUNC_GOT_OPS] = (Function_ptr) BX_got_ops;
|
||||
global_table[GET_CHANNEL_BANS] = (Function_ptr) BX_get_channel_bans;
|
||||
@@ -674,7 +673,7 @@ static int already_done = 0;
|
||||
global_table[DLL_CTCP] = (Function_ptr) &dll_ctcp;
|
||||
#endif
|
||||
global_table[WINDOW_DISPLAY] = (Function_ptr) &window_display;
|
||||
global_table[STATUS_UPDATE_FLAG] = (Function_ptr) status_update_flag;
|
||||
global_table[STATUS_UPDATE_FLAG] = (Function_ptr) &status_update_flag;
|
||||
global_table[TABKEY_ARRAY] = (Function_ptr) &tabkey_array;
|
||||
global_table[AUTOREPLY_ARRAY] = (Function_ptr) &autoreply_array;
|
||||
global_table[IDENTD_SOCKET] = (Function_ptr) &identd;
|
||||
|
||||
@@ -260,7 +260,7 @@ ChannelList * BX_add_channel(char *channel, int server, int refnum)
|
||||
get_time(&new->join_time);
|
||||
add_server_channels(server, new);
|
||||
}
|
||||
new->chop = 0;
|
||||
new->have_op = 0;
|
||||
new->voice = 0;
|
||||
new->hop = 0;
|
||||
|
||||
@@ -351,7 +351,7 @@ ChannelList *BX_add_to_channel(char *channel, char *nick, int server, int oper,
|
||||
if (!my_stricmp(nick, get_server_nickname(server)))
|
||||
{
|
||||
check_mode_list_join(channel, server);
|
||||
chan->chop = 1;
|
||||
chan->have_op = 1;
|
||||
}
|
||||
}
|
||||
if (!(new = find_nicklist_in_channellist(nick, chan, 0)))
|
||||
@@ -549,7 +549,7 @@ typedef struct _UserChanModes {
|
||||
*
|
||||
* Written by Jordy (jordy@wserv.com)
|
||||
*/
|
||||
char *BX_compress_modes(ChannelList *chan, int server, char *channel, char *modes) {
|
||||
char *BX_do_compress_modes(ChannelList *chan, int server, char *channel, char *modes) {
|
||||
int add = 0,
|
||||
isbanned = 0,
|
||||
isopped = 0,
|
||||
@@ -821,13 +821,13 @@ NickList *tnl = NULL;
|
||||
|
||||
int BX_got_ops(int add, ChannelList *channel)
|
||||
{
|
||||
int chop = 0;
|
||||
int have_op = 0;
|
||||
register NickList *tmp;
|
||||
int in_join = 0;
|
||||
in_join = in_join_list(channel->channel, from_server);
|
||||
if (add && add != channel->chop && !in_join)
|
||||
if (add && add != channel->have_op && !in_join)
|
||||
{
|
||||
chop = channel->chop = add;
|
||||
have_op = channel->have_op = add;
|
||||
#ifdef WANT_USERLIST
|
||||
for(tmp = next_nicklist(channel, NULL); tmp; tmp = next_nicklist(channel, tmp))
|
||||
check_auto(channel->channel,tmp, channel);
|
||||
@@ -835,19 +835,19 @@ int in_join = 0;
|
||||
if ((get_server_version(from_server) == Server2_8hybrid6))
|
||||
send_to_server("MODE %s e", channel->channel);
|
||||
}
|
||||
else if (!add && add != channel->chop && !in_join)
|
||||
else if (!add && add != channel->have_op && !in_join)
|
||||
{
|
||||
for(tmp = next_nicklist(channel, NULL); tmp; tmp = next_nicklist(channel, tmp))
|
||||
tmp->sent_reop = tmp->sent_deop = tmp->sent_voice = 0;
|
||||
}
|
||||
return chop;
|
||||
return have_op;
|
||||
}
|
||||
|
||||
/*
|
||||
* decifer_mode: This will figure out the mode string as returned by mode
|
||||
* commands and convert that mode string into a one byte bit map of modes
|
||||
*/
|
||||
static int decifer_mode(char *from, char *mode_str, ChannelList **channel, unsigned long *mode, char *chop, char *voice, char **key)
|
||||
static int decifer_mode(char *from, char *mode_str, ChannelList **channel, unsigned long *mode, char *have_op, char *voice, char **key)
|
||||
{
|
||||
|
||||
char *limit = 0;
|
||||
@@ -951,8 +951,8 @@ static int decifer_mode(char *from, char *mode_str, ChannelList **channel, unsig
|
||||
person = get_server_nickname(from_server);
|
||||
if (!my_stricmp(person, get_server_nickname(from_server)))
|
||||
{
|
||||
*chop = (char)got_ops(add, *channel);
|
||||
(*channel)->chop = add;
|
||||
*have_op = (char)got_ops(add, *channel);
|
||||
(*channel)->have_op = add;
|
||||
if (add)
|
||||
do_hook(CHANOP_LIST, "%s", (*channel)->channel);
|
||||
}
|
||||
@@ -973,7 +973,7 @@ static int decifer_mode(char *from, char *mode_str, ChannelList **channel, unsig
|
||||
ThisNick->sent_deop--;
|
||||
}
|
||||
|
||||
if (!its_me && (*channel)->chop)
|
||||
if (!its_me && (*channel)->have_op)
|
||||
{
|
||||
if (add && splitter)
|
||||
check_hack(person, *channel, ThisNick, from);
|
||||
@@ -1052,7 +1052,7 @@ static int decifer_mode(char *from, char *mode_str, ChannelList **channel, unsig
|
||||
malloc_strcpy(&new->setby, from?from:get_server_name(from_server));
|
||||
new->time = now;
|
||||
#ifdef WANT_USERLIST
|
||||
if (!its_me && (*channel)->chop)
|
||||
if (!its_me && (*channel)->have_op)
|
||||
check_prot(from, person, *channel, new, ThisNick);
|
||||
#endif
|
||||
}
|
||||
@@ -1169,7 +1169,7 @@ void update_channel_mode(char *from, char *channel, int server, char *mode, Chan
|
||||
|
||||
if (tmp || (channel && (tmp = lookup_channel(channel, server, CHAN_NOUNLINK))))
|
||||
{
|
||||
if ((limit = decifer_mode(from, mode, &(tmp), &(tmp->mode), &(tmp->chop), &(tmp->voice), &(tmp->key))) != -1)
|
||||
if ((limit = decifer_mode(from, mode, &(tmp), &(tmp->mode), &(tmp->have_op), &(tmp->voice), &(tmp->key))) != -1)
|
||||
tmp->limit = limit;
|
||||
}
|
||||
}
|
||||
@@ -1368,7 +1368,7 @@ void BX_rename_nick(char *old_nick, char *new_nick, int server)
|
||||
if ((tmp = find_nicklist_in_channellist(old_nick, chan, REMOVE_FROM_LIST)))
|
||||
{
|
||||
tmp->stat_nicks++;
|
||||
if (chan->chop && !isme(new_nick))
|
||||
if (chan->have_op && !isme(new_nick))
|
||||
{
|
||||
if (is_other_flood(chan, tmp, NICK_FLOOD, &t))
|
||||
handle_nickflood(old_nick, new_nick, tmp, chan, t);
|
||||
@@ -1684,7 +1684,7 @@ int BX_get_channel_oper(char *channel, int server)
|
||||
|
||||
|
||||
if ((chan = lookup_channel(channel, server, CHAN_NOUNLINK)))
|
||||
return chan->chop;
|
||||
return chan->have_op;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -2062,7 +2062,7 @@ ChannelList *chan;
|
||||
{
|
||||
for (chan = get_server_channels(i); chan; chan = chan->next)
|
||||
{
|
||||
if (!chan->chop || !chan->csets || !chan->csets->set_auto_limit)
|
||||
if (!chan->have_op || !chan->csets || !chan->csets->set_auto_limit)
|
||||
continue;
|
||||
if (chan->totalnicks + chan->csets->set_auto_limit != chan->limit)
|
||||
my_send_to_server(i, "MODE %s +l %d", chan->channel, chan->totalnicks + chan->csets->set_auto_limit);
|
||||
|
||||
@@ -378,7 +378,7 @@ UserList *tmp = NULL;
|
||||
{
|
||||
NickList *n = NULL;
|
||||
n = find_nicklist_in_channellist(nick, chan, 0);
|
||||
if (!n && chan->chop && get_cset_int_var(chan->csets, AINV_CSET) && (tmp->flags & ADD_INVITE) && get_cset_int_var(chan->csets, AINV_CSET))
|
||||
if (!n && chan->have_op && get_cset_int_var(chan->csets, AINV_CSET) && (tmp->flags & ADD_INVITE) && get_cset_int_var(chan->csets, AINV_CSET))
|
||||
{
|
||||
bitchsay("Auto-inviting %s to %s", nick, chan->channel);
|
||||
send_to_server("NOTICE %s :Auto-invite from %s", nick, get_server_nickname(from_server));
|
||||
|
||||
@@ -248,8 +248,6 @@ void display_msg(char *from, char **ArgList)
|
||||
char *ptr,
|
||||
*s,
|
||||
*rest;
|
||||
int drem;
|
||||
|
||||
|
||||
rest = PasteArgs(ArgList, 0);
|
||||
if ((s = find_numeric_fset(-current_numeric)))
|
||||
@@ -266,16 +264,14 @@ void display_msg(char *from, char **ArgList)
|
||||
else
|
||||
ptr = NULL;
|
||||
|
||||
drem = (int)(from) /*&& (!get_int_var(SUPPRESS_FROM_REMOTE_SERVER))*/;
|
||||
|
||||
put_it("%s %s%s%s%s%s%s",
|
||||
numeric_banner(),
|
||||
strlen(rest) ? rest : empty_string,
|
||||
strlen(rest) ? space : empty_string,
|
||||
ptr ? ptr : empty_string,
|
||||
drem ? "(from " : empty_string,
|
||||
drem ? from : empty_string,
|
||||
drem ? ")" : empty_string
|
||||
from ? "(from " : empty_string,
|
||||
from ? from : empty_string,
|
||||
from ? ")" : empty_string
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1049,7 +1049,7 @@ static void p_channel(char *from, char **ArgList)
|
||||
else
|
||||
put_it("%s",convert_output_format(fget_string_var(FORMAT_JOIN_FSET), "%s %s %s %s %s",update_clock(GET_TIME),from,FromUserHost?FromUserHost:"UnKnown",channel, extra));
|
||||
|
||||
if (!its_me && chan && chan->chop)
|
||||
if (!its_me && chan && chan->have_op)
|
||||
{
|
||||
char lame_chars[] = "\x01\x02\x03\x04\x05\x06\x07\x08\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a";
|
||||
register char *p;
|
||||
@@ -1367,7 +1367,7 @@ char *n = NULL;
|
||||
time_t right_now;
|
||||
|
||||
|
||||
if (!from || !chan || (chan && (!get_cset_int_var(chan->csets, BITCH_CSET) || !chan->chop)))
|
||||
if (!from || !chan || (chan && (!get_cset_int_var(chan->csets, BITCH_CSET) || !chan->have_op)))
|
||||
return;
|
||||
if (!get_int_var(HACK_OPS_VAR) && wild_match("%.%", from))
|
||||
return;
|
||||
@@ -1442,7 +1442,7 @@ static void p_mode(char *from, char **ArgList)
|
||||
chan = (ChannelList *)find_in_list((List **)&chan2, channel, 0);
|
||||
if (chan && get_cset_int_var(chan->csets, COMPRESS_MODES_CSET))
|
||||
{
|
||||
tmpbuf = compress_modes(chan, from_server, channel, line);
|
||||
tmpbuf = do_compress_modes(chan, from_server, channel, line);
|
||||
if (tmpbuf)
|
||||
strcpy(line, tmpbuf);
|
||||
else
|
||||
@@ -1653,7 +1653,7 @@ static void p_kick(char *from, char **ArgList)
|
||||
if (!itsme)
|
||||
{
|
||||
f_nick = find_nicklist_in_channellist(who, chan, 0);
|
||||
if (chan->chop && tmpnick && is_other_flood(chan, tmpnick, KICK_FLOOD, &t))
|
||||
if (chan->have_op && tmpnick && is_other_flood(chan, tmpnick, KICK_FLOOD, &t))
|
||||
{
|
||||
if (get_cset_int_var(chan->csets, KICK_ON_KICKFLOOD_CSET) > get_cset_int_var(chan->csets, DEOP_ON_KICKFLOOD_CSET))
|
||||
send_to_server("MODE %s -o %s", chan->channel, from);
|
||||
|
||||
@@ -97,7 +97,7 @@ static LookupStruct channel_struct[] = {
|
||||
|
||||
{ "LIMIT", offsetof(ChannelList, limit), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "KEY", offsetof(ChannelList, key), STR_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "CHOP", offsetof(ChannelList, chop), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "CHOP", offsetof(ChannelList, have_op), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "HOP", offsetof(ChannelList, hop), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "VOICE", offsetof(ChannelList, voice), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
{ "BOUND", offsetof(ChannelList, bound), INT_TYPE_VAR, VAR_READ_ONLY },
|
||||
|
||||
@@ -970,7 +970,7 @@ char *p = (char *) arg; /* original args unmodified so we can free them */
|
||||
if ((serv_num = next_arg(args, &args)))
|
||||
this_server = my_atol(serv_num);
|
||||
chan = lookup_channel(channel, this_server, 0);
|
||||
if (chan && is_on_channel(channel, this_server, from) && chan->chop)
|
||||
if (chan && is_on_channel(channel, this_server, from) && chan->have_op)
|
||||
{
|
||||
NickList *nick;
|
||||
for (nick = next_nicklist(chan, NULL); nick; nick = next_nicklist(chan, nick))
|
||||
@@ -1077,7 +1077,7 @@ char *ban;
|
||||
if (!chan_ptr)
|
||||
return NULL;
|
||||
|
||||
if (!chan_ptr->chop)
|
||||
if (!chan_ptr->have_op)
|
||||
return nicklist;
|
||||
userptr = nicklist->userlist;
|
||||
shitptr = nicklist->shitlist;
|
||||
@@ -1254,7 +1254,7 @@ char *nick = NULL, *userhost = NULL, *p;
|
||||
}
|
||||
}
|
||||
|
||||
if (get_cset_int_var(chan->csets, USERLIST_CSET) && chan->chop && ((n && n->userlist) ||
|
||||
if (get_cset_int_var(chan->csets, USERLIST_CSET) && chan->have_op && ((n && n->userlist) ||
|
||||
(tmp && tmp->userlist)))
|
||||
{
|
||||
UserList *user = NULL;
|
||||
@@ -1352,7 +1352,7 @@ char *nick = NULL, *userhost = NULL, *p;
|
||||
void check_shit(ChannelList *chan)
|
||||
{
|
||||
ShitList *Bans;
|
||||
if (!chan || !chan->chop || !shitlist_list || chan->server <= -1 || !get_cset_int_var(chan->csets, SHITLIST_CSET))
|
||||
if (!chan || !chan->have_op || !shitlist_list || chan->server <= -1 || !get_cset_int_var(chan->csets, SHITLIST_CSET))
|
||||
return;
|
||||
if (!check_channel_match(get_string_var(PROTECT_CHANNELS_VAR), chan->channel))
|
||||
return;
|
||||
|
||||
@@ -116,6 +116,7 @@ Window *BX_new_window(Screen *screen)
|
||||
new = (Window *) new_malloc(sizeof(Window));
|
||||
|
||||
new->output_func = default_output_function;
|
||||
new->update_status = NULL;
|
||||
|
||||
tmp = NULL;
|
||||
while ((traverse_all_windows(&tmp)))
|
||||
@@ -1028,8 +1029,8 @@ void BX_update_all_windows()
|
||||
if (full_window || fast_window)
|
||||
repaint_window(tmp, tmp->repaint_start, tmp->repaint_end);
|
||||
|
||||
if (tmp->update_window_status)
|
||||
(tmp->update_window_status)(tmp);
|
||||
if (tmp->update_status)
|
||||
(tmp->update_status)(tmp);
|
||||
else if (r_status)
|
||||
update_window_status(tmp, 1);
|
||||
else if (u_status)
|
||||
@@ -1443,24 +1444,6 @@ char *BX_get_prompt_by_refnum(unsigned int refnum)
|
||||
return (empty_string);
|
||||
}
|
||||
|
||||
|
||||
/* query_nick: Returns the query nick for the current channel */
|
||||
const char * BX_query_nick (void)
|
||||
{
|
||||
return (current_window->query_nick);
|
||||
}
|
||||
|
||||
/* query_nick: Returns the query nick for the current channel */
|
||||
const char * BX_query_host (void)
|
||||
{
|
||||
return (current_window->query_host);
|
||||
}
|
||||
|
||||
const char * BX_query_cmd (void)
|
||||
{
|
||||
return (current_window->query_cmd);
|
||||
}
|
||||
|
||||
/*
|
||||
* get_target_by_refnum: returns the target for the window with the given
|
||||
* refnum (or for the current window). The target is either the query nick
|
||||
@@ -1882,34 +1865,6 @@ void BX_window_check_servers(int unused)
|
||||
cursor_to_input();
|
||||
}
|
||||
|
||||
/*
|
||||
* window_close_server: this is like window_check_servers but it gets called
|
||||
* with old_server as the refnum of a server that just got closed. It marks
|
||||
* every window that used to be connected to old_server as WINDOW_SERVER_CLOSED
|
||||
* and sets last_server for those windows. It doesn't touch windows that
|
||||
* already had no server.
|
||||
*/
|
||||
|
||||
void BX_window_close_server(int old_server)
|
||||
{
|
||||
Window *tmp;
|
||||
|
||||
tmp = NULL;
|
||||
if (old_server < 0)
|
||||
return;
|
||||
while ((traverse_all_windows(&tmp)))
|
||||
{
|
||||
if (tmp->server < 0)
|
||||
continue;
|
||||
if (tmp->server == old_server)
|
||||
{
|
||||
close_server(tmp->server, NULL);
|
||||
tmp->server = WINDOW_SERVER_CLOSED;
|
||||
tmp->last_server = old_server;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Changes any windows that are currently using "old_server" to instead
|
||||
* use "new_server".
|
||||
@@ -2382,7 +2337,7 @@ void BX_clear_all_windows(int unhold, int scrollback)
|
||||
while (traverse_all_windows(&tmp))
|
||||
{
|
||||
if (unhold)
|
||||
hold_mode(tmp, OFF, 1);
|
||||
set_hold_mode(tmp, OFF, 1);
|
||||
if (scrollback)
|
||||
clear_scrollback(tmp);
|
||||
clear_window(tmp);
|
||||
@@ -2434,7 +2389,7 @@ void unclear_all_windows (int unhold, int visible, int hidden)
|
||||
continue;
|
||||
|
||||
if (unhold)
|
||||
hold_mode(tmp, OFF, 1);
|
||||
set_hold_mode(tmp, OFF, 1);
|
||||
unclear_window(tmp);
|
||||
}
|
||||
}
|
||||
@@ -3759,7 +3714,7 @@ Window *window_query (Window *window, char **args, char *usage)
|
||||
}
|
||||
if ((nick = window->query_nick))
|
||||
{
|
||||
say("Ending conversation with %s", query_nick());
|
||||
say("Ending conversation with %s", current_window->query_nick);
|
||||
window->update |= UPDATE_STATUS;
|
||||
while ((ptr = next_in_comma_list(nick, &nick)))
|
||||
{
|
||||
@@ -4692,7 +4647,7 @@ void BX_scrollback_start (char dumb, char *dumber)
|
||||
* this will also update the status line, if needed, to display the hold mode
|
||||
* state. If update is false, only the internal flag is set.
|
||||
*/
|
||||
void BX_hold_mode (Window *window, int flag, int update)
|
||||
void BX_set_hold_mode (Window *window, int flag, int update)
|
||||
{
|
||||
if (window == NULL)
|
||||
window = current_window;
|
||||
@@ -4752,7 +4707,7 @@ void BX_unstop_all_windows (char dumb, char *dumber)
|
||||
Window *tmp = NULL;
|
||||
|
||||
while (traverse_all_windows(&tmp))
|
||||
hold_mode(tmp, OFF, 1);
|
||||
set_hold_mode(tmp, OFF, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4770,7 +4725,7 @@ void BX_reset_line_cnt (Window *win, char *unused, int value)
|
||||
/* toggle_stop_screen: the BIND function TOGGLE_STOP_SCREEN */
|
||||
void BX_toggle_stop_screen (char unused, char *not_used)
|
||||
{
|
||||
hold_mode(NULL, TOGGLE, 1);
|
||||
set_hold_mode(NULL, TOGGLE, 1);
|
||||
update_all_windows();
|
||||
}
|
||||
|
||||
@@ -4818,7 +4773,7 @@ void BX_flush_everything_being_held (Window *window)
|
||||
ircpanic("erf. fix this.");
|
||||
|
||||
window->holding_something = 0;
|
||||
hold_mode(window, OFF, 1);
|
||||
set_hold_mode(window, OFF, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -4908,8 +4863,8 @@ void BX_set_screens_current_window (Screen *screen, Window *window)
|
||||
void BX_make_window_current (Window *window)
|
||||
{
|
||||
Window *old_current_window = current_window;
|
||||
int old_screen, old_window;
|
||||
int new_screen, new_window;
|
||||
int old_screen, old_win;
|
||||
int new_screen, new_win;
|
||||
|
||||
if (!window)
|
||||
current_window = last_input_screen->current_window;
|
||||
@@ -4922,22 +4877,22 @@ void BX_make_window_current (Window *window)
|
||||
return;
|
||||
|
||||
if (!old_current_window)
|
||||
old_screen = old_window = -1;
|
||||
old_screen = old_win = -1;
|
||||
else if (!old_current_window->screen)
|
||||
old_screen = -1, old_window = old_current_window->refnum;
|
||||
old_screen = -1, old_win = old_current_window->refnum;
|
||||
else
|
||||
old_screen = old_current_window->screen->screennum,
|
||||
old_window = old_current_window->refnum;
|
||||
old_win = old_current_window->refnum;
|
||||
|
||||
new_window = current_window->refnum;
|
||||
new_win = current_window->refnum;
|
||||
if (!current_window->screen)
|
||||
new_screen = -1;
|
||||
else
|
||||
new_screen = current_window->screen->screennum;
|
||||
|
||||
do_hook(WINDOW_FOCUS_LIST, "%d %d %d %d",
|
||||
old_screen, old_window,
|
||||
new_screen, new_window);
|
||||
old_screen, old_win,
|
||||
new_screen, new_win);
|
||||
}
|
||||
|
||||
void BX_clear_scrollback(Window *window)
|
||||
@@ -4960,10 +4915,10 @@ void BX_clear_scrollback(Window *window)
|
||||
|
||||
void make_to_window_by_desc (char *desc)
|
||||
{
|
||||
Window *new_window = get_window_by_desc(desc);
|
||||
Window *new_win = get_window_by_desc(desc);
|
||||
|
||||
if (new_window)
|
||||
target_window = new_window;
|
||||
if (new_win)
|
||||
target_window = new_win;
|
||||
else
|
||||
say("Window [%s] doesn't exist any more. Punting.", desc);
|
||||
}
|
||||
@@ -4985,23 +4940,23 @@ int get_winref_by_desc (const char *desc)
|
||||
|
||||
void make_window_current_by_desc (char *desc)
|
||||
{
|
||||
Window *new_window = get_window_by_desc(desc);
|
||||
Window *new_win = get_window_by_desc(desc);
|
||||
|
||||
if (new_window)
|
||||
make_window_current(new_window);
|
||||
if (new_win)
|
||||
make_window_current(new_win);
|
||||
else
|
||||
say("Window [%s] doesn't exist any more. Punting.", desc);
|
||||
}
|
||||
|
||||
void make_window_current_by_winref (int refnum)
|
||||
{
|
||||
Window *new_window;
|
||||
Window *new_win;
|
||||
|
||||
if (refnum == -1)
|
||||
return;
|
||||
|
||||
if ((new_window = get_window_by_refnum(refnum)))
|
||||
make_window_current(new_window);
|
||||
if ((new_win = get_window_by_refnum(refnum)))
|
||||
make_window_current(new_win);
|
||||
else
|
||||
say("Window [%d] doesn't exist any more. Punting.", refnum);
|
||||
}
|
||||
|
||||
@@ -18,25 +18,25 @@ CVS_REVISION(words_c)
|
||||
/*
|
||||
* search() looks for a character forward or backward from mark
|
||||
*/
|
||||
extern char *BX_search(register char *start, char **mark, char *chars, int how)
|
||||
extern char *BX_strsearch(register char *start, char *mark, char *chars, int how)
|
||||
{
|
||||
if (!mark || !*mark)
|
||||
*mark = start;
|
||||
if (!mark)
|
||||
mark = start;
|
||||
|
||||
if (how > 0) /* forward search */
|
||||
{
|
||||
*mark = sindex(*mark, chars);
|
||||
mark = sindex(mark, chars);
|
||||
how--;
|
||||
for (;(how > 0) && *mark && **mark;how--)
|
||||
*mark = sindex(*mark+1, chars);
|
||||
for (; how > 0 && mark && *mark; how--)
|
||||
mark = sindex(mark + 1, chars);
|
||||
}
|
||||
|
||||
else if (how == 0)
|
||||
return (char *) 0;
|
||||
return NULL;
|
||||
|
||||
else /* how < 0 */
|
||||
{
|
||||
*mark = rsindex(*mark, start, chars, -how);
|
||||
mark = rsindex(mark, start, chars, -how);
|
||||
#if 0
|
||||
how++;
|
||||
for (;(how < 0) && *mark && **mark;how++)
|
||||
@@ -44,7 +44,7 @@ extern char *BX_search(register char *start, char **mark, char *chars, int how)
|
||||
#endif
|
||||
}
|
||||
|
||||
return *mark;
|
||||
return mark;
|
||||
}
|
||||
|
||||
/* Move to an absolute word number from start */
|
||||
|
||||
Reference in New Issue
Block a user