]> git.draconx.ca Git - gob-dx.git/blobdiff - src/util.h
Avoid using reserved identifiers.
[gob-dx.git] / src / util.h
index b4dfde5e99ce557ca399bbad27d43086ef533a5b..8794394cece87059b5231b408b56f0d89ceb931a 100644 (file)
@@ -1,6 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999-2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
+ * Copyright (C) 2022 Nick Bowler
  *
  * Author: George Lebl
  *
 #ifndef UTIL_H
 #define UTIL_H
 
+#include <glib.h>
+
+struct Class;
+struct Type;
+
 enum {
        GOB_WARN,
        GOB_ERROR
@@ -37,8 +43,25 @@ void error_printf(int type, int line, const char *error, ...) G_GNUC_PRINTF (3,
 char * remove_sep(const char *base);
 /* replace the : separator from a typename with a different character*/
 char * replace_sep(const char *base, char r);
-char * gob_strup (char *s);
-char * gob_strdown (char *s);
+
+#if !HAVE_G_STRING_APPEND_PRINTF
+#  define g_string_append_printf g_string_sprintfa
+#  define g_string_printf g_string_sprintf
+#endif
+
+char *gob_strup(char *s);
+char *gob_strdown(char *s);
+
+#if HAVE_G_ASCII_STRCASECMP
+static inline int gob_strcasecmp(const char *s1, const char *s2)
+{
+       return g_ascii_strcasecmp(s1, s2);
+}
+#else
+int gob_strcasecmp(const char *s1, const char *s2);
+#endif
+
+char * gob_str_delete_quotes(char *str);
 
 /*separate the namespace part and then replace rest of
   separators with r*/
@@ -49,9 +72,9 @@ void separns_replace_sep(const char *base, char **ns, char **name, char r);
 char * make_pre_macro(const char *base,const  char *pre);
 
 /* get a name usable for a cast from a GObject (without G_TYPE_)*/
-const char * get_cast (const char *type, gboolean simple_only);
-Type * get_tree_type (const char *type, gboolean simple_only);
-char * get_type (const Type *t, gboolean postfix_to_stars);
+const char *get_cast(const char *type, gboolean simple_only);
+struct Type *get_tree_type(const char *type, gboolean simple_only);
+char *get_type(const struct Type *t, gboolean postfix_to_stars);
 
 enum {
        SPECIAL_2POINTER,
@@ -59,8 +82,9 @@ enum {
        SPECIAL_INT_POINTER,
        SPECIAL_LAST
 };
+
 /* returns TRUE if there are any special types at all */
-gboolean setup_special_array(Class *c, gboolean *special_array);
+gboolean setup_special_array(struct Class *c, gboolean *special_array);
 
 char * make_me_type (const char *type, const char *alt);