#include "grammar_crt.h" #define GRAMMAR_PORT_BUILD 1 #include "grammar.c" #undef GRAMMAR_PORT_BUILD void grammar_alloc_free (void *ptr) { free (ptr); } void *grammar_alloc_malloc (unsigned int size) { return malloc (size); } void *grammar_alloc_realloc (void *ptr, unsigned int old_size, unsigned int size) { return realloc (ptr, size); } void *grammar_memory_copy (void *dst, const void * src, unsigned int size) { return memcpy (dst, src, size); } int grammar_string_compare (const byte *str1, const byte *str2) { return strcmp ((const char *) str1, (const char *) str2); } int grammar_string_compare_n (const byte *str1, const byte *str2, unsigned int n) { return strncmp ((const char *) str1, (const char *) str2, n); } byte *grammar_string_copy (byte *dst, const byte *src) { return (byte *) strcpy ((char *) dst, (const char *) src); } byte *grammar_string_copy_n (byte *dst, const byte *src, unsigned int n) { return (byte *) strncpy ((char *) dst, (const char *) src, n); } unsigned int grammar_string_length (const byte *str) { return strlen ((const char *) str); } byte *grammar_string_duplicate (const byte *src) { const unsigned int size = grammar_string_length (src); byte *str = grammar_alloc_malloc (size + 1); if (str != NULL) { grammar_memory_copy (str, src, size); str[size] = '\0'; } return str; }