unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: Possible severe disoptimality in CCL
       [not found] <E1GhBZM-0007FW-Mw@fencepost.gnu.org>
@ 2006-11-07  2:41 ` Kenichi Handa
  0 siblings, 0 replies; only message in thread
From: Kenichi Handa @ 2006-11-07  2:41 UTC (permalink / raw)


In article <E1GhBZM-0007FW-Mw@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes:

> Can you please DTRT, then ack?
[...]
> ------- Start of forwarded message -------
> Date: Sun, 05 Nov 2006 23:04:07 -0800
> From: Bob Halley <halley@play-bow.org>
[...]
> 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
handa@m17n.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-11-07  2:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1GhBZM-0007FW-Mw@fencepost.gnu.org>
2006-11-07  2:41 ` Possible severe disoptimality in CCL Kenichi Handa

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).