Mercurial > audlegacy
comparison src/audacious/tuple_formatter.c @ 3361:e7d8727fb901 trunk
fixed a tuple parser bug, expression depth level wasn't correctly updated in certain nested situations
author | Giacomo Lozito <james@develia.org> |
---|---|
date | Sat, 18 Aug 2007 02:45:06 +0200 |
parents | 678ea77b6b1f |
children | 86dafe2300f7 |
comparison
equal
deleted
inserted
replaced
3360:8430c3911856 | 3361:e7d8727fb901 |
---|---|
122 { | 122 { |
123 g_string_append_c(sel, *iter); | 123 g_string_append_c(sel, *iter); |
124 level++; | 124 level++; |
125 } | 125 } |
126 } | 126 } |
127 else if (*iter == '}' && (sel == argument)) | 127 else if (*iter == '}') |
128 { | 128 { |
129 level--; | 129 level--; |
130 if (level == 0) | 130 if (sel == argument) |
131 break; | 131 { |
132 if (level == 0) | |
133 break; | |
134 else | |
135 g_string_append_c(sel, *iter); | |
136 } | |
132 else | 137 else |
133 g_string_append_c(sel, *iter); | 138 break; |
134 } | 139 } |
135 else if (*iter == '}' && ((sel != argument))) | |
136 break; | |
137 else | 140 else |
138 g_string_append_c(sel, *iter); | 141 g_string_append_c(sel, *iter); |
139 } | 142 } |
140 | 143 |
141 if (expression->len == 0) | 144 if (expression->len == 0) |
186 { | 189 { |
187 g_string_append_c(sel, *iter); | 190 g_string_append_c(sel, *iter); |
188 level++; | 191 level++; |
189 } | 192 } |
190 } | 193 } |
191 else if (*iter == '}' && (sel == argument)) | 194 else if (*iter == '}') |
192 { | 195 { |
193 level--; | 196 level--; |
194 if (level == 0) | 197 if (sel == argument) |
195 break; | 198 { |
199 if (level == 0) | |
200 break; | |
201 else | |
202 g_string_append_c(sel, *iter); | |
203 } | |
196 else | 204 else |
197 g_string_append_c(sel, *iter); | 205 break; |
198 } | 206 } |
199 else if (*iter == '}' && ((sel != argument))) | |
200 break; | |
201 else | 207 else |
202 g_string_append_c(sel, *iter); | 208 g_string_append_c(sel, *iter); |
203 } | 209 } |
204 | 210 |
205 if (expression->len == 0) | 211 if (expression->len == 0) |