From f3871ddf33d016499a7dac7613e9acbc0ca47eb2 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 15 Apr 2009 16:28:30 +0000 Subject: A bunch of c89. Lose trailing commas. GCC 2.95 compatibility. svn path=/trunk/libcss/; revision=7099 --- Makefile | 13 +++- include/libcss/types.h | 2 +- src/bytecode/bytecode.h | 2 +- src/bytecode/opcodes.h | 166 ++++++++++++++++++++++++------------------------ src/lex/lex.h | 2 +- src/parse/language.c | 13 ++-- src/parse/parse.c | 35 +++++----- src/parse/parse.h | 4 +- src/parse/properties.c | 22 ++++--- 9 files changed, 137 insertions(+), 122 deletions(-) diff --git a/Makefile b/Makefile index 2a93926..c70eb49 100644 --- a/Makefile +++ b/Makefile @@ -10,11 +10,20 @@ include build/makefiles/Makefile.tools TESTRUNNER := $(PERL) build/testtools/testrunner.pl # Toolchain flags -WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \ +WARNFLAGS := -Wall -Wundef -Wpointer-arith -Wcast-align \ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \ -Wmissing-declarations -Wnested-externs -Werror -pedantic -CFLAGS := $(CFLAGS) -std=c99 -D_BSD_SOURCE -I$(CURDIR)/include/ \ +ifneq ($(GCCVER),2) + WARNFLAGS := $(WARNFLAGS) -Wextra +endif +CFLAGS := $(CFLAGS) -D_BSD_SOURCE -I$(CURDIR)/include/ \ -I$(CURDIR)/src $(WARNFLAGS) +ifneq ($(GCCVER),2) + CFLAGS := $(CFLAGS) -std=c99 +else + # __inline__ is a GCCism + CFLAGS := $(CFLAGS) -Dinline="__inline__" +endif # Parserutils & wapcaplet ifneq ($(PKGCONFIG),) diff --git a/include/libcss/types.h b/include/libcss/types.h index 000c0f1..751f290 100644 --- a/include/libcss/types.h +++ b/include/libcss/types.h @@ -24,7 +24,7 @@ typedef enum css_charset_source { CSS_CHARSET_REFERRED = 1, /**< From referring document */ CSS_CHARSET_METADATA = 2, /**< From linking metadata */ CSS_CHARSET_DOCUMENT = 3, /**< Defined in document */ - CSS_CHARSET_DICTATED = 4, /**< Dictated by client */ + CSS_CHARSET_DICTATED = 4 /**< Dictated by client */ } css_charset_source; /** diff --git a/src/bytecode/bytecode.h b/src/bytecode/bytecode.h index 4235ab2..5400474 100644 --- a/src/bytecode/bytecode.h +++ b/src/bytecode/bytecode.h @@ -18,7 +18,7 @@ typedef enum css_properties opcode; enum flag { FLAG_IMPORTANT = (1<<0), - FLAG_INHERIT = (1<<1), + FLAG_INHERIT = (1<<1) }; typedef enum unit { diff --git a/src/bytecode/opcodes.h b/src/bytecode/opcodes.h index eb68c48..966ed88 100644 --- a/src/bytecode/opcodes.h +++ b/src/bytecode/opcodes.h @@ -25,22 +25,22 @@ enum op_azimuth { AZIMUTH_CENTER_RIGHT = 0x0005, AZIMUTH_RIGHT = 0x0006, AZIMUTH_FAR_RIGHT = 0x0007, - AZIMUTH_RIGHT_SIDE = 0x0008, + AZIMUTH_RIGHT_SIDE = 0x0008 }; enum op_background_attachment { BACKGROUND_ATTACHMENT_FIXED = 0x0000, - BACKGROUND_ATTACHMENT_SCROLL = 0x0001, + BACKGROUND_ATTACHMENT_SCROLL = 0x0001 }; enum op_background_color { BACKGROUND_COLOR_TRANSPARENT = 0x0000, - BACKGROUND_COLOR_SET = 0x0080, + BACKGROUND_COLOR_SET = 0x0080 }; enum op_background_image { BACKGROUND_IMAGE_URI = 0x0080, - BACKGROUND_IMAGE_NONE = 0x0000, + BACKGROUND_IMAGE_NONE = 0x0000 }; enum op_background_position { @@ -52,28 +52,28 @@ enum op_background_position { BACKGROUND_POSITION_VERT_SET = 0x0008, BACKGROUND_POSITION_VERT_CENTER = 0x0000, BACKGROUND_POSITION_VERT_BOTTOM = 0x0001, - BACKGROUND_POSITION_VERT_TOP = 0x0002, + BACKGROUND_POSITION_VERT_TOP = 0x0002 }; enum op_background_repeat { BACKGROUND_REPEAT_NO_REPEAT = 0x0000, BACKGROUND_REPEAT_REPEAT_X = 0x0001, BACKGROUND_REPEAT_REPEAT_Y = 0x0002, - BACKGROUND_REPEAT_REPEAT = 0x0003, + BACKGROUND_REPEAT_REPEAT = 0x0003 }; enum op_border_collapse { BORDER_COLLAPSE_SEPARATE = 0x0000, - BORDER_COLLAPSE_COLLAPSE = 0x0001, + BORDER_COLLAPSE_COLLAPSE = 0x0001 }; enum op_border_spacing { - BORDER_SPACING_SET = 0x0080, + BORDER_SPACING_SET = 0x0080 }; enum op_border_color { BORDER_COLOR_SET = 0x0080, - BORDER_COLOR_TRANSPARENT = 0x0000, + BORDER_COLOR_TRANSPARENT = 0x0000 }; enum op_border_style { @@ -86,31 +86,31 @@ enum op_border_style { BORDER_STYLE_GROOVE = 0x0006, BORDER_STYLE_RIDGE = 0x0007, BORDER_STYLE_INSET = 0x0008, - BORDER_STYLE_OUTSET = 0x0009, + BORDER_STYLE_OUTSET = 0x0009 }; enum op_border_width { BORDER_WIDTH_SET = 0x0080, BORDER_WIDTH_THIN = 0x0000, BORDER_WIDTH_MEDIUM = 0x0001, - BORDER_WIDTH_THICK = 0x0002, + BORDER_WIDTH_THICK = 0x0002 }; enum op_bottom { BOTTOM_SET = 0x0080, - BOTTOM_AUTO = 0x0000, + BOTTOM_AUTO = 0x0000 }; enum op_caption_side { CAPTION_SIDE_TOP = 0x0000, - CAPTION_SIDE_BOTTOM = 0x0001, + CAPTION_SIDE_BOTTOM = 0x0001 }; enum op_clear { CLEAR_NONE = 0x0000, CLEAR_LEFT = 0x0001, CLEAR_RIGHT = 0x0002, - CLEAR_BOTH = 0x0003, + CLEAR_BOTH = 0x0003 }; enum op_clip { @@ -122,11 +122,11 @@ enum op_clip { CLIP_RECT_BOTTOM_AUTO = 0x0020, CLIP_RECT_LEFT_AUTO = 0x0040, - CLIP_AUTO = 0x0000, + CLIP_AUTO = 0x0000 }; enum op_color { - COLOR_SET = 0x0080, + COLOR_SET = 0x0080 }; enum op_content { @@ -144,29 +144,29 @@ enum op_content { CONTENT_OPEN_QUOTE = 0x0002, CONTENT_CLOSE_QUOTE = 0x0003, CONTENT_NO_OPEN_QUOTE = 0x0004, - CONTENT_NO_CLOSE_QUOTE = 0x0005, + CONTENT_NO_CLOSE_QUOTE = 0x0005 }; enum op_counter_increment { COUNTER_INCREMENT_NAMED = 0x0080, - COUNTER_INCREMENT_NONE = 0x0000, + COUNTER_INCREMENT_NONE = 0x0000 }; enum op_counter_reset { COUNTER_RESET_NAMED = 0x0080, - COUNTER_RESET_NONE = 0x0000, + COUNTER_RESET_NONE = 0x0000 }; enum op_cue_after { CUE_AFTER_URI = 0x0080, - CUE_AFTER_NONE = 0x0000, + CUE_AFTER_NONE = 0x0000 }; enum op_cue_before { CUE_BEFORE_URI = 0x0080, - CUE_BEFORE_NONE = 0x0000, + CUE_BEFORE_NONE = 0x0000 }; enum op_cursor { @@ -188,12 +188,12 @@ enum op_cursor { CURSOR_TEXT = 0x000d, CURSOR_WAIT = 0x000e, CURSOR_HELP = 0x000f, - CURSOR_PROGRESS = 0x0010, + CURSOR_PROGRESS = 0x0010 }; enum op_direction { DIRECTION_LTR = 0x0000, - DIRECTION_RTL = 0x0001, + DIRECTION_RTL = 0x0001 }; enum op_display { @@ -212,7 +212,7 @@ enum op_display { DISPLAY_TABLE_COLUMN = 0x000c, DISPLAY_TABLE_CELL = 0x000d, DISPLAY_TABLE_CAPTION = 0x000e, - DISPLAY_NONE = 0x000f, + DISPLAY_NONE = 0x000f }; enum op_elevation { @@ -221,18 +221,18 @@ enum op_elevation { ELEVATION_LEVEL = 0x0001, ELEVATION_ABOVE = 0x0002, ELEVATION_HIGHER = 0x0003, - ELEVATION_LOWER = 0x0004, + ELEVATION_LOWER = 0x0004 }; enum op_empty_cells { EMPTY_CELLS_SHOW = 0x0000, - EMPTY_CELLS_HIDE = 0x0001, + EMPTY_CELLS_HIDE = 0x0001 }; enum op_float { FLOAT_LEFT = 0x0000, FLOAT_RIGHT = 0x0001, - FLOAT_NONE = 0x0002, + FLOAT_NONE = 0x0002 }; enum op_font_family { @@ -245,7 +245,7 @@ enum op_font_family { FONT_FAMILY_SANS_SERIF = 0x0002, FONT_FAMILY_CURSIVE = 0x0003, FONT_FAMILY_FANTASY = 0x0004, - FONT_FAMILY_MONOSPACE = 0x0005, + FONT_FAMILY_MONOSPACE = 0x0005 }; enum op_font_size { @@ -259,18 +259,18 @@ enum op_font_size { FONT_SIZE_X_LARGE = 0x0005, FONT_SIZE_XX_LARGE = 0x0006, FONT_SIZE_LARGER = 0x0007, - FONT_SIZE_SMALLER = 0x0008, + FONT_SIZE_SMALLER = 0x0008 }; enum op_font_style { FONT_STYLE_NORMAL = 0x0000, FONT_STYLE_ITALIC = 0x0001, - FONT_STYLE_OBLIQUE = 0x0002, + FONT_STYLE_OBLIQUE = 0x0002 }; enum op_font_variant { FONT_VARIANT_NORMAL = 0x0000, - FONT_VARIANT_SMALL_CAPS = 0x0001, + FONT_VARIANT_SMALL_CAPS = 0x0001 }; enum op_font_weight { @@ -286,22 +286,22 @@ enum op_font_weight { FONT_WEIGHT_600 = 0x0009, FONT_WEIGHT_700 = 0x000a, FONT_WEIGHT_800 = 0x000b, - FONT_WEIGHT_900 = 0x000c, + FONT_WEIGHT_900 = 0x000c }; enum op_height { HEIGHT_SET = 0x0080, - HEIGHT_AUTO = 0x0000, + HEIGHT_AUTO = 0x0000 }; enum op_left { LEFT_SET = 0x0080, - LEFT_AUTO = 0x0000, + LEFT_AUTO = 0x0000 }; enum op_letter_spacing { LETTER_SPACING_SET = 0x0080, - LETTER_SPACING_NORMAL = 0x0000, + LETTER_SPACING_NORMAL = 0x0000 }; enum op_line_height { @@ -312,12 +312,12 @@ enum op_line_height { enum op_list_style_image { LIST_STYLE_IMAGE_URI = 0x0080, - LIST_STYLE_IMAGE_NONE = 0x0000, + LIST_STYLE_IMAGE_NONE = 0x0000 }; enum op_list_style_position { LIST_STYLE_POSITION_INSIDE = 0x0000, - LIST_STYLE_POSITION_OUTSIDE = 0x0001, + LIST_STYLE_POSITION_OUTSIDE = 0x0001 }; enum op_list_style_type { @@ -335,39 +335,39 @@ enum op_list_style_type { LIST_STYLE_TYPE_GEORGIAN = 0x000b, LIST_STYLE_TYPE_LOWER_ALPHA = 0x000c, LIST_STYLE_TYPE_UPPER_ALPHA = 0x000d, - LIST_STYLE_TYPE_NONE = 0x000e, + LIST_STYLE_TYPE_NONE = 0x000e }; enum op_margin { MARGIN_SET = 0x0080, - MARGIN_AUTO = 0x0000, + MARGIN_AUTO = 0x0000 }; enum op_max_height { MAX_HEIGHT_SET = 0x0080, - MAX_HEIGHT_NONE = 0x0000, + MAX_HEIGHT_NONE = 0x0000 }; enum op_max_width { MAX_WIDTH_SET = 0x0080, - MAX_WIDTH_NONE = 0x0000, + MAX_WIDTH_NONE = 0x0000 }; enum op_min_height { - MIN_HEIGHT_SET = 0x0080, + MIN_HEIGHT_SET = 0x0080 }; enum op_min_width { - MIN_WIDTH_SET = 0x0080, + MIN_WIDTH_SET = 0x0080 }; enum op_orphans { - ORPHANS_SET = 0x0080, + ORPHANS_SET = 0x0080 }; enum op_outline_color { OUTLINE_COLOR_SET = 0x0080, - OUTLINE_COLOR_INVERT = 0x0000, + OUTLINE_COLOR_INVERT = 0x0000 }; enum op_outline_style { @@ -380,25 +380,25 @@ enum op_outline_style { OUTLINE_STYLE_GROOVE = BORDER_STYLE_GROOVE, OUTLINE_STYLE_RIDGE = BORDER_STYLE_RIDGE, OUTLINE_STYLE_INSET = BORDER_STYLE_INSET, - OUTLINE_STYLE_OUTSET = BORDER_STYLE_OUTSET, + OUTLINE_STYLE_OUTSET = BORDER_STYLE_OUTSET }; enum op_outline_width { OUTLINE_WIDTH_SET = BORDER_WIDTH_SET, OUTLINE_WIDTH_THIN = BORDER_WIDTH_THIN, OUTLINE_WIDTH_MEDIUM = BORDER_WIDTH_MEDIUM, - OUTLINE_WIDTH_THICK = BORDER_WIDTH_THICK, + OUTLINE_WIDTH_THICK = BORDER_WIDTH_THICK }; enum op_overflow { OVERFLOW_VISIBLE = 0x0000, OVERFLOW_HIDDEN = 0x0001, OVERFLOW_SCROLL = 0x0002, - OVERFLOW_AUTO = 0x0003, + OVERFLOW_AUTO = 0x0003 }; enum op_padding { - PADDING_SET = 0x0080, + PADDING_SET = 0x0080 }; enum op_page_break_after { @@ -406,7 +406,7 @@ enum op_page_break_after { PAGE_BREAK_AFTER_ALWAYS = 0x0001, PAGE_BREAK_AFTER_AVOID = 0x0002, PAGE_BREAK_AFTER_LEFT = 0x0003, - PAGE_BREAK_AFTER_RIGHT = 0x0004, + PAGE_BREAK_AFTER_RIGHT = 0x0004 }; enum op_page_break_before { @@ -414,24 +414,24 @@ enum op_page_break_before { PAGE_BREAK_BEFORE_ALWAYS = 0x0001, PAGE_BREAK_BEFORE_AVOID = 0x0002, PAGE_BREAK_BEFORE_LEFT = 0x0003, - PAGE_BREAK_BEFORE_RIGHT = 0x0004, + PAGE_BREAK_BEFORE_RIGHT = 0x0004 }; enum op_page_break_inside { PAGE_BREAK_INSIDE_AUTO = 0x0000, - PAGE_BREAK_INSIDE_AVOID = 0x0001, + PAGE_BREAK_INSIDE_AVOID = 0x0001 }; enum op_pause_after { - PAUSE_AFTER_SET = 0x0080, + PAUSE_AFTER_SET = 0x0080 }; enum op_pause_before { - PAUSE_BEFORE_SET = 0x0080, + PAUSE_BEFORE_SET = 0x0080 }; enum op_pitch_range { - PITCH_RANGE_SET = 0x0080, + PITCH_RANGE_SET = 0x0080 }; enum op_pitch { @@ -441,7 +441,7 @@ enum op_pitch { PITCH_LOW = 0x0001, PITCH_MEDIUM = 0x0002, PITCH_HIGH = 0x0003, - PITCH_X_HIGH = 0x0004, + PITCH_X_HIGH = 0x0004 }; enum op_play_during { @@ -451,51 +451,51 @@ enum op_play_during { PLAY_DURING_REPEAT = (1<<5), PLAY_DURING_AUTO = 0x0000, - PLAY_DURING_NONE = 0x0001, + PLAY_DURING_NONE = 0x0001 }; enum op_position { POSITION_STATIC = 0x0000, POSITION_RELATIVE = 0x0001, POSITION_ABSOLUTE = 0x0002, - POSITION_FIXED = 0x0003, + POSITION_FIXED = 0x0003 }; enum op_quotes { QUOTES_STRING = 0x0080, - QUOTES_NONE = 0x0000, + QUOTES_NONE = 0x0000 }; enum op_richness { - RICHNESS_SET = 0x0080, + RICHNESS_SET = 0x0080 }; enum op_right { RIGHT_SET = 0x0080, - RIGHT_AUTO = 0x0000, + RIGHT_AUTO = 0x0000 }; enum op_speak_header { SPEAK_HEADER_ONCE = 0x0000, - SPEAK_HEADER_ALWAYS = 0x0001, + SPEAK_HEADER_ALWAYS = 0x0001 }; enum op_speak_numeral { SPEAK_NUMERAL_DIGITS = 0x0000, - SPEAK_NUMERAL_CONTINUOUS = 0x0001, + SPEAK_NUMERAL_CONTINUOUS = 0x0001 }; enum op_speak_punctuation { SPEAK_PUNCTUATION_CODE = 0x0000, - SPEAK_PUNCTUATION_NONE = 0x0001, + SPEAK_PUNCTUATION_NONE = 0x0001 }; enum op_speak { SPEAK_NORMAL = 0x0000, SPEAK_NONE = 0x0001, - SPEAK_SPELL_OUT = 0x0002, + SPEAK_SPELL_OUT = 0x0002 }; enum op_speech_rate { @@ -507,23 +507,23 @@ enum op_speech_rate { SPEECH_RATE_FAST = 0x0003, SPEECH_RATE_X_FAST = 0x0004, SPEECH_RATE_FASTER = 0x0005, - SPEECH_RATE_SLOWER = 0x0006, + SPEECH_RATE_SLOWER = 0x0006 }; enum op_stress { - STRESS_SET = 0x0080, + STRESS_SET = 0x0080 }; enum op_table_layout { TABLE_LAYOUT_AUTO = 0x0000, - TABLE_LAYOUT_FIXED = 0x0001, + TABLE_LAYOUT_FIXED = 0x0001 }; enum op_text_align { TEXT_ALIGN_LEFT = 0x0000, TEXT_ALIGN_RIGHT = 0x0001, TEXT_ALIGN_CENTER = 0x0002, - TEXT_ALIGN_JUSTIFY = 0x0003, + TEXT_ALIGN_JUSTIFY = 0x0003 }; enum op_text_decoration { @@ -532,30 +532,30 @@ enum op_text_decoration { TEXT_DECORATION_BLINK = (1<<3), TEXT_DECORATION_LINE_THROUGH = (1<<2), TEXT_DECORATION_OVERLINE = (1<<1), - TEXT_DECORATION_UNDERLINE = (1<<0), + TEXT_DECORATION_UNDERLINE = (1<<0) }; enum op_text_indent { - TEXT_INDENT_SET = 0x0080, + TEXT_INDENT_SET = 0x0080 }; enum op_text_transform { TEXT_TRANSFORM_CAPITALIZE = 0x0000, TEXT_TRANSFORM_UPPERCASE = 0x0001, TEXT_TRANSFORM_LOWERCASE = 0x0002, - TEXT_TRANSFORM_NONE = 0x0003, + TEXT_TRANSFORM_NONE = 0x0003 }; enum op_top { TOP_SET = 0x0080, - TOP_AUTO = 0x0000, + TOP_AUTO = 0x0000 }; enum op_unicode_bidi { UNICODE_BIDI_NORMAL = 0x0000, UNICODE_BIDI_EMBED = 0x0001, - UNICODE_BIDI_BIDI_OVERRIDE = 0x0002, + UNICODE_BIDI_BIDI_OVERRIDE = 0x0002 }; enum op_vertical_align { @@ -568,13 +568,13 @@ enum op_vertical_align { VERTICAL_ALIGN_TEXT_TOP = 0x0004, VERTICAL_ALIGN_MIDDLE = 0x0005, VERTICAL_ALIGN_BOTTOM = 0x0006, - VERTICAL_ALIGN_TEXT_BOTTOM = 0x0007, + VERTICAL_ALIGN_TEXT_BOTTOM = 0x0007 }; enum op_visibility { VISIBILITY_VISIBLE = 0x0000, VISIBILITY_HIDDEN = 0x0001, - VISIBILITY_COLLAPSE = 0x0002, + VISIBILITY_COLLAPSE = 0x0002 }; enum op_voice_family { @@ -585,7 +585,7 @@ enum op_voice_family { VOICE_FAMILY_MALE = 0x0001, VOICE_FAMILY_FEMALE = 0x0002, - VOICE_FAMILY_CHILD = 0x0003, + VOICE_FAMILY_CHILD = 0x0003 }; enum op_volume { @@ -597,7 +597,7 @@ enum op_volume { VOLUME_SOFT = 0x0002, VOLUME_MEDIUM = 0x0003, VOLUME_LOUD = 0x0004, - VOLUME_X_LOUD = 0x0005, + VOLUME_X_LOUD = 0x0005 }; enum op_white_space { @@ -605,29 +605,29 @@ enum op_white_space { WHITE_SPACE_PRE = 0x0001, WHITE_SPACE_NOWRAP = 0x0002, WHITE_SPACE_PRE_WRAP = 0x0003, - WHITE_SPACE_PRE_LINE = 0x0004, + WHITE_SPACE_PRE_LINE = 0x0004 }; enum op_widows { - WIDOWS_SET = 0x0080, + WIDOWS_SET = 0x0080 }; enum op_width { WIDTH_SET = 0x0080, - WIDTH_AUTO = 0x0000, + WIDTH_AUTO = 0x0000 }; enum op_word_spacing { WORD_SPACING_SET = 0x0080, - WORD_SPACING_NORMAL = 0x0000, + WORD_SPACING_NORMAL = 0x0000 }; enum op_z_index { Z_INDEX_SET = 0x0080, - Z_INDEX_AUTO = 0x0000, + Z_INDEX_AUTO = 0x0000 }; #endif diff --git a/src/lex/lex.h b/src/lex/lex.h index 6d0249e..d0fc787 100644 --- a/src/lex/lex.h +++ b/src/lex/lex.h @@ -22,7 +22,7 @@ typedef struct css_lexer css_lexer; * Lexer option types */ typedef enum css_lexer_opttype { - CSS_LEXER_EMIT_COMMENTS, + CSS_LEXER_EMIT_COMMENTS } css_lexer_opttype; /** diff --git a/src/parse/language.c b/src/parse/language.c index cff66df..691dff3 100644 --- a/src/parse/language.c +++ b/src/parse/language.c @@ -36,7 +36,7 @@ struct css_language { enum { BEFORE_CHARSET, BEFORE_RULES, - HAD_RULE, + HAD_RULE } state; /**< State flag, for at-rule handling */ /** \todo These should be statically allocated */ @@ -129,6 +129,7 @@ css_error css_language_create(css_stylesheet *sheet, css_parser *parser, parserutils_error perror; lwc_error lerror; css_error error; + int i; if (sheet == NULL || parser == NULL || alloc == NULL || language == NULL) @@ -147,7 +148,7 @@ css_error css_language_create(css_stylesheet *sheet, css_parser *parser, } /* Intern all known strings */ - for (int i = 0; i < LAST_KNOWN; i++) { + for (i = 0; i < LAST_KNOWN; i++) { lerror = lwc_context_intern(sheet->dictionary, stringmap[i].data, stringmap[i].len, @@ -354,14 +355,14 @@ css_error handleStartAtRule(css_language *c, const parserutils_vector *vector) { parserutils_error perror; context_entry entry = { CSS_PARSER_START_ATRULE, NULL }; - - assert(c != NULL); - - /* vector contains: ATKEYWORD ws any0 */ const css_token *token = NULL; const css_token *atkeyword = NULL; int32_t ctx = 0; + /* vector contains: ATKEYWORD ws any0 */ + + assert(c != NULL); + atkeyword = parserutils_vector_iterate(vector, &ctx); consumeWhitespace(vector, &ctx); diff --git a/src/parse/parse.c b/src/parse/parse.c index f195c50..cc24385 100644 --- a/src/parse/parse.c +++ b/src/parse/parse.c @@ -583,10 +583,11 @@ css_error getToken(css_parser *parser, const css_token **token) if (t->type < CSS_TOKEN_LAST_INTERN && t->data.data != NULL) { if (t->type < CSS_TOKEN_LAST_INTERN_LOWER) { - uint8_t temp[t->data.len]; + uint8_t *temp = alloca(t->data.len); bool lower = false; + size_t i; - for (size_t i = 0; i < t->data.len; i++) { + for (i = 0; i < t->data.len; i++) { uint8_t c = t->data.data[i]; if ('A' <= c && c <= 'Z') { @@ -828,6 +829,7 @@ css_error parseRuleset(css_parser *parser) { enum { Initial = 0, Brace = 1, WS = 2 }; parser_state *state = parserutils_stack_get_current(parser->states); + parser_state to = { sRulesetEnd, Initial }; const css_token *token; css_error error; @@ -916,8 +918,6 @@ css_error parseRuleset(css_parser *parser) break; } - parser_state to = { sRulesetEnd, Initial }; - return transitionNoRet(parser, to); } @@ -1003,6 +1003,7 @@ css_error parseAtRule(css_parser *parser) { enum { Initial = 0, WS = 1, Any = 2, AfterAny = 3 }; parser_state *state = parserutils_stack_get_current(parser->states); + parser_state to = { sAtRuleEnd, Initial }; const css_token *token; css_error error; @@ -1065,8 +1066,6 @@ css_error parseAtRule(css_parser *parser) break; } - parser_state to = { sAtRuleEnd, Initial }; - return transitionNoRet(parser, to); } @@ -1450,6 +1449,7 @@ css_error parseDeclList(css_parser *parser) { enum { Initial = 0, WS = 1 }; parser_state *state = parserutils_stack_get_current(parser->states); + parser_state to = { sDeclListEnd, Initial }; const css_token *token; css_error error; @@ -1493,8 +1493,6 @@ css_error parseDeclList(css_parser *parser) break; } - parser_state to = { sDeclListEnd, Initial }; - return transitionNoRet(parser, to); } @@ -1502,6 +1500,7 @@ css_error parseDeclListEnd(css_parser *parser) { enum { Initial = 0, AfterDeclaration = 1 }; parser_state *state = parserutils_stack_get_current(parser->states); + parser_state to = { sDeclList, Initial }; const css_token *token; css_error error; @@ -1540,8 +1539,6 @@ css_error parseDeclListEnd(css_parser *parser) break; } - parser_state to = { sDeclList, Initial }; - return transitionNoRet(parser, to); } @@ -1584,6 +1581,7 @@ css_error parseValue1(css_parser *parser) { enum { Initial = 0, AfterValue = 1 }; parser_state *state = parserutils_stack_get_current(parser->states); + parser_state to = { sValue0, Initial }; const css_token *token; css_error error; @@ -1622,8 +1620,6 @@ css_error parseValue1(css_parser *parser) break; } - parser_state to = { sValue0, Initial }; - return transitionNoRet(parser, to); } @@ -1980,6 +1976,8 @@ css_error parseMalformedDeclaration(css_parser *parser) } case Go: while (1) { + char want; + char *match; const char *data; size_t len; @@ -2002,8 +2000,7 @@ css_error parseMalformedDeclaration(css_parser *parser) data[0] != ';')) continue; - char want; - char *match = parserutils_stack_get_current( + match = parserutils_stack_get_current( parser->open_items); /* If the stack is empty, then we're done if we've got @@ -2078,6 +2075,8 @@ css_error parseMalformedSelector(css_parser *parser) /* Fall through */ case Go: while (1) { + char want; + char *match; const char *data; size_t len; @@ -2099,8 +2098,7 @@ css_error parseMalformedSelector(css_parser *parser) data[0] != '(' && data[0] != ')')) continue; - char want; - char *match = parserutils_stack_get_current( + match = parserutils_stack_get_current( parser->open_items); /* Get corresponding start tokens for end tokens */ @@ -2176,6 +2174,8 @@ css_error parseMalformedAtRule(css_parser *parser) } case Go: while (1) { + char want; + char *match; const char *data; size_t len; @@ -2198,8 +2198,7 @@ css_error parseMalformedAtRule(css_parser *parser) data[0] != ';')) continue; - char want; - char *match = parserutils_stack_get_current( + match = parserutils_stack_get_current( parser->open_items); /* If we have a semicolon, then we're either done or diff --git a/src/parse/parse.h b/src/parse/parse.h index 3a460e6..c590858 100644 --- a/src/parse/parse.h +++ b/src/parse/parse.h @@ -31,7 +31,7 @@ typedef enum css_parser_event { CSS_PARSER_START_BLOCK, CSS_PARSER_END_BLOCK, CSS_PARSER_BLOCK_CONTENT, - CSS_PARSER_DECLARATION, + CSS_PARSER_DECLARATION } css_parser_event; typedef css_error (*css_parser_event_handler)(css_parser_event type, @@ -42,7 +42,7 @@ typedef css_error (*css_parser_event_handler)(css_parser_event type, */ typedef enum css_parser_opttype { CSS_PARSER_QUIRKS, - CSS_PARSER_EVENT_HANDLER, + CSS_PARSER_EVENT_HANDLER } css_parser_opttype; /** diff --git a/src/parse/properties.c b/src/parse/properties.c index d08d23a..6294a6e 100644 --- a/src/parse/properties.c +++ b/src/parse/properties.c @@ -1390,9 +1390,10 @@ css_error parse_clip(css_language *c, value = CLIP_AUTO; } else if (token->type == CSS_TOKEN_FUNCTION && token->ilower == c->strings[RECT]) { + int i; value = CLIP_SHAPE_RECT; - for (int i = 0; i < 4; i++) { + for (i = 0; i < 4; i++) { consumeWhitespace(vector, ctx); token = parserutils_vector_peek(vector, *ctx); @@ -1470,9 +1471,10 @@ css_error parse_clip(css_language *c, memcpy((*result)->bytecode, &opv, sizeof(opv)); if ((flags & FLAG_INHERIT) == false && (value & CLIP_SHAPE_MASK) == CLIP_SHAPE_RECT) { + int i; uint8_t *ptr = ((uint8_t *) (*result)->bytecode) + sizeof(opv); - for (int i = 0; i < num_lengths; i++) { + for (i = 0; i < num_lengths; i++) { memcpy(ptr, &length[i], sizeof(length[i])); ptr += sizeof(length[i]); memcpy(ptr, &unit[i], sizeof(unit[i])); @@ -2827,7 +2829,8 @@ css_error parse_font_family(css_language *c, uint16_t len = lwc_string_length(token->idata); const css_token *temp_token = token; lwc_error lerror; - + uint8_t *buf; + uint8_t *p; temp_ctx = *ctx; @@ -2856,8 +2859,8 @@ css_error parse_font_family(css_language *c, vector, &temp_ctx); } - uint8_t buf[len]; - uint8_t *p = buf; + buf = alloca(len); + p = buf; memcpy(p, lwc_string_data(token->idata), lwc_string_length(token->idata)); p += lwc_string_length(token->idata); @@ -6009,6 +6012,8 @@ css_error parse_voice_family(css_language *c, uint16_t len = lwc_string_length(token->idata); const css_token *temp_token = token; lwc_error lerror; + uint8_t *buf; + uint8_t *p; temp_ctx = *ctx; @@ -6036,8 +6041,8 @@ css_error parse_voice_family(css_language *c, vector, &temp_ctx); } - uint8_t buf[len]; - uint8_t *p = buf; + buf = alloca(len); + p = buf; memcpy(p, lwc_string_data(token->idata), lwc_string_length(token->idata)); p += lwc_string_length(token->idata); @@ -6657,9 +6662,10 @@ css_error parse_colour_specifier(css_language *c, return error; } else if (token->type == CSS_TOKEN_FUNCTION) { if (token->ilower == c->strings[RGB]) { + int i; css_token_type valid = CSS_TOKEN_NUMBER; - for (int i = 0; i < 3; i++) { + for (i = 0; i < 3; i++) { css_fixed num; size_t consumed = 0; uint8_t *component = i == 0 ? &r -- cgit v1.2.3