Gstreamer requires compatibility with C89 for good plugins.
This commit fixes all non-C89 compliant code of C and
enforces C89 for all C code in Cflag.
Fixes #206
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
INCLUDE_DIRECTORIES(
- ${pkgs_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/include
)
+INCLUDE_DIRECTORIES(
+ SYSTEM
+ ${pkgs_INCLUDE_DIRS}
+)
LINK_DIRECTORIES(${pkgs_LIBRARY_DIRS})
FOREACH(flag ${pkgs_CFALGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror -fPIC -g")
+
+# Gstreamer uses C89
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror -fPIC -g -std=c89")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall -Werror -fPIC -g")
# Provide common data
if (dimension[i] > 1)
rank = i + 1;
}
- if (rank == 0) // a scalar (assume it is 1-dim vector)
+ if (rank == 0) /* a scalar (assume it is 1-dim vector) */
return 1;
return rank;
}
* @return the pointer to GstTensor_Filter containing p as privateData
*/
#define GstTensor_Filter_of_privateData(p) ({ \
- const typeof( ((GstTensor_Filter *)0)->privateData ) *__mptr = (p); \
+ const void **__mptr = (const void **)(p); \
(GstTensor_Filter *)( (char *)__mptr - offsetof(GstTensor_Filter, privateData) );})
/**
ptr = g_new0 (internal_data, 1); /* Fill Zero! */
*private_data = ptr;
- g_assert (filter->privateData == ptr);
ptr->parent = GstTensor_Filter_of_privateData (private_data);
/* Load .so if this is the first time for this instance. */
int retval = tflite_loadModelFile (filter, private_data);
/* @TODO fill in *inputDimension (uint32_t[MAX_RANK]), *type */
- return retval; // NYI
+ return retval; /* NYI */
}
/**
uint32_t new_x;
} pt_data;
+static char *
+_strdup (const char *src)
+{
+ size_t len = strlen (src) + 1;
+ char *dest = (char *) malloc (sizeof (char) * len);
+ strncpy (dest, src, len - 1);
+ dest[len - 1] = '\0';
+ return dest;
+}
+
static void *
pt_init (const GstTensor_Filter_Properties * prop)
{
pt_data *data = (pt_data *) malloc (sizeof (pt_data));
if (prop->customProperties && strlen (prop->customProperties) > 0)
- data->property = strdup (prop->customProperties);
+ data->property = _strdup (prop->customProperties);
else
data->property = NULL;
data->new_x = 0;