[beast/devel: 7/15] SFI: merge SfiTokenType into GTokenType
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast/devel: 7/15] SFI: merge SfiTokenType into GTokenType
- Date: Mon, 17 Dec 2012 03:16:03 +0000 (UTC)
commit 105f0329cd620a27d4b27cc9df0aa51d16f652e6
Author: Tim Janik <timj gnu org>
Date: Sun Dec 16 22:36:12 2012 +0100
SFI: merge SfiTokenType into GTokenType
beast-gtk/bstgconfig.c | 2 +-
beast-gtk/bstkeybindings.c | 2 +-
beast-gtk/bstmsgabsorb.c | 2 +-
beast-gtk/bstskinconfig.c | 2 +-
bse/Makefile.am | 2 +-
bse/bsebus.cc | 6 +++---
bse/bsedatapocket.cc | 34 +++++++++++++++++-----------------
bse/bsedefs.h | 2 +-
bse/bseobject.cc | 2 +-
bse/bseobject.h | 2 +-
bse/bseparasite.c | 9 ++++-----
bse/bsepart.cc | 18 +++++++++---------
bse/bseserver.cc | 4 ++--
bse/bsesource.cc | 6 +++---
bse/bsestorage.h | 4 ++--
bse/bsetrack.cc | 8 ++++----
bse/bsewave.cc | 32 ++++++++++++++++----------------
sfi/sfistore.h | 42 ++++++++++++++++++++----------------------
18 files changed, 88 insertions(+), 91 deletions(-)
---
diff --git a/beast-gtk/bstgconfig.c b/beast-gtk/bstgconfig.c
index bacf368..851e05a 100644
--- a/beast-gtk/bstgconfig.c
+++ b/beast-gtk/bstgconfig.c
@@ -209,7 +209,7 @@ bst_rc_dump (const gchar *file_name)
return close (fd) < 0 ? BSE_ERROR_IO : BSE_ERROR_NONE;
}
-static SfiTokenType
+static GTokenType
rc_file_try_statement (gpointer context_data,
SfiRStore *rstore,
GScanner *scanner,
diff --git a/beast-gtk/bstkeybindings.c b/beast-gtk/bstkeybindings.c
index 10a34df..63b934d 100644
--- a/beast-gtk/bstkeybindings.c
+++ b/beast-gtk/bstkeybindings.c
@@ -656,7 +656,7 @@ bst_key_binding_dump (const gchar *file_name,
return close (fd) < 0 ? BSE_ERROR_IO : BSE_ERROR_NONE;
}
-static SfiTokenType
+static GTokenType
key_binding_try_statement (gpointer context_data,
SfiRStore *rstore,
GScanner *scanner,
diff --git a/beast-gtk/bstmsgabsorb.c b/beast-gtk/bstmsgabsorb.c
index 2465af7..cb9a9ed 100644
--- a/beast-gtk/bstmsgabsorb.c
+++ b/beast-gtk/bstmsgabsorb.c
@@ -304,7 +304,7 @@ bst_msg_absorb_config_save (void)
g_free (file_name);
}
-static SfiTokenType
+static GTokenType
msg_absorb_config_try_statement (gpointer context_data,
SfiRStore *rstore,
GScanner *scanner,
diff --git a/beast-gtk/bstskinconfig.c b/beast-gtk/bstskinconfig.c
index 9fe92f1..7cd8f67 100644
--- a/beast-gtk/bstskinconfig.c
+++ b/beast-gtk/bstskinconfig.c
@@ -245,7 +245,7 @@ bst_skin_dump (const gchar *file_name)
return close (fd) < 0 ? BSE_ERROR_IO : BSE_ERROR_NONE;
}
-static SfiTokenType
+static GTokenType
skin_file_try_statement (gpointer context_data,
SfiRStore *rstore,
GScanner *scanner,
diff --git a/bse/Makefile.am b/bse/Makefile.am
index 4cf8646..24394b9 100644
--- a/bse/Makefile.am
+++ b/bse/Makefile.am
@@ -80,7 +80,7 @@ bse_sources = $(strip \
bsepcmdevice.cc bsepcmdevice-oss.cc bsepcmdevice-null.cc bseplugin.c \
bseprocedure.c bseproject.cc bsescripthelper.c bseserver.cc \
bsesnet.cc bsesnooper.c bsesong.cc bsesequencer.cc \
- bsesource.cc bsestandardosc.cc bsestandardsynths.cc bsestorage.c \
+ bsesource.cc bsestandardosc.cc bsestandardsynths.cc bsestorage.cc \
bseinstrumentoutput.cc bsesubiport.cc bseinstrumentinput.cc bsesuboport.cc \
bsesubsynth.cc bsesuper.cc bsetrack.cc bsetype.cc \
bseutils.cc bsemidivoice.c bsewave.cc bsewaveosc.cc \
diff --git a/bse/bsebus.cc b/bse/bsebus.cc
index cfbe926..4a94154 100644
--- a/bse/bsebus.cc
+++ b/bse/bsebus.cc
@@ -783,7 +783,7 @@ bus_restore_start (BseObject *object,
BSE_OBJECT_CLASS (bus_parent_class)->restore_start (object, storage);
}
-static SfiTokenType
+static GTokenType
bus_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -797,10 +797,10 @@ bus_restore_private (BseObject *object,
/* parse osource upath and queue handler */
GTokenType token = bse_storage_parse_item_link (storage, BSE_ITEM (self), bus_restore_add_input, NULL);
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
/* close statement */
parse_or_return (scanner, ')');
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else /* chain parent class' handler */
return BSE_OBJECT_CLASS (bus_parent_class)->restore_private (object, storage, scanner);
diff --git a/bse/bsedatapocket.cc b/bse/bsedatapocket.cc
index c7596bf..8f8ed3b 100644
--- a/bse/bsedatapocket.cc
+++ b/bse/bsedatapocket.cc
@@ -47,7 +47,7 @@ static gboolean bse_data_pocket_needs_storage (BseItem
BseStorage *storage);
static void bse_data_pocket_do_store_private (BseObject *object,
BseStorage *storage);
-static SfiTokenType bse_data_pocket_restore_private (BseObject *object,
+static GTokenType bse_data_pocket_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner);
@@ -550,20 +550,20 @@ object_entry_resolved (void *data,
{
ObjectEntry *oentry = (ObjectEntry*) data;
BseDataPocket *pocket = BSE_DATA_POCKET (from_item);
-
+
if (error)
- bse_storage_warn (storage, error);
+ bse_storage_warn (storage, "%s", error);
else if (oentry->id)
{
BseDataPocketValue value;
-
+
value.v_object = to_item;
_bse_data_pocket_entry_set (pocket, oentry->id, oentry->quark, BSE_DATA_POCKET_OBJECT, value);
}
g_free (oentry);
}
-static SfiTokenType
+static GTokenType
parse_set_data (BseDataPocket *pocket,
uint id,
BseStorage *storage,
@@ -583,7 +583,7 @@ parse_set_data (BseDataPocket *pocket,
g_scanner_get_next_token (scanner);
scanner->config->char_2_token = char_2_token;
if (scanner->token != G_TOKEN_CHAR)
- return SfiTokenType (G_TOKEN_CHAR);
+ return G_TOKEN_CHAR;
ttype = scanner->value.v_char;
switch (ttype)
@@ -619,19 +619,19 @@ parse_set_data (BseDataPocket *pocket,
oentry->quark = quark;
token = bse_storage_parse_item_link (storage, BSE_ITEM (pocket), object_entry_resolved, oentry);
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
if (g_scanner_peek_next_token (scanner) != ')')
{
oentry->id = 0;
- return SfiTokenType (')');
+ return GTokenType (')');
}
break;
default:
/* unmatched data type */
- return (SfiTokenType) bse_storage_warn_skip (storage,
- "invalid data type specification `%c' for \"%s\"",
- ttype,
- g_quark_to_string (quark));
+ return bse_storage_warn_skip (storage,
+ "invalid data type specification `%c' for \"%s\"",
+ ttype,
+ g_quark_to_string (quark));
}
peek_or_return (scanner, ')');
@@ -641,10 +641,10 @@ parse_set_data (BseDataPocket *pocket,
g_scanner_get_next_token (scanner); /* eat ')' */
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
-static SfiTokenType
+static GTokenType
bse_data_pocket_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -670,13 +670,13 @@ bse_data_pocket_restore_private (BseObject *object,
{
expected_token = (GTokenType) parse_set_data (pocket, id, storage, scanner);
if (expected_token != G_TOKEN_NONE)
- return SfiTokenType (expected_token);
+ return expected_token;
}
else
bse_storage_warn_skip (storage, "unknown directive `%s'", scanner->next_value.v_identifier);
}
else
- return SfiTokenType (')');
+ return GTokenType (')');
}
parse_or_return (scanner, ')');
expected_token = G_TOKEN_NONE;
@@ -684,5 +684,5 @@ bse_data_pocket_restore_private (BseObject *object,
else /* chain parent class' handler */
expected_token = (GTokenType) BSE_OBJECT_CLASS (parent_class)->restore_private (object, storage, scanner);
- return SfiTokenType (expected_token);
+ return expected_token;
}
diff --git a/bse/bsedefs.h b/bse/bsedefs.h
index 9339cc1..6616526 100644
--- a/bse/bsedefs.h
+++ b/bse/bsedefs.h
@@ -137,7 +137,7 @@ typedef void (*BseFreeFunc) (gpointer data);
typedef gboolean (*BseIOWatch) (gpointer data,
guint n_pfds,
GPollFD *pfd);
-typedef SfiTokenType (*BseTryStatement) (gpointer context_data,
+typedef GTokenType (*BseTryStatement) (gpointer context_data,
BseStorage *storage,
GScanner *scanner,
gpointer user_data);
diff --git a/bse/bseobject.cc b/bse/bseobject.cc
index a9e05bc..798bac6 100644
--- a/bse/bseobject.cc
+++ b/bse/bseobject.cc
@@ -614,7 +614,7 @@ object_restore_start (BseObject *object,
{
}
-static SfiTokenType
+static GTokenType
object_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
diff --git a/bse/bseobject.h b/bse/bseobject.h
index c033784..1d4cb99 100644
--- a/bse/bseobject.h
+++ b/bse/bseobject.h
@@ -84,7 +84,7 @@ struct _BseObjectClass
BseStorage *storage);
void (*restore_start) (BseObject *object,
BseStorage *storage);
- SfiTokenType (*restore_private) (BseObject *object,
+ GTokenType (*restore_private) (BseObject *object,
BseStorage *storage,
GScanner *scanner);
void (*restore_finish) (BseObject *object,
diff --git a/bse/bseparasite.c b/bse/bseparasite.c
index b69f39e..7c92b58 100644
--- a/bse/bseparasite.c
+++ b/bse/bseparasite.c
@@ -20,7 +20,6 @@
#include <sfi/gbsearcharray.h>
#include <string.h>
-
typedef struct {
const gchar *path;
SfiRec *rec;
@@ -619,7 +618,7 @@ bse_parasite_restore (BseObject *object,
GTokenType ttype;
guint n_values;
gpointer data;
-
+
/* check identifier */
if (g_scanner_peek_next_token (scanner) != G_TOKEN_IDENTIFIER ||
!bse_string_equals ("parasite", scanner->next_value.v_identifier))
@@ -638,12 +637,12 @@ bse_parasite_restore (BseObject *object,
if (g_scanner_get_next_token (scanner) != G_TOKEN_STRING)
return G_TOKEN_STRING;
quark = g_quark_from_string (scanner->value.v_string);
-
- switch (ttype)
+
+ switch ((uint) ttype)
{
guint i;
gfloat *floats;
-
+
case PARASITE_FLOAT:
if (g_scanner_get_next_token (scanner) != G_TOKEN_INT)
return G_TOKEN_INT;
diff --git a/bse/bsepart.cc b/bse/bsepart.cc
index 0ea07d5..9401c07 100644
--- a/bse/bsepart.cc
+++ b/bse/bsepart.cc
@@ -56,7 +56,7 @@ static void bse_part_dispose (GObject *object);
static void bse_part_finalize (GObject *object);
static void bse_part_store_private (BseObject *object,
BseStorage *storage);
-static SfiTokenType bse_part_restore_private (BseObject *object,
+static GTokenType bse_part_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner);
@@ -1470,7 +1470,7 @@ bse_part_store_private (BseObject *object,
}
}
-static SfiTokenType
+static GTokenType
bse_part_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -1491,7 +1491,7 @@ bse_part_restore_private (BseObject *object,
parse_or_return (scanner, G_TOKEN_INT); /* channel */
channel = scanner->value.v_int64;
if (channel >= self->n_channels)
- return (SfiTokenType) bse_storage_warn_skip (storage, "ignoring notes with invalid channel: %u", channel);
+ return bse_storage_warn_skip (storage, "ignoring notes with invalid channel: %u", channel);
while (g_scanner_peek_next_token (scanner) != ')')
{
guint tick, duration, note;
@@ -1531,7 +1531,7 @@ bse_part_restore_private (BseObject *object,
channel, tick, duration, note);
}
parse_or_return (scanner, ')');
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else if (quark == quark_insert_controls)
{
@@ -1563,7 +1563,7 @@ bse_part_restore_private (BseObject *object,
else
{
g_clear_error (&error);
- return SfiTokenType (G_TOKEN_FLOAT);
+ return G_TOKEN_FLOAT;
}
if (g_scanner_peek_next_token (scanner) != ')')
g_clear_error (&error);
@@ -1575,7 +1575,7 @@ bse_part_restore_private (BseObject *object,
g_clear_error (&error);
}
parse_or_return (scanner, ')');
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else if (quark == quark_insert_note) /* pre-0.6.0 */
{
@@ -1610,7 +1610,7 @@ bse_part_restore_private (BseObject *object,
if (!bse_part_insert_note (self, ~0, tick, duration, note, fine_tune, velocity))
bse_storage_warn (storage, "note insertion (note=%d tick=%u duration=%u) failed",
note, tick, duration);
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else if (quark == quark_insert_control) /* pre-0.6.0 */
{
@@ -1637,12 +1637,12 @@ bse_part_restore_private (BseObject *object,
value = negate ? -scanner->value.v_float : scanner->value.v_float;
}
else
- return SfiTokenType (G_TOKEN_FLOAT);
+ return G_TOKEN_FLOAT;
parse_or_return (scanner, ')');
if (!bse_part_insert_control (self, tick, BseMidiSignalType (ctype), CLAMP (value, -1, +1)))
bse_storage_warn (storage, "skipping control event of invalid type: %d", ctype);
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else /* chain parent class' handler */
return BSE_OBJECT_CLASS (parent_class)->restore_private (object, storage, scanner);
diff --git a/bse/bseserver.cc b/bse/bseserver.cc
index 3549e21..8d05573 100644
--- a/bse/bseserver.cc
+++ b/bse/bseserver.cc
@@ -164,7 +164,7 @@ bse_server_class_init (BseServerClass *klass)
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
}
-static SfiTokenType
+static GTokenType
rc_file_try_statement (gpointer context_data,
SfiRStore *rstore,
GScanner *scanner,
@@ -185,7 +185,7 @@ rc_file_try_statement (gpointer context_data,
"bse-preferences", rec,
NULL);
sfi_value_free (value);
- return SfiTokenType (token);
+ return token;
}
else
return SFI_TOKEN_UNMATCHED;
diff --git a/bse/bsesource.cc b/bse/bsesource.cc
index 35e5e08..8dad64c 100644
--- a/bse/bsesource.cc
+++ b/bse/bsesource.cc
@@ -1856,7 +1856,7 @@ resolve_osource_input (gpointer data,
g_free (dinput);
}
-static SfiTokenType
+static GTokenType
bse_source_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -1886,7 +1886,7 @@ bse_source_restore_private (BseObject *object,
{
GTokenType token = bse_storage_parse_item_link (storage, BSE_ITEM (source), resolve_osource_input, dinput);
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
}
/* parse ochannel name */
@@ -1896,7 +1896,7 @@ bse_source_restore_private (BseObject *object,
/* close statement */
parse_or_return (scanner, ')');
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else /* chain parent class' handler */
return BSE_OBJECT_CLASS (parent_class)->restore_private (object, storage, scanner);
diff --git a/bse/bsestorage.h b/bse/bsestorage.h
index 0d5eb7c..4851d16 100644
--- a/bse/bsestorage.h
+++ b/bse/bsestorage.h
@@ -115,9 +115,9 @@ void bse_storage_input_text (BseStorage *self,
GTokenType bse_storage_restore_item (BseStorage *self,
gpointer item);
void bse_storage_store_item (BseStorage *self,
- gpointer item);
+ BseItem *item);
void bse_storage_store_child (BseStorage *self,
- gpointer item);
+ BseItem *item);
const gchar* bse_storage_item_get_compat_type (BseItem *item);
diff --git a/bse/bsetrack.cc b/bse/bsetrack.cc
index 21022cc..00b3ead 100644
--- a/bse/bsetrack.cc
+++ b/bse/bsetrack.cc
@@ -67,7 +67,7 @@ static void bse_track_get_property (GObject *object,
GParamSpec *pspec);
static void bse_track_store_private (BseObject *object,
BseStorage *storage);
-static SfiTokenType bse_track_restore_private (BseObject *object,
+static GTokenType bse_track_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner);
static void bse_track_update_midi_channel (BseTrack *self);
@@ -951,7 +951,7 @@ part_link_resolved (gpointer data,
}
}
-static SfiTokenType
+static GTokenType
bse_track_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -970,9 +970,9 @@ bse_track_restore_private (BseObject *object,
tick = scanner->value.v_int64;
token = bse_storage_parse_item_link (storage, BSE_ITEM (self), part_link_resolved, GUINT_TO_POINTER (tick));
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
parse_or_return (scanner, ')');
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else /* chain parent class' handler */
return BSE_OBJECT_CLASS (parent_class)->restore_private (object, storage, scanner);
diff --git a/bse/bsewave.cc b/bse/bsewave.cc
index 7644bee..f1e47c3 100644
--- a/bse/bsewave.cc
+++ b/bse/bsewave.cc
@@ -419,7 +419,7 @@ bse_wave_store_private (BseObject *object,
}
}
-static SfiTokenType
+static GTokenType
parse_wave_chunk (BseWave *wave,
BseStorage *storage,
GScanner *scanner,
@@ -437,38 +437,38 @@ parse_wave_chunk (BseWave *wave,
pwchunk->xinfos = NULL;
GTokenType token = bse_storage_parse_xinfos (storage, &pwchunk->xinfos);
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
}
else if (bse_storage_match_data_handle (storage, quark))
{
- guint expected_token;
+ GTokenType expected_token;
if (pwchunk->data_handle)
- return (SfiTokenType) bse_storage_warn_skip (storage, "duplicate wave data reference");
+ return bse_storage_warn_skip (storage, "duplicate wave data reference");
expected_token = bse_storage_parse_data_handle_rest (storage,
&pwchunk->data_handle,
&pwchunk->wh_n_channels,
&pwchunk->wh_mix_freq,
&pwchunk->wh_osc_freq);
if (expected_token != G_TOKEN_NONE)
- return SfiTokenType (expected_token);
+ return expected_token;
if (!pwchunk->data_handle)
bse_storage_warn (storage, "invalid wave data reference");
/* closing brace already parsed by bse_storage_parse_data_handle_rest() */
- return SFI_TOKEN_NONE;
+ return G_TOKEN_NONE;
}
else if (BSE_STORAGE_COMPAT (storage, 0, 5, 1) && quark == quark_wave_handle)
{
- guint expected_token;
+ GTokenType expected_token;
g_scanner_get_next_token (scanner); /* eat identifier */
if (pwchunk->data_handle)
- return (SfiTokenType) bse_storage_warn_skip (storage, "duplicate wave data reference");
+ return bse_storage_warn_skip (storage, "duplicate wave data reference");
expected_token = bse_storage_parse_data_handle (storage,
&pwchunk->data_handle,
&pwchunk->wh_n_channels,
&pwchunk->wh_mix_freq,
&pwchunk->wh_osc_freq);
if (expected_token != G_TOKEN_NONE)
- return SfiTokenType (expected_token);
+ return expected_token;
if (!pwchunk->data_handle)
bse_storage_warn (storage, "invalid wave data reference");
}
@@ -494,10 +494,10 @@ parse_wave_chunk (BseWave *wave,
}
else
return SFI_TOKEN_UNMATCHED;
- return g_scanner_get_next_token (scanner) == ')' ? SFI_TOKEN_NONE : SfiTokenType (')');
+ return g_scanner_get_next_token (scanner) == ')' ? G_TOKEN_NONE : GTokenType (')');
}
-static SfiTokenType
+static GTokenType
bse_wave_restore_private (BseObject *object,
BseStorage *storage,
GScanner *scanner)
@@ -518,7 +518,7 @@ bse_wave_restore_private (BseObject *object,
gchar **xinfos = NULL;
GTokenType token = bse_storage_parse_xinfos (storage, &xinfos);
if (token != G_TOKEN_NONE)
- return SfiTokenType (token);
+ return token;
guint i = 0;
for (i = 0; xinfos && xinfos[i]; i++)
wave->xinfos = bse_xinfos_parse_assignment (wave->xinfos, xinfos[i]);
@@ -538,7 +538,7 @@ bse_wave_restore_private (BseObject *object,
if (g_scanner_get_next_token (scanner) != G_TOKEN_STRING)
{
g_free (file_name);
- return SfiTokenType (G_TOKEN_STRING);
+ return G_TOKEN_STRING;
}
wave_name = g_strdup (scanner->value.v_string);
skip_list = bse_freq_array_new (1024);
@@ -600,14 +600,14 @@ bse_wave_restore_private (BseObject *object,
if (g_scanner_get_next_token (scanner) != G_TOKEN_STRING)
{
g_free (file_name);
- return SfiTokenType (G_TOKEN_STRING);
+ return G_TOKEN_STRING;
}
gchar *wave_name = g_strdup (scanner->value.v_string);
if (g_scanner_get_next_token (scanner) != ')')
{
g_free (file_name);
g_free (wave_name);
- return SfiTokenType (')');
+ return GTokenType (')');
}
// g_print ("set-locator \"%s\" \"%s\"\n", file_name, wave_name);
bse_wave_set_locator (wave, file_name, wave_name);
@@ -689,7 +689,7 @@ bse_wave_restore_private (BseObject *object,
else /* chain parent class' handler */
expected_token = (GTokenType) BSE_OBJECT_CLASS (parent_class)->restore_private (object, storage, scanner);
- return SfiTokenType (expected_token);
+ return expected_token;
}
void
diff --git a/sfi/sfistore.h b/sfi/sfistore.h
index 4242bed..db2763d 100644
--- a/sfi/sfistore.h
+++ b/sfi/sfistore.h
@@ -36,17 +36,13 @@ typedef struct
guint flushed : 1;
gchar comment_start;
} SfiWStore;
-typedef enum /*< skip >*/
-{
- SFI_TOKEN_NONE = G_TOKEN_NONE, // convenience
- SFI_TOKEN_UNMATCHED = G_TOKEN_LAST + 1,
- SFI_TOKEN_LAST
-} SfiTokenType;
+#define SFI_TOKEN_UNMATCHED ((GTokenType) (G_TOKEN_LAST + 1))
+#define SFI_TOKEN_LAST ((GTokenType) (SFI_TOKEN_UNMATCHED + 1))
typedef struct _SfiRStore SfiRStore;
-typedef SfiTokenType (*SfiStoreParser) (gpointer context_data,
- SfiRStore *rstore, /* parser_this */
- GScanner *scanner,
- gpointer user_data);
+typedef GTokenType (*SfiStoreParser) (gpointer context_data,
+ SfiRStore *rstore, /* parser_this */
+ GScanner *scanner,
+ gpointer user_data);
struct _SfiRStore
{
GScanner *scanner;
@@ -140,18 +136,20 @@ void sfi_rstore_quick_scan (SfiRStore *rstore,
/* --- convenience --- */
-#define sfi_scanner_parse_or_return(scanner, token) G_STMT_START{ \
- SfiTokenType _t = (SfiTokenType) (token); \
- if ((SfiTokenType) g_scanner_get_next_token (scanner) != _t) \
- return _t; \
-}G_STMT_END
-#define sfi_scanner_peek_or_return(scanner, token) G_STMT_START{ \
- GScanner *__s = (scanner); SfiTokenType _t = (SfiTokenType) (token); \
- if ((SfiTokenType) g_scanner_peek_next_token (__s) != _t) { \
- g_scanner_get_next_token (__s); /* advance position for error-handler */ \
- return _t; \
- } \
-}G_STMT_END
+#define sfi_scanner_parse_or_return(scanner, token) G_STMT_START { \
+ GTokenType _t = GTokenType (token); \
+ if (g_scanner_get_next_token (scanner) != _t) \
+ return _t; \
+} G_STMT_END
+#define sfi_scanner_peek_or_return(scanner, token) G_STMT_START { \
+ GTokenType _t = GTokenType (token); \
+ GScanner *__s = (scanner); \
+ if (g_scanner_peek_next_token (__s) != _t) \
+ { \
+ g_scanner_get_next_token (__s); /* advance to error pos */ \
+ return _t; \
+ } \
+} G_STMT_END
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]