diff options
-rw-r--r-- | uca-net-protocol.h | 2 | ||||
-rw-r--r-- | ucad.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/uca-net-protocol.h b/uca-net-protocol.h index ee10b72..5a7611c 100644 --- a/uca-net-protocol.h +++ b/uca-net-protocol.h @@ -4,7 +4,7 @@ #include <gio/gio.h> #define UCA_NET_MAX_ENUM_LENGTH 32 -#define UCA_NET_MAX_ENUM_NAME_LENGTH 32 +#define UCA_NET_MAX_ENUM_NAME_LENGTH 128 typedef enum { UCA_NET_MESSAGE_INVALID = 0, @@ -135,6 +135,10 @@ serialize_param_spec (GParamSpec *pspec, UcaNetMessageProperty *prop) for (guint i = 0; i < MIN (enum_class->n_values, UCA_NET_MAX_ENUM_LENGTH); i++) { prop->spec.genum.values[i] = enum_class->values[i].value; + + if (strlen (enum_class->values[i].value_name) > UCA_NET_MAX_ENUM_NAME_LENGTH) + g_warning ("Enum value name too long, expect serious problems"); + strncpy (prop->spec.genum.value_names[i], enum_class->values[i].value_name, UCA_NET_MAX_ENUM_NAME_LENGTH); } |