Mercurial > projects > mde
comparison mde/file/deserialize.d @ 154:0520cc00c0cc
Better error reporting for loading translations; avoided an infinite loop.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Sat, 18 Apr 2009 12:02:33 +0200 |
parents | 7f7b40fed72b |
children |
comparison
equal
deleted
inserted
replaced
153:2934fcacbb97 | 154:0520cc00c0cc |
---|---|
304 break; | 304 break; |
305 // key must be an int so no need for string checks | 305 // key must be an int so no need for string checks |
306 ++i; | 306 ++i; |
307 } | 307 } |
308 if (i >= pair.length) | 308 if (i >= pair.length) |
309 throw new ParseException ("Invalid struct: encountered { ... KEY} (missing :DATA)"); | 309 throw new ParseException ("Invalid KEY:DATA pair within struct: "~pair); |
310 | 310 |
311 size_t k = deserialize!(size_t) (pair[0..i]); | 311 size_t k = deserialize!(size_t) (pair[0..i]); |
312 // Note: could check no entry was already stored in temp. | 312 // Note: could check no entry was already stored in temp. |
313 temp[k] = pair[i+1..$]; | 313 temp[k] = pair[i+1..$]; |
314 } | 314 } |