static size_t post_data_get_item_length(struct post_data_item_s *pdi) { if (pdi->file_ref != 0) { size_t start_offset = MAX(pdi->start_offset, 0); struct PP_FileInfo finfo; if (ppb_flash_file_file_ref_query_file(pdi->file_ref, &finfo) != PP_OK) return (size_t)-1; if (pdi->expected_last_modified_time != 0 && finfo.last_modified_time != pdi->expected_last_modified_time) { return (size_t)-1; } if (pdi->number_of_bytes >= 0) { return (size_t)pdi->number_of_bytes; } else if (finfo.size <= start_offset) { return 0; } else { return finfo.size - start_offset; } } else { return pdi->len; } }
static int32_t trace_ppb_flash_file_file_ref_query_file(PP_Resource file_ref_id, struct PP_FileInfo *info) { trace_info("[PPB] {zilch} %s\n", __func__+6); return ppb_flash_file_file_ref_query_file(file_ref_id, info); }