|
@@ -27,6 +27,7 @@
|
|
|
# Please make sure this works on both python2 and python3.
|
|
|
#
|
|
|
|
|
|
+import codecs
|
|
|
import os
|
|
|
import subprocess
|
|
|
import sys
|
|
@@ -88,13 +89,10 @@ class KernelDocDirective(Directive):
|
|
|
try:
|
|
|
env.app.verbose('calling kernel-doc \'%s\'' % (" ".join(cmd)))
|
|
|
|
|
|
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
|
|
|
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
|
out, err = p.communicate()
|
|
|
|
|
|
- # python2 needs conversion to unicode.
|
|
|
- # python3 with universal_newlines=True returns strings.
|
|
|
- if sys.version_info.major < 3:
|
|
|
- out, err = unicode(out, 'utf-8'), unicode(err, 'utf-8')
|
|
|
+ out, err = codecs.decode(out, 'utf-8'), codecs.decode(err, 'utf-8')
|
|
|
|
|
|
if p.returncode != 0:
|
|
|
sys.stderr.write(err)
|