threads / patch / 20172

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

Subject: [PATCH] gitk: Do not hard-code "encoding" in attribute lookup functions

## tl;dr

2 messages between Jul 21, 2009 and Aug 13, 2009. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Johannes Sixt· Jul 21, 2009, 08:09 UTC · lore
From: Johannes Sixt <j6t@kdbg.org>

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.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 gitk |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Show changes to gitk +2 −2
diff --git a/gitk b/gitk
index 4604c83..8aafb19 100755
--- a/gitk
+++ b/gitk
@@ -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]]
 		    }
-- 
1.6.4.rc1.1032.g74cb
Paul Mackerras· Aug 13, 2009, 11:52 UTC · re: Johannes Sixt · lore

Re: [PATCH] gitk: Do not hard-code "encoding" in attribute lookup functions

Johannes Sixt writes:
Show 12 quoted lines
> 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.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Thanks, applied.
Paul.

← back to recent threads