# HG changeset patch # User Christian Ebert # Date 1205401366 -3600 # Node ID 7f4257b5cbfc186c9870916f22264543e3292bd8 # Parent a375ffc2aa1bfce70b44dcdd3073c29ada3f55bf win32text: use util.binary to detect \0 diff -r a375ffc2aa1b -r 7f4257b5cbfc hgext/win32text.py --- a/hgext/win32text.py Wed Mar 12 15:44:08 2008 -0700 +++ b/hgext/win32text.py Thu Mar 13 10:42:46 2008 +0100 @@ -22,6 +22,7 @@ # [hooks] # pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf +from mercurial import util from mercurial.i18n import gettext as _ from mercurial.node import bin, short import re @@ -46,19 +47,15 @@ def dumbencode(s, cmd): return s.replace('\r\n', '\n') -def clevertest(s, cmd): - if '\0' in s: return False - return True - def cleverdecode(s, cmd, **kwargs): - if clevertest(s, cmd): - return dumbdecode(s, cmd, **kwargs) - return s + if util.binary(s): + return s + return dumbdecode(s, cmd, **kwargs) def cleverencode(s, cmd): - if clevertest(s, cmd): - return dumbencode(s, cmd) - return s + if util.binary(s): + return s + return dumbencode(s, cmd) _filters = { 'dumbdecode:': dumbdecode, @@ -75,7 +72,7 @@ if f not in c: continue data = c[f].data() - if '\0' not in data and '\r\n' in data: + if not util.binary(data) and '\r\n' in data: if not halt: ui.warn(_('Attempt to commit or push text file(s) ' 'using CRLF line endings\n'))