static int64_t get_sparse_limit(struct usb_handle *usb, int64_t size) { int64_t limit; if (sparse_limit == 0) { return 0; } else if (sparse_limit > 0) { limit = sparse_limit; } else { if (target_sparse_limit == -1) { target_sparse_limit = get_target_sparse_limit(usb); } if (target_sparse_limit > 0) { limit = target_sparse_limit; } else { return 0; } } if (size > limit) { return limit; } return 0; }
static int64_t get_sparse_limit(transport_t *trans, int64_t size) { int64_t limit; if (sparse_limit == 0) { return 0; } else if (sparse_limit > 0) { limit = sparse_limit; } else { if (target_sparse_limit == -1) { target_sparse_limit = get_target_sparse_limit(trans); } if (target_sparse_limit > 0) { limit = target_sparse_limit; } else { return 0; } } if (size > limit) { return limit; } return 0; }