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