Browse code

converted cb_file_props from using engine-based ctx to file-based ctx

Kevin Lin authored on 2015/03/28 02:21:49
Showing 4 changed files
... ...
@@ -398,7 +398,7 @@ extern void cl_engine_set_clcb_meta(struct cl_engine *engine, clcb_meta callback
398 398
 
399 399
 /* File properties callback */
400 400
 typedef int (*clcb_file_props)(const char *j_propstr, int rc, void *cbdata);
401
-extern void cl_engine_set_clcb_file_props(struct cl_engine *engine, clcb_file_props callback, void * cbdata);
401
+extern void cl_engine_set_clcb_file_props(struct cl_engine *engine, clcb_file_props callback);
402 402
 
403 403
 /* Statistics/intelligence gathering callbacks */
404 404
 extern void cl_engine_set_stats_set_cbdata(struct cl_engine *engine, void *cbdata);
... ...
@@ -747,7 +747,6 @@ struct cl_settings *cl_engine_settings_copy(const struct cl_engine *engine)
747 747
     settings->cb_hash = engine->cb_hash;
748 748
     settings->cb_meta = engine->cb_meta;
749 749
     settings->cb_file_props = engine->cb_file_props;
750
-    settings->cb_file_props_data = engine->cb_file_props_data;
751 750
     settings->engine_options = engine->engine_options;
752 751
 
753 752
     settings->cb_stats_add_sample = engine->cb_stats_add_sample;
... ...
@@ -816,7 +815,6 @@ int cl_engine_settings_apply(struct cl_engine *engine, const struct cl_settings
816 816
     engine->cb_hash = settings->cb_hash;
817 817
     engine->cb_meta = settings->cb_meta;
818 818
     engine->cb_file_props = settings->cb_file_props;
819
-    engine->cb_file_props_data = settings->cb_file_props_data;
820 819
 
821 820
     engine->cb_stats_add_sample = settings->cb_stats_add_sample;
822 821
     engine->cb_stats_remove_sample = settings->cb_stats_remove_sample;
... ...
@@ -1332,8 +1330,7 @@ void cl_engine_set_clcb_meta(struct cl_engine *engine, clcb_meta callback)
1332 1332
     engine->cb_meta = callback;
1333 1333
 }
1334 1334
 
1335
- void cl_engine_set_clcb_file_props(struct cl_engine *engine, clcb_file_props callback, void * cbdata)
1335
+void cl_engine_set_clcb_file_props(struct cl_engine *engine, clcb_file_props callback)
1336 1336
 {
1337 1337
     engine->cb_file_props = callback;
1338
-    engine->cb_file_props_data = cbdata;
1339 1338
 }
... ...
@@ -315,7 +315,6 @@ struct cl_engine {
315 315
     clcb_hash cb_hash;
316 316
     clcb_meta cb_meta;
317 317
     clcb_file_props cb_file_props;
318
-    void *cb_file_props_data;
319 318
 
320 319
     /* Used for bytecode */
321 320
     struct cli_all_bc bcs;
... ...
@@ -386,7 +385,6 @@ struct cl_settings {
386 386
     clcb_hash cb_hash;
387 387
     clcb_meta cb_meta;
388 388
     clcb_file_props cb_file_props;
389
-    void *cb_file_props_data;
390 389
 
391 390
     /* Engine max settings */
392 391
     uint64_t maxembeddedpe;  /* max size to scan MSEXE for PE */
... ...
@@ -3523,7 +3523,7 @@ static int scan_common(int desc, cl_fmap_t *map, const char **virname, unsigned
3523 3523
 
3524 3524
             /* Invoke file props callback */
3525 3525
             if (ctx.engine->cb_file_props != NULL) {
3526
-                ret = ctx.engine->cb_file_props(jstring, rc, ctx.engine->cb_file_props_data);
3526
+                ret = ctx.engine->cb_file_props(jstring, rc, ctx.cb_ctx);
3527 3527
                 if (ret != CL_SUCCESS)
3528 3528
                     rc = ret;
3529 3529
             }