Skip to contentSkip to conversation

gitk: Do not hard-code "encoding" in attribute lookup functions

PATCH Applied Johannes Sixt 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gitk: Do not hard-code "encoding" in attribute lookup functions

From: Johannes Sixt <[email protected]>

Commit 39ee47e (Clean up file encoding code and add enable/disable option, 2008-10-15) rewrote the attribute lookup functions gitattr and cache_gitattr, but in the process hard-coded the attribute name "encoding" instead of using the functions' parameters. This fixes it.

This is not a serious regression because currently all callers look only for "encoding".

Further note that this fix assumes that future callers will not pass an attribute name that contains regex special characters.

---
 gitk |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
gitk +2 -2
index 4604c83..8aafb19 100755
@@ -10901,7 +10901,7 @@ proc gitattr {path attr default} {
     } else {
 	set r "unspecified"
 	if {![catch {set line [exec git check-attr $attr -- $path]}]} {
-	    regexp "(.*): encoding: (.*)" $line m f r
+	    regexp "(.*): $attr: (.*)" $line m f r
 	}
 	set path_attr_cache($attr,$path) $r
     }
@@ -10929,7 +10929,7 @@ proc cache_gitattr {attr pathlist} {
 	set newlist [lrange $newlist $lim end]
 	if {![catch {set rlist [eval exec git check-attr $attr -- $head]}]} {
 	    foreach row [split $rlist "\n"] {
-		if {[regexp "(.*): encoding: (.*)" $row m path value]} {
+		if {[regexp "(.*): $attr: (.*)" $row m path value]} {
 		    if {[string index $path 0] eq "\""} {
 			set path [encoding convertfrom [lindex $path 0]]
 		    }
Signature · 1 line
1.6.4.rc1.1032.g74cb
#1 lore raw
Quoted 5 lines · Johannes Sixt

Commit 39ee47e (Clean up file encoding code and add enable/disable option, 2008-10-15) rewrote the attribute lookup functions gitattr and cache_gitattr, but in the process hard-coded the attribute name "encoding" instead of using the functions' parameters. This fixes it.

Quoted 7 lines

This is not a serious regression because currently all callers look only for "encoding".

Further note that this fix assumes that future callers will not pass an attribute name that contains regex special characters.

Thanks, applied.

Paul.