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};