From: minima Date: Thu, 26 Oct 2000 17:44:31 +0000 (+0000) Subject: add the ability to have an 'after connect' script called 'connected' X-Git-Tag: R_1_45~83 X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=3a6b5b143e5d0e6011a70ec6897934b518f744e1;p=spider.git add the ability to have an 'after connect' script called 'connected' --- diff --git a/Changes b/Changes index 5b2a78ec..1fdd338a 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,6 @@ +26Oct00======================================================================= +1. if there is a 'connected' file in /spider/data then the client will send +it out to the user after connection. 25Oct00======================================================================= 1. fix catchup and uncatchup commands so that they accept ranges 24Oct00======================================================================= diff --git a/src/client.c b/src/client.c index d2ed0c47..0fd8950e 100644 --- a/src/client.c +++ b/src/client.c @@ -300,6 +300,26 @@ void send_msg(fcb_t *f, char let, UC *s, int l) f->sp->flags |= SEL_OUTPUT; } +/* + * send a file out to the user + */ +void send_file(char *name) +{ + int i; + char buf[MAXPACLEN+1]; + + FILE *f = xopen("data", name, "r"); + if (f) { + while (fgets(buf, paclen, f)) { + i = strlen(buf); + if (i && buf[i-1] == '\n') + buf[--i] = 0; + send_text(in, buf, i, 1); + } + fclose(f); + } +} + /* * the callback (called by sel_run) that handles all the inputs and outputs */ @@ -852,19 +872,7 @@ main(int argc, char *argv[]) /* is this a login? */ if (eq(call, "LOGIN") || eq(call, "login")) { - - char buf[MAXPACLEN+1]; - int r, i; - FILE *f = xopen("data", "issue", "r"); - if (f) { - while (fgets(buf, paclen, f)) { - i = strlen(buf); - if (i && buf[i-1] == '\n') - buf[--i] = 0; - send_text(in, buf, i, 1); - } - fclose(f); - } + send_file("issue"); signal(SIGALRM, login_timeout); alarm(timeout); send_text(in, "login: ", 7, 0); @@ -880,6 +888,8 @@ main(int argc, char *argv[]) send_msg(node, 'A', connsort, strlen(connsort)); chgstate(CONNECTED); + + send_file("connected"); }