xref: /plan9/sys/src/cmd/upas/send/gateway.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier #include "common.h"
23e12c5d1SDavid du Colombier #include "send.h"
33e12c5d1SDavid du Colombier 
43e12c5d1SDavid du Colombier #define isspace(c) ((c)==' ' || (c)=='\t' || (c)=='\n')
53e12c5d1SDavid du Colombier 
63e12c5d1SDavid du Colombier /*
73e12c5d1SDavid du Colombier  *  Translate the last component of the sender address.  If the translation
83e12c5d1SDavid du Colombier  *  yields the same address, replace the sender with its last component.
93e12c5d1SDavid du Colombier  */
103e12c5d1SDavid du Colombier extern void
gateway(message * mp)113e12c5d1SDavid du Colombier gateway(message *mp)
123e12c5d1SDavid du Colombier {
133e12c5d1SDavid du Colombier 	char *base;
14*7dd7cddfSDavid du Colombier 	String *s;
153e12c5d1SDavid du Colombier 
163e12c5d1SDavid du Colombier 	/* first remove all systems equivalent to us */
17*7dd7cddfSDavid du Colombier 	base = skipequiv(s_to_c(mp->sender));
18*7dd7cddfSDavid du Colombier 	if(base != s_to_c(mp->sender)){
19*7dd7cddfSDavid du Colombier 		s = mp->sender;
203e12c5d1SDavid du Colombier 		mp->sender = s_copy(base);
21*7dd7cddfSDavid du Colombier 		s_free(s);
223e12c5d1SDavid du Colombier 	}
233e12c5d1SDavid du Colombier }
24