On 20/05/2013 14:20, Mike Williams wrote:
On 20/05/2013 12:37, Bram Moolenaar wrote:
However, there is a check for the pointer not to go beyond the end:

#define EMIT(c) do {                            \
                    if (post_ptr >= post_end)        \
                        return FAIL;            \
                    *post_ptr++ = c;            \
                } while (0)

For some reason that is not working. Ah, it's adding the byte size to
the int pointer, that's wrong.  Patch coming up...

It is non-portable code.  It is not defined know when the post increment
is done, it could be before or after the assignment of c.  I assume the
intent is that the post increment is done after the assignment so it
should be broken into two as follows:

    *post_ptr = c; \
    post_ptr++;    \

Sorry, talking garbage - please ignore.  Off to find more caffeine.

Mike
--
Make your mark in this world or at least spray in each corner.

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui