Ergebnis von read_bytes in string konvertieren
read_bytes liefert in LDMud 3.6 kein string, sondern bytes.
Dieses muss erst aus passendem Encoding konvertiert werden.
Change-Id: I81246685aeabf3d8f6d7cfc4e04b81c740179801
diff --git a/p/daemon/debug.c b/p/daemon/debug.c
index 0ad6975..e1b3f7f 100644
--- a/p/daemon/debug.c
+++ b/p/daemon/debug.c
@@ -58,17 +58,20 @@
if( start >= end )
bt = "[" + ch + ":] Kein Backtrace verfuegbar!\n";
else {
- log = regreplace( read_bytes( __DEBUG_LOG__, start,
- (end-start>10000)?10000:
- end - start ) || "\nFehler beim Einlesen des Debuglogs: Kein Backtrace verfuegbar!\n",
- "(Misplaced|current_object|"
- "Connection|Host)[^\n]*\n",
- "", 1 );
+ log = regreplace(
+ to_text(read_bytes( __DEBUG_LOG__, start,
+ min(end-start, 10000)),
+ "UTF-8")
+ || "\nFehler beim Einlesen des Debuglogs: "
+ "Kein Backtrace verfuegbar!\n",
+ "(Misplaced|current_object|"
+ "Connection|Host)[^\n]*\n",
+ "", 1 );
bt = "[" + ch + ":] -- BACKTRACE BEGIN --\n"
+ log
+ "[" + ch + ":] -- BACKTRACE END --\n";
}
-
+
call_out( symbol_function( "Message", pl ), 0, bt );
}
break;