emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible severe disoptimality in CCL


From: Kenichi Handa
Subject: Re: Possible severe disoptimality in CCL
Date: Tue, 07 Nov 2006 11:41:03 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.50 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

In article <address@hidden>, Richard Stallman <address@hidden> writes:

> Can you please DTRT, then ack?
[...]
> ------- Start of forwarded message -------
> Date: Sun, 05 Nov 2006 23:04:07 -0800
> From: Bob Halley <address@hidden>
[...]
> I then went looking for a reason for ccl.produced to be so wrong.  The 
> CCL program in question has a "buffer magnification" of zero, which 
> means "produce no bytes".  In this case the current destination pointer, 
> dst, is set to NULL.  A NULL dst causes the calculation of ccl->produced 
> just after the ccl_finish tag in ccl_driver() to be wrong, because the 
> code does

> ccl->produced = dst - destination

> I changed this code (patch attached) so that it set ccl->produced to 
> zero if dst was NULL.  With this change, both the type error and the 
> segfault no longer happen.  (The type error is fixed because we're no 
> longer reading random memory and treating it as encoded characters.)

You are right.  I was going to change Fccl_execute_on_string
to call ccl_driver with DESTINATION = NULL, but it seems
that your fix is better.  I've just installed it.

By the way, this bug doesn't exist in HEAD because it was
introduced in emacs-unicode-2 when I changed the interface
of ccl_driver ().

---
Kenichi Handa
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]