tidy-ext 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. data/.gitignore +4 -0
  2. data/LICENSE +50 -0
  3. data/README +12 -0
  4. data/Rakefile +60 -0
  5. data/VERSION +1 -0
  6. data/ext/tidy/access.c +3310 -0
  7. data/ext/tidy/access.h +279 -0
  8. data/ext/tidy/alloc.c +107 -0
  9. data/ext/tidy/attrask.c +209 -0
  10. data/ext/tidy/attrdict.c +2398 -0
  11. data/ext/tidy/attrdict.h +122 -0
  12. data/ext/tidy/attrget.c +213 -0
  13. data/ext/tidy/attrs.c +1911 -0
  14. data/ext/tidy/attrs.h +374 -0
  15. data/ext/tidy/buffio.c +232 -0
  16. data/ext/tidy/buffio.h +118 -0
  17. data/ext/tidy/charsets.c +1032 -0
  18. data/ext/tidy/charsets.h +14 -0
  19. data/ext/tidy/clean.c +2674 -0
  20. data/ext/tidy/clean.h +87 -0
  21. data/ext/tidy/config.c +1746 -0
  22. data/ext/tidy/config.h +153 -0
  23. data/ext/tidy/entities.c +419 -0
  24. data/ext/tidy/entities.h +24 -0
  25. data/ext/tidy/extconf.rb +5 -0
  26. data/ext/tidy/fileio.c +106 -0
  27. data/ext/tidy/fileio.h +46 -0
  28. data/ext/tidy/forward.h +69 -0
  29. data/ext/tidy/iconvtc.c +105 -0
  30. data/ext/tidy/iconvtc.h +15 -0
  31. data/ext/tidy/istack.c +373 -0
  32. data/ext/tidy/lexer.c +3825 -0
  33. data/ext/tidy/lexer.h +617 -0
  34. data/ext/tidy/localize.c +1882 -0
  35. data/ext/tidy/mappedio.c +329 -0
  36. data/ext/tidy/mappedio.h +16 -0
  37. data/ext/tidy/message.h +207 -0
  38. data/ext/tidy/parser.c +4408 -0
  39. data/ext/tidy/parser.h +76 -0
  40. data/ext/tidy/platform.h +636 -0
  41. data/ext/tidy/pprint.c +2276 -0
  42. data/ext/tidy/pprint.h +93 -0
  43. data/ext/tidy/ruby-tidy.c +195 -0
  44. data/ext/tidy/streamio.c +1407 -0
  45. data/ext/tidy/streamio.h +222 -0
  46. data/ext/tidy/tagask.c +286 -0
  47. data/ext/tidy/tags.c +955 -0
  48. data/ext/tidy/tags.h +235 -0
  49. data/ext/tidy/tidy-int.h +129 -0
  50. data/ext/tidy/tidy.h +1097 -0
  51. data/ext/tidy/tidyenum.h +622 -0
  52. data/ext/tidy/tidylib.c +1751 -0
  53. data/ext/tidy/tmbstr.c +306 -0
  54. data/ext/tidy/tmbstr.h +92 -0
  55. data/ext/tidy/utf8.c +539 -0
  56. data/ext/tidy/utf8.h +52 -0
  57. data/ext/tidy/version.h +14 -0
  58. data/ext/tidy/win32tc.c +795 -0
  59. data/ext/tidy/win32tc.h +19 -0
  60. data/spec/spec_helper.rb +5 -0
  61. data/spec/tidy/compat_spec.rb +44 -0
  62. data/spec/tidy/remote_uri_spec.rb +14 -0
  63. data/spec/tidy/test1.html +5 -0
  64. data/spec/tidy/tidy_spec.rb +34 -0
  65. metadata +125 -0
