home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume4 / spacewar / part06 / lckmsg.c < prev    next >
C/C++ Source or Header  |  1988-05-31  |  1KB  |  57 lines

  1. /*
  2.  * Spacewar - return a lock message if the system is locked (no play allowed)
  3.  *
  4.  * Copyright 1985 obo Systems, Inc.
  5.  * Copyright 1985 Dan Rosenblatt
  6.  */
  7.  
  8. #include "spacewar.h"
  9. #ifndef VMS
  10. #include <sys/types.h>
  11. #else /* BSD SYSIII SYSV */
  12. #include <types.h>
  13. #endif /* VMS */
  14. #include <time.h>
  15.  
  16. static char *msg;    /* NULL if normal locking applies */
  17.             /* ptr to NULL str if unlocked by SWMASTER */
  18.             /* ptr to text if locked by SWMASTER */
  19.  
  20. char *lckmsg()
  21. {
  22.     time_t clock;
  23.     struct tm *curtm,*localtime();
  24.  
  25. #ifdef DEBUG
  26.     DBG("lckmsg()\n");
  27. #endif
  28.  
  29.     /* controlled by SWMASTER */
  30.     if (msg)
  31.         return((*msg) ? msg : NULL);
  32.  
  33.     /* get current date&time */
  34.     time(&clock);
  35.     curtm = localtime(&clock);
  36.  
  37.     /* OK if Sat or Sun */
  38.     if (curtm->tm_wday == 0 || curtm->tm_wday == 6)
  39.         return(NULL);
  40.  
  41.     /* OK if before 8AM or after 5PM */
  42.     if (curtm->tm_hour < 8 || curtm->tm_hour >= 17)
  43.         return(NULL);
  44.  
  45.     /* OK if during lunch: 1130PM to 1PM */
  46.     if (curtm->tm_hour < 13 && curtm->tm_hour*100 + curtm->tm_min >= 1130)
  47.         return(NULL);
  48.  
  49.     return("A lockout exists from 0800-1130,1300-1700 Mon-Fri");
  50. }
  51.  
  52. VOID prvlck(s)
  53. char *s;
  54. {
  55.     msg = s;
  56. }
  57.