Browse code

Return code tweaks for bb#5252

David Raynor authored on 2012/06/30 03:43:43
Showing 1 changed files
... ...
@@ -2362,10 +2362,16 @@ static int magic_scandesc(int desc, cli_ctx *ctx, cli_file_t type)
2362 2362
 	res = cli_scanraw(ctx, type, typercg, &dettype, hash);
2363 2363
 	if(res != CL_CLEAN) {
2364 2364
 	    switch(res) {
2365
-		/* Short list of scan halts, major runtime errors only! */
2366
-		case CL_EREAD:
2365
+		/* List of scan halts, runtime errors only! */
2366
+		case CL_EUNLINK:
2367
+		case CL_ESTAT:
2367 2368
 		case CL_ESEEK:
2369
+		case CL_EWRITE:
2370
+		case CL_EDUP:
2371
+		case CL_ETMPFILE:
2372
+		case CL_ETMPDIR:
2368 2373
 		case CL_EMEM:
2374
+		case CL_ETIMEOUT:
2369 2375
 		    cli_dbgmsg("Descriptor[%d]: cli_scanraw error %s\n", desc, cl_strerror(res));
2370 2376
 		    funmap(*ctx->fmap);
2371 2377
 		    ctx->fmap--;
... ...
@@ -2388,7 +2394,8 @@ static int magic_scandesc(int desc, cli_ctx *ctx, cli_file_t type)
2388 2388
 		    cli_dbgmsg("Descriptor[%d]: Continuing after cli_scanraw reached %s\n",
2389 2389
 			desc, cl_strerror(res));
2390 2390
 		    break;
2391
-		/* Other errors should not prevent later attempts to scan */
2391
+		/* Other errors must not block further scans below */
2392
+		/* This specifically includes CL_EFORMAT & CL_EREAD */
2392 2393
 		default:
2393 2394
 		    ret = res;
2394 2395
 		    cli_dbgmsg("Descriptor[%d]: Continuing after cli_scanraw error %s\n",