diff options
Diffstat (limited to 'libgamma_value_of_connector_type.c')
-rw-r--r-- | libgamma_value_of_connector_type.c | 21 |
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 |