From f02e2b1ee07de99dafb4ff1d7d2254a6109eb2a3 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Sat, 17 Sep 2022 14:33:27 -0400 Subject: [PATCH] Handled backslash-escapes (convert "\" to "\\") when writing pins to the JSON format file (since JSON does not allow single backslash characters. Previously nets had been handled correctly, but not pins. Resolves github issue tracker Issue #60 from Proppy. --- VERSION | 2 +- tcltk/netgen.tcl.in | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index a6a91e5..9110a98 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.231 +1.5.232 diff --git a/tcltk/netgen.tcl.in b/tcltk/netgen.tcl.in index 55f1f10..1b96234 100644 --- a/tcltk/netgen.tcl.in +++ b/tcltk/netgen.tcl.in @@ -62,16 +62,18 @@ proc netgen::convert_to_json {filename lvs_final} { puts $fjson " \[" set cktval [lindex $value 0] foreach pin [lrange $cktval 0 end-1] { - puts $fjson " \"$pin\"," + set pinstr [string map {"\\" "\\\\"} $pin] + puts $fjson " \"$pinstr\"," } - set pin [lindex $cktval end] + set pin [string map {"\\" "\\\\"} [lindex $cktval end]] puts $fjson " \"$pin\"" puts $fjson " \], \[" set cktval [lindex $value 1] foreach pin [lrange $cktval 0 end-1] { - puts $fjson " \"$pin\"," + set pinstr [string map {"\\" "\\\\"} $pin] + puts $fjson " \"$pinstr\"," } - set pin [lindex $cktval end] + set pin [string map {"\\" "\\\\"} [lindex $cktval end]] puts $fjson " \"$pin\"" puts $fjson " \]" if {$kidx == $nkeys} {