Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-release-src > by-pkgid > 615af813259a441af7a6839b1d53e094 > files > 6

phpmyadmin-3.3.2-2mdv2010.1.src.rpm

diff --git a/libraries/common.lib.php b/libraries/common.lib.php
index f072233..2e18474 100644
--- a/libraries/common.lib.php
+++ b/libraries/common.lib.php
@@ -2596,6 +2596,17 @@ function PMA_printable_bit_value($value, $length) {
 }
 
 /**
+ * Verifies whether the value contains a non-printable character 
+ *
+ * @uses    preg_match()
+ * @param   string $value 
+ * @return  boolean 
+ */
+function PMA_contains_nonprintable_ascii($value) {
+    return preg_match('@[^[:print:]]@', $value);
+}
+
+/**
  * Converts a BIT type default value  
  * for example, b'010' becomes 010 
  *
diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php
index 41bb987..05feefb 100644
--- a/libraries/display_tbl.lib.php
+++ b/libraries/display_tbl.lib.php
@@ -1368,7 +1368,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
                         if ($_SESSION['tmp_user_values']['display_binary']) {
                             // user asked to see the real contents of BINARY
                             // fields
-                            if ($_SESSION['tmp_user_values']['display_binary_as_hex']) {
+                            if ($_SESSION['tmp_user_values']['display_binary_as_hex'] && PMA_contains_nonprintable_ascii($row[$i])) {
                             	$row[$i] = bin2hex($row[$i]);
 							}
 							else {