|
|
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.