From ecdf6cdc5bdbb51451604df0713f1b24476f0714 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
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 fb5bd1a4b..2a04ae22b 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 af010dad9..42303da8b 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)
-- 
GitLab