diff options
author | Andrew Tridgell <tridge@samba.org> | 2000-05-12 14:35:14 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2000-05-12 14:35:14 +0000 |
commit | 059956376897b3fee0d019b8f5e27ac3b84acb5d (patch) | |
tree | 0224478abd66088fca43b105ad20ef63cf603820 /source3/aparser/func.awk | |
parent | 5c3588c430557d091683de7b7cc6f9d9534ca397 (diff) | |
download | samba-059956376897b3fee0d019b8f5e27ac3b84acb5d.tar.gz samba-059956376897b3fee0d019b8f5e27ac3b84acb5d.tar.bz2 samba-059956376897b3fee0d019b8f5e27ac3b84acb5d.zip |
preliminary support for unions
(This used to be commit 57a6cb52e6c646cd8a3d25f10f65a65e12d22a24)
Diffstat (limited to 'source3/aparser/func.awk')
-rw-r--r-- | source3/aparser/func.awk | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/source3/aparser/func.awk b/source3/aparser/func.awk new file mode 100644 index 0000000000..fcf21a0a2e --- /dev/null +++ b/source3/aparser/func.awk @@ -0,0 +1,39 @@ +function func_footer() { + printf("\n\ +\n\ + return True;\n\ +}\n"); +} + +function func_header(func_name, struct_name) +{ + printf("\ +/*******************************************************************\n\ +parse a %s structure\n\ +********************************************************************/ \n\ +BOOL %s(char *desc, %s **q_u, \n\ + prs_struct *ps, int depth)\n\ +{ \n\ + %s *il;\n\ + \n\ + prs_debug(ps, depth, desc, \"%s\");\n\ + depth++;\n\ + \n\ + /* reading */\n\ + if (UNMARSHALLING(ps)) {\n\ + il=(%s *)malloc(sizeof(%s));\n\ + if(il == NULL)\n\ + return False;\n\ + ZERO_STRUCTP(il);\n\ + *q_u=il;\n\ + }\n\ + else {\n\ + il=*q_u;\n\ + }\n\ + \n\ + if(!prs_align(ps))\n\ + return False;\n\ +\n\ +", struct_name, func_name, struct_name, struct_name, func_name, struct_name, struct_name); +} + |