From: Michael Schroeder Date: Mon, 25 Mar 2024 10:35:32 +0000 (+0100) Subject: Call appdata_get_helper with a pointer to the appdata X-Git-Tag: 0.7.29~22 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f3ed6afe49ea64cf13da254a8c21075792c434e4;p=thirdparty%2Flibsolv.git Call appdata_get_helper with a pointer to the appdata This adds more flexibility to the helper which is needed for the upcoming lua bindings. --- diff --git a/bindings/solv.i b/bindings/solv.i index 16333059..c10f11ce 100644 --- a/bindings/solv.i +++ b/bindings/solv.i @@ -960,8 +960,8 @@ SWIGINTERN void appdata_clr_helper(void **appdatap) { SWIGINTERN void appdata_set_helper(void **appdatap, void *appdata) { *appdatap = appdata; } -SWIGINTERN void *appdata_get_helper(void *appdata) { - return appdata; +SWIGINTERN void *appdata_get_helper(void **appdatap) { + return *appdatap; } %} @@ -979,8 +979,8 @@ SWIGINTERN void appdata_set_helper(void **appdatap, void *appdata) { appdata_clr_helper(appdatap); *appdatap = appdata; } -SWIGINTERN void *appdata_get_helper(void *appdata) { - return appdata; +SWIGINTERN void *appdata_get_helper(void **appdatap) { + return *appdatap; } %} @@ -1008,8 +1008,9 @@ SWIGINTERN void appdata_set_helper(void **appdatap, void *appdata) { myappdata->appdata = appdata; } } -SWIGINTERN void *appdata_get_helper(void *appdata) { - return appdata ? ((struct myappdata *)appdata)->appdata : 0; +SWIGINTERN void *appdata_get_helper(void **appdatap) { + struct myappdata *myappdata = *(struct myappdata **)appdatap; + return myappdata ? myappdata->appdata : 0; } %} @@ -1043,8 +1044,8 @@ SWIGINTERN void appdata_set_helper(void **appdatap, void *appdata) { myappdata->appdata = appdata; } } -SWIGINTERN void *appdata_get_helper(void *appdata) { - struct myappdata *myappdata = appdata; +SWIGINTERN void *appdata_get_helper(void **appdatap) { + struct myappdata *myappdata = *appdatap; if (!myappdata || !myappdata->appdata) return 0; return myappdata->disowned ? newRV_noinc((SV *)myappdata->appdata) : myappdata->appdata; @@ -1892,7 +1893,7 @@ returnself(matchsolvable) appdata_set_helper(&pool->appdata, appdata); } SWIGINTERN AppObjectPtr Pool_appdata_get(Pool *pool) { - return appdata_get_helper(pool->appdata); + return appdata_get_helper(&pool->appdata); } %} void appdata_disown() { @@ -2288,7 +2289,7 @@ returnself(matchsolvable) appdata_set_helper(&repo->appdata, appdata); } SWIGINTERN AppObjectPtr Repo_appdata_get(Repo *repo) { - return appdata_get_helper(repo->appdata); + return appdata_get_helper(&repo->appdata); } %}