patman: separate emails in CC list with NULs

There is a contributor in Linux kernel with a comma in their name, which
confuses patman and results in invalid to- or cc- addresses on some
patches. To avoid this, let's use \0 as a separator when generating cc
file.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Dmitry Torokhov 2019-10-21 20:09:56 -07:00 committed by Simon Glass
parent 31f9f0ea57
commit 8ab452d587
3 changed files with 5 additions and 5 deletions

View file

@ -198,9 +198,9 @@ class TestFunctional(unittest.TestCase):
line += 4
self.assertEqual(expected, tools.ToUnicode(lines[line]))
self.assertEqual(('%s %s, %s' % (args[0], rick, stefan)),
self.assertEqual(('%s %s\0%s' % (args[0], rick, stefan)),
tools.ToUnicode(cc_lines[0]))
self.assertEqual(('%s %s, %s, %s, %s' % (args[1], fred, ed, rick,
self.assertEqual(('%s %s\0%s\0%s\0%s' % (args[1], fred, ed, rick,
stefan)), tools.ToUnicode(cc_lines[1]))
expected = '''

View file

@ -112,7 +112,7 @@ elif options.cc_cmd:
for line in fd.readlines():
match = re_line.match(line)
if match and match.group(1) == args[0]:
for cc in match.group(2).split(', '):
for cc in match.group(2).split('\0'):
cc = cc.strip()
if cc:
print(cc)

View file

@ -243,13 +243,13 @@ class Series(dict):
if limit is not None:
cc = cc[:limit]
all_ccs += cc
print(commit.patch, ', '.join(sorted(set(cc))), file=fd)
print(commit.patch, '\0'.join(sorted(set(cc))), file=fd)
self._generated_cc[commit.patch] = cc
if cover_fname:
cover_cc = gitutil.BuildEmailList(self.get('cover_cc', ''))
cover_cc = [tools.FromUnicode(m) for m in cover_cc]
cc_list = ', '.join([tools.ToUnicode(x)
cc_list = '\0'.join([tools.ToUnicode(x)
for x in sorted(set(cover_cc + all_ccs))])
print(cover_fname, cc_list.encode('utf-8'), file=fd)