Skip to content

Commit ed42bf4

Browse files
authored
Merge pull request #816 from bazsi/filterx-message-value-inline-accessors
filterx/object-message-value: move get_type/get_value methods to be inline
2 parents 21af849 + e702df2 commit ed42bf4

2 files changed

Lines changed: 29 additions & 30 deletions

File tree

lib/filterx/object-message-value.c

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,6 @@
3131
#include "logmsg/type-hinting.h"
3232
#include "str-utils.h"
3333

34-
/* an object representing a (type, value) pair extracted as an rvalue (e.g.
35-
* cannot be assigned to as it is not part of the message) */
36-
typedef struct _FilterXMessageValue
37-
{
38-
FilterXObject super;
39-
const gchar *repr;
40-
gsize repr_len;
41-
LogMessageValueType type;
42-
gchar *buf;
43-
} FilterXMessageValue;
4434

4535
gboolean
4636
filterx_message_value_get_string_ref(FilterXObject *s, const gchar **value, gsize *len)
@@ -403,23 +393,6 @@ _len(FilterXObject *s, guint64 *len)
403393
return FALSE;
404394
}
405395

406-
LogMessageValueType
407-
filterx_message_value_get_type(FilterXObject *s)
408-
{
409-
FilterXMessageValue *self = (FilterXMessageValue *) s;
410-
return self->type;
411-
}
412-
413-
const gchar *
414-
filterx_message_value_get_value(FilterXObject *s, gsize *len)
415-
{
416-
FilterXMessageValue *self = (FilterXMessageValue *) s;
417-
418-
g_assert(len);
419-
*len = self->repr_len;
420-
return self->repr;
421-
}
422-
423396
/* NOTE: the caller must ensure that repr lives as long as the constructed object, avoids copying */
424397
FilterXObject *
425398
filterx_message_value_new_borrowed(const gchar *repr, gssize repr_len, LogMessageValueType type)

lib/filterx/object-message-value.h

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,23 @@
2424

2525
#include "filterx/filterx-object.h"
2626

27+
/* an object representing a (type, value) pair extracted as an rvalue (e.g.
28+
* cannot be assigned to as it is not part of the message) */
29+
typedef struct _FilterXMessageValue
30+
{
31+
FilterXObject super;
32+
const gchar *repr;
33+
gsize repr_len;
34+
LogMessageValueType type;
35+
gchar *buf;
36+
} FilterXMessageValue;
37+
2738
FILTERX_DECLARE_TYPE(message_value);
2839

2940
FilterXObject *filterx_message_value_new_borrowed(const gchar *repr, gssize repr_len, LogMessageValueType type);
3041
FilterXObject *filterx_message_value_new_ref(gchar *repr, gssize repr_len, LogMessageValueType type);
3142
FilterXObject *filterx_message_value_new(const gchar *repr, gssize repr_len, LogMessageValueType type);
3243

33-
LogMessageValueType filterx_message_value_get_type(FilterXObject *s);
34-
const gchar *filterx_message_value_get_value(FilterXObject *s, gsize *len);
35-
3644
gboolean filterx_message_value_get_string_ref(FilterXObject *s, const gchar **value, gsize *len);
3745
gboolean filterx_message_value_get_bytes_ref(FilterXObject *s, const gchar **value, gsize *len);
3846
gboolean filterx_message_value_get_protobuf_ref(FilterXObject *s, const gchar **value, gsize *len);
@@ -46,4 +54,22 @@ gboolean filterx_message_value_get_json(FilterXObject *s, struct json_object **v
4654
/* unmarshal a message representation into a FilterXObject */
4755
FilterXObject *filterx_unmarshal_repr(const gchar *repr, gssize repr_len, LogMessageValueType t);
4856

57+
static inline LogMessageValueType
58+
filterx_message_value_get_type(FilterXObject *s)
59+
{
60+
FilterXMessageValue *self = (FilterXMessageValue *) s;
61+
return self->type;
62+
}
63+
64+
static inline const gchar *
65+
filterx_message_value_get_value(FilterXObject *s, gsize *len)
66+
{
67+
FilterXMessageValue *self = (FilterXMessageValue *) s;
68+
69+
g_assert(len);
70+
*len = self->repr_len;
71+
return self->repr;
72+
}
73+
74+
4975
#endif

0 commit comments

Comments
 (0)