** Dump enough zeros to ensure that current position is a multiple of ** 'align'. */
| 64 | ** 'align'. |
| 65 | */ |
| 66 | static void dumpAlign (DumpState *D, unsigned align) { |
| 67 | unsigned padding = align - cast_uint(D->offset % align); |
| 68 | if (padding < align) { /* padding == align means no padding */ |
| 69 | static lua_Integer paddingContent = 0; |
| 70 | lua_assert(align <= sizeof(lua_Integer)); |
| 71 | dumpBlock(D, &paddingContent, padding); |
| 72 | } |
| 73 | lua_assert(D->offset % align == 0); |
| 74 | } |
| 75 | |
| 76 | |
| 77 | #define dumpVar(D,x) dumpVector(D,&x,1) |