add doat plugin
This commit is contained in:
parent
99e015c3b3
commit
caa878bc93
|
@ -47,6 +47,7 @@ copy %DEPS_ROOT%\bin\cert.pem %XCHAT_DEST%
|
||||||
copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST%
|
copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST%
|
||||||
xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\
|
xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\
|
||||||
xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\
|
xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\
|
||||||
|
copy ..\plugins\doat\xcdoat.dll %XCHAT_DEST%\plugins
|
||||||
copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins
|
copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins
|
||||||
::copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins
|
::copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins
|
||||||
copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins
|
copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins
|
||||||
|
|
|
@ -47,6 +47,7 @@ copy %DEPS_ROOT%\bin\cert.pem %XCHAT_DEST%
|
||||||
copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST%
|
copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST%
|
||||||
xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\
|
xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\
|
||||||
xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\
|
xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\
|
||||||
|
copy ..\plugins\doat\xcdoat.dll %XCHAT_DEST%\plugins
|
||||||
copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins
|
copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins
|
||||||
::copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins
|
::copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins
|
||||||
copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins
|
copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
/* This program is free software. It comes without any warranty, to
|
||||||
|
* the extent permitted by applicable law. You can redistribute it
|
||||||
|
* and/or modify it under the terms of the Do What The Fuck You Want
|
||||||
|
* To Public License, Version 2, as published by Sam Hocevar. See
|
||||||
|
* http://sam.zoy.org/wtfpl/COPYING or http://lwsitu.com/xchat/COPYING
|
||||||
|
* for more details. */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "xchat-plugin.h"
|
||||||
|
|
||||||
|
static xchat_plugin *ph;
|
||||||
|
|
||||||
|
static int
|
||||||
|
parse_command( char *word[], char *word_eol[], void *userdata ) {
|
||||||
|
char *channel = NULL, *server = NULL, *token = NULL;
|
||||||
|
/* char *save_ptr1 = NULL;*/
|
||||||
|
char *str1 = NULL;
|
||||||
|
char *delimiter = NULL;
|
||||||
|
|
||||||
|
xchat_context *ctx = NULL;
|
||||||
|
|
||||||
|
if( word[2] != NULL && word[3] != NULL ) {
|
||||||
|
for( str1 = word[2]; ; str1 = NULL ) {
|
||||||
|
/* token = strtok_r( str1, ",", &save_ptr1 );*/
|
||||||
|
token = strtok( str1, "," );
|
||||||
|
/* printf( "token: %s\n", token );*/
|
||||||
|
|
||||||
|
if( token == NULL ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
channel = malloc( strlen( token ) + 1 );
|
||||||
|
strcpy( channel, token );
|
||||||
|
|
||||||
|
delimiter = strchr( channel, '/' );
|
||||||
|
|
||||||
|
server = NULL;
|
||||||
|
if( delimiter != NULL ) {
|
||||||
|
*delimiter = '\0';
|
||||||
|
server = delimiter + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* printf( "channel[%s] server[%s]\n", channel, server );*/
|
||||||
|
|
||||||
|
if( (ctx = xchat_find_context( ph, server, channel ) ) != NULL ) {
|
||||||
|
if( xchat_set_context( ph, ctx ) ) {
|
||||||
|
xchat_command( ph, word_eol[3] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
free( channel );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return XCHAT_EAT_XCHAT;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
xchat_plugin_init( xchat_plugin * plugin_handle, char **plugin_name,
|
||||||
|
char **plugin_desc, char **plugin_version, char *arg ) {
|
||||||
|
|
||||||
|
ph = plugin_handle;
|
||||||
|
*plugin_name = "Do At";
|
||||||
|
*plugin_version = "1.0";
|
||||||
|
*plugin_desc = "Perform an arbitrary command on multiple channels";
|
||||||
|
|
||||||
|
xchat_hook_command( ph, "doat", XCHAT_PRI_NORM, parse_command, "DOAT [channel,list,/network] [command], perform a command on multiple contexts", NULL );
|
||||||
|
|
||||||
|
xchat_print (ph, "Do At plugin loaded\n");
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
xchat_plugin_deinit (void)
|
||||||
|
{
|
||||||
|
xchat_print (ph, "Do At plugin unloaded\n");
|
||||||
|
return 1;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
include "..\..\src\makeinc.mak"
|
||||||
|
|
||||||
|
all: doat.obj doat.def
|
||||||
|
link $(LDFLAGS) $(LIBS) /dll /out:xcdoat.dll /def:doat.def doat.obj
|
||||||
|
|
||||||
|
doat.def:
|
||||||
|
echo EXPORTS > doat.def
|
||||||
|
echo xchat_plugin_init >> doat.def
|
||||||
|
echo xchat_plugin_deinit >> doat.def
|
||||||
|
|
||||||
|
doat.obj: doat.c makefile.mak
|
||||||
|
cl $(CFLAGS) $(GLIB) /I.. doat.c
|
||||||
|
|
||||||
|
clean:
|
||||||
|
del *.obj
|
||||||
|
del *.dll
|
||||||
|
del *.exp
|
||||||
|
del *.lib
|
|
@ -3,6 +3,8 @@ all:
|
||||||
@-$(MAKE) /nologo /s /f makefile.mak $@
|
@-$(MAKE) /nologo /s /f makefile.mak $@
|
||||||
# @cd ..\gtkpref
|
# @cd ..\gtkpref
|
||||||
# @-$(MAKE) /nologo /s /f makefile.mak $@
|
# @-$(MAKE) /nologo /s /f makefile.mak $@
|
||||||
|
@cd ..\doat
|
||||||
|
@-$(MAKE) /nologo /s /f makefile.mak $@
|
||||||
@cd ..\lua
|
@cd ..\lua
|
||||||
@-$(MAKE) /nologo /s /f makefile.mak $@
|
@-$(MAKE) /nologo /s /f makefile.mak $@
|
||||||
@cd ..\mpcinfo
|
@cd ..\mpcinfo
|
||||||
|
@ -25,6 +27,8 @@ clean:
|
||||||
@-$(MAKE) /nologo /s /f makefile.mak clean $@
|
@-$(MAKE) /nologo /s /f makefile.mak clean $@
|
||||||
# @cd ..\gtkpref
|
# @cd ..\gtkpref
|
||||||
# @-$(MAKE) /nologo /s /f makefile.mak clean $@
|
# @-$(MAKE) /nologo /s /f makefile.mak clean $@
|
||||||
|
@cd ..\doat
|
||||||
|
@-$(MAKE) /nologo /s /f makefile.mak clean $@
|
||||||
@cd ..\lua
|
@cd ..\lua
|
||||||
@-$(MAKE) /nologo /s /f makefile.mak clean $@
|
@-$(MAKE) /nologo /s /f makefile.mak clean $@
|
||||||
@cd ..\mpcinfo
|
@cd ..\mpcinfo
|
||||||
|
|
Loading…
Reference in New Issue