summaryrefslogtreecommitdiffstats
path: root/sys/sys/exec.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2003-01-04 08:17:27 +0000
committerjake <jake@FreeBSD.org>2003-01-04 08:17:27 +0000
commit709e95a097199abc7a5e3e27658270d22ed55ee5 (patch)
tree6a469cc3013b2f19a5cc90fb8b589b0c216a2d23 /sys/sys/exec.h
parentb51b1e81ea6eb0956522dfb8e118dad076fc0b61 (diff)
downloadFreeBSD-src-709e95a097199abc7a5e3e27658270d22ed55ee5.zip
FreeBSD-src-709e95a097199abc7a5e3e27658270d22ed55ee5.tar.gz
Use __CONCAT and __XSTRING when concatenating or stringifying arguments to
the EXEC_SET macro, so that the arguments themselves can be macros. (Actually __STRING would suffice, instead of __XSTRING, but oh well).
Diffstat (limited to 'sys/sys/exec.h')
-rw-r--r--sys/sys/exec.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/sys/exec.h b/sys/sys/exec.h
index 66d2f7b..030e87f 100644
--- a/sys/sys/exec.h
+++ b/sys/sys/exec.h
@@ -90,7 +90,8 @@ int exec_unregister(const struct execsw *);
#include <sys/module.h>
#define EXEC_SET(name, execsw_arg) \
- static int name ## _modevent(module_t mod, int type, void *data) \
+ static int __CONCAT(name,_modevent)(module_t mod, int type, \
+ void *data) \
{ \
struct execsw *exec = (struct execsw *)data; \
int error = 0; \
@@ -99,25 +100,25 @@ int exec_unregister(const struct execsw *);
/* printf(#name " module loaded\n"); */ \
error = exec_register(exec); \
if (error) \
- printf(#name "register failed\n"); \
+ printf(__XSTRING(name) "register failed\n"); \
break; \
case MOD_UNLOAD: \
/* printf(#name " module unloaded\n"); */ \
error = exec_unregister(exec); \
if (error) \
- printf(#name " unregister failed\n"); \
+ printf(__XSTRING(name) " unregister failed\n");\
break; \
default: \
break; \
} \
return error; \
} \
- static moduledata_t name ## _mod = { \
- #name, \
- name ## _modevent, \
+ static moduledata_t __CONCAT(name,_mod) = { \
+ __XSTRING(name), \
+ __CONCAT(name,_modevent), \
(void *)& execsw_arg \
}; \
- DECLARE_MODULE(name, name ## _mod, SI_SUB_EXEC, SI_ORDER_ANY)
+ DECLARE_MODULE(name, __CONCAT(name,_mod), SI_SUB_EXEC, SI_ORDER_ANY)
#endif
#endif
OpenPOWER on IntegriCloud