From 201cd46680f5789e21a57fb4476ab0ba0c0ed4c0 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Fri, 13 Aug 2010 09:41:21 -0700 Subject: remove shadowed variable declaration An accidental variable declaration ("int enough_space = ..." instead of "enough_space = " inside a block) shadowing the real one meant we were always using the copy-to-cache path for patching, even when not necessary. Remove it. Enforce an absolute minimum of free space as well, to avoid running into problems patching small files, now that the copy-to-cache path is (inadvertently) well-tested. Change-Id: Idb7d57241a9adcda2e11001fa44f0cd67ce40d19 --- applypatch/applypatch.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applypatch/applypatch.c b/applypatch/applypatch.c index 5debaac..b85b915 100644 --- a/applypatch/applypatch.c +++ b/applypatch/applypatch.c @@ -645,7 +645,8 @@ int applypatch(const char* source_filename, int enough_space = 0; if (retry > 0) { size_t free_space = FreeSpaceForFile(target_fs); - int enough_space = + enough_space = + (free_space > (256 << 10)) && // 256k (two-block) minimum (free_space > (target_size * 3 / 2)); // 50% margin of error printf("target %ld bytes; free space %ld bytes; retry %d; enough %d\n", (long)target_size, (long)free_space, retry, enough_space); -- cgit v1.1