add_compile_options(-Wl,--gc-sections)
add_compile_options(-fPIC)
-set(CMAKE_C_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
-set(CMAKE_C_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
+set(CMAKE_C_FLAGS_PROFILING "-g -O2 -pg -Wp,-U_FORTIFY_SOURCE")
+set(CMAKE_C_FLAGS_DEBUG "-g -O2 -ggdb -Wp,-U_FORTIFY_SOURCE")
set(CMAKE_C_FLAGS_RELEASE "-g -O2")
set(CMAKE_C_FLAGS_CCOV "-g -O2 --coverage")
STATIC AFB_error callPluginApi(AFB_request *request, int plugidx, void *context) {
json_object *jresp, *jcall, *jreqt;
int idx, status, sig;
- AFB_clientCtx *clientCtx;
+ AFB_clientCtx *clientCtx = NULL;
AFB_plugin *plugin = request->plugins[plugidx];
int signals[]= {SIGALRM, SIGSEGV, SIGFPE, 0};
AFB_error status;
struct MHD_Response *webResponse;
const char *serialized;
- AFB_request *request;
+ AFB_request *request = NULL;
AFB_PostHandle *postHandle;
AFB_PostRequest postRequest;
int ret;
// Loop on plugins. Check that they have the right type, prepare a JSON object with prefix
STATIC AFB_plugin ** RegisterJsonPlugins(AFB_plugin **plugins) {
- int idx, jdx;
+ int idx;
for (idx = 0; plugins[idx] != NULL; idx++) {
if (plugins[idx]->type != AFB_PLUGIN_JSON) {
plugins[idx]->jtype = json_object_new_string(plugins[idx]->prefix);
json_object_get(plugins[idx]->jtype); // increase reference count to make it permanent
plugins[idx]->prefixlen = strlen(plugins[idx]->prefix);
-
-
- // Prebuild each API jtype to boost API json response
- for (jdx = 0; plugins[idx]->apis[jdx].name != NULL; jdx++) {
- AFB_privateApi *privateapi = malloc (sizeof (AFB_privateApi));
- if (plugins[idx]->apis[jdx].privateapi != NULL) {
- fprintf (stderr, "WARNING: plugin=%s api=%s private handle should be NULL=%p\n"
- ,plugins[idx]->prefix,plugins[idx]->apis[jdx].name, plugins[idx]->apis[jdx].privateapi);
- }
- privateapi->len = (int)strlen (plugins[idx]->apis[jdx].name);
- privateapi->jtype=json_object_new_string(plugins[idx]->apis[jdx].name);
- json_object_get(privateapi->jtype); // increase reference count to make it permanent
- plugins[idx]->apis[jdx].privateapi = privateapi;
- }
}
}
return (plugins);