summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile24
-rwxr-xr-xsrc/Makefile.win322
-rw-r--r--src/ivy.c5
-rw-r--r--src/ivybind.c2
-rwxr-xr-xsrc/ivyperf.c2
5 files changed, 16 insertions, 19 deletions
diff --git a/src/Makefile b/src/Makefile
index 31d1367..7fd28a3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -69,12 +69,12 @@ CHANNEL = -DTCL_CHANNEL_INTEGRATION
CFLAGS = -g -Wall
-OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o
-GOBJ = ivyloop.o timer.o ivysocket.o givy.o ivybuffer.o
-XTOBJ = ivyxtloop.o ivysocket.o ivy.o ivybuffer.o
-GLIBOBJ = ivyglibloop.o ivysocket.o ivy.o ivybuffer.o
-GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o ivybuffer.o
-TCLOBJ = ivytcl.o timer.o ivysocket.o givy.o ivybuffer.o
+OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivybind.o
+GOBJ = ivyloop.o timer.o ivysocket.o givy.o ivybuffer.o ivybind.o
+XTOBJ = ivyxtloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o
+GLIBOBJ = ivyglibloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o
+GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o
+TCLOBJ = ivytcl.o timer.o ivysocket.o givy.o ivybuffer.o ivybind.o
# WINDOWS add ivyloop.o if TCL_CHANNEL_INTEGRATION is not set
TARGETS = ivyprobe ivyperf ivyglibprobe ivyxtprobe
@@ -94,14 +94,15 @@ shared-libs: $(TARGETLIBS)
commands: $(TARGETS)
+ivybind.o: ivybind.c
+ $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivybind.c
+
+
ivytcl.o: ivytcl.c
$(CC) -c $(CFLAGS) $(TCLINCL) $(CHANNEL) ivytcl.c
-ivy.o: ivy.c
- $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivy.c
-
givy.o: ivy.c
- $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) -DDEBUG -o givy.o ivy.c
+ $(CC) -c $(CFLAGS) -DDEBUG -o givy.o ivy.c
ivyglutloop.o: ivyglutloop.c ivyglutloop.h
$(CC) -c $(CFLAGS) $(GLUTINC) ivyglutloop.c
@@ -118,9 +119,6 @@ ivyprobe.o : ivyprobe.c
ivyperf: ivyperf.o libivy.a
$(CC) $(CFLAGS) -o $@ ivyperf.o -L. -livy $(PCRELIB) $(EXTRALIB)
-ivyperf.o : ivyperf.c
- $(CC) $(CFLAGS) $(REGEXP) -c ivyperf.c -o $@
-
ivyxtprobe.o : ivyprobe.c
$(CC) $(CFLAGS) $(REGEXP) -DXTMAINLOOP -c ivyprobe.c -o $@ $(XTINC)
diff --git a/src/Makefile.win32 b/src/Makefile.win32
index 0d05a89..651110e 100755
--- a/src/Makefile.win32
+++ b/src/Makefile.win32
@@ -48,7 +48,7 @@ REGEXP= /DUSE_PCRE_REGEX /DPCRE_OPT=$(PCRE_OPT)
# see below
CHANNEL = -DTCL_CHANNEL_INTEGRATION
-OBJ = ivyloop.obj timer.obj ivysocket.obj ivy.obj
+OBJ = ivyloop.obj timer.obj ivysocket.obj ivy.obj ivybind.obj
# WINDOWS add ivyloop.obj if TCL_CHANNEL_INTEGRATION is not set
TARGETS = ivyprobe.exe ivyperf.exe
diff --git a/src/ivy.c b/src/ivy.c
index 6502ea8..5e887d5 100644
--- a/src/ivy.c
+++ b/src/ivy.c
@@ -196,11 +196,10 @@ static int MsgCall (const char *message, MsgSndPtr msg, IvyClientPtr client)
TRACE( "Send matching args count %d\n",rc);
- index=1;
- while ( index<rc ) {
+ for( index=0; index < rc ; index++ )
+ {
IvyBindingMatch( msg->binding, message, index, &arglen, & arg );
err = make_message_var( &buffer, "%.*s" ARG_END , arglen, arg );
- ++index;
}
err = make_message_var( &buffer, "\n");
waiting = SocketSendRaw(client->client, buffer.data , buffer.offset);
diff --git a/src/ivybind.c b/src/ivybind.c
index 5e0ffe0..9522ba5 100644
--- a/src/ivybind.c
+++ b/src/ivybind.c
@@ -163,7 +163,7 @@ int IvyBindingExec( IvyBinding bind, const char * message )
void IvyBindingMatch( IvyBinding bind, const char *message, int argnum, int *arglen, const char **arg)
{
-
+ argnum++; /* first arg == Wall string */
#ifdef USE_PCRE_REGEX
*arglen = bind->ovector[2*argnum+1]- bind->ovector[2*argnum];
diff --git a/src/ivyperf.c b/src/ivyperf.c
index 92ea982..05a9754 100755
--- a/src/ivyperf.c
+++ b/src/ivyperf.c
@@ -101,7 +101,7 @@ int main(int argc, char *argv[])
if ( argc > 1 ) time = atol( argv[1] );
IvyInit ("IvyPerf", "IvyPerf ready", NULL,NULL,NULL,NULL);
- IvyClasses( sizeof( mymessages )/ sizeof( char *),mymessages );
+ IvySetFilter( sizeof( mymessages )/ sizeof( char *),mymessages );
IvySetBindCallback( binCB, 0 ),
IvyBindMsg (Reply, NULL, "^ping ts=(.*)");
IvyBindMsg (Pong, NULL, "^pong ts=(.*) tr=(.*)");