home *** CD-ROM | disk | FTP | other *** search
- /* RESTRICT.C
-
- This routine was written for programs intended for use on remote systems
- or any other system where access must be limited to a certain range of
- user areas. A program calls restrict(*argv) and restrict will only return
- if the user number contained in *argv (if any) is less than or equal to
- MAXUSR. Of course this routine has no practical application in any file
- NOT compiled by BDS C v1.50 or higher. It was specifically written for
- BDS C v1.50, since it is the latest BDS C and the only one to allow user
- area specification without special code.
-
- Written by S. Kluger
- El Paso RCPM/CBBS
- (915) 598-1668
- */
-
- #define MAXUSR 4 /* highest directly accessible user area */
-
- restrict(fn)
- char *fn;
- {
- int fsl,usrar;
- usrar = 0;
- if ((fsl = matchr(fn,'/')) == 1)
- {
- usrar = (fn[fsl-1] - '0');
- }else
- if ((fsl = matchr(fn,'/')) == 2)
- {
- usrar=(fn[fsl-1]-'0') + ((fn[fsl-2]-'0') * 10);
- }
- if (usrar > MAXUSR){
- printf("\nIllegal user area specified.\n");
- exit();
- }
- }
-
- char matchr(st,ch)
- char *st,ch;
- {
- int i;
- for(i=0; st[i]; i++){
- if(st[i] == ch) return(i);
- }
- return(0);
- }
-