main() { char textbuff[22]={0}; int i=0; char ch; initGraph(); /*resetmouse(); showmouse();*/ UI(); while(!kbhit()) { ch=mouse_left(); if(ch!='\0') { textbuff[i++]=ch; massage(textbuff); } } endGraph(); }
int main(int argc, char **argv) { time_t c_time; struct tm *tp; char buf[BUFSIZ]; int c; extern int optind; extern char *optarg; FILE *fp; FILE *accessfile; char *aclbuf, *myaclbuf, *crptr; char *sp = NULL; char linebuf[1024]; struct stat finfo; struct passwd *pwent; while ((c = getopt(argc, argv, "vl:d:")) != EOF) { switch (c) { case 'l': denyoffset = atoi(optarg); break; case 'd': discoffset = atoi(optarg); break; case 'v': fprintf(stderr, "%s\n", version); exit(0); default: fprintf(stderr, "Usage: %s [-d min] [-l min] now [\"message\"]\n", argv[0]); fprintf(stderr, " %s [-d min] [-l min] +dd [\"message\"]\n", argv[0]); fprintf(stderr, " %s [-d min] [-l min] HHMM [\"message\"]\n", argv[0]); exit(-1); } } if ((accessfile = fopen(_PATH_FTPACCESS, "r")) == NULL) { if (errno != ENOENT) perror("ftpshut: could not open() access file"); exit(1); } if (stat(_PATH_FTPACCESS, &finfo)) { perror("ftpshut: could not stat() access file"); exit(1); } if (finfo.st_size == 0) { printf("ftpshut: no service shutdown path defined\n"); exit(0); } else { if (!(aclbuf = (char *) malloc(finfo.st_size + 1))) { perror("ftpcount: could not malloc aclbuf"); exit(1); } fread(aclbuf, finfo.st_size, 1, accessfile); *(aclbuf + finfo.st_size) = '\0'; } myaclbuf = aclbuf; while (*myaclbuf != NULL) { if (strncasecmp(myaclbuf, "shutdown", 8) == 0) { for (crptr = myaclbuf; *crptr++ != '\n';) ; *--crptr = NULL; strcpy(linebuf, myaclbuf); *crptr = '\n'; (void) strtok(linebuf, " \t"); /* returns "shutdown" */ sp = strtok(NULL, " \t"); /* returns shutdown path */ } while (*myaclbuf && *myaclbuf++ != '\n') ; } /* three cases * -- now * -- +ddd * -- HHMM */ c = -1; if (optind < argc) { if (!strcasecmp(argv[optind], "now")) { c_time = time(0); tp = localtime(&c_time); } else if ((*(argv[optind])) == '+') { c_time = time(0); c_time += 60 * atoi(++(argv[optind])); tp = localtime(&c_time); } else if ((c = atoi(argv[optind])) >= 0) { c_time = time(0); tp = localtime(&c_time); tp->tm_hour = c / 100; tp->tm_min = c % 100; if ((tp->tm_hour > 23) || (tp->tm_min > 59)) { fprintf(stderr, "Illegal time format.\n"); return(1); } } } if (c_time <= 0) { fprintf(stderr, "Usage: %s [-d min] [-l min] now [\"message\"]\n", argv[0]); fprintf(stderr, " %s [-d min] [-l min] +dd [\"message\"]\n", argv[0]); fprintf(stderr, " %s [-d min] [-l min] HHMM [\"message\"]\n", argv[0]); return(1); } /* do we have a shutdown message? */ if (++optind < argc) strcpy(buf, argv[optind++]); else strcpy(buf, message); massage(buf); if ( sp == NULL ) { fprintf(stderr, "No shutdown file defined in ftpaccess file.\n"); return(1); } if ( (fp = fopen(sp, "w")) == NULL ) { perror("Couldn't open shutdown file"); return(1); } fprintf(fp, "%.4d %.2d %.2d %.2d %.2d %.4d %.4d\n", (tp->tm_year) + 1900, tp->tm_mon, tp->tm_mday, tp->tm_hour, tp->tm_min, denyoffset, discoffset); fprintf(fp, "%s\n", buf); fclose(fp); }