private static function decode_list(&$data)
{
$list = array();
while (($char = self::char($data)) != 'e') {
if ($char === false) {
return self::set_error(new Exception('Unterminated list'));
}
$list[] = self::decode_data($data);
}
$data = substr($data, 1);
return $list;
}