if(parse_table[i].type == NULL) {
if (parse_table[i].type == 0) {
static int parse_default(MOVParseTableEntry *parse_table, ByteIOContext *pb, UINT32 atom_type, INT64 atom_offset, INT64 atom_size, void *param){    UINT32 type, foo=0;    UINT64 offset, size;    UINT64 total_size = 0;    int i;    int err = 0;    foo=0;#ifdef DEBUG    print_atom("default", atom_type, atom_offset, atom_size);    debug_indent++;#endif        offset = atom_offset;    if(atom_size < 0)        atom_size = 0x0FFFFFFFFFFFFFFF;    while((total_size < atom_size) && !url_feof(pb) && !err) {        size=atom_size;        type=0L;        if(atom_size >= 8) {            size = get_be32(pb);            type = get_le32(pb);        }        total_size += 8;        offset+=8;//        printf("type: %08lx  sz: %08lx", type, size);        if(size == 1) { /* 64 bit extended size */            size = get_be64(pb);            offset+=8;            total_size+=8;            size-=8;        }        if(size == 0)            size = atom_size - total_size;        size-=8;        for(i=0; parse_table[i].type != 0L && parse_table[i].type != type; i++);        //        printf(" i=%ld\n", i);        if(parse_table[i].type == NULL) { /* skip leaf atoms data *///            url_seek(pb, atom_offset+atom_size, SEEK_SET);#ifdef DEBUG            print_atom("unknown", type, offset, size);#endif            url_fskip(pb, size);        } else            err = (parse_table[i].func)(parse_table, pb, type, offset, size, param);        offset+=size;        total_size+=size;    }#ifdef DEBUG    debug_indent--;#endif    return err;}