From: <ny...@us...> - 2007-02-10 17:21:13
|
Revision: 326 http://svn.sourceforge.net/pmplib/?rev=326&view=rev Author: nyaochi Date: 2007-02-10 09:21:12 -0800 (Sat, 10 Feb 2007) Log Message: ----------- Fix update mode for pmp_iriverplus2 Modified Paths: -------------- trunk/pmplib/frontend/easypmp/cui/main.c trunk/pmplib/lib/pmp_iriverplus2/pmp_iriverplus2.c Modified: trunk/pmplib/frontend/easypmp/cui/main.c =================================================================== --- trunk/pmplib/frontend/easypmp/cui/main.c 2007-02-10 15:23:26 UTC (rev 325) +++ trunk/pmplib/frontend/easypmp/cui/main.c 2007-02-10 17:21:12 UTC (rev 326) @@ -306,7 +306,7 @@ // Create a PMP instance. res = pmplib_create(pmplib, &pmp, opt.path_to_root, opt.model); if (!pmp) { - fprintf(fpe, "ERROR: Failed to find a player (%d)\n", res); + fprintf(fpe, "ERROR: Failed to find a player (%X)\n", res); ret = 1; goto exit_main; } @@ -340,7 +340,7 @@ } res = pmp->open(pmp, openflag); if (res) { - fprintf(fpe, "ERROR: Failed to open the player (%d)\n", res); + fprintf(fpe, "ERROR: Failed to open the player (%X)\n", res); ret = 1; goto exit_main; } @@ -406,7 +406,7 @@ } res = pmp->close(pmp); if (res) { - fprintf(fpe, "ERROR: Failed to close the player (%d)\n", res); + fprintf(fpe, "ERROR: Failed to close the player (%X)\n", res); ret = 1; goto exit_main; } Modified: trunk/pmplib/lib/pmp_iriverplus2/pmp_iriverplus2.c =================================================================== --- trunk/pmplib/lib/pmp_iriverplus2/pmp_iriverplus2.c 2007-02-10 15:23:26 UTC (rev 325) +++ trunk/pmplib/lib/pmp_iriverplus2/pmp_iriverplus2.c 2007-02-10 17:21:12 UTC (rev 326) @@ -452,8 +452,6 @@ free(music); return PMPERR_INSUFFICIENTMEMORY; } - ip2db_init(&pmpmi->ip2db); - music->set_records = pmpmusic_set_records; music->get_records = pmpmusic_get_records; music->dump = pmpmusic_dump; @@ -473,7 +471,6 @@ static uint32_t pmpmusic_release(pmp_music_t* music) { pmp_music_internal_t* pmpmi = (pmp_music_internal_t*)music->instance; - ip2db_finish(&pmpmi->ip2db); pmplib_records_finish(pmpmi->records, pmpmi->num_records); free(pmpmi->playlists); free(pmpmi); @@ -497,6 +494,9 @@ ucs2char_t sys[MAX_PATH], dat[MAX_PATH], idx[MAX_PATH]; pmp_music_internal_t* pmpmi = (pmp_music_internal_t*)pmp->music->instance; + // Initialize IP2DB. + ip2db_init(&pmpmi->ip2db); + // Read the music database. set_filenames(sys, dat, idx, pmp); ret = ip2db_read(&pmpmi->ip2db, dat, idx); @@ -516,7 +516,15 @@ return PMPERR_INSUFFICIENTMEMORY; } - return ip2db_get(&pmpmi->ip2db, pmpmi->records, &pmpmi->num_records, pmp->info.path_to_root); + ret = ip2db_get(&pmpmi->ip2db, pmpmi->records, &pmpmi->num_records, pmp->info.path_to_root); + if (ret) { + return ret; + } + + // Finish the IP2DB. + ip2db_finish(&pmpmi->ip2db); + + return ret; } return 0; @@ -532,6 +540,9 @@ if (pmp->flag & PMPOF_MUSIC_DB_WRITE) { ucs2char_t sys[MAX_PATH], dat[MAX_PATH], idx[MAX_PATH]; + // Initialize IP2DB. + ip2db_init(&pmpmi->ip2db); + ip2db_set(&pmpmi->ip2db, pmpmi->records, pmpmi->num_records, pmp->info.path_to_root); set_filenames(sys, dat, idx, pmp); @@ -560,6 +571,9 @@ } } + // Finish the IP2DB. + ip2db_finish(&pmpmi->ip2db); + return ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |