From owner-freebsd-stable@FreeBSD.ORG Tue Feb 2 14:21:44 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC3A8106568F for ; Tue, 2 Feb 2010 14:21:44 +0000 (UTC) (envelope-from petefrench@ticketswitch.com) Received: from constantine.ticketswitch.com (constantine.ticketswitch.com [IPv6:2002:57e0:1d4e:1::3]) by mx1.freebsd.org (Postfix) with ESMTP id A47028FC0C for ; Tue, 2 Feb 2010 14:21:44 +0000 (UTC) Received: from dilbert.rattatosk ([10.64.50.6] helo=dilbert.ticketswitch.com) by constantine.ticketswitch.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.69 (FreeBSD)) (envelope-from ) id 1NcJdQ-000Dm4-2O for freebsd-stable@freebsd.org; Tue, 02 Feb 2010 14:21:44 +0000 Received: from petefrench by dilbert.ticketswitch.com with local (Exim 4.71 (FreeBSD)) (envelope-from ) id 1NcJdQ-000Lv0-1W for freebsd-stable@freebsd.org; Tue, 02 Feb 2010 14:21:44 +0000 Date: Tue, 02 Feb 2010 14:21:44 +0000 Message-Id: To: freebsd-stable@freebsd.org From: Pete French Subject: patch for /usr/bin/mail X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Feb 2010 14:21:44 -0000 This patch fixes a problem of mail missing addresses when replying to emails generated by some Microsoft systems, which do not insert a space after the comma in lists of addresses. Was filed as PR bin/131861 If anyone who still uses /usr/bin/mail as their primarly email client could test it then I would be grateful (would also be garetful if someone could volunteer to commit it shold it prove to work fine :-) ) -pete. --- usr.bin/mail/util.c.orig 2010-02-02 14:10:34.220987358 +0000 +++ usr.bin/mail/util.c 2010-02-02 14:12:49.968147827 +0000 @@ -496,10 +496,10 @@ *cp2++ = ' '; } *cp2++ = c; - if (c == ',' && *cp == ' ' && !gotlt) { + if (c == ',' && (*cp == ' ' || *cp == '"') && !gotlt) { *cp2++ = ' '; - while (*++cp == ' ') - ; + while (*cp == ' ') + cp++; lastsp = 0; bufend = cp2; }