Files
bitchx/dll/aim/bx.patch
Kevin Easton 28febcfea9 Initial import of the ircii-pana-1.1-final source tree.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/tags/ircii-pana-1.1-final@1 13b04d17-f746-0410-82c6-800466cd88b0
2008-02-25 09:25:32 +00:00

295 lines
9.6 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--- .//dll/fserv/fserv.c.orig Tue Jan 18 21:00:07 2000
+++ .//dll/fserv/fserv.c Tue Jan 18 21:00:19 2000
@@ -1162,7 +1162,7 @@
add_module_proc(HOOK_PROC, "Fserv", NULL, "*", MSG_LIST, 1, NULL, search_proc);
add_module_proc(HOOK_PROC, "Fserv", NULL, "*", PUBLIC_OTHER_LIST, 1, NULL, search_proc);
- add_completion_type("fsload", 3, FILE_COMPLETION);
+ add_completion_type("fsload", 3, FILE_COMPLETION,NULL);
add_timer(0, empty_string, get_dllint_var("fserv_time"), 1, impress_me, NULL, NULL, -1, "fserv");
strcpy(FSstr, cparse(FS, NULL, NULL));
@@ -1177,4 +1177,4 @@
put_it("%s for help with this fserv, /fshelp", FSstr);
return 0;
}
-
\ No newline at end of file
+
--- .//dll/nap/nap.c.orig Wed Jan 19 14:17:52 2000
+++ .//dll/nap/nap.c Tue Jan 18 21:01:34 2000
@@ -2139,8 +2139,8 @@
add_module_proc(VAR_PROC, nap_name, "napster_format", NULL, STR_TYPE_VAR, 0, set_numeric_string, NULL);
add_module_proc(VAR_PROC, nap_name, "napster_dir", NULL, STR_TYPE_VAR, 0, NULL, NULL);
- add_completion_type("nload", 4, FILE_COMPLETION);
- add_completion_type("nreload", 4, FILE_COMPLETION);
+ add_completion_type("nload", 4, FILE_COMPLETION,NULL);
+ add_completion_type("nreload", 4, FILE_COMPLETION,NULL);
naphelp(NULL, NULL, NULL, NULL, NULL);
sprintf(buffer, "$0+Napster %s by panasync - $2 $3", nap_version);
--- .//include/module.h.orig Tue Jan 18 01:24:49 2000
+++ .//include/module.h Tue Jan 18 20:29:36 2000
@@ -633,7 +633,14 @@
CHECK_EXT_MAIL,
DEFAULT_OUTPUT_FUNCTION,
DEFAULT_STATUS_OUTPUT_FUNCTION,
- NUMBER_OF_GLOBAL_FUNCTIONS
+ NUMBER_OF_GLOBAL_FUNCTIONS,
+
+/* window.c again */
+ WINDOW_QUERY,
+
+/* input.c again */
+
+ OVERWRITE_TABKEY_COMP
};
extern Function_ptr global_table[];
--- .//include/modval.h.orig Tue Jan 18 16:50:22 2000
+++ .//include/modval.h Tue Jan 18 20:28:58 2000
@@ -360,7 +360,8 @@
#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 add_completion_type(x, y, z, a) ((int) (global[ADD_COMPLETION_TYPE]((char *)x, (int)y, (enum completion)z, a)))
+#define overwrite_tabkey_comp(a,b) (global[OVERWRITE_TABKEY_COMP](a,b))
/* names.c */
#define is_channel(x) ((int) (global[IS_CHANNEL]((char *)x)))
--- .//include/input.h.orig Tue Jan 18 16:23:49 2000
+++ .//include/input.h Thu Jan 20 17:05:28 2000
@@ -157,11 +157,15 @@
DCC_COMPLETION,
LOAD_COMPLETION,
SERVER_COMPLETION,
- CDCC_COMPLETION
+ CDCC_COMPLETION,
+ CUSTOM_COMPLETION,
+ TABKEY_OVERWRITE
};
- char *get_completions (enum completion, char *, int *, char **);
- int add_completion_type (char *, int, enum completion);
+ char *get_completions (enum completion *, char *, int *, char **, char * (*)(int, char *, int *, char **));
+ int add_completion_type (char *, int, enum completion, char * (*)(int, char *, int *, char **));
+
+void overwrite_tabkey_comp(int (*)(int, char *, int *, char **), char * (*)(int, char *, int *, char **));
extern NickTab *tabkey_array;
extern NickTab *autoreply_array;
--- .//source/modules.c.orig Tue Jan 18 01:38:07 2000
+++ .//source/modules.c Tue Jan 18 20:53:49 2000
@@ -423,6 +423,7 @@
global_table[RECALCULATE_WINDOW_CURSOR] = (Function_ptr) recalculate_window_cursor;
global_table[MAKE_WINDOW_CURRENT] = (Function_ptr) make_window_current;
global_table[CLEAR_SCROLLBACK] = (Function_ptr) clear_scrollback;
+ global_table[WINDOW_QUERY] = (Function_ptr) window_query;
global_table[RESET_DISPLAY_TARGET] = (Function_ptr) reset_display_target;
global_table[SET_DISPLAY_TARGET] = (Function_ptr) set_display_target;
@@ -475,6 +476,7 @@
global_table[GETCHANNICK] = (Function_ptr) getchannick;
global_table[LOOKUP_NICKCOMPLETION] = (Function_ptr) lookup_nickcompletion;
global_table[ADD_COMPLETION_TYPE] = (Function_ptr) add_completion_type;
+ global_table[OVERWRITE_TABKEY_COMP] = (Function_ptr) overwrite_tabkey_comp;
/* names.c */
global_table[IS_CHANOP] = (Function_ptr) is_chanop;
--- .//source/input.c.orig Tue Jan 18 15:58:30 2000
+++ .//source/input.c Thu Jan 20 20:10:02 2000
@@ -62,6 +62,9 @@
NickTab *tabkey_array = NULL, *autoreply_array = NULL;
+int (*do_over_write_tabkey_complete)(int, char *, int *, char **) = NULL;
+char * (*over_write_tabkey_complete_func)(int, char *, int *, char **) = NULL;
+
const int WIDTH = 10;
@@ -2119,7 +2122,8 @@
struct _ext_name_type *next;
char *name;
int len;
- enum completion type;
+ enum completion type;
+ char * (*comp_func)(int, char *, int *, char **);
} Ext_Name_Type;
Ext_Name_Type *ext_completion = NULL;
@@ -2161,7 +2165,14 @@
return NULL;
}
-char *get_completions(enum completion type, char *possible, int *count, char **suggested)
+void overwrite_tabkey_comp(int (*check)(int, char *, int *, char **) , char * (*overwrite)(int, char *, int *, char **) )
+{
+ do_over_write_tabkey_complete = check;
+ over_write_tabkey_complete_func = overwrite;
+ return;
+}
+
+char *get_completions(enum completion *t, char *possible, int *count, char **suggested, char * (*cf)(int, char *, int *, char **))
{
char *booya = NULL;
char *path = NULL;
@@ -2169,6 +2180,7 @@
glob_t globbers;
int numglobs = 0, i;
int globtype = GLOB_MARK;
+enum completion type = *t;
#if defined(__EMX__) || defined(WINNT)
if (possible && *possible)
@@ -2191,6 +2203,18 @@
case TABKEY_COMPLETION:
{
NickTab *n = tabkey_array;
+ /*
+ * bad hack
+ * better idea would be to make this into a list
+ * and allow multiple modules to create over writes
+ * then, go to the first module that says it wants to
+ * do a tab_complete
+ */
+ if ( do_over_write_tabkey_complete != NULL && over_write_tabkey_complete_func != NULL && do_over_write_tabkey_complete((int) type, possible, count, suggested) ) {
+ *t = TABKEY_OVERWRITE;
+ return over_write_tabkey_complete_func((int) type, possible, count, suggested);
+ }
+ /* put_it("opted not do!"); */
*count = 0;
if (possible)
{
@@ -2377,6 +2401,18 @@
#endif
break;
}
+ case CUSTOM_COMPLETION:
+ {
+ char *c;
+ if ( cf == NULL ) {
+ return NULL;
+ /* put_it("CF IS NULL!"); */
+ }
+ c = cf((int)type, possible, count ,suggested);
+ /* put_it(c); */
+ return c;
+ break;
+ }
default:
return NULL;
}
@@ -2507,6 +2543,7 @@
int got_space = 0;
char *get = NULL;
Ext_Name_Type *extcomp = ext_completion;
+char * (*cf)(int, char *, int *, char **) = NULL;
/*
* is this the != second word, then just complete from the
@@ -2597,6 +2634,7 @@
case CDCC:
if (wcount == 2 || wcount == 3)
type = CDCC_COMPLETION;
+
break;
}
break;
@@ -2609,6 +2647,7 @@
if (!my_strnicmp(p, extcomp->name, extcomp->len))
{
type = extcomp->type;
+ cf = extcomp->comp_func;
break;
}
}
@@ -2628,7 +2667,7 @@
#endif
do_more_tab:
count = 0;
- if ((get = get_completions(type, possible, &count, &suggested)))
+ if ((get = get_completions(&type, possible, &count, &suggested, cf)))
{
char buffer[BIG_BUFFER_SIZE+1];
char *p = NULL;
@@ -2640,8 +2679,11 @@
p = extract(get_input(), 0, wcount - 2);
else if (suggested && *suggested)
p = m_3dup("/", suggested, "");
- if (type == TABKEY_COMPLETION)
+
+ if (type == TABKEY_COMPLETION)
snprintf(buffer, BIG_BUFFER_SIZE, "%s %s%s%s ", (p && *p == '/') ? p : "/m", get, (p && (*p != '/'))?space:empty_string, (p && (*p != '/'))?p:empty_string);
+ else if ( type == TABKEY_OVERWRITE )
+ snprintf(buffer, BIG_BUFFER_SIZE, "%s",get);
else
{
if (wcount == 1 && got_space)
@@ -2729,10 +2771,11 @@
case SERVER_COMPLETION:
case TABKEY_COMPLETION:
case CHAN_COMPLETION:
+ case CUSTOM_COMPLETION:
{
char *n, *use = get;
n = new_next_arg(use, &use);
- count = 0;
+ count = 0;
while (n && *n)
{
strmcat(buffer, n, BIG_BUFFER_SIZE);
@@ -2750,6 +2793,7 @@
put_it("%s", convert_output_format(fget_string_var(FORMAT_COMPLETE_FSET),"%s", buffer));
break;
}
+ case TABKEY_OVERWRITE:
case NO_COMPLETION:
break;
default:
@@ -2776,15 +2820,16 @@
return;
}
-int add_completion_type(char *name, int len, enum completion type)
+int add_completion_type(char *name, int len, enum completion type, char * (*cf)(int, char *, int *, char **))
{
-Ext_Name_Type *new;
+ Ext_Name_Type *new;
if (!find_in_list((List **)&ext_completion, name, 0))
{
new = (Ext_Name_Type *)new_malloc(sizeof(Ext_Name_Type));
new->name = m_strdup(name);
new->len = len;
new->type = type;
+ new->comp_func =cf;
add_to_list((List **)&ext_completion, (List *)new);
return 1;
}
--- .//source/functions.c.orig Tue Jan 18 16:44:28 2000
+++ .//source/functions.c Thu Jan 20 17:10:53 2000
@@ -7020,8 +7020,9 @@
#ifdef WANT_TABKEY
char *ret, *possible;
int count = 0; /* 6 */
+enum completion comp_type = 3;
possible = next_arg(input, &input);
- ret = get_completions(3, possible, &count, NULL);
+ ret = get_completions(&comp_type, possible, &count, NULL, NULL);
return m_sprintf("%d %s", count, ret ? ret : empty_string);
#else
RETURN_EMPTY;
@@ -7033,8 +7034,9 @@
#ifdef WANT_TABKEY
char *ret, *possible;
int count = 0;/* 4 */
+enum completion comp_type = 7;
possible = next_arg(input, &input);
- ret = get_completions(7, possible, &count, NULL);
+ ret = get_completions(&comp_type, possible, &count, NULL, NULL);
return m_sprintf("%d %s", count, ret ? ret : empty_string);
#else
RETURN_EMPTY;