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)