# 2.11BSD#431 - /usr/src/new/notes/src/nfalias.c

##### Functions

    nfalias           X

       1: #include "parms.h"
       2: #include "structs.h"
       3:
       4: #ifdef  RCSIDENT
       5: static char rcsid[] = "$Header: nfalias.c,v 1.7 85/01/18 15:24:36 notes Rel $";
       6: #endif	RCSIDENT
       7:
       8: #include "net.h"
       9: /*
      10:  *	nfalias(local, remote, remotesys)
      11:  *	char *local, *remote, *remotesys;
      12:  *
      13:  *	nfalias looks in the alias file for the remote system and
      14:  *	tries to find a match for the local notesfile.
      15:  *	If a match is found, it is copied to *remote, otherwise
      16:  *	the original name is copied over.
      17:  *
      18:  *	The routine returns -1 if there is no file.
      19:  *	A zero is returned if no match is found.
      20:  *	A 1 is returned if a match is found.
      21:  *
      22:  *	Original Coding:	Ray Essick	April 25, 1982
      23:  */
      24:
      25: nfalias (local, remote, remotesys)
      26: char   *local;
      27: char   *remote;
      28: char   *remotesys;
      29: {
      30:
      31:     FILE * aliases;
      32:     char    linebuf[100];               /* hold lines from file */
      33:     char   *p,
      34:            *q;
      35:     int     c;
      36:
      37:     strcpy (remote, local);             /* pessimism - ready to fail */
      38:
      39:     sprintf (linebuf, "%s/%s/%s/%s", Mstdir, UTILITY, ALIASES, remotesys);
      40:     if ((aliases = fopen (linebuf, "r")) == NULL)
      41:     return (-1);                    /* no file, too bad */
      42:
      43:     while (1)
      44:     {
      45:     p = linebuf;                    /* start line */
      46:     while ((c = getc (aliases)) != EOF && c != '\n')
      47:         *p++ = c;
      48:     if (c == EOF)
      49:     {
      50:         fclose (aliases);
      51:         return 0;                   /* no match */
      52:     }
      53:     *p = '\0';                  /* terminate string */
      54:     if (linebuf[0] == '#' || linebuf[0] == '\0')
      55:         continue;                   /* comment or empty line */
      56:
      57:     q = linebuf;                    /* find colon */
      58:     while (*q != ':' && *q)
      59:         q++;                    /* try next */
      60:     if (*q != ':')                  /* properly formatted? */
      61:     {
      62:         fprintf (stderr, "Bad line in alias file for system %s: %s\n",
      63:             remotesys, linebuf);
      64:         continue;                   /* skip the line */
      65:     }
      66:     *q++ = '\0';                    /* break into two parts */
      67:     if (strcmp (linebuf, local) == 0)       /* match ? */
      68:     {
      69:         strcpy (remote, q);             /* copy the name over */
      70:         fclose (aliases);
      71:         return 1;                   /* success */
      72:     }
      73:     }
      74: /*	yes, we know that this statement is unreachable! */
      75:     return (-1);                    /* to satisfy lint */
      76: }

#### Defined functions

nfalias defined in line 25; used 2 times

- in /usr/src/new/notes/src/archiver.c line 92
- in /usr/src/new/notes/src/nfxmit.c line 39

#### Defined variables

rcsid defined in line 5; never used

Last modified: 1985-01-19 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 591 |