|
|
1.1 ! root 1: /* maxuxq.c ! 2: Get the maximum number of simultaneous uuxqt executions. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP uuconf library. ! 7: ! 8: This library is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU Library General Public License ! 10: as published by the Free Software Foundation; either version 2 of ! 11: the License, or (at your option) any later version. ! 12: ! 13: This library is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: Library General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU Library General Public ! 19: License along with this library; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucnfi.h" ! 27: ! 28: #if USE_RCS_ID ! 29: const char _uuconf_maxuxq_rcsid[] = "$Id: maxuxq.c,v 1.1 93/07/30 08:07:25 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Get the maximum number of simultaneous uuxqt executions. When ! 33: using TAYLOR_CONFIG, this is from the ``max-uuxqts'' command in ! 34: config. Otherwise, when using HDB_CONFIG, we read the file ! 35: Maxuuxqts. */ ! 36: ! 37: int ! 38: uuconf_maxuuxqts (pglobal, pcmax) ! 39: pointer pglobal; ! 40: int *pcmax; ! 41: { ! 42: #if HAVE_TAYLOR_CONFIG ! 43: { ! 44: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 45: ! 46: *pcmax = qglobal->qprocess->cmaxuuxqts; ! 47: return UUCONF_SUCCESS; ! 48: } ! 49: #else /* ! HAVE_TAYLOR_CONFIG */ ! 50: #if HAVE_HDB_CONFIG ! 51: { ! 52: char ab[sizeof OLDCONFIGLIB + sizeof HDB_MAXUUXQTS - 1]; ! 53: FILE *e; ! 54: ! 55: *pcmax = 0; ! 56: ! 57: memcpy ((pointer) ab, (constpointer) OLDCONFIGLIB, ! 58: sizeof OLDCONFIGLIB - 1); ! 59: memcpy ((pointer) (ab + sizeof OLDCONFIGLIB - 1), ! 60: (constpointer) HDB_MAXUUXQTS, sizeof HDB_MAXUUXQTS); ! 61: e = fopen (ab, "r"); ! 62: if (e != NULL) ! 63: { ! 64: char *z; ! 65: size_t c; ! 66: ! 67: z = NULL; ! 68: c = 0; ! 69: if (getline (&z, &c, e) > 0) ! 70: { ! 71: *pcmax = (int) strtol (z, (char **) NULL, 10); ! 72: if (*pcmax < 0) ! 73: *pcmax = 0; ! 74: free ((pointer) z); ! 75: } ! 76: (void) fclose (e); ! 77: } ! 78: ! 79: return UUCONF_SUCCESS; ! 80: } ! 81: #else /* ! HAVE_HDB_CONFIG */ ! 82: *pcmax = 0; ! 83: return UUCONF_SUCCESS; ! 84: #endif /* ! HAVE_HDB_CONFIG */ ! 85: #endif /* ! HAVE_TAYLOR_CONFIG */ ! 86: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.