summary refs log tree commit diff
path: root/gnu/packages/patches/usb-modeswitch-accept-config-arg.patch
blob: 9c050f7ee67df9eca6f8ebfa0db831d1c2bd6fe9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--- old/usb_modeswitch.tcl	1970-01-01 01:00:00.000000000 +0100
+++ usb_modeswitch.tcl	2019-06-12 08:39:42.140000000 +0200
@@ -41,7 +41,7 @@
 global scsi usb config match device flags setup devdir loginit
 
 set flags(config) ""
-Log "[ParseGlobalConfig]"
+Log "[ParseGlobalConfig $argv]"
 
 if {$flags(stordelay) > 0} {
 	SetStorageDelay $flags(stordelay)
@@ -496,9 +496,21 @@
 # end of proc {MatchDevice}
 
 
-proc {ParseGlobalConfig} {} {
+proc {ParseGlobalConfig} {argv} {
 
 global flags
+
+set configFileParam ""
+for {set i 0} {$i < [llength $argv]} {incr i} {
+	switch -glob -- [set v [lindex $argv $i]] {
+		--config-file=* {
+			set configFileParam $v
+		}
+	}
+}
+if {$configFileParam != ""} {
+	set configFile [string range $configFileParam [string length "--config-file="] end]
+} else {
 set configFile ""
 set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch]
 foreach cfg $places {
@@ -507,6 +519,7 @@
 		break
 	}
 }
+}
 if {$configFile == ""} {return}
 
 set rc [open $configFile r]