* SPDX-License-Identifier: AGPL-3.0-or-later
*/
-#include <stdlib.h> /* bsearch */
-#include <string.h> /* strcmp */
+#include <stdlib.h> /* bsearch */
+#include <string.h> /* strcmp */
#include "directives.h"
#define ARRAY_SIZE(x) ((sizeof(x)) / (sizeof(x[0])))
-static int byte_handler(const char *args)
+static int
+byte_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int end_handler(const char *args)
+static int
+end_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int endi_handler(const char *args)
+static int
+endi_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int endt_handler(const char *args)
+static int
+endt_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int fstr_handler(const char *args)
+static int
+fstr_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int funct_handler(const char *args)
+static int
+funct_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int gstr_handler(const char *args)
+static int
+gstr_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int gvar_handler(const char *args)
+static int
+gvar_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int insert_handler(const char *args)
+static int
+insert_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int len_handler(const char *args)
+static int
+len_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int new_handler(const char *args)
+static int
+new_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int object_handler(const char *args)
+static int
+object_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int prop_handler(const char *args)
+static int
+prop_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int str_handler(const char *args)
+static int
+str_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int strl_handler(const char *args)
+static int
+strl_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int table_handler(const char *args)
+static int
+table_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int vocbeg_handler(const char *args)
+static int
+vocbeg_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int vocend_handler(const char *args)
+static int
+vocend_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int word_handler(const char *args)
+static int
+word_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
-static int zword_handler(const char *args)
+static int
+zword_handler (const char *args)
{
- /* !!! TODO !!! */
- return 0;
+ /* !!! TODO !!! */
+ return 0;
}
// Sorted array
static Directive Directives[] = {
- "BYTE", byte_handler,
- "END", end_handler,
- "ENDI", endi_handler,
- "ENDT", endt_handler,
- "FSTR", fstr_handler,
- "FUNCT", funct_handler,
- "GSTR", gstr_handler,
- "GVAR", gvar_handler,
- "INSERT", insert_handler,
- "LEN", len_handler,
- "NEW", new_handler,
- "OBJECT", object_handler,
- "PROP", prop_handler,
- "STR", str_handler,
- "STRL", strl_handler,
- "TABLE", table_handler,
- "VOCBEG", vocbeg_handler,
- "VOCEND", vocend_handler,
- "WORD", word_handler,
- "ZWORD", zword_handler
+ "BYTE", byte_handler,
+ "END", end_handler,
+ "ENDI", endi_handler,
+ "ENDT", endt_handler,
+ "FSTR", fstr_handler,
+ "FUNCT", funct_handler,
+ "GSTR", gstr_handler,
+ "GVAR", gvar_handler,
+ "INSERT", insert_handler,
+ "LEN", len_handler,
+ "NEW", new_handler,
+ "OBJECT", object_handler,
+ "PROP", prop_handler,
+ "STR", str_handler,
+ "STRL", strl_handler,
+ "TABLE", table_handler,
+ "VOCBEG", vocbeg_handler,
+ "VOCEND", vocend_handler,
+ "WORD", word_handler,
+ "ZWORD", zword_handler
};
-typedef struct {
- const char *contents;
- unsigned length;
+typedef struct
+{
+ const char *contents;
+ unsigned length;
} Name;
-static int namecmp(const void *key, const void *elem)
+static int
+namecmp (const void *key, const void *elem)
{
- const Name *p = (Name *)key;
- const Directive *d = (Directive*)elem;
+ const Name *p = (Name *) key;
+ const Directive *d = (Directive *) elem;
- int len1 = p->length;
- int len2 = strlen(d->name);
+ int len1 = p->length;
+ int len2 = strlen (d->name);
- int rc = memcmp(p->contents, elem, len1 < len2 ? len1 : len2);
- return rc ? rc : (len1 - len2);
+ int rc = memcmp (p->contents, elem, len1 < len2 ? len1 : len2);
+ return rc ? rc : (len1 - len2);
}
-Directive_handler directive_lookup(const char *name, unsigned namelen)
+Directive_handler
+directive_lookup (const char *name, unsigned namelen)
{
- Name n = { name, namelen };
- Directive *p = (Directive*)bsearch(&n, Directives, ARRAY_SIZE(Directives), sizeof(Directive), namecmp);
- return p ? p->handler : NULL;
+ Name n = { name, namelen };
+ Directive *p =
+ (Directive *) bsearch (&n, Directives, ARRAY_SIZE (Directives),
+ sizeof (Directive), namecmp);
+ return p ? p->handler : NULL;
}