1/* local.c
2   Get default information for the local 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
21
22   The author of the program may be contacted at ian@airs.com.
23   */
24
25#include "uucnfi.h"
26
27#if USE_RCS_ID
28const char _uuconf_local_rcsid[] = "$Id: local.c,v 1.7 2002/03/05 19:10:42 ian Rel $";
29#endif
30
31#include <errno.h>
32
33/* Get default information about the local system.  */
34
35int
36uuconf_system_local (pglobal, qsys)
37     pointer pglobal;
38     struct uuconf_system *qsys;
39{
40  struct sglobal *qglobal = (struct sglobal *) pglobal;
41  int iret;
42
43  _uuconf_uclear_system (qsys);
44  qsys->uuconf_palloc = uuconf_malloc_block ();
45  if (qsys->uuconf_palloc == NULL)
46    {
47      qglobal->ierrno = errno;
48      return UUCONF_MALLOC_FAILED | UUCONF_ERROR_ERRNO;
49    }
50
51  qsys->uuconf_zname = (char *) qglobal->qprocess->zlocalname;
52
53  /* By default, we permit the local system to forward to and from any
54     system.  */
55  iret = _uuconf_iadd_string (qglobal, (char *) "ANY", FALSE, FALSE,
56			      &qsys->uuconf_pzforward_from,
57			      qsys->uuconf_palloc);
58  if (iret == UUCONF_SUCCESS)
59    iret = _uuconf_iadd_string (qglobal, (char *) "ANY", FALSE, FALSE,
60				&qsys->uuconf_pzforward_to,
61				qsys->uuconf_palloc);
62  if (iret != UUCONF_SUCCESS)
63    {
64      uuconf_free_block (qsys->uuconf_palloc);
65      return iret;
66    }
67
68  return _uuconf_isystem_basic_default (qglobal, qsys);
69}
70