Brought "G trick" to the same shape in a few more places.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
off_t out_full, out_part, in_full, in_part;
};
#define G (*(struct globals*)&bb_common_bufsiz1)
-/* We have to zero it out because of NOEXEC */
-#define INIT_G() memset(&G, 0, sizeof(G))
+#define INIT_G() do { \
+ /* we have to zero it out because of NOEXEC */ \
+ memset(&G, 0, sizeof(G)); \
+} while (0)
static void dd_output_status(int UNUSED_PARAM cur_signal)
};
#define G (*(struct globals*)&bb_common_bufsiz1)
#if ENABLE_FEATURE_LS_COLOR
-#define show_color (G.show_color )
+# define show_color (G.show_color )
#else
enum { show_color = 0 };
#endif
-#define exit_code (G.exit_code )
-#define all_fmt (G.all_fmt )
+#define exit_code (G.exit_code )
+#define all_fmt (G.all_fmt )
#if ENABLE_FEATURE_AUTOWIDTH
-#define tabstops (G.tabstops )
-#define terminal_width (G.terminal_width)
+# define tabstops (G.tabstops )
+# define terminal_width (G.terminal_width)
#else
enum {
tabstops = COLUMN_GAP,
};
#endif
#define current_time_t (G.current_time_t)
-/* memset: we have to zero it out because of NOEXEC */
#define INIT_G() do { \
+ /* we have to zero it out because of NOEXEC */ \
memset(&G, 0, sizeof(G)); \
IF_FEATURE_AUTOWIDTH(tabstops = COLUMN_GAP;) \
IF_FEATURE_AUTOWIDTH(terminal_width = TERMINAL_WIDTH;) \
struct G_sizecheck { \
char G_sizecheck[sizeof(G) > COMMON_BUFSIZE ? -1 : 1]; \
}; \
+ /* we have to zero it out because of NOEXEC */ \
+ memset(&G, 0, offsetof(struct globals, need_print)); \
G.need_print = 1; \
G.recurse_flags = ACTION_RECURSE; \
} while (0)
execv(bb_busybox_exec_path + 1, (char**) argv);
_exit(127);
#else
- memset(&G, 0, sizeof(G));
+ /* memset(&G, 0, sizeof(G)); - ls_main does it */
exit(ls_main(ARRAY_SIZE(argv) - 1, (char**) argv));
#endif
}
/* --group-directories-first would be nice, but ls don't do that yet */
xchdir(argv[2]);
argv[2] = (char*)"--";
- memset(&G, 0, sizeof(G));
+ /* memset(&G, 0, sizeof(G)); - ls_main does it */
return ls_main(argc, argv);
}
#endif
struct termios termios_raw;
};
#define G (*(struct globals*)&bb_common_bufsiz1)
-void BUG_telnet_globals_too_big(void);
#define INIT_G() do { \
- if (sizeof(G) > COMMON_BUFSIZE) \
- BUG_telnet_globals_too_big(); \
- /* memset(&G, 0, sizeof G); - already is */ \
+ struct G_sizecheck { \
+ char G_sizecheck[sizeof(G) > COMMON_BUFSIZE ? -1 : 1]; \
+ }; \
} while (0)
/* Function prototypes */