From a74d1e1c9c1826b358eb1b812349262282918094 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 3 Jun 1998 14:54:31 +0000 Subject: Fix argument-merging. svn path=/trunk/; revision=1879 --- rcfile_y.y | 111 ------------------------------------------------------------- 1 file changed, 111 deletions(-) (limited to 'rcfile_y.y') diff --git a/rcfile_y.y b/rcfile_y.y index 69a96db5..5c4f43b7 100644 --- a/rcfile_y.y +++ b/rcfile_y.y @@ -467,121 +467,10 @@ struct query *init; /* pointer to block containing initial values */ static void record_current(void) /* register current parameters and append to the host list */ { -#define FLAG_FORCE(fld) if (cmd_opts.fld) current.fld = cmd_opts.fld - FLAG_FORCE(server.localdomains); - FLAG_FORCE(localnames); - FLAG_FORCE(mailboxes); - FLAG_FORCE(smtphunt); - - FLAG_FORCE(server.via); - FLAG_FORCE(server.protocol); -#if INET6 - FLAG_FORCE(server.service); - FLAG_FORCE(server.netsec); -#else /* INET6 */ - FLAG_FORCE(server.port); -#endif /* INET6 */ - FLAG_FORCE(server.interval); - FLAG_FORCE(server.preauthenticate); - FLAG_FORCE(server.timeout); - FLAG_FORCE(server.envelope); - FLAG_FORCE(server.envskip); - FLAG_FORCE(server.qvirtual); - FLAG_FORCE(server.skip); - FLAG_FORCE(server.dns); - FLAG_FORCE(server.uidl); - -#ifdef linux - FLAG_FORCE(server.interface); - FLAG_FORCE(server.monitor); - FLAG_FORCE(server.interface_pair); -#endif /* linux */ - - FLAG_FORCE(remotename); - FLAG_FORCE(password); - FLAG_FORCE(mda); - FLAG_FORCE(smtpaddress); - FLAG_FORCE(antispam); - FLAG_FORCE(preconnect); - FLAG_FORCE(postconnect); - - FLAG_FORCE(keep); - FLAG_FORCE(flush); - FLAG_FORCE(fetchall); - FLAG_FORCE(rewrite); - FLAG_FORCE(forcecr); - FLAG_FORCE(stripcr); - FLAG_FORCE(pass8bits); - FLAG_FORCE(dropstatus); - FLAG_FORCE(mimedecode); - FLAG_FORCE(limit); - FLAG_FORCE(fetchlimit); - FLAG_FORCE(batchlimit); - FLAG_FORCE(expunge); - -#undef FLAG_FORCE - (void) hostalloc(¤t); - trailer = TRUE; } -void optmerge(struct query *h2, struct query *h1) -/* merge two options records; empty fields in h2 are filled in from h1 */ -{ - append_str_list(&h2->server.localdomains, &h1->server.localdomains); - append_str_list(&h2->localnames, &h1->localnames); - append_str_list(&h2->mailboxes, &h1->mailboxes); - append_str_list(&h2->smtphunt, &h1->smtphunt); - -#define FLAG_MERGE(fld) if (!h2->fld) h2->fld = h1->fld - FLAG_MERGE(server.via); - FLAG_MERGE(server.protocol); -#if INET6 - FLAG_MERGE(server.service); - FLAG_MERGE(server.netsec); -#else /* INET6 */ - FLAG_MERGE(server.port); -#endif /* INET6 */ - FLAG_MERGE(server.interval); - FLAG_MERGE(server.preauthenticate); - FLAG_MERGE(server.timeout); - FLAG_MERGE(server.envelope); - FLAG_MERGE(server.envskip); - FLAG_MERGE(server.qvirtual); - FLAG_MERGE(server.skip); - FLAG_MERGE(server.dns); - FLAG_MERGE(server.uidl); - -#ifdef linux - FLAG_MERGE(server.interface); - FLAG_MERGE(server.monitor); - FLAG_MERGE(server.interface_pair); -#endif /* linux */ - - FLAG_MERGE(remotename); - FLAG_MERGE(password); - FLAG_MERGE(mda); - FLAG_MERGE(smtpaddress); - FLAG_MERGE(antispam); - FLAG_MERGE(preconnect); - - FLAG_MERGE(keep); - FLAG_MERGE(flush); - FLAG_MERGE(fetchall); - FLAG_MERGE(rewrite); - FLAG_MERGE(forcecr); - FLAG_MERGE(stripcr); - FLAG_MERGE(pass8bits); - FLAG_MERGE(dropstatus); - FLAG_MERGE(mimedecode); - FLAG_MERGE(limit); - FLAG_MERGE(fetchlimit); - FLAG_MERGE(batchlimit); - FLAG_MERGE(expunge); -#undef FLAG_MERGE -} - /* easier to do this than cope with variations in where the library lives */ int yywrap(void) {return 1;} -- cgit v1.2.3