git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 (maint)] t/gitweb-lib: Don't pass constant to decode_utf8

From
Brian Gernhardt <brian@gernhardtsoftware.com>
Date
Oct 20, 2010, 23:07 UTC
Message-ID
<1287616030-88078-1-git-send-email-brian@gernhardtsoftware.com>
In-Reply-To
<201010202105.59370.jnareb@gmail.com>

Encode.pm started updating the string to decode in-place when a second argument is passed in version 2.40. This causes 'decode_utf8("", Encode::FB_CROAK)' to die with a message like:

Modification of a read-only value attempted at .../Encode.pm line 216.

Work around this by passing an empty variable instead of a constant string.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
---
 Changes since v2:
 - Re-wrapped first paragraph for easier reading
 - Removed long OS X-specific Perl library path
 - Added Ack
 t/gitweb-lib.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh
index 81ef2a0..1b9523d 100644
--- a/t/gitweb-lib.sh
+++ b/t/gitweb-lib.sh
@@ -80,7 +80,7 @@ if ! test_have_prereq PERL; then
 	test_done
 fi
 
-perl -MEncode -e 'decode_utf8("", Encode::FB_CROAK)' >/dev/null 2>&1 || {
+perl -MEncode -e '$e="";decode_utf8($e, Encode::FB_CROAK)' >/dev/null 2>&1 || {
     skip_all='skipping gitweb tests, perl version is too old'
     test_done
 }
-- 
1.7.3.1.209.g52408
Previous: Jakub Narebski
Message 5 of 5 in “t/gitweb-lib: Don't pass constant to decode_utf8”
  1. t/gitweb-lib: Don't pass constant to decode_utf8Brian Gernhardt, Oct 20, 2010
  2. Jakub NarebskiOct 20, 2010
  3. Brian GernhardtOct 20, 2010
  4. Jakub NarebskiOct 20, 2010
  5. t/gitweb-lib: Don't pass constant to decode_utf8Brian Gernhardt, Oct 20, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.