Mercurial > hg > audiodb
comparison query.cpp @ 449:bc5a69e81036 api-inversion
use audiodb_key_index() in audiodb_query_spec_qpointers()
author | mas01cr |
---|---|
date | Wed, 24 Dec 2008 10:56:56 +0000 |
parents | ac9bf14f7071 |
children | 0c1c8726a79b |
comparison
equal
deleted
inserted
replaced
448:ac9bf14f7071 | 449:bc5a69e81036 |
---|---|
364 } | 364 } |
365 /* initialize d, and mark that nothing needs freeing later. */ | 365 /* initialize d, and mark that nothing needs freeing later. */ |
366 d = *datum; | 366 d = *datum; |
367 datum = &d; | 367 datum = &d; |
368 } else if (datum->key) { | 368 } else if (datum->key) { |
369 std::map<std::string,uint32_t>::iterator it; | 369 uint32_t track_id; |
370 it = adb->keys->find(datum->key); | 370 if((track_id = audiodb_key_index(adb, datum->key)) == (uint32_t) -1) { |
371 if(it == adb->keys->end()) { | |
372 return 1; | 371 return 1; |
373 } | 372 } |
374 uint32_t track_id = (*it).second; | |
375 off_t track_offset = (*adb->track_offsets)[track_id]; | 373 off_t track_offset = (*adb->track_offsets)[track_id]; |
376 | 374 |
377 if(adb->header->flags & O2_FLAG_LARGE_ADB) { | 375 if(adb->header->flags & O2_FLAG_LARGE_ADB) { |
378 /* create a reference/insert, then use adb_insert_create_datum() */ | 376 /* create a reference/insert, then use adb_insert_create_datum() */ |
379 adb_reference_t reference = {0}; | 377 adb_reference_t reference = {0}; |