aboutsummaryrefslogtreecommitdiffstats
path: root/libgamma_value_of_connector_type.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2021-03-08 00:21:02 +0100
committerMattias Andrée <maandree@kth.se>2021-03-08 00:21:02 +0100
commitb058098fdcc5d4ed9b81fdb17f64820c0360ad48 (patch)
treee39e5f547b900922775d466507c29b352f046a53 /libgamma_value_of_connector_type.c
parentmisc (diff)
downloadlibgamma-b058098fdcc5d4ed9b81fdb17f64820c0360ad48.tar.gz
libgamma-b058098fdcc5d4ed9b81fdb17f64820c0360ad48.tar.bz2
libgamma-b058098fdcc5d4ed9b81fdb17f64820c0360ad48.tar.xz
m + style fix + check memory allocation overflows
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libgamma_value_of_connector_type.c')
-rw-r--r--libgamma_value_of_connector_type.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/libgamma_value_of_connector_type.c b/libgamma_value_of_connector_type.c
index 249422e..395aed0 100644
--- a/libgamma_value_of_connector_type.c
+++ b/libgamma_value_of_connector_type.c
@@ -7,22 +7,27 @@
*
* @param connector The name of the connector type, for example
* "VGA" or "LIBGAMMA_CONNECTOR_TYPE_VGA"
- * @return The connector type; for example `LIBGAMMA_CONNECTOR_TYPE_VGA`
- * for "VGA" and "LIBGAMMA_CONNECTOR_TYPE_VGA";
- * `LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED` of not defined
+ * @param out Output parameter for the connector type, only set on success;
+ * for example `LIBGAMMA_CONNECTOR_TYPE_VGA` for "VGA" and
+ * "LIBGAMMA_CONNECTOR_TYPE_VGA";
+ * @return Zero on success, `LIBGAMMA_CONNECTOR_TYPE_NOT_RECOGNISED` of not defined
*/
int
-libgamma_value_of_connector_type(const char *connector)
+libgamma_value_of_connector_type(const char *connector, enum libgamma_connector_type *out)
{
#define X(CONST, NAME, ...)\
- if (!strcmp(connector, NAME))\
- return CONST;
+ if (!strcmp(connector, NAME)) {\
+ *out = CONST;\
+ return 0;\
+ }
LIST_CONNECTOR_TYPES(X)
#undef X
#define X(CONST, ...)\
- if (!strcmp(connector, #CONST))\
- return CONST;
+ if (!strcmp(connector, #CONST)) {\
+ *out = CONST;\
+ return 0;\
+ }
LIST_CONNECTOR_TYPES(X)
#undef X