/* * Save PC3 file time to cache. * return: TRUE if time marked. */ static gboolean jpilot_mark_files( JPilotFile *pilotFile ) { gboolean retVal = FALSE; GStatBuf filestat; gchar *pcFile; /* Mark PDB file cache */ retVal = addrcache_mark_file( pilotFile->addressCache, pilotFile->path ); /* Now mark PC3 file */ pilotFile->havePC3 = FALSE; pilotFile->pc3ModifyTime = 0; pcFile = jpilot_get_pc3_file( pilotFile ); if( pcFile == NULL ) return retVal; if( 0 == g_lstat( pcFile, &filestat ) ) { pilotFile->havePC3 = TRUE; pilotFile->pc3ModifyTime = filestat.st_mtime; retVal = TRUE; } g_free( pcFile ); return retVal; }
/* ============================================================================================ */ gint vcard_read_data( VCardFile *cardFile ) { g_return_val_if_fail( cardFile != NULL, -1 ); cardFile->retVal = MGU_SUCCESS; cardFile->addressCache->accessFlag = FALSE; if( addrcache_check_file( cardFile->addressCache, cardFile->path ) ) { addrcache_clear( cardFile->addressCache ); vcard_open_file( cardFile ); if( cardFile->retVal == MGU_SUCCESS ) { /* Read data into the list */ vcard_read_file( cardFile ); vcard_close_file( cardFile ); /* Mark cache */ addrcache_mark_file( cardFile->addressCache, cardFile->path ); cardFile->addressCache->modified = FALSE; cardFile->addressCache->dataRead = TRUE; } } return cardFile->retVal; }