9 void attach_to_server();
12 * num_parms() - discover number of parameters...
19 for (a=0; a<strlen(source); ++a)
20 if (source[a]=='|') ++count;
26 * extract() - extract a parameter from a series of "|" separated...
28 void extract(dest,source,parmnum)
36 n = num_parms(source);
43 if ( (parmnum == 0) && (n == 1) ) {
48 while (count++ < parmnum) do {
50 } while( (strlen(buf)>0) && (buf[0]!='|') );
51 if (buf[0]=='|') strcpy(buf,&buf[1]);
52 for (count = 0; count<strlen(buf); ++count)
53 if (buf[count] == '|') buf[count] = 0;
58 * extract_int() - extract an int parm w/o supplying a buffer
60 int extract_int(source,parmnum)
65 extract(buf,source,parmnum);
71 * extract_long() - extract an long parm w/o supplying a buffer
73 long extract_long(source,parmnum)
78 extract(buf,source,parmnum);
97 printf("%s\n",&buf[4]);
100 printf(" User Name Num L LastCall Calls Posts\n");
101 printf("------------------------- ----- - ---------- ----- -----\n");
102 while (serv_gets(buf), strcmp(buf,"000")) {
105 printf("%5ld %d ",extract_long(buf,2),
107 lc = extract_long(buf,3);
108 tmbuf = (struct tm *)localtime(&lc);
109 printf("%02d/%02d/%04d ",
112 (tmbuf->tm_year + 1900));
113 printf("%5ld %5ld\n",
114 extract_long(buf,4),extract_long(buf,5));
125 attach_to_server(argc,argv);
127 if ((buf[0]!='2')&&(strncmp(buf,"551",3))) {
128 fprintf(stderr,"%s: %s\n",argv[0],&buf[4]);
142 * replacement strerror() for systems that don't have it
148 sprintf(buf,"errno = %d",e);