|
|
1.1 root 1: /* calout.c
2: Find callout login name and password for a system.
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_calout_rcsid[] = "$Id: calout.c,v 1.1 93/07/30 08:07:02 bin Exp Locker: bin $";
30: #endif
31:
32: #include <errno.h>
33:
34: /* Find callout login name and password for a system. */
35:
36: /*ARGSUSED*/
37: int
38: uuconf_callout (pglobal, qsys, pzlog, pzpass)
39: pointer pglobal;
40: const struct uuconf_system *qsys;
41: char **pzlog;
42: char **pzpass;
43: {
44: #if HAVE_TAYLOR_CONFIG
45:
46: return uuconf_taylor_callout (pglobal, qsys, pzlog, pzpass);
47:
48: #else /* ! HAVE_TAYLOR_CONFIG */
49:
50: struct sglobal *qglobal = (struct sglobal *) pglobal;
51:
52: *pzlog = NULL;
53: *pzpass = NULL;
54:
55: if (qsys->uuconf_zcall_login == NULL
56: && qsys->uuconf_zcall_password == NULL)
57: return UUCONF_NOT_FOUND;
58:
59: if ((qsys->uuconf_zcall_login != NULL
60: && strcmp (qsys->uuconf_zcall_login, "*") == 0)
61: || (qsys->uuconf_zcall_password != NULL
62: && strcmp (qsys->uuconf_zcall_password, "*") == 0))
63: return UUCONF_NOT_FOUND;
64:
65: if (qsys->uuconf_zcall_login != NULL)
66: {
67: *pzlog = strdup (qsys->uuconf_zcall_login);
68: if (*pzlog == NULL)
69: {
70: qglobal->ierrno = errno;
71: return UUCONF_MALLOC_FAILED | UUCONF_ERROR_ERRNO;
72: }
73: }
74:
75: if (qsys->uuconf_zcall_password != NULL)
76: {
77: *pzpass = strdup (qsys->uuconf_zcall_password);
78: if (*pzpass == NULL)
79: {
80: qglobal->ierrno = errno;
81: if (*pzlog != NULL)
82: {
83: free ((pointer) *pzlog);
84: *pzlog = NULL;
85: }
86: return UUCONF_MALLOC_FAILED | UUCONF_ERROR_ERRNO;
87: }
88: }
89:
90: return UUCONF_SUCCESS;
91:
92: #endif /* ! HAVE_TAYLOR_CONFIG */
93: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.