From ecdf6cdc5bdbb51451604df0713f1b24476f0714 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 16 Apr 2014 11:45:52 +0100 Subject: [PATCH] tools: Fix up pybcdc.inf generation: new lines and hex digits. Using Python's file open in 'r' mode opens it for text reading, which converts all new lines to \n. Could use 'rb' binary mode, but then don't have access to the string Template replacement functions. Thus, force the output to have '\\r\\n' ending. Also fix regex to match hex digits. --- tools/file2h.py | 4 +++- tools/insert-usb-ids.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/file2h.py b/tools/file2h.py index fb5bd1a4b9..2a04ae22b9 100644 --- a/tools/file2h.py +++ b/tools/file2h.py @@ -10,7 +10,9 @@ from __future__ import print_function import sys # Can either be set explicitly, or left blank to auto-detect -line_end = '' +# Except auto-detect doesn't work because the file has been passed +# through Python text processing, which makes all EOL a \n +line_end = '\\r\\n' if __name__ == "__main__": filename = sys.argv[1] diff --git a/tools/insert-usb-ids.py b/tools/insert-usb-ids.py index af010dad95..42303da8b8 100644 --- a/tools/insert-usb-ids.py +++ b/tools/insert-usb-ids.py @@ -13,7 +13,7 @@ def parse_usb_ids(filename): if filename == 'usbd_desc_cdc_msc.c': for line in open(filename).readlines(): line = line.rstrip('\r\n') - match = re.match('^#define\s+(\w+)\s+0x(\d+)$', line) + match = re.match('^#define\s+(\w+)\s+0x([0-9A-Fa-f]+)$', line) if match: if match.group(1) == 'USBD_VID': rv['USB_VID'] = match.group(2)