@@ -0,0 +1,122 @@
1
+ #ifndef __ATTRDICT_H__
2
+ #define __ATTRDICT_H__
3
+
4
+ /* attrdict.h -- extended attribute information
5
+
6
+ (c) 1998-2006 (W3C) MIT, ERCIM, Keio University
7
+ See tidy.h for the copyright notice.
8
+
9
+ $Id: attrdict.h,v 1.4 2006/09/12 15:14:44 arnaud02 Exp $
10
+ */
11
+
12
+ #include "tidy.h"
13
+
14
+ typedef struct _AttrVersion
15
+ {
16
+ TidyAttrId attribute;
17
+ uint versions;
18
+ } AttrVersion;
19
+
20
+ extern const AttrVersion TY_(W3CAttrsFor_A)[];
21
+ extern const AttrVersion TY_(W3CAttrsFor_ABBR)[];
22
+ extern const AttrVersion TY_(W3CAttrsFor_ACRONYM)[];
23
+ extern const AttrVersion TY_(W3CAttrsFor_ADDRESS)[];
24
+ extern const AttrVersion TY_(W3CAttrsFor_APPLET)[];
25
+ extern const AttrVersion TY_(W3CAttrsFor_AREA)[];
26
+ extern const AttrVersion TY_(W3CAttrsFor_B)[];
27
+ extern const AttrVersion TY_(W3CAttrsFor_BASE)[];
28
+ extern const AttrVersion TY_(W3CAttrsFor_BASEFONT)[];
29
+ extern const AttrVersion TY_(W3CAttrsFor_BDO)[];
30
+ extern const AttrVersion TY_(W3CAttrsFor_BIG)[];
31
+ extern const AttrVersion TY_(W3CAttrsFor_BLOCKQUOTE)[];
32
+ extern const AttrVersion TY_(W3CAttrsFor_BODY)[];
33
+ extern const AttrVersion TY_(W3CAttrsFor_BR)[];
34
+ extern const AttrVersion TY_(W3CAttrsFor_BUTTON)[];
35
+ extern const AttrVersion TY_(W3CAttrsFor_CAPTION)[];
36
+ extern const AttrVersion TY_(W3CAttrsFor_CENTER)[];
37
+ extern const AttrVersion TY_(W3CAttrsFor_CITE)[];
38
+ extern const AttrVersion TY_(W3CAttrsFor_CODE)[];
39
+ extern const AttrVersion TY_(W3CAttrsFor_COL)[];
40
+ extern const AttrVersion TY_(W3CAttrsFor_COLGROUP)[];
41
+ extern const AttrVersion TY_(W3CAttrsFor_DD)[];
42
+ extern const AttrVersion TY_(W3CAttrsFor_DEL)[];
43
+ extern const AttrVersion TY_(W3CAttrsFor_DFN)[];
44
+ extern const AttrVersion TY_(W3CAttrsFor_DIR)[];
45
+ extern const AttrVersion TY_(W3CAttrsFor_DIV)[];
46
+ extern const AttrVersion TY_(W3CAttrsFor_DL)[];
47
+ extern const AttrVersion TY_(W3CAttrsFor_DT)[];
48
+ extern const AttrVersion TY_(W3CAttrsFor_EM)[];
49
+ extern const AttrVersion TY_(W3CAttrsFor_FIELDSET)[];
50
+ extern const AttrVersion TY_(W3CAttrsFor_FONT)[];
51
+ extern const AttrVersion TY_(W3CAttrsFor_FORM)[];
52
+ extern const AttrVersion TY_(W3CAttrsFor_FRAME)[];
53
+ extern const AttrVersion TY_(W3CAttrsFor_FRAMESET)[];
54
+ extern const AttrVersion TY_(W3CAttrsFor_H1)[];
55
+ extern const AttrVersion TY_(W3CAttrsFor_H2)[];
56
+ extern const AttrVersion TY_(W3CAttrsFor_H3)[];
57
+ extern const AttrVersion TY_(W3CAttrsFor_H4)[];
58
+ extern const AttrVersion TY_(W3CAttrsFor_H5)[];
59
+ extern const AttrVersion TY_(W3CAttrsFor_H6)[];
60
+ extern const AttrVersion TY_(W3CAttrsFor_HEAD)[];
61
+ extern const AttrVersion TY_(W3CAttrsFor_HR)[];
62
+ extern const AttrVersion TY_(W3CAttrsFor_HTML)[];
63
+ extern const AttrVersion TY_(W3CAttrsFor_I)[];
64
+ extern const AttrVersion TY_(W3CAttrsFor_IFRAME)[];
65
+ extern const AttrVersion TY_(W3CAttrsFor_IMG)[];
66
+ extern const AttrVersion TY_(W3CAttrsFor_INPUT)[];
67
+ extern const AttrVersion TY_(W3CAttrsFor_INS)[];
68
+ extern const AttrVersion TY_(W3CAttrsFor_ISINDEX)[];
69
+ extern const AttrVersion TY_(W3CAttrsFor_KBD)[];
70
+ extern const AttrVersion TY_(W3CAttrsFor_LABEL)[];
71
+ extern const AttrVersion TY_(W3CAttrsFor_LEGEND)[];
72
+ extern const AttrVersion TY_(W3CAttrsFor_LI)[];
73
+ extern const AttrVersion TY_(W3CAttrsFor_LINK)[];
74
+ extern const AttrVersion TY_(W3CAttrsFor_LISTING)[];
75
+ extern const AttrVersion TY_(W3CAttrsFor_MAP)[];
76
+ extern const AttrVersion TY_(W3CAttrsFor_MENU)[];
77
+ extern const AttrVersion TY_(W3CAttrsFor_META)[];
78
+ extern const AttrVersion TY_(W3CAttrsFor_NEXTID)[];
79
+ extern const AttrVersion TY_(W3CAttrsFor_NOFRAMES)[];
80
+ extern const AttrVersion TY_(W3CAttrsFor_NOSCRIPT)[];
81
+ extern const AttrVersion TY_(W3CAttrsFor_OBJECT)[];
82
+ extern const AttrVersion TY_(W3CAttrsFor_OL)[];
83
+ extern const AttrVersion TY_(W3CAttrsFor_OPTGROUP)[];
84
+ extern const AttrVersion TY_(W3CAttrsFor_OPTION)[];
85
+ extern const AttrVersion TY_(W3CAttrsFor_P)[];
86
+ extern const AttrVersion TY_(W3CAttrsFor_PARAM)[];
87
+ extern const AttrVersion TY_(W3CAttrsFor_PLAINTEXT)[];
88
+ extern const AttrVersion TY_(W3CAttrsFor_PRE)[];
89
+ extern const AttrVersion TY_(W3CAttrsFor_Q)[];
90
+ extern const AttrVersion TY_(W3CAttrsFor_RB)[];
91
+ extern const AttrVersion TY_(W3CAttrsFor_RBC)[];
92
+ extern const AttrVersion TY_(W3CAttrsFor_RP)[];
93
+ extern const AttrVersion TY_(W3CAttrsFor_RT)[];
94
+ extern const AttrVersion TY_(W3CAttrsFor_RTC)[];
95
+ extern const AttrVersion TY_(W3CAttrsFor_RUBY)[];
96
+ extern const AttrVersion TY_(W3CAttrsFor_S)[];
97
+ extern const AttrVersion TY_(W3CAttrsFor_SAMP)[];
98
+ extern const AttrVersion TY_(W3CAttrsFor_SCRIPT)[];
99
+ extern const AttrVersion TY_(W3CAttrsFor_SELECT)[];
100
+ extern const AttrVersion TY_(W3CAttrsFor_SMALL)[];
101
+ extern const AttrVersion TY_(W3CAttrsFor_SPAN)[];
102
+ extern const AttrVersion TY_(W3CAttrsFor_STRIKE)[];
103
+ extern const AttrVersion TY_(W3CAttrsFor_STRONG)[];
104
+ extern const AttrVersion TY_(W3CAttrsFor_STYLE)[];
105
+ extern const AttrVersion TY_(W3CAttrsFor_SUB)[];
106
+ extern const AttrVersion TY_(W3CAttrsFor_SUP)[];
107
+ extern const AttrVersion TY_(W3CAttrsFor_TABLE)[];
108
+ extern const AttrVersion TY_(W3CAttrsFor_TBODY)[];
109
+ extern const AttrVersion TY_(W3CAttrsFor_TD)[];
110
+ extern const AttrVersion TY_(W3CAttrsFor_TEXTAREA)[];
111
+ extern const AttrVersion TY_(W3CAttrsFor_TFOOT)[];
112
+ extern const AttrVersion TY_(W3CAttrsFor_TH)[];
113
+ extern const AttrVersion TY_(W3CAttrsFor_THEAD)[];
114
+ extern const AttrVersion TY_(W3CAttrsFor_TITLE)[];
115
+ extern const AttrVersion TY_(W3CAttrsFor_TR)[];
116
+ extern const AttrVersion TY_(W3CAttrsFor_TT)[];
117
+ extern const AttrVersion TY_(W3CAttrsFor_U)[];
118
+ extern const AttrVersion TY_(W3CAttrsFor_UL)[];
119
+ extern const AttrVersion TY_(W3CAttrsFor_VAR)[];
120
+ extern const AttrVersion TY_(W3CAttrsFor_XMP)[];
121
+
122
+ #endif /* __ATTRDICT_H__ */
@@ -0,0 +1,213 @@
1
+ /* attrget.c -- Locate attribute value by type
2
+
3
+ (c) 1998-2006 (W3C) MIT, ERCIM, Keio University
4
+ See tidy.h for the copyright notice.
5
+
6
+ CVS Info:
7
+ $Author: arnaud02 $
8
+ $Date: 2006/09/12 15:14:44 $
9
+ $Revision: 1.6 $
10
+
11
+ */
12
+
13
+ #include "tidy-int.h"
14
+ #include "tags.h"
15
+ #include "attrs.h"
16
+ #include "tidy.h"
17
+
18
+ TidyAttr TIDY_CALL tidyAttrGetById( TidyNode tnod, TidyAttrId attId )
19
+ {
20
+ Node* nimp = tidyNodeToImpl(tnod);
21
+ return tidyImplToAttr( TY_(AttrGetById)( nimp, attId ) );
22
+ }
23
+ TidyAttr TIDY_CALL tidyAttrGetHREF( TidyNode tnod )
24
+ {
25
+ return tidyImplToAttr( attrGetHREF( tidyNodeToImpl(tnod) ) );
26
+ }
27
+ TidyAttr TIDY_CALL tidyAttrGetSRC( TidyNode tnod )
28
+ {
29
+ return tidyImplToAttr( attrGetSRC( tidyNodeToImpl(tnod) ) );
30
+ }
31
+ TidyAttr TIDY_CALL tidyAttrGetID( TidyNode tnod )
32
+ {
33
+ return tidyImplToAttr( attrGetID( tidyNodeToImpl(tnod) ) );
34
+ }
35
+ TidyAttr TIDY_CALL tidyAttrGetNAME( TidyNode tnod )
36
+ {
37
+ return tidyImplToAttr( attrGetNAME( tidyNodeToImpl(tnod) ) );
38
+ }
39
+ TidyAttr TIDY_CALL tidyAttrGetSUMMARY( TidyNode tnod )
40
+ {
41
+ return tidyImplToAttr( attrGetSUMMARY( tidyNodeToImpl(tnod) ) );
42
+ }
43
+ TidyAttr TIDY_CALL tidyAttrGetALT( TidyNode tnod )
44
+ {
45
+ return tidyImplToAttr( attrGetALT( tidyNodeToImpl(tnod) ) );
46
+ }
47
+ TidyAttr TIDY_CALL tidyAttrGetLONGDESC( TidyNode tnod )
48
+ {
49
+ return tidyImplToAttr( attrGetLONGDESC( tidyNodeToImpl(tnod) ) );
50
+ }
51
+ TidyAttr TIDY_CALL tidyAttrGetUSEMAP( TidyNode tnod )
52
+ {
53
+ return tidyImplToAttr( attrGetUSEMAP( tidyNodeToImpl(tnod) ) );
54
+ }
55
+ TidyAttr TIDY_CALL tidyAttrGetISMAP( TidyNode tnod )
56
+ {
57
+ return tidyImplToAttr( attrGetISMAP( tidyNodeToImpl(tnod) ) );
58
+ }
59
+ TidyAttr TIDY_CALL tidyAttrGetLANGUAGE( TidyNode tnod )
60
+ {
61
+ return tidyImplToAttr( attrGetLANGUAGE( tidyNodeToImpl(tnod) ) );
62
+ }
63
+ TidyAttr TIDY_CALL tidyAttrGetTYPE( TidyNode tnod )
64
+ {
65
+ return tidyImplToAttr( attrGetTYPE( tidyNodeToImpl(tnod) ) );
66
+ }
67
+ TidyAttr TIDY_CALL tidyAttrGetVALUE( TidyNode tnod )
68
+ {
69
+ return tidyImplToAttr( attrGetVALUE( tidyNodeToImpl(tnod) ) );
70
+ }
71
+ TidyAttr TIDY_CALL tidyAttrGetCONTENT( TidyNode tnod )
72
+ {
73
+ return tidyImplToAttr( attrGetCONTENT( tidyNodeToImpl(tnod) ) );
74
+ }
75
+ TidyAttr TIDY_CALL tidyAttrGetTITLE( TidyNode tnod )
76
+ {
77
+ return tidyImplToAttr( attrGetTITLE( tidyNodeToImpl(tnod) ) );
78
+ }
79
+ TidyAttr TIDY_CALL tidyAttrGetXMLNS( TidyNode tnod )
80
+ {
81
+ return tidyImplToAttr( attrGetXMLNS( tidyNodeToImpl(tnod) ) );
82
+ }
83
+ TidyAttr TIDY_CALL tidyAttrGetDATAFLD( TidyNode tnod )
84
+ {
85
+ return tidyImplToAttr( attrGetDATAFLD( tidyNodeToImpl(tnod) ) );
86
+ }
87
+ TidyAttr TIDY_CALL tidyAttrGetWIDTH( TidyNode tnod )
88
+ {
89
+ return tidyImplToAttr( attrGetWIDTH( tidyNodeToImpl(tnod) ) );
90
+ }
91
+ TidyAttr TIDY_CALL tidyAttrGetHEIGHT( TidyNode tnod )
92
+ {
93
+ return tidyImplToAttr( attrGetHEIGHT( tidyNodeToImpl(tnod) ) );
94
+ }
95
+ TidyAttr TIDY_CALL tidyAttrGetFOR( TidyNode tnod )
96
+ {
97
+ return tidyImplToAttr( attrGetFOR( tidyNodeToImpl(tnod) ) );
98
+ }
99
+ TidyAttr TIDY_CALL tidyAttrGetSELECTED( TidyNode tnod )
100
+ {
101
+ return tidyImplToAttr( attrGetSELECTED( tidyNodeToImpl(tnod) ) );
102
+ }
103
+ TidyAttr TIDY_CALL tidyAttrGetCHECKED( TidyNode tnod )
104
+ {
105
+ return tidyImplToAttr( attrGetCHECKED( tidyNodeToImpl(tnod) ) );
106
+ }
107
+ TidyAttr TIDY_CALL tidyAttrGetLANG( TidyNode tnod )
108
+ {
109
+ return tidyImplToAttr( attrGetLANG( tidyNodeToImpl(tnod) ) );
110
+ }
111
+ TidyAttr TIDY_CALL tidyAttrGetTARGET( TidyNode tnod )
112
+ {
113
+ return tidyImplToAttr( attrGetTARGET( tidyNodeToImpl(tnod) ) );
114
+ }
115
+ TidyAttr TIDY_CALL tidyAttrGetHTTP_EQUIV( TidyNode tnod )
116
+ {
117
+ return tidyImplToAttr( attrGetHTTP_EQUIV( tidyNodeToImpl(tnod) ) );
118
+ }
119
+ TidyAttr TIDY_CALL tidyAttrGetREL( TidyNode tnod )
120
+ {
121
+ return tidyImplToAttr( attrGetREL( tidyNodeToImpl(tnod) ) );
122
+ }
123
+
124
+ TidyAttr TIDY_CALL tidyAttrGetOnMOUSEMOVE( TidyNode tnod )
125
+ {
126
+ return tidyImplToAttr( attrGetOnMOUSEMOVE( tidyNodeToImpl(tnod) ) );
127
+ }
128
+ TidyAttr TIDY_CALL tidyAttrGetOnMOUSEDOWN( TidyNode tnod )
129
+ {
130
+ return tidyImplToAttr( attrGetOnMOUSEDOWN( tidyNodeToImpl(tnod) ) );
131
+ }
132
+ TidyAttr TIDY_CALL tidyAttrGetOnMOUSEUP( TidyNode tnod )
133
+ {
134
+ return tidyImplToAttr( attrGetOnMOUSEUP( tidyNodeToImpl(tnod) ) );
135
+ }
136
+ TidyAttr TIDY_CALL tidyAttrGetOnCLICK( TidyNode tnod )
137
+ {
138
+ return tidyImplToAttr( attrGetOnCLICK( tidyNodeToImpl(tnod) ) );
139
+ }
140
+ TidyAttr TIDY_CALL tidyAttrGetOnMOUSEOVER( TidyNode tnod )
141
+ {
142
+ return tidyImplToAttr( attrGetOnMOUSEOVER( tidyNodeToImpl(tnod) ) );
143
+ }
144
+ TidyAttr TIDY_CALL tidyAttrGetOnMOUSEOUT( TidyNode tnod )
145
+ {
146
+ return tidyImplToAttr( attrGetOnMOUSEOUT( tidyNodeToImpl(tnod) ) );
147
+ }
148
+ TidyAttr TIDY_CALL tidyAttrGetOnKEYDOWN( TidyNode tnod )
149
+ {
150
+ return tidyImplToAttr( attrGetOnKEYDOWN( tidyNodeToImpl(tnod) ) );
151
+ }
152
+ TidyAttr TIDY_CALL tidyAttrGetOnKEYUP( TidyNode tnod )
153
+ {
154
+ return tidyImplToAttr( attrGetOnKEYUP( tidyNodeToImpl(tnod) ) );
155
+ }
156
+ TidyAttr TIDY_CALL tidyAttrGetOnKEYPRESS( TidyNode tnod )
157
+ {
158
+ return tidyImplToAttr( attrGetOnKEYPRESS( tidyNodeToImpl(tnod) ) );
159
+ }
160
+ TidyAttr TIDY_CALL tidyAttrGetOnFOCUS( TidyNode tnod )
161
+ {
162
+ return tidyImplToAttr( attrGetOnFOCUS( tidyNodeToImpl(tnod) ) );
163
+ }
164
+ TidyAttr TIDY_CALL tidyAttrGetOnBLUR( TidyNode tnod )
165
+ {
166
+ return tidyImplToAttr( attrGetOnBLUR( tidyNodeToImpl(tnod) ) );
167
+ }
168
+ TidyAttr TIDY_CALL tidyAttrGetBGCOLOR( TidyNode tnod )
169
+ {
170
+ return tidyImplToAttr( attrGetBGCOLOR( tidyNodeToImpl(tnod) ) );
171
+ }
172
+ TidyAttr TIDY_CALL tidyAttrGetLINK( TidyNode tnod )
173
+ {
174
+ return tidyImplToAttr( attrGetLINK( tidyNodeToImpl(tnod) ) );
175
+ }
176
+ TidyAttr TIDY_CALL tidyAttrGetALINK( TidyNode tnod )
177
+ {
178
+ return tidyImplToAttr( attrGetALINK( tidyNodeToImpl(tnod) ) );
179
+ }
180
+ TidyAttr TIDY_CALL tidyAttrGetVLINK( TidyNode tnod )
181
+ {
182
+ return tidyImplToAttr( attrGetVLINK( tidyNodeToImpl(tnod) ) );
183
+ }
184
+
185
+ TidyAttr TIDY_CALL tidyAttrGetTEXT( TidyNode tnod )
186
+ {
187
+ return tidyImplToAttr( attrGetTEXT( tidyNodeToImpl(tnod) ) );
188
+ }
189
+ TidyAttr TIDY_CALL tidyAttrGetSTYLE( TidyNode tnod )
190
+ {
191
+ return tidyImplToAttr( attrGetSTYLE( tidyNodeToImpl(tnod) ) );
192
+ }
193
+ TidyAttr TIDY_CALL tidyAttrGetABBR( TidyNode tnod )
194
+ {
195
+ return tidyImplToAttr( attrGetABBR( tidyNodeToImpl(tnod) ) );
196
+ }
197
+ TidyAttr TIDY_CALL tidyAttrGetCOLSPAN( TidyNode tnod )
198
+ {
199
+ return tidyImplToAttr( attrGetCOLSPAN( tidyNodeToImpl(tnod) ) );
200
+ }
201
+ TidyAttr TIDY_CALL tidyAttrGetROWSPAN( TidyNode tnod )
202
+ {
203
+ return tidyImplToAttr( attrGetROWSPAN( tidyNodeToImpl(tnod) ) );
204
+ }
205
+
206
+ /*
207
+ * local variables:
208
+ * mode: c
209
+ * indent-tabs-mode: nil
210
+ * c-basic-offset: 4
211
+ * eval: (c-set-offset 'substatement-open 0)
212
+ * end:
213
+ */