Hi Bram, 2016/7/17 Sun 21:57:30 UTC+9 Bram Moolenaar wrote: > Patch 7.4.2055 > Problem: eval.c is too big. > Solution: Move Dictionary functions to dict.c. > Files: src/eval.c, src/dict.c, src/vim.h, src/globals.h, > src/proto/eval.pro, src/proto/dict.pro, src/Makefile, Filelist
> + EXTERN dictitem_T dumdi; > + # define DI2HIKEY(di) ((di)->di_key) > + # define HIKEY2DI(p) ((dictitem_T *)(p - (dumdi.di_key - (char_u > *)&dumdi))) A dummy variable is used in this part in globals.h, but actually it is unnecessary: # define DI2HIKEY(di) ((di)->di_key) # define HIKEY2DI(p) ((dictitem_T *)(p - (size_t)&(((dictitem_T *)NULL)->di_key))) Or we can use offsetof() macro defined in stddef.h: # include <stddef.h> # define DI2HIKEY(di) ((di)->di_key) # define HIKEY2DI(p) ((dictitem_T *)(p - offsetof(dictitem_T, di_key))) Regards, Ken Takata -- -- 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/d/optout.
