[flashrom] [commit] r883 - trunk

svn at flashrom.org svn at flashrom.org
Tue Jan 26 21:58:41 CET 2010


Author: oxygene
Date: 2010-01-26 21:58:40 +0100 (Tue, 26 Jan 2010)
New Revision: 883

Modified:
   trunk/serial.c
Log:
Windows wants UNC names for COM ports >9 (legacy COM ports only work with one digit).
As UNC also works for smaller names, just retarget all requests for dev=COMx on win32
to \\.\COMx.
Tested with large and small COM port numbers on XP.


Signed-off-by: Patrick Georgi <patrick.georgi at coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>


Modified: trunk/serial.c
===================================================================
--- trunk/serial.c	2010-01-25 22:55:33 UTC (rev 882)
+++ trunk/serial.c	2010-01-26 20:58:40 UTC (rev 883)
@@ -105,7 +105,15 @@
 {
 #ifdef _WIN32
 	HANDLE fd;
-	fd = CreateFile(dev, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+	char* dev2 = dev;
+	if ((strlen(dev) > 3) && (tolower(dev[0])=='c') && (tolower(dev[1])=='o') && (tolower(dev[2])=='m')) {
+		dev2 = malloc(strlen(dev)+5);
+		strcpy(dev2, "\\\\.\\");
+		strcpy(dev2+4, dev);
+	}
+	fd = CreateFile(dev2, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+	if (dev2 != dev)
+		free(dev2);
 	if (fd == INVALID_HANDLE_VALUE) {
 		sp_die("Error: cannot open serial port");
 	}





More information about the flashrom mailing list