2 * (c) Oleg Puchinin 2006
3 * graycardinalster@gmail.com
11 char * try_name (char * ptr
)
19 while (*ptr
== '*' || *ptr
== '&')
25 while (end
> ptr
&& (*end
== '&' || *end
== '*'))
33 struct hash_t
* parse_variable (char *OP
)
49 words
= Dsplit (op
, " ");
53 size
= words
->get_size();
58 S
= words
->get (size
-1);
77 Ret
= hash (var
, type
);
81 words
->foreach (free
);
87 int fdecl_parse (char * d_out
, DArray
* d_vars
)
97 * 2. Function declaration parse.
98 * 3. Function arguments parse.
102 if (d_out
== NULL
|| d_vars
== NULL
)
105 ptr
= Dstrmid (d_out
, "(", ")");
111 words
= Dsplit (ptr
, ",");
115 size
= words
->get_size ();
119 for (i
= 0; i
< size
; i
++) {
120 one
= parse_variable (words
->get (i
));
122 d_vars
->add (LPCHAR(one
));