X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b3c37ca5f7bd503f07787e1ac87c1af2ab37f5ba..2e9ce3236ae4bdbb7d41d297faf063c564d39f6c:/sbr/addrsbr.c diff --git a/sbr/addrsbr.c b/sbr/addrsbr.c index 6c9fe0e3..e5b20520 100644 --- a/sbr/addrsbr.c +++ b/sbr/addrsbr.c @@ -78,7 +78,7 @@ static char adr[BUFSIZ]; char * -getname (char *addrs) +getname (const char *addrs) { struct adrx *ap; @@ -169,39 +169,30 @@ getm (char *str, char *dfhost, int dftype, int wanthost, char *eresult) if (host) { mp->m_mbox = getcpy (mbox); mp->m_host = getcpy (host); - } - else { + mp->m_type = + strcasecmp (LocalName(0), mp->m_host) ? NETHOST : LOCALHOST; + } else { if ((pp = strchr(mbox, '!'))) { *pp++ = '\0'; mp->m_mbox = getcpy (pp); mp->m_host = getcpy (mbox); mp->m_type = UUCPHOST; - } - else { + } else { mp->m_nohost = 1; mp->m_mbox = getcpy (mbox); if (route == NULL && dftype == LOCALHOST) { mp->m_host = NULL; mp->m_type = dftype; - } - else - { + } else { mp->m_host = route ? NULL : getcpy (dfhost); mp->m_type = route ? NETHOST : dftype; } } - goto got_host; } /* For alternate mailboxes, m_type gets overwritten in ismymbox () to support wild-card matching. */ - if (wanthost == AD_NHST) - mp->m_type = !mh_strcasecmp (LocalName (0), mp->m_host) - ? LOCALHOST : NETHOST; - else - mp->m_type = mh_strcasecmp (LocalName(0), mp->m_host) ? NETHOST : LOCALHOST; -got_host: ; if (route) mp->m_path = getcpy (route); mp->m_ingrp = ingrp; @@ -251,10 +242,13 @@ auxformat (struct mailname *mp, int extras) strncpy (addr, mp->m_mbox ? mp->m_mbox : "", sizeof(addr)); else - if (mp->m_type != UUCPHOST) - snprintf (addr, sizeof(addr), mp->m_host ? "%s%s@%s" : "%s%s", - empty(mp->m_path), empty(mp->m_mbox), mp->m_host); - else + if (mp->m_type != UUCPHOST) { + if (mp->m_host) + snprintf (addr, sizeof(addr), "%s%s@%s", empty(mp->m_path), + empty(mp->m_mbox), mp->m_host); + else snprintf (addr, sizeof(addr), "%s%s", empty(mp->m_path), + empty(mp->m_mbox)); + } else snprintf (addr, sizeof(addr), "%s!%s", mp->m_host, mp->m_mbox); if (!extras) @@ -280,24 +274,6 @@ auxformat (struct mailname *mp, int extras) } -/* - * This used to be adrsprintf() (where it would format an address for you - * given a username and a domain). But somewhere we got to the point where - * the only caller was post, and it only called it with both arguments NULL. - * So the function was renamed with a more sensible name. - */ - -char * -getlocaladdr(void) -{ - char *username; - - username = getusername(); - - return username; -} - - #define W_NIL 0x0000 #define W_MBEG 0x0001 #define W_MEND 0x0002 @@ -420,11 +396,11 @@ ismymbox (struct mailname *np) goto local_test; case UUCPHOST: - if (mh_strcasecmp (np->m_host, SystemName())) + if (strcasecmp (np->m_host, SystemName())) break; /* fall */ case LOCALHOST: local_test: ; - if (!mh_strcasecmp (np->m_mbox, mq.m_mbox)) + if (!strcasecmp (np->m_mbox, mq.m_mbox)) return 1; break; @@ -444,11 +420,11 @@ local_test: ; continue; switch (mp->m_type & W_MBOX) { case W_NIL: - if (mh_strcasecmp (cp, pp)) + if (strcasecmp (cp, pp)) continue; break; case W_MBEG: - if (mh_strcasecmp (cp + len - i, pp)) + if (strcasecmp (cp + len - i, pp)) continue; break; case W_MEND: @@ -470,11 +446,11 @@ local_test: ; continue; switch (mp->m_type & W_HOST) { case W_NIL: - if (mh_strcasecmp (cp, pp)) + if (strcasecmp (cp, pp)) continue; break; case W_HBEG: - if (mh_strcasecmp (cp + len - i, pp)) + if (strcasecmp (cp + len - i, pp)) continue; break; case W_HEND: