|
|
1.1 ! root 1: /* dnams.c ! 2: Get all known dialer names. ! 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_dnams_rcsid[] = "$Id: dnams.c,v 1.1 93/07/30 08:07:08 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Get all known dialer names. */ ! 33: ! 34: int ! 35: uuconf_dialer_names (pglobal, ppzdialers) ! 36: pointer pglobal; ! 37: char ***ppzdialers; ! 38: { ! 39: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 40: char **pztaylor; ! 41: char **pzhdb; ! 42: int iret; ! 43: ! 44: *ppzdialers = NULL; ! 45: pztaylor = NULL; ! 46: pzhdb = NULL; ! 47: ! 48: #if HAVE_TAYLOR_CONFIG ! 49: iret = uuconf_taylor_dialer_names (pglobal, &pztaylor); ! 50: if (iret != UUCONF_SUCCESS) ! 51: return iret; ! 52: #endif ! 53: ! 54: #if HAVE_HDB_CONFIG ! 55: if (qglobal->qprocess->fhdb) ! 56: { ! 57: iret = uuconf_hdb_dialer_names (pglobal, &pzhdb); ! 58: if (iret != UUCONF_SUCCESS) ! 59: return iret; ! 60: } ! 61: #endif ! 62: ! 63: if (pzhdb == NULL) ! 64: *ppzdialers = pztaylor; ! 65: else if (pztaylor == NULL) ! 66: *ppzdialers = pzhdb; ! 67: else ! 68: { ! 69: char **pz; ! 70: ! 71: iret = UUCONF_SUCCESS; ! 72: ! 73: for (pz = pztaylor; *pz != NULL; pz++) ! 74: { ! 75: iret = _uuconf_iadd_string (qglobal, *pz, FALSE, TRUE, ! 76: ppzdialers, (pointer) NULL); ! 77: if (iret != UUCONF_SUCCESS) ! 78: break; ! 79: } ! 80: ! 81: if (iret == UUCONF_SUCCESS) ! 82: { ! 83: for (pz = pzhdb; *pz != NULL; pz++) ! 84: { ! 85: iret = _uuconf_iadd_string (qglobal, *pz, FALSE, TRUE, ! 86: ppzdialers, (pointer) NULL); ! 87: if (iret != UUCONF_SUCCESS) ! 88: break; ! 89: } ! 90: } ! 91: ! 92: if (pztaylor != NULL) ! 93: free ((pointer) pztaylor); ! 94: if (pzhdb != NULL) ! 95: free ((pointer) pzhdb); ! 96: } ! 97: ! 98: if (iret == UUCONF_SUCCESS && *ppzdialers == NULL) ! 99: iret = _uuconf_iadd_string (qglobal, (char *) NULL, FALSE, FALSE, ! 100: ppzdialers, (pointer) NULL); ! 101: ! 102: return iret; ! 103: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.