On Apr 3, 2:04 pm, Jürgen Krämer <[EMAIL PROTECTED]> wrote:
> I don't see a difference in meaning between "*stackp++ = s;" and
> "*stackp = s; ++stackp;"
You're right, I just split them out for clarity since I'm not a C
programmer.
> and I don't know anything about the context or
> usage of the original patch, but your change might break existing code,
> e.g.,
No, I have checked them out, the macroes are defined in a function
block and then undefined immediately before the functions ends. And
these macros are not used after any if() for() while(), etc.
> #define PUSH(s) do { \
> if (stackp >= stack_end)\
> return NULL; \
> *stackp++ = s; \
> } while (0)
>
> #define POP() do { \
> if (stackp <= stack) \
> return NULL; \
> *--stackp; \
> } while (0)
For PUSH it will be fine, but for POP I don't think that it'd work
since it is used as an expression:
e = POP();
---
Charles
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---