From c896b4bb0635660e659227c0d1c243390d1ca91a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Wed, 29 Apr 1998 15:11:01 +0200
Subject: [PATCH] stupid_describe() now uses the improved %O to describe
 strings.

Rev: lib/master.pike.in:1.22
---
 lib/master.pike.in | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/lib/master.pike.in b/lib/master.pike.in
index b9b12f6c62..8e91f72f31 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -1,10 +1,22 @@
-/* $Id: master.pike.in,v 1.21 1998/04/29 03:08:25 grubba Exp $
+/* $Id: master.pike.in,v 1.22 1998/04/29 13:11:01 grubba Exp $
  * 
  * Master-file for Pike.
  *
  * Based on master.pike 1.67.
  */
 
+// Some configurable parameters useful for debugging
+
+// Used by describe_backtrace() et al.
+#if !defined(BT_MAX_STRING_LEN) || (BT_MAX_STRING_LEN <= 0)
+#undef BT_MAX_STRING_LEN
+#define BT_MAX_STRING_LEN	60
+#endif /* !defined(BT_MAX_STRING_LEN) || (BT_MAX_STRING_LEN <= 0) */
+
+/*
+ * Functions begin here.
+ */
+
 int is_absolute_path(string p)
 {
 #ifdef __NT__
@@ -795,9 +807,13 @@ string stupid_describe(mixed m)
     return (string)m;
 
   case "string":
-    if(sizeof(m) < 60 && sscanf(m,"%*[^\0-\037\177-\237\\\"]%n",int i) && i==sizeof(m))
+    if(sizeof(m) < BT_MAX_STRING_LEN)
     {
-      return "\""+m+"\"";
+      string t = sprintf("%O", m);
+      if (sizeof(t) < (BT_MAX_STRING_LEN + 2)) {
+	return t;
+      }
+      t = 0;
     }
 
   case "array":
@@ -806,7 +822,7 @@ string stupid_describe(mixed m)
     return typ+"["+sizeof(m)+"]";
 
   default:
-    return sprintf("%t",m);
+    return typ;
   }
 }
 
-- 
GitLab