aboutsummaryrefslogtreecommitdiffstats
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-03-29 20:51:30 +0200
committerArnold D. Robbins <arnold@skeeve.com>2011-03-29 20:51:30 +0200
commit2400cc5143383a881356a9f55e93b60037d851e5 (patch)
tree3ba75f8b1225bf50e48b4f6c381e7772f1ab6c5b /awk.h
parent4fe569fb78dd1b25822c16c9cac515a0fc6702a4 (diff)
downloadegawk-2400cc5143383a881356a9f55e93b60037d851e5.tar.gz
egawk-2400cc5143383a881356a9f55e93b60037d851e5.tar.bz2
egawk-2400cc5143383a881356a9f55e93b60037d851e5.zip
Revise array sorting for PROCINFO["sorted_in"].
Diffstat (limited to 'awk.h')
-rw-r--r--awk.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/awk.h b/awk.h
index a56b2b29..6dcc0332 100644
--- a/awk.h
+++ b/awk.h
@@ -846,6 +846,9 @@ struct flagtab {
#endif
#define UNLIMITED LONG_MAX
+/* qsort comparison function */
+typedef int (*qsort_compfunc)(const void *,const void *);
+
/* -------------------------- External variables -------------------------- */
/* gawk builtin variables */
extern long NF;
@@ -1123,6 +1126,9 @@ extern NODE *assoc_dump(NODE *symbol, int indent_level);
extern NODE *do_adump(int nargs);
extern NODE *do_asort(int nargs);
extern NODE *do_asorti(int nargs);
+extern int comp_func(const void *p1, const void *p2);
+extern qsort_compfunc sorted_in(void);
+extern void sort_maybe_numeric_index(qsort_compfunc, NODE **, size_t, int);
extern unsigned long (*hash)(const char *s, size_t len, unsigned long hsize, size_t *code);
/* awkgram.c */
extern NODE *mk_symbol(NODETYPE type, NODE *value);
@@ -1205,7 +1211,6 @@ extern void PUSH_CODE(INSTRUCTION *cp);
extern INSTRUCTION *POP_CODE(void);
extern int interpret(INSTRUCTION *);
extern int cmp_nodes(NODE *, NODE *);
-extern int comp_func(const void *p1, const void *p2);
extern void set_IGNORECASE(void);
extern void set_OFS(void);
extern void set_ORS(void);