X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fclient.c;fp=src%2Fclient.c;h=167ef647acacc5101cf152223117d25e9023f62c;hb=b06a8b34356732ab544f4bba0102c5793b34e3d9;hp=74670241615d1ce8d12fca3fbe3b17b17770b4a2;hpb=38adb616f6c6e45b322c695684f7d2bddfd87644;p=spider.git diff --git a/src/client.c b/src/client.c index 74670241..167ef647 100644 --- a/src/client.c +++ b/src/client.c @@ -112,10 +112,10 @@ myregex_t iscallreg[] = { /* regexes to determine whether this is a reasonable "^[0-9]+[A-Z]+[0-9]+[A-Z]+[1-9]?$", 0 /* 2E0AAA 2E0AAA1 */ }, { - "^[A-Z]+[0-9]+[A-Z]+-[1-9]$", 0 /* G1TLH-2 */ + "^[A-Z]+[0-9]+[A-Z]+-[0-9]$", 0 /* G1TLH-2 */ }, { - "^[0-9]+[A-Z]+[0-9]+[A-Z]+-[1-9]$", 0 /* 2E0AAA-2 */ + "^[0-9]+[A-Z]+[0-9]+[A-Z]+-[0-9]$", 0 /* 2E0AAA-2 */ }, { "^[A-Z]+[0-9]+[A-Z]+-1[0-5]$", 0 /* G1TLH-11 */ @@ -613,6 +613,11 @@ void process_stdin() if (!iscallsign(call)) { die("Sorry, %s isn't a valid callsign", call); } + + /* strip off a '-0' at the end */ + i = strlen(call); + if (call[i-1] == '0' && call[i-2] == '-') + call[i-2] = 0; alarm(0); signal(SIGALRM, SIG_IGN); @@ -879,12 +884,18 @@ main(int argc, char *argv[]) send_text(in, "login: ", 7, 0); chgstate(WAITLOGIN); } else { - + int i; + /* check the callsign against the regexes */ if (!iscallsign(call)) { die("Sorry, %s isn't a valid callsign", call); } + /* strip off a '-0' at the end */ + i = strlen(call); + if (call[i-1] == '0' && call[i-2] == '-') + call[i-2] = 0; + /* tell the cluster who I am */ send_msg(node, 'A', connsort, strlen(connsort));