mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-05 11:35:01 +00:00
- add prototypes and fix a ton of warnings
This commit is contained in:
parent
c6900c7694
commit
3272e882b8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=321055
127
mail/pathalias/files/patch-addlink.c
Normal file
127
mail/pathalias/files/patch-addlink.c
Normal file
@ -0,0 +1,127 @@
|
||||
--- addlink.c.orig 1993-03-03 22:10:01.000000000 +0100
|
||||
+++ addlink.c 2013-06-16 17:03:10.000000000 +0200
|
||||
@@ -1,39 +1,35 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)addlink.c 9.7 88/06/10";
|
||||
+static const char *sccsid = "@(#)addlink.c 9.7 88/06/10";
|
||||
#endif /* lint */
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
/* exports */
|
||||
-extern link *addlink();
|
||||
-extern void deadlink(), atrace(), freelink();
|
||||
-extern int tracelink(), maptrace();
|
||||
-char *Netchars = "!:@%"; /* sparse, but sufficient */
|
||||
+const char *Netchars = "!:@%"; /* sparse, but sufficient */
|
||||
long Lcount; /* how many edges? */
|
||||
|
||||
/* imports */
|
||||
extern int Tflag, Dflag;
|
||||
-extern link *newlink();
|
||||
-extern node *addnode();
|
||||
-extern void yyerror(), die();
|
||||
-extern int strcmp(), strlen();
|
||||
|
||||
/* privates */
|
||||
-STATIC void netbits(), ltrace(), ltrprint();
|
||||
-static link *Trace[NTRACE];
|
||||
+STATIC void netbits(register palink *l, int netchar,int netdir);
|
||||
+STATIC void ltrace(node *from, node *to, Cost cost, int netchar, int netdir, const char *message);
|
||||
+STATIC void ltrprint(node *from, node *to, Cost cost, int netchar, int netdir, const char *message);
|
||||
+static palink *Trace[NTRACE];
|
||||
static int Tracecount;
|
||||
|
||||
#define EQ(n1, n2) (strcmp((n1)->n_name, (n2)->n_name) == 0)
|
||||
#define LTRACE if (Tflag) ltrace
|
||||
|
||||
-link *
|
||||
+palink *
|
||||
addlink(from, to, cost, netchar, netdir)
|
||||
node *from;
|
||||
register node *to;
|
||||
Cost cost;
|
||||
char netchar, netdir;
|
||||
-{ register link *l, *prev = 0;
|
||||
+{ register palink *l, *prev = 0;
|
||||
|
||||
LTRACE(from, to, cost, netchar, netdir, "");
|
||||
/*
|
||||
@@ -89,7 +85,7 @@
|
||||
void
|
||||
deadlink(nleft, nright)
|
||||
node *nleft, *nright;
|
||||
-{ link *l, *lhold = 0, *lprev, *lnext;
|
||||
+{ palink *l, *lhold = 0, *lprev, *lnext;
|
||||
|
||||
/* DEAD host */
|
||||
if (nright == 0) {
|
||||
@@ -132,7 +128,7 @@
|
||||
|
||||
STATIC void
|
||||
netbits(l, netchar, netdir)
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
char netchar, netdir;
|
||||
{
|
||||
l->l_flag &= ~LDIR;
|
||||
@@ -144,7 +140,7 @@
|
||||
tracelink(arg)
|
||||
char *arg;
|
||||
{ char *bang;
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
|
||||
if (Tracecount >= NTRACE)
|
||||
return -1;
|
||||
@@ -170,8 +166,9 @@
|
||||
ltrace(from, to, cost, netchar, netdir, message)
|
||||
node *from, *to;
|
||||
Cost cost;
|
||||
- char netchar, netdir, *message;
|
||||
-{ link *l;
|
||||
+ char netchar, netdir;
|
||||
+ const char *message;
|
||||
+{ palink *l;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < Tracecount; i++) {
|
||||
@@ -194,7 +191,8 @@
|
||||
ltrprint(from, to, cost, netchar, netdir, message)
|
||||
node *from, *to;
|
||||
Cost cost;
|
||||
- char netchar, netdir, *message;
|
||||
+ char netchar, netdir;
|
||||
+ const char *message;
|
||||
{ char buf[256], *bptr = buf;
|
||||
|
||||
strcpy(bptr, from->n_name);
|
||||
@@ -213,7 +211,7 @@
|
||||
void
|
||||
atrace(n1, n2)
|
||||
node *n1, *n2;
|
||||
-{ link *l;
|
||||
+{ palink *l;
|
||||
int i;
|
||||
char buf[256];
|
||||
|
||||
@@ -230,7 +228,7 @@
|
||||
int
|
||||
maptrace(from, to)
|
||||
register node *from, *to;
|
||||
-{ register link *l;
|
||||
+{ register palink *l;
|
||||
register int i;
|
||||
|
||||
for (i = 0; i < Tracecount; i++) {
|
||||
@@ -248,7 +246,7 @@
|
||||
deletelink(from, to)
|
||||
node *from;
|
||||
node *to;
|
||||
-{ register link *l, *lnext;
|
||||
+{ register palink *l, *lnext;
|
||||
|
||||
l = from->n_link;
|
||||
|
63
mail/pathalias/files/patch-addnode.c
Normal file
63
mail/pathalias/files/patch-addnode.c
Normal file
@ -0,0 +1,63 @@
|
||||
--- addnode.c.orig 1993-03-03 22:10:02.000000000 +0100
|
||||
+++ addnode.c 2013-06-16 17:10:09.000000000 +0200
|
||||
@@ -1,34 +1,30 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)addnode.c 9.7 91/05/23";
|
||||
+static const char *sccsid = "@(#)addnode.c 9.7 91/05/23";
|
||||
#endif
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
#define EQ(n, s) (*(n)->n_name == *(s) && strcmp((n)->n_name, (s)) == 0)
|
||||
|
||||
/* exports */
|
||||
-node *addnode(), *addprivate();
|
||||
-void alias(), hashanalyze(), fixprivate();
|
||||
node **Table; /* hash table ^ priority queue */
|
||||
long Tabsize; /* size of Table */
|
||||
|
||||
/* imports */
|
||||
-extern link *addlink();
|
||||
-extern node *newnode(), **newtable();
|
||||
-extern char *strsave();
|
||||
extern int Iflag, Tflag, Vflag, InetFlag;
|
||||
extern node **Table, *Home;
|
||||
extern long Ncount, Tabsize;
|
||||
extern char **Argv;
|
||||
-extern void atrace(), die(), freetable();
|
||||
-extern int strcmp();
|
||||
|
||||
/* privates */
|
||||
-STATIC void crcinit(), rehash(), lowercase();
|
||||
-STATIC long fold();
|
||||
-STATIC long hash();
|
||||
-STATIC node *isprivate();
|
||||
+STATIC void crcinit(void);
|
||||
+STATIC void rehash(void);
|
||||
+STATIC void lowercase(register char *s);
|
||||
+STATIC long fold(register char *s);
|
||||
+STATIC long hash(char *name, int unique);
|
||||
+STATIC node *isprivate(register char *name);
|
||||
static node *Private; /* list of private nodes in current input file */
|
||||
/*
|
||||
* these numbers are chosen because:
|
||||
@@ -83,7 +79,7 @@
|
||||
alias(n1, n2)
|
||||
node *n1, *n2;
|
||||
{
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
|
||||
if (ISADOMAIN(n1) && ISADOMAIN(n2)) {
|
||||
fprintf(stderr, "%s: domain alias %s = %s is illegal\n", Argv[0], n1->n_name, n2->n_name);
|
||||
@@ -219,7 +215,7 @@
|
||||
Tabsize = Primes[++Tabindex];
|
||||
if (Tabsize == 0)
|
||||
die("too many hosts"); /* need more prime numbers */
|
||||
- vprintf(stderr, "rehash into %d\n", Tabsize);
|
||||
+ vprintf(stderr, "rehash into %ld\n", Tabsize);
|
||||
Table = newtable(Tabsize);
|
||||
Tab128 = (HIGHWATER * Tabsize * 128L)/100L;
|
||||
|
11
mail/pathalias/files/patch-config.h
Normal file
11
mail/pathalias/files/patch-config.h
Normal file
@ -0,0 +1,11 @@
|
||||
--- config.h.orig 1993-03-03 22:10:30.000000000 +0100
|
||||
+++ config.h 2013-06-16 15:49:18.000000000 +0200
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#ifdef MAIN
|
||||
#ifndef lint
|
||||
-static char *c_sccsid = "@(#)config.h 9.5 91/06/11";
|
||||
+static const char *c_sccsid = "@(#)config.h 9.5 91/06/11";
|
||||
#endif /*lint*/
|
||||
#endif /*MAIN*/
|
||||
|
131
mail/pathalias/files/patch-def.h
Normal file
131
mail/pathalias/files/patch-def.h
Normal file
@ -0,0 +1,131 @@
|
||||
--- def.h.orig 1993-03-03 22:10:01.000000000 +0100
|
||||
+++ def.h 2013-06-16 17:11:21.000000000 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#ifndef lint
|
||||
#ifdef MAIN
|
||||
-static char *h_sccsid = "@(#)def.h 9.8 91/06/11";
|
||||
+static const char *h_sccsid = "@(#)def.h 9.8 91/06/11";
|
||||
#endif /*MAIN*/
|
||||
#endif /*lint*/
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
typedef long Cost;
|
||||
typedef struct node node;
|
||||
-typedef struct link link;
|
||||
+typedef struct palink palink;
|
||||
typedef struct dom dom;
|
||||
|
||||
#ifdef lint
|
||||
@@ -63,7 +63,7 @@
|
||||
/* WARNING: if > 2^16 nodes, type of n_tloc must change */
|
||||
struct node {
|
||||
char *n_name; /* host name */
|
||||
- link *n_link; /* adjacency list */
|
||||
+ palink *n_link; /* adjacency list */
|
||||
Cost n_cost; /* cost to this host */
|
||||
union {
|
||||
node *nu_net; /* others in this network (parsing) */
|
||||
@@ -114,11 +114,11 @@
|
||||
#define l_next un.lu_next
|
||||
#define l_from un.lu_from
|
||||
|
||||
-struct link {
|
||||
+struct palink {
|
||||
node *l_to; /* adjacent node */
|
||||
Cost l_cost; /* edge cost */
|
||||
union {
|
||||
- link *lu_next; /* rest of adjacency list (not tracing) */
|
||||
+ palink *lu_next; /* rest of adjacency list (not tracing) */
|
||||
node *lu_from; /* source node (tracing) */
|
||||
} un;
|
||||
short l_flag; /* right/left syntax, flags */
|
||||
@@ -133,7 +133,7 @@
|
||||
*/
|
||||
struct node {
|
||||
char *n_name;
|
||||
- link *n_link;
|
||||
+ palink *n_link;
|
||||
Cost n_cost;
|
||||
node *n_net;
|
||||
node *n_root;
|
||||
@@ -143,10 +143,10 @@
|
||||
unsigned short n_tloc;
|
||||
unsigned short n_flag;
|
||||
};
|
||||
-struct link {
|
||||
+struct palink {
|
||||
node *l_to;
|
||||
Cost l_cost;
|
||||
- link *l_next;
|
||||
+ palink *l_next;
|
||||
node *l_from;
|
||||
short l_flag;
|
||||
char l_netop;
|
||||
@@ -159,3 +159,65 @@
|
||||
dom *prev;
|
||||
char *name;
|
||||
};
|
||||
+
|
||||
+/* prototypes addlink.c */
|
||||
+extern palink *addlink(node *from, register node *to, Cost cost, int netchar, int netdir);
|
||||
+extern void deadlink(node *nleft, node *nright);
|
||||
+extern void atrace(node *n1, node *n2);
|
||||
+extern int tracelink(char *arg);
|
||||
+extern void deletelink(node *from, node *to);
|
||||
+extern int maptrace(register node *from, register node *to);
|
||||
+
|
||||
+/* prototypes addnode.c */
|
||||
+extern node *addnode(register char *name);
|
||||
+extern node *addprivate(register char *name);
|
||||
+extern void alias(node *n1, node *n2);
|
||||
+extern void hashanalyze(void);
|
||||
+extern void fixprivate(void);
|
||||
+extern node *addhidden(register char *name);
|
||||
+
|
||||
+/* prototypes domain.c */
|
||||
+extern int ondomlist(dom **headp, char *domain);
|
||||
+extern int nslookup(char *domain);
|
||||
+extern void adddom(dom **headp, char *domain);
|
||||
+extern void movetofront(dom **headp, dom *d);
|
||||
+extern int isadomain(char *domain);
|
||||
+
|
||||
+/* prototypes local.c */
|
||||
+extern char *local(void);
|
||||
+
|
||||
+/* prototypes main.c */
|
||||
+extern void die(const char *s);
|
||||
+
|
||||
+/* prototypes mapaux.c */
|
||||
+extern long pack(long low, long high);
|
||||
+extern void resetnodes(void);
|
||||
+extern void dumpgraph(void);
|
||||
+extern void showlinks(void);
|
||||
+extern int tiebreaker(node *n, register node *newp );
|
||||
+extern node *ncopy(register node *parent, register palink *l);
|
||||
+
|
||||
+/* prototypes mapit.c */
|
||||
+void mapit(void);
|
||||
+
|
||||
+/* prototypes mem.c */
|
||||
+extern void freelink(palink *l);
|
||||
+extern void wasted(void);
|
||||
+extern void freetable(node **t, long size);
|
||||
+extern long allocation(void);
|
||||
+extern palink *newlink(void);
|
||||
+extern node *newnode(void);
|
||||
+extern dom *newdom(void);
|
||||
+extern char *strsave(const char *s);
|
||||
+extern node **newtable(long size);
|
||||
+#ifdef MYMALLOC
|
||||
+extern char *mymalloc(register unsigned int n);
|
||||
+#endif
|
||||
+
|
||||
+/* prototypes parse.c */
|
||||
+extern void yyerror(const char *s);
|
||||
+extern int yyparse(void);
|
||||
+
|
||||
+/* prototypes printit.c */
|
||||
+extern void printit(void);
|
||||
+
|
88
mail/pathalias/files/patch-domain.c
Normal file
88
mail/pathalias/files/patch-domain.c
Normal file
@ -0,0 +1,88 @@
|
||||
--- domain.c.orig 1993-03-03 22:10:02.000000000 +0100
|
||||
+++ domain.c 2013-06-16 15:38:40.000000000 +0200
|
||||
@@ -1,9 +1,14 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)domain.c 9.5 92/08/25";
|
||||
+static const char *sccsid = "@(#)domain.c 9.5 92/08/25";
|
||||
#endif /* lint */
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <netinet/in.h>
|
||||
+#include <arpa/nameser.h>
|
||||
+#include <resolv.h>
|
||||
|
||||
/* imports */
|
||||
extern dom *newdom();
|
||||
@@ -12,12 +17,14 @@
|
||||
|
||||
/* exports */
|
||||
|
||||
+
|
||||
/* privates */
|
||||
static dom *good, *bad;
|
||||
|
||||
/*
|
||||
* good and bad are passed by reference for move-to-front
|
||||
*/
|
||||
+int
|
||||
isadomain(domain)
|
||||
char *domain;
|
||||
{
|
||||
@@ -43,6 +50,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
+int
|
||||
ondomlist(headp, domain)
|
||||
dom **headp;
|
||||
char *domain;
|
||||
@@ -60,6 +68,7 @@
|
||||
|
||||
|
||||
|
||||
+void
|
||||
adddom(headp, domain)
|
||||
dom **headp;
|
||||
char *domain;
|
||||
@@ -73,6 +82,7 @@
|
||||
*headp = d;
|
||||
}
|
||||
|
||||
+void
|
||||
movetofront(headp, d)
|
||||
dom **headp, *d;
|
||||
{ dom *head = *headp;
|
||||
@@ -91,11 +101,12 @@
|
||||
#include <sys/types.h>
|
||||
#include <arpa/nameser.h>
|
||||
|
||||
+int
|
||||
nslookup(domain)
|
||||
char *domain;
|
||||
{ register HEADER *hp;
|
||||
register int n;
|
||||
- char q[PACKETSZ], a[PACKETSZ]; /* query, answer */
|
||||
+ unsigned char q[PACKETSZ], a[PACKETSZ]; /* query, answer */
|
||||
char buf[PACKETSZ+1];
|
||||
|
||||
if ((n = strlen(domain)) >= PACKETSZ)
|
||||
@@ -105,7 +116,7 @@
|
||||
buf[n++] = '.';
|
||||
buf[n] = 0;
|
||||
}
|
||||
- if ((n = res_mkquery(QUERY, buf, C_IN, T_ANY, (char *) 0, 0, (struct rrec *) 0, q, sizeof(q))) < 0)
|
||||
+ if ((n = res_mkquery(QUERY, buf, C_IN, T_ANY, (const unsigned char *) 0, 0, (const unsigned char *) 0, q, sizeof(q))) < 0)
|
||||
die("impossible res_mkquery error");
|
||||
errno = 0;
|
||||
if ((n = res_send(q, n, a, sizeof(a))) < 0)
|
||||
@@ -117,6 +128,7 @@
|
||||
}
|
||||
#else /*!RESOLVER*/
|
||||
/*ARGSUSED*/
|
||||
+int
|
||||
nslookup(domain)
|
||||
char *domain;
|
||||
{
|
25
mail/pathalias/files/patch-local.c
Normal file
25
mail/pathalias/files/patch-local.c
Normal file
@ -0,0 +1,25 @@
|
||||
--- local.c.orig 1993-03-03 22:10:02.000000000 +0100
|
||||
+++ local.c 2013-06-16 15:45:27.000000000 +0200
|
||||
@@ -1,11 +1,9 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)local.c 9.3 91/06/11";
|
||||
+static const char *sccsid = "@(#)local.c 9.3 91/06/11";
|
||||
#endif /* lint */
|
||||
|
||||
-#include "config.h"
|
||||
-
|
||||
-#include STDIO_H
|
||||
+#include "def.h"
|
||||
|
||||
#ifdef UNAME
|
||||
#include <sys/utsname.h>
|
||||
@@ -29,7 +27,7 @@
|
||||
extern int gethostname();
|
||||
|
||||
(void) gethostname(lname, (int) sizeof(lname));
|
||||
- lname[sizeof(lname)] = 0;
|
||||
+ lname[sizeof(lname) -1] = 0;
|
||||
return(lname);
|
||||
}
|
||||
|
82
mail/pathalias/files/patch-main.c
Normal file
82
mail/pathalias/files/patch-main.c
Normal file
@ -0,0 +1,82 @@
|
||||
--- main.c.orig 1993-03-03 22:10:02.000000000 +0100
|
||||
+++ main.c 2013-06-16 17:10:48.000000000 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
-/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
+/*_pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)main.c 9.8 91/06/11";
|
||||
+static const char *sccsid = "@(#)main.c 9.8 91/06/11";
|
||||
#endif
|
||||
|
||||
#ifndef VMS
|
||||
@@ -9,10 +9,13 @@
|
||||
#define MAIN XXmain
|
||||
#endif
|
||||
|
||||
+#include <stdlib.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
#include "def.h"
|
||||
|
||||
/* exports */
|
||||
-char *Cfile; /* current input file */
|
||||
+const char *Cfile; /* current input file */
|
||||
char *Graphout; /* file for dumping edges (-g option) */
|
||||
char *Linkout; /* file for dumping shortest path tree */
|
||||
char **Argv; /* external copy of argv (for input files) */
|
||||
@@ -26,26 +29,20 @@
|
||||
int InetFlag; /* local host is w/in scope of DNS (-I flag) */
|
||||
int Lineno = 1; /* line number within current input file */
|
||||
int Argc; /* external copy of argc (for input files) */
|
||||
-extern void die();
|
||||
-extern int tracelink();
|
||||
|
||||
/* imports */
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
extern long Lcount, Ncount;
|
||||
-extern long allocation();
|
||||
-extern void wasted(), mapit(), hashanalyze(), deadlink();
|
||||
-extern char *local();
|
||||
-extern node *addnode();
|
||||
-extern int getopt(), yyparse();
|
||||
-extern void printit();
|
||||
|
||||
#define USAGE "usage: %s [-vciDfI] [-l localname] [-d deadlink] [-t tracelink] [-g edgeout] [-s treeout] [-a avoid] [files ...]\n"
|
||||
|
||||
+int
|
||||
MAIN(argc, argv)
|
||||
register int argc;
|
||||
register char **argv;
|
||||
-{ char *locname = 0, *bang;
|
||||
+{ const char *locname = 0;
|
||||
+ char *bang;
|
||||
register int c;
|
||||
int errflg = 0;
|
||||
|
||||
@@ -122,14 +119,14 @@
|
||||
Argv[0], locname);
|
||||
}
|
||||
|
||||
- Home = addnode(locname); /* add home node */
|
||||
+ Home = addnode(strsave(locname)); /* add home node */
|
||||
Home->n_cost = 0; /* doesn't cost to get here */
|
||||
|
||||
(void) yyparse(); /* read in link info */
|
||||
|
||||
if (Vflag > 1)
|
||||
hashanalyze();
|
||||
- vprintf(stderr, "%d nodes, %d links, alloc %ldk\n",
|
||||
+ vprintf(stderr, "%ld nodes, %ld links, alloc %ldk\n",
|
||||
Ncount, Lcount, allocation());
|
||||
|
||||
Cfile = "[backlinks]"; /* for tracing back links */
|
||||
@@ -150,7 +147,7 @@
|
||||
|
||||
void
|
||||
die(s)
|
||||
- char *s;
|
||||
+ const char *s;
|
||||
{
|
||||
#ifdef DEBUG
|
||||
extern int abort();
|
10
mail/pathalias/files/patch-makedb.c
Normal file
10
mail/pathalias/files/patch-makedb.c
Normal file
@ -0,0 +1,10 @@
|
||||
--- makedb.c.orig 1993-03-03 22:10:04.000000000 +0100
|
||||
+++ makedb.c 2013-06-16 16:58:53.000000000 +0200
|
||||
@@ -4,6 +4,7 @@
|
||||
#endif /* lint */
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
#include "config.h"
|
||||
|
||||
typedef struct {
|
105
mail/pathalias/files/patch-mapaux.c
Normal file
105
mail/pathalias/files/patch-mapaux.c
Normal file
@ -0,0 +1,105 @@
|
||||
--- mapaux.c.orig 1993-03-03 22:10:03.000000000 +0100
|
||||
+++ mapaux.c 2013-06-16 17:14:02.000000000 +0200
|
||||
@@ -1,33 +1,26 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)mapaux.c 9.8 91/06/23";
|
||||
+static const char *sccsid = "@(#)mapaux.c 9.8 91/06/23";
|
||||
#endif /* lint */
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
/* imports */
|
||||
extern long Nheap, Hashpart, Tabsize, NumNcopy, Nlink, NumLcopy;
|
||||
extern node **Table, *Home;
|
||||
extern char *Graphout, *Linkout, *Netchars, **Argv;
|
||||
extern int Vflag;
|
||||
-extern void freelink(), die();
|
||||
-extern long pack();
|
||||
-extern link *newlink();
|
||||
-extern node *newnode();
|
||||
-extern char *strsave();
|
||||
-extern int strcmp(), strlen();
|
||||
|
||||
/* exports */
|
||||
-extern long pack();
|
||||
-extern void resetnodes(), dumpgraph(), showlinks(), terminalnet();
|
||||
-extern int tiebreaker();
|
||||
-extern node *ncopy();
|
||||
|
||||
/* privates */
|
||||
static FILE *Gstream; /* for dumping graph */
|
||||
-STATIC void dumpnode(), untangle(), dfs();
|
||||
-STATIC int height();
|
||||
-STATIC link *lcopy();
|
||||
+STATIC void dumpnode(register node *from);
|
||||
+STATIC void untangle(void);
|
||||
+STATIC void dfs(register node *n);
|
||||
+STATIC int height(register node *n);
|
||||
+STATIC palink *lcopy(register node *parent, register node *n);
|
||||
|
||||
/*
|
||||
* slide everything from Table[low] to Table[high]
|
||||
@@ -103,8 +96,8 @@
|
||||
dumpnode(from)
|
||||
register node *from;
|
||||
{ register node *to;
|
||||
- register link *l;
|
||||
- link *lnet = 0, *ll, *lnext;
|
||||
+ register palink *l;
|
||||
+ palink *lnet = 0, *ll, *lnext;
|
||||
|
||||
for (l = from->n_link ; l; l = l->l_next) {
|
||||
to = l->l_to;
|
||||
@@ -182,7 +175,7 @@
|
||||
STATIC void
|
||||
dfs(n)
|
||||
register node *n;
|
||||
-{ register link *l;
|
||||
+{ register palink *l;
|
||||
register node *next;
|
||||
|
||||
n->n_flag |= INDFS;
|
||||
@@ -203,7 +196,7 @@
|
||||
|
||||
void
|
||||
showlinks()
|
||||
-{ register link *l;
|
||||
+{ register palink *l;
|
||||
register node *n;
|
||||
register long i;
|
||||
FILE *estream;
|
||||
@@ -223,7 +216,7 @@
|
||||
fputs(l->l_to->n_name, estream);
|
||||
if (NETDIR(l) == LLEFT)
|
||||
putc(NETCHAR(l), estream);
|
||||
- fprintf(estream, "(%d)\n", l->l_cost);
|
||||
+ fprintf(estream, "(%ld)\n", l->l_cost);
|
||||
}
|
||||
}
|
||||
(void) fclose(estream);
|
||||
@@ -323,7 +316,7 @@
|
||||
node *
|
||||
ncopy(parent, l)
|
||||
register node *parent;
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
{ register node *n, *ncp;
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -359,11 +352,11 @@
|
||||
*
|
||||
* why copy any links other than aliases? hmmm ...
|
||||
*/
|
||||
-STATIC link *
|
||||
+STATIC palink *
|
||||
lcopy(parent, n)
|
||||
register node *parent, *n;
|
||||
-{ register link *l, *lcp;
|
||||
- link *first = 0, *last = 0;
|
||||
+{ register palink *l, *lcp;
|
||||
+ palink *first = 0, *last = 0;
|
||||
|
||||
for (l = n->n_link; l != 0; l = l->l_next) {
|
||||
/* skip if dest is already mapped */
|
@ -1,14 +1,247 @@
|
||||
*** ./mapit.c Sat Jun 9 12:32:18 1990
|
||||
--- ../../m/mapit.c Thu Feb 10 07:00:02 1994
|
||||
***************
|
||||
*** 298,303 ****
|
||||
--- 298,306 ----
|
||||
|| (NETDIR(l) == LRIGHT && (prev->n_flag & HASLEFT)))
|
||||
cost += INF; /* mixed syntax */
|
||||
}
|
||||
+ /* Dirk meyer 10.02.94 */
|
||||
+ if ( cost < 0 ) /* Overflow, more than 31 bit */
|
||||
+ cost = INF; /* Limit, to avoid recursive paths */
|
||||
|
||||
return cost;
|
||||
}
|
||||
--- mapit.c.orig 1993-03-03 22:10:02.000000000 +0100
|
||||
+++ mapit.c 2013-06-16 17:13:06.000000000 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)mapit.c 9.16 92/08/25";
|
||||
+static const char *sccsid = "@(#)mapit.c 9.16 92/08/25";
|
||||
#endif
|
||||
|
||||
#include "def.h"
|
||||
@@ -17,43 +17,42 @@
|
||||
long Nheap; /* end of heap */
|
||||
long NumNcopy, Nlink, NumLcopy;
|
||||
|
||||
-void mapit();
|
||||
-
|
||||
/* imports */
|
||||
extern long Nheap, Hashpart, Tabsize, Tcount;
|
||||
extern int Tflag, Vflag;
|
||||
extern node **Table, *Home;
|
||||
extern char *Linkout, *Graphout;
|
||||
|
||||
-extern void freelink(), resetnodes(), printit(), dumpgraph();
|
||||
-extern void showlinks(), die();
|
||||
-extern long pack(), allocation();
|
||||
-extern link *newlink(), *addlink();
|
||||
-extern int maptrace(), tiebreaker();
|
||||
-extern node *ncopy();
|
||||
-
|
||||
-
|
||||
/* privates */
|
||||
static long Heaphighwater;
|
||||
-static link **Heap;
|
||||
+static palink **Heap;
|
||||
|
||||
-STATIC void insert(), heapup(), heapdown(), heapswap(), backlinks();
|
||||
-STATIC void setheapbits(), mtracereport(), heapchildren(), otracereport();
|
||||
-STATIC link *min_node();
|
||||
-STATIC int dehash(), skiplink(), skipterminalalias();
|
||||
-STATIC Cost costof();
|
||||
-STATIC node *mappedcopy();
|
||||
+STATIC void insert(palink *l);
|
||||
+STATIC void heapup(palink *l);
|
||||
+STATIC void heapdown(palink *l);
|
||||
+STATIC void heapswap(long i, long j);
|
||||
+STATIC void backlinks(void);
|
||||
+STATIC void setheapbits(register palink *l);
|
||||
+STATIC void mtracereport(node *from, palink *l, const char *excuse);
|
||||
+STATIC void heapchildren(register node *n);
|
||||
+STATIC void otracereport(node *n);
|
||||
+STATIC palink *min_node(void);
|
||||
+STATIC int dehash(register node *n);
|
||||
+STATIC int skiplink(palink *l, node *parent, register Cost cost, int trace);
|
||||
+STATIC int skipterminalalias(node *n, node *next);
|
||||
+STATIC Cost costof(register node *prev, register palink *l);
|
||||
+STATIC node *mappedcopy(register node *n);
|
||||
|
||||
/* transform the graph to a shortest-path tree by marking tree edges */
|
||||
void
|
||||
mapit()
|
||||
{ register node *n;
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
|
||||
vprintf(stderr, "*** mapping\ttcount = %ld\n", Tcount);
|
||||
Tflag = Tflag && Vflag; /* tracing here only if verbose */
|
||||
/* re-use the hash table space for the heap */
|
||||
- Heap = (link **) Table;
|
||||
+ Heap = (palink **) Table;
|
||||
Hashpart = pack(0L, Tabsize - 1);
|
||||
|
||||
/* expunge penalties from -a option and make circular copy lists */
|
||||
@@ -84,7 +83,7 @@
|
||||
n->n_flag |= MAPPED;
|
||||
heapchildren(n); /* add children to heap */
|
||||
}
|
||||
- vprintf(stderr, "heap hiwat %d\nalloc %ldk, ncopy = %ld, nlink = %ld, lcopy = %ld\n", Heaphighwater, allocation(), NumNcopy, Nlink, NumLcopy);
|
||||
+ vprintf(stderr, "heap hiwat %ld\nalloc %ldk, ncopy = %ld, nlink = %ld, lcopy = %ld\n", Heaphighwater, allocation(), NumNcopy, Nlink, NumLcopy);
|
||||
|
||||
if (Nheap != 0) /* sanity check */
|
||||
die("null entry in heap");
|
||||
@@ -116,7 +115,7 @@
|
||||
STATIC void
|
||||
heapchildren(n)
|
||||
register node *n;
|
||||
-{ register link *l;
|
||||
+{ register palink *l;
|
||||
register node *next;
|
||||
register int mtrace;
|
||||
register Cost cost;
|
||||
@@ -132,11 +131,12 @@
|
||||
if (l->l_flag & LTERMINAL)
|
||||
l->l_to = next = ncopy(n, l);
|
||||
|
||||
- if ((n->n_flag & NTERMINAL) && (l->l_flag & LALIAS))
|
||||
+ if ((n->n_flag & NTERMINAL) && (l->l_flag & LALIAS)) {
|
||||
if (skipterminalalias(n, next))
|
||||
continue;
|
||||
else
|
||||
l->l_to = next = ncopy(n, l);
|
||||
+ }
|
||||
|
||||
if (next->n_flag & MAPPED) {
|
||||
if (mtrace)
|
||||
@@ -208,12 +208,12 @@
|
||||
*/
|
||||
STATIC int
|
||||
skiplink(l, parent, cost, trace)
|
||||
- link *l; /* new link to this node */
|
||||
+ palink *l; /* new link to this node */
|
||||
node *parent; /* (potential) new parent of this node */
|
||||
register Cost cost; /* new cost to this node */
|
||||
int trace; /* trace this link? */
|
||||
{ register node *n; /* this node */
|
||||
- register link *lheap; /* old link to this node */
|
||||
+ register palink *lheap; /* old link to this node */
|
||||
|
||||
n = l->l_to;
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
STATIC Cost
|
||||
costof(prev, l)
|
||||
register node *prev;
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
{ register node *next;
|
||||
register Cost cost;
|
||||
|
||||
@@ -296,6 +296,9 @@
|
||||
|| (NETDIR(l) == LRIGHT && (prev->n_flag & HASLEFT)))
|
||||
cost += INF; /* mixed syntax */
|
||||
}
|
||||
+ /* Dirk meyer 10.02.94 */
|
||||
+ if ( cost < 0 ) /* Overflow, more than 31 bit */
|
||||
+ cost = INF; /* Limit, to avoid recursive paths */
|
||||
|
||||
return cost;
|
||||
}
|
||||
@@ -303,7 +306,7 @@
|
||||
/* binary heap implementation of priority queue */
|
||||
STATIC void
|
||||
insert(l)
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
{ register node *n;
|
||||
|
||||
n = l->l_to;
|
||||
@@ -336,7 +339,7 @@
|
||||
*/
|
||||
STATIC void
|
||||
heapup(l)
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
{ register long cindx, pindx; /* child, parent indices */
|
||||
register Cost cost;
|
||||
register node *child, *parent;
|
||||
@@ -366,10 +369,10 @@
|
||||
}
|
||||
|
||||
/* extract min (== Heap[1]) from heap */
|
||||
-STATIC link *
|
||||
+STATIC palink *
|
||||
min_node()
|
||||
-{ link *rval, *lastlink;
|
||||
- register link **rheap;
|
||||
+{ palink *rval, *lastlink;
|
||||
+ register palink **rheap;
|
||||
|
||||
if (Nheap == 0)
|
||||
return 0;
|
||||
@@ -399,9 +402,9 @@
|
||||
|
||||
STATIC void
|
||||
heapdown(l)
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
{ register long pindx, cindx;
|
||||
- register link **rheap = Heap; /* in register -- heavily used */
|
||||
+ register palink **rheap = Heap; /* in register -- heavily used */
|
||||
node *child, *rchild, *parent;
|
||||
|
||||
pindx = l->l_to->n_tloc;
|
||||
@@ -450,7 +453,7 @@
|
||||
STATIC void
|
||||
heapswap(i, j)
|
||||
long i, j;
|
||||
-{ register link *temp, **rheap;
|
||||
+{ register palink *temp, **rheap;
|
||||
|
||||
rheap = Heap; /* heavily used -- put in register */
|
||||
temp = rheap[i];
|
||||
@@ -489,7 +492,7 @@
|
||||
*/
|
||||
STATIC void
|
||||
backlinks()
|
||||
-{ register link *l;
|
||||
+{ register palink *l;
|
||||
register node *n, *child;
|
||||
node *nomap;
|
||||
long i;
|
||||
@@ -539,7 +542,7 @@
|
||||
if (Vflag > 1)
|
||||
fprintf(stderr, "backlink: %s <- %s\n", nomap->n_name, child->n_name);
|
||||
}
|
||||
- vprintf(stderr, "%d backlinks\n", Nheap);
|
||||
+ vprintf(stderr, "%ld backlinks\n", Nheap);
|
||||
}
|
||||
|
||||
/* find a mapped copy of n if it exists */
|
||||
@@ -562,7 +565,7 @@
|
||||
*/
|
||||
STATIC void
|
||||
setheapbits(l)
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
{ register node *n;
|
||||
register node *parent;
|
||||
|
||||
@@ -588,8 +591,8 @@
|
||||
STATIC void
|
||||
mtracereport(from, l, excuse)
|
||||
node *from;
|
||||
- link *l;
|
||||
- char *excuse;
|
||||
+ palink *l;
|
||||
+ const char *excuse;
|
||||
{ node *to = l->l_to;
|
||||
|
||||
fprintf(stderr, "%-16s ", excuse);
|
||||
@@ -638,7 +641,7 @@
|
||||
#if 00
|
||||
/* this hasn't been used for years */
|
||||
for (i = 1; i < Nheap; i++) {
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
|
||||
vprintf(stderr, "%5d %-16s", i, Heap[i]->l_to->n_name);
|
||||
if ((l = Heap[i]->l_to->n_link) != 0) do {
|
||||
@@ -647,7 +650,7 @@
|
||||
vprintf(stderr, "\n");
|
||||
}
|
||||
for (i = Hashpart; i < Tabsize; i++) {
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
node *n;
|
||||
|
||||
vprintf(stderr, "%5d %-16s", i, Table[i]->n_name);
|
||||
|
@ -1,17 +1,78 @@
|
||||
--- mem.c.orig Wed Mar 3 22:11:23 1993
|
||||
+++ mem.c Sat Oct 7 20:16:25 2006
|
||||
@@ -19,6 +19,10 @@
|
||||
extern char *sbrk();
|
||||
--- mem.c.orig 1993-03-03 22:11:23.000000000 +0100
|
||||
+++ mem.c 2013-06-16 17:14:35.000000000 +0200
|
||||
@@ -1,38 +1,40 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)mem.c 9.6 92/08/25";
|
||||
+static const char *sccsid = "@(#)mem.c 9.6 92/08/25";
|
||||
#endif
|
||||
|
||||
+#ifdef MYMALLOC
|
||||
+STATIC void addtoheap();
|
||||
+#include <stdlib.h>
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
/* exports */
|
||||
long Ncount;
|
||||
-extern void freelink(), wasted(), freetable();
|
||||
-extern long allocation();
|
||||
|
||||
/* imports */
|
||||
extern char *Netchars;
|
||||
extern int Vflag;
|
||||
-extern void die();
|
||||
-extern int strlen();
|
||||
#ifdef DEBUG
|
||||
-extern char *sbrk();
|
||||
+#include <unistd.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef MYMALLOC
|
||||
+STATIC void addtoheap(char *p, long size);
|
||||
#endif
|
||||
|
||||
/* privates */
|
||||
STATIC void nomem();
|
||||
static link *Lcache;
|
||||
@@ -105,8 +109,6 @@
|
||||
-STATIC void nomem();
|
||||
-static link *Lcache;
|
||||
-static unsigned int Memwaste;
|
||||
+STATIC void nomem(void);
|
||||
+static palink *Lcache;
|
||||
+static unsigned long Memwaste;
|
||||
|
||||
-link *
|
||||
+palink *
|
||||
newlink()
|
||||
-{ register link *rval;
|
||||
+{ register palink *rval;
|
||||
|
||||
if (Lcache) {
|
||||
rval = Lcache;
|
||||
Lcache = Lcache->l_next;
|
||||
- strclear((char *) rval, sizeof(link));
|
||||
- } else if ((rval = (link * ) calloc(1, sizeof(link))) == 0)
|
||||
+ strclear((char *) rval, sizeof(palink));
|
||||
+ } else if ((rval = (palink * ) calloc(1, sizeof(palink))) == 0)
|
||||
nomem();
|
||||
return rval;
|
||||
}
|
||||
@@ -40,7 +42,7 @@
|
||||
/* caution: this destroys the contents of l_next */
|
||||
void
|
||||
freelink(l)
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
{
|
||||
l->l_next = Lcache;
|
||||
Lcache = l;
|
||||
@@ -69,7 +71,7 @@
|
||||
|
||||
char *
|
||||
strsave(s)
|
||||
- char *s;
|
||||
+ const char *s;
|
||||
{ register char *r;
|
||||
|
||||
if ((r = malloc((unsigned) strlen(s) + 1)) == 0)
|
||||
@@ -105,8 +107,6 @@
|
||||
long size;
|
||||
{
|
||||
#ifdef MYMALLOC
|
||||
@ -20,3 +81,15 @@
|
||||
addtoheap((char *) t, size * sizeof(node *));
|
||||
#else
|
||||
free((char *) t);
|
||||
@@ -163,10 +163,9 @@
|
||||
#undef calloc
|
||||
|
||||
/* imports */
|
||||
-extern char *malloc(), *calloc();
|
||||
|
||||
/* private */
|
||||
-STATIC int align();
|
||||
+STATIC int align(char *n);
|
||||
|
||||
/* allocate in MBUFSIZ chunks. 4k works ok (less 16 for malloc quirks). */
|
||||
#define MBUFSIZ (4 * 1024 - 16)
|
||||
|
98
mail/pathalias/files/patch-parse.y
Normal file
98
mail/pathalias/files/patch-parse.y
Normal file
@ -0,0 +1,98 @@
|
||||
--- parse.y.orig 1993-03-03 22:10:03.000000000 +0100
|
||||
+++ parse.y 2013-06-16 17:16:43.000000000 +0200
|
||||
@@ -1,10 +1,11 @@
|
||||
%{
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)parse.y 9.11 91/06/01";
|
||||
+static const char *sccsid = "@(#)parse.y 9.11 91/06/01";
|
||||
#endif /* lint */
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
/* scanner states (yylex, parse) */
|
||||
#define OTHER 0
|
||||
@@ -14,14 +15,8 @@
|
||||
|
||||
/* exports */
|
||||
long Tcount;
|
||||
-extern void yyerror();
|
||||
|
||||
/* imports */
|
||||
-extern node *addnode(), *addprivate();
|
||||
-extern void fixprivate(), alias(), deadlink(), deletelink();
|
||||
-extern link *addlink();
|
||||
-extern int strcmp();
|
||||
-extern char *strsave();
|
||||
extern int optind;
|
||||
extern char *Cfile, *Netchars, **Argv;
|
||||
extern int Lineno, Argc;
|
||||
@@ -78,7 +73,7 @@
|
||||
;
|
||||
|
||||
links : host site cost {
|
||||
- struct link *l;
|
||||
+ struct palink *l;
|
||||
|
||||
l = addlink($1, $2.ys_node, $3, $2.ys_net, $2.ys_dir);
|
||||
if (GATEWAYED($2.ys_node))
|
||||
@@ -87,7 +82,7 @@
|
||||
l->l_flag |= LTERMINAL;
|
||||
}
|
||||
| links ',' site cost {
|
||||
- struct link *l;
|
||||
+ struct palink *l;
|
||||
|
||||
l = addlink($1, $3.ys_node, $4, $3.ys_net, $3.ys_dir);
|
||||
if (GATEWAYED($3.ys_node))
|
||||
@@ -238,18 +233,18 @@
|
||||
%%
|
||||
|
||||
void
|
||||
-#ifdef YYDEBUG
|
||||
+#if YYDEBUG
|
||||
/*VARARGS1*/
|
||||
yyerror(fmt, arg)
|
||||
- char *fmt, *arg;
|
||||
+ const char *fmt, *arg;
|
||||
#else
|
||||
yyerror(s)
|
||||
- char *s;
|
||||
+ const char *s;
|
||||
#endif
|
||||
{
|
||||
/* a concession to bsd error(1) */
|
||||
fprintf(stderr, "\"%s\", ", Cfile);
|
||||
-#ifdef YYDEBUG
|
||||
+#if YYDEBUG
|
||||
fprintf(stderr, "line %d: ", Lineno);
|
||||
fprintf(stderr, fmt, arg);
|
||||
putc('\n', stderr);
|
||||
@@ -279,7 +274,7 @@
|
||||
Cost cost;
|
||||
char netchar, netdir;
|
||||
{ register node *member, *nextnet;
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
static int netanon = 0;
|
||||
char anon[25];
|
||||
|
||||
@@ -314,7 +309,7 @@
|
||||
#define NLRETURN() {Scanstate = NEWLINE; return EOL;}
|
||||
|
||||
static struct ctable {
|
||||
- char *cname;
|
||||
+ const char *cname;
|
||||
Cost cval;
|
||||
} ctable[] = {
|
||||
/* ordered by frequency of appearance in a "typical" dataset */
|
||||
@@ -524,7 +519,7 @@
|
||||
adjust(n, cost)
|
||||
node *n;
|
||||
Cost cost;
|
||||
-{ link *l;
|
||||
+{ palink *l;
|
||||
|
||||
n->n_cost += cost; /* cumulative */
|
||||
|
@ -1,23 +1,99 @@
|
||||
diff -c ./printit.c ../../m/printit.c
|
||||
*** ./printit.c Sat Jun 9 12:32:26 1990
|
||||
--- ../../m/printit.c Thu Feb 10 07:08:42 1994
|
||||
***************
|
||||
*** 27,33 ****
|
||||
STATIC int printable();
|
||||
|
||||
/* in practice, even the longest paths are < 100 bytes */
|
||||
! #define PATHSIZE 512
|
||||
|
||||
void
|
||||
printit()
|
||||
--- 27,36 ----
|
||||
STATIC int printable();
|
||||
|
||||
/* in practice, even the longest paths are < 100 bytes */
|
||||
! /* Dirk meyer 10.02.94 */
|
||||
! /* in reality we have reached paths up to 200 bytes */
|
||||
! /* the path must fit two times in the buffer */
|
||||
! #define PATHSIZE 4096
|
||||
|
||||
void
|
||||
printit()
|
||||
--- printit.c.orig 1993-03-03 22:10:03.000000000 +0100
|
||||
+++ printit.c 2013-06-16 17:17:32.000000000 +0200
|
||||
@@ -1,9 +1,10 @@
|
||||
/* pathalias -- by steve bellovin, as told to peter honeyman */
|
||||
#ifndef lint
|
||||
-static char *sccsid = "@(#)printit.c 9.4 89/02/07";
|
||||
+static const char *sccsid = "@(#)printit.c 9.4 89/02/07";
|
||||
#endif
|
||||
|
||||
#include "def.h"
|
||||
+#include <string.h>
|
||||
|
||||
/*
|
||||
* print the routes by traversing the shortest path tree in preorder.
|
||||
@@ -11,27 +12,28 @@
|
||||
*/
|
||||
|
||||
/* exports */
|
||||
-extern void printit();
|
||||
+extern void printit(void);
|
||||
|
||||
/* imports */
|
||||
extern int Cflag, Vflag, Dflag, Fflag;
|
||||
extern node *Home;
|
||||
extern char *Netchars;
|
||||
-extern void die();
|
||||
-extern int strlen();
|
||||
|
||||
/* privates */
|
||||
-static link *Ancestor; /* for -f option */
|
||||
+static palink *Ancestor; /* for -f option */
|
||||
STATIC void preorder(), setpath(), printhost(), printdomain();
|
||||
STATIC char *hostpath();
|
||||
STATIC int printable();
|
||||
|
||||
/* in practice, even the longest paths are < 100 bytes */
|
||||
-#define PATHSIZE 512
|
||||
+/* Dirk meyer 10.02.94 */
|
||||
+/* in reality we have reached paths up to 200 bytes */
|
||||
+/* the path must fit two times in the buffer */
|
||||
+#define PATHSIZE 4096
|
||||
|
||||
void
|
||||
printit()
|
||||
-{ link *l;
|
||||
+{ palink *l;
|
||||
char pbuf[PATHSIZE];
|
||||
|
||||
/* print home */
|
||||
@@ -57,7 +59,7 @@
|
||||
*/
|
||||
STATIC void
|
||||
preorder(l, ppath)
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
char *ppath;
|
||||
{ register node *n;
|
||||
node *ncp; /* circular copy list */
|
||||
@@ -105,7 +107,7 @@
|
||||
printable(n)
|
||||
register node *n;
|
||||
{ node *ncp;
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
|
||||
if (n->n_flag & PRINTED)
|
||||
return 0;
|
||||
@@ -156,7 +158,7 @@
|
||||
|
||||
STATIC void
|
||||
setpath(l, ppath, npath)
|
||||
- link *l;
|
||||
+ palink *l;
|
||||
register char *ppath, *npath;
|
||||
{ register node *next, *parent;
|
||||
char netchar;
|
||||
@@ -192,11 +194,12 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- if (netchar == '@')
|
||||
+ if (netchar == '@') {
|
||||
if (next->n_flag & ATSIGN)
|
||||
netchar = '%'; /* shazam? shaman? */
|
||||
else
|
||||
next->n_flag |= ATSIGN;
|
||||
+ }
|
||||
|
||||
/* remainder should be a sprintf -- foo on '%' as an operator */
|
||||
for ( ; (*npath = *ppath) != 0; ppath++) {
|
||||
@@ -224,7 +227,7 @@
|
||||
STATIC char *
|
||||
hostpath(path, l, netchar)
|
||||
register char *path;
|
||||
- register link *l;
|
||||
+ register palink *l;
|
||||
char netchar;
|
||||
{ register node *prev;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user