This adds support for function declarators such as:
int
main(int argc, char *argv[argc + 1]);
char *
seprintf(char dst[], const char end[];
char dst[dst ? end - dst : 0], const char end[0],
const char *restrict fmt, ...);
Signed-off-by: Alejandro Colomar <alx@kernel.org>
grepc_c_e() { echo '(?s)^([\w[]+[\w\s]*)?\benum\b[ \t]*([\w \t[\]]|::)*\n*([ \t]*){[^}]*^[ \t]*'"$1"'\b\s*[=,].*?^\3}.*?;'; }
grepc_c_f_return_() { printf '%s' '(?s)^[\w[](?:[\w\s\(,\)[\]*]|::)+[\w\s\)*\]]\s+\**'; }
-grepc_c_f_params_() { printf '%s' '\s*(?<params>\((?:[\w\s,;[\]*]|::|(?¶ms))*(?:\.\.\.)?\))'; }
+grepc_c_f_params_() { printf '%s' '\s*(?<params>\((?:[\w\s,;[\]*\?:+-]|(?¶ms))*(?:\.\.\.)?\))'; }
grepc_c_f_decl_() { grepc_c_f_return_;
printf '%s' '\(?'"$1"'\)?';
grepc_c_f_params_; }