summaryrefslogtreecommitdiff
path: root/Lib/netrc.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2011-06-10 11:32:52 -0500
committerBenjamin Peterson <benjamin@python.org>2011-06-10 11:32:52 -0500
commit43ee1a5d90df3181628fe03c67254aef1bb93f04 (patch)
tree61284455c0509a701366c5c745f7ca77667983b9 /Lib/netrc.py
parent2231e1a01fa2113fb26c62598fe1f5119fb91075 (diff)
downloadcpython-git-43ee1a5d90df3181628fe03c67254aef1bb93f04.tar.gz
fix regression in netrc comment handling (closes #12009)
Diffstat (limited to 'Lib/netrc.py')
-rw-r--r--Lib/netrc.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/netrc.py b/Lib/netrc.py
index 4caeb965fb..0fd37e304f 100644
--- a/Lib/netrc.py
+++ b/Lib/netrc.py
@@ -41,8 +41,12 @@ class netrc:
if not tt:
break
elif tt[0] == '#':
- fp.readline();
- continue;
+ # seek to beginning of comment, in case reading the token put
+ # us on a new line, and then skip the rest of the line.
+ pos = len(tt) + 1
+ lexer.instream.seek(-pos, 1)
+ lexer.instream.readline()
+ continue
elif tt == 'machine':
entryname = lexer.get_token()
elif tt == 'default':
@@ -68,8 +72,8 @@ class netrc:
self.hosts[entryname] = {}
while 1:
tt = lexer.get_token()
- if (tt=='' or tt == 'machine' or
- tt == 'default' or tt =='macdef'):
+ if (tt.startswith('#') or
+ tt in {'', 'machine', 'default', 'macdef'}):
if password:
self.hosts[entryname] = (login, account, password)
lexer.push_token(tt)