From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21450 invoked by alias); 3 Nov 2007 19:02:02 -0000 Received: (qmail 21432 invoked by uid 22791); 3 Nov 2007 19:02:01 -0000 X-Spam-Check-By: sourceware.org Received: from romy.inter.net.il (HELO romy.inter.net.il) (213.8.233.24) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 03 Nov 2007 19:01:59 +0000 Received: from HOME-C4E4A596F7 (IGLD-84-228-244-58.inter.net.il [84.228.244.58]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id JHI35550 (AUTH halo1); Sat, 3 Nov 2007 21:01:09 +0200 (IST) Date: Sat, 03 Nov 2007 19:02:00 -0000 Message-Id: From: Eli Zaretskii To: Daniel Jacobowitz CC: gdb-patches@sourceware.org, ukleinek@informatik.uni-freiburg.de In-reply-to: <20071103161956.GA7885@caradoc.them.org> (message from Daniel Jacobowitz on Sat, 3 Nov 2007 12:19:56 -0400) Subject: Re: [rfa] Clarify remote protocol RLE example Reply-to: Eli Zaretskii References: <20071103161956.GA7885@caradoc.them.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-11/txt/msg00031.txt.bz2 > Date: Sat, 3 Nov 2007 12:19:56 -0400 > From: Daniel Jacobowitz > Cc: Eli Zaretskii , ukleinek@informatik.uni-freiburg.de Sorry for the previous unfinished message: hit SEND by mistake. > Uwe pointed out that the example in the GDB manual for run-length > encoding is a bit confusing. It suggests that "0* " should expand > to 000, but in fact it expands to 0000, because the initial zero > is counted separately. > > Is this version clearer? OK to commit? Well, I still needed to read the text 2 or 3 times before I understood what it tries to say. How about this version instead: Response @var{data} can be run-length encoded to save space. Run-length encoding replaces runs of identical characters with the character @samp{*} followed by a repeat count. The repeat count is itself sent encoded, to avoid binary characters in @var{data}: a value of @var{n} is sent as @code{@var{n}+29}. For a repeat count greater or equal to 3, this produces a printable @sc{ascii} character, e.g.@: a space (@sc{ascii} code 32) for a repeat count of 3. (This is because run-length encoding starts to win for counts 3 or more.) Thus, for example, @samp{0* } is a run-length encoding of "0000": the space character after @samp{*} means repeat the leading @code{0} @w{@code{32 - 29 = 3}} more times. > The printable > characters @samp{$}, @samp{#}, @samp{+} and @samp{-} or with a numeric > value greater than 126 should not be used. This part I simply don't understand. What does it mean ``should not be used''? what should be done instead? break the string into several smaller ones?