@@ -40,12 +40,12 @@ import (
40
40
"runtime"
41
41
"runtime/pprof"
42
42
"runtime/trace"
43
+ "strconv"
43
44
"strings"
44
45
"syscall"
45
46
46
47
"github.com/arduino/arduino-cli/arduino/cores"
47
48
"github.com/arduino/arduino-cli/legacy/builder"
48
- "github.com/arduino/arduino-cli/legacy/builder/gohasissues"
49
49
jsonrpc "github.com/arduino/arduino-cli/legacy/builder/grpc"
50
50
"github.com/arduino/arduino-cli/legacy/builder/i18n"
51
51
"github.com/arduino/arduino-cli/legacy/builder/types"
@@ -286,7 +286,7 @@ func main() {
286
286
}
287
287
288
288
// FLAG_FQBN
289
- if fqbnIn , err := gohasissues . Unquote (* fqbnFlag ); err != nil {
289
+ if fqbnIn , err := unquote (* fqbnFlag ); err != nil {
290
290
printCompleteError (err )
291
291
} else if fqbnIn != "" {
292
292
if fqbn , err := cores .ParseFQBN (fqbnIn ); err != nil {
@@ -301,7 +301,7 @@ func main() {
301
301
302
302
// FLAG_BUILD_PATH
303
303
if * buildPathFlag != "" {
304
- buildPathUnquoted , err := gohasissues . Unquote (* buildPathFlag )
304
+ buildPathUnquoted , err := unquote (* buildPathFlag )
305
305
if err != nil {
306
306
printCompleteError (err )
307
307
}
@@ -320,7 +320,7 @@ func main() {
320
320
321
321
// FLAG_BUILD_CACHE
322
322
if * buildCachePathFlag != "" {
323
- buildCachePathUnquoted , err := gohasissues . Unquote (* buildCachePathFlag )
323
+ buildCachePathUnquoted , err := unquote (* buildCachePathFlag )
324
324
if err != nil {
325
325
printCompleteError (err )
326
326
}
@@ -339,7 +339,7 @@ func main() {
339
339
}
340
340
341
341
if flag .NArg () > 0 {
342
- sketchLocationUnquoted , err := gohasissues . Unquote (flag .Arg (0 ))
342
+ sketchLocationUnquoted , err := unquote (flag .Arg (0 ))
343
343
if err != nil {
344
344
printCompleteError (err )
345
345
}
@@ -424,7 +424,7 @@ func toExitCode(err error) int {
424
424
func toSliceOfUnquoted (value []string ) ([]string , error ) {
425
425
var values []string
426
426
for _ , v := range value {
427
- v , err := gohasissues . Unquote (v )
427
+ v , err := unquote (v )
428
428
if err != nil {
429
429
return nil , err
430
430
}
@@ -433,6 +433,22 @@ func toSliceOfUnquoted(value []string) ([]string, error) {
433
433
return values , nil
434
434
}
435
435
436
+ func unquote (s string ) (string , error ) {
437
+ if stringStartsEndsWith (s , "'" ) {
438
+ s = s [1 : len (s )- 1 ]
439
+ }
440
+
441
+ if ! stringStartsEndsWith (s , "\" " ) {
442
+ return s , nil
443
+ }
444
+
445
+ return strconv .Unquote (s )
446
+ }
447
+
448
+ func stringStartsEndsWith (s string , c string ) bool {
449
+ return strings .HasPrefix (s , c ) && strings .HasSuffix (s , c )
450
+ }
451
+
436
452
func printCompleteError (err error ) {
437
453
err = i18n .WrapError (err )
438
454
fmt .Fprintln (os .Stderr , err .(* errors.Error ).ErrorStack ())
0 commit comments