aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--util/ChangeLog7
-rw-r--r--util/ttyio.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/util/ChangeLog b/util/ChangeLog
index 1c84af189..035126606 100644
--- a/util/ChangeLog
+++ b/util/ChangeLog
@@ -1,3 +1,10 @@
+2003-02-22 David Shaw <[email protected]>
+
+ * ttyio.c (tty_print_utf8_string, tty_print_utf8_string2): Use 0
+ to indicate a string with no maximum size. This prevents early
+ truncation of strings that contain control chars which are
+ expanded into \xXX form.
+
2002-12-26 David Shaw <[email protected]>
* iobuf.c (iobuf_flush): Only print debug info if debugging is on.
diff --git a/util/ttyio.c b/util/ttyio.c
index 2d362a502..e5b2b581a 100644
--- a/util/ttyio.c
+++ b/util/ttyio.c
@@ -274,7 +274,7 @@ tty_print_utf8_string2( byte *p, size_t n, size_t max_n )
}
if( i < n ) {
buf = utf8_to_native( p, n, 0 );
- if( strlen( buf ) > max_n ) {
+ if( max_n && (strlen( buf ) > max_n )) {
buf[max_n] = 0;
}
/*(utf8 conversion already does the control character quoting)*/
@@ -282,7 +282,7 @@ tty_print_utf8_string2( byte *p, size_t n, size_t max_n )
m_free( buf );
}
else {
- if( n > max_n ) {
+ if( max_n && (n > max_n) ) {
n = max_n;
}
tty_print_string( p, n );
@@ -292,7 +292,7 @@ tty_print_utf8_string2( byte *p, size_t n, size_t max_n )
void
tty_print_utf8_string( byte *p, size_t n )
{
- tty_print_utf8_string2( p, n, n );
+ tty_print_utf8_string2( p, n, 0 );
}