diff options
author | Anders Carlsson <andersca@codefactory.se> | 2003-01-02 10:09:46 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@codefactory.se> | 2003-01-02 10:09:46 +0000 |
commit | 1ed128b52484d95e30f7437bf87f34d85371f1f8 (patch) | |
tree | 7717dad536b558225ef6e7d3a7a87409aa6ff1d4 /dbus | |
parent | d7b64c8c501f1d75cf77c626295861adc679981f (diff) |
2003-01-02 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
(_dbus_marshal_test):
* dbus/dbus-marshal.h:
Add _dbus_marshal_byte_array and rename _dbus_marshal_string
to _dbus_marshal_utf8_string. Also fix some tests.
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-marshal.c | 44 | ||||
-rw-r--r-- | dbus/dbus-marshal.h | 61 |
2 files changed, 60 insertions, 45 deletions
diff --git a/dbus/dbus-marshal.c b/dbus/dbus-marshal.c index d7548ce5..da726356 100644 --- a/dbus/dbus-marshal.c +++ b/dbus/dbus-marshal.c @@ -173,17 +173,12 @@ _dbus_marshal_uint32 (DBusString *str, } dbus_bool_t -_dbus_marshal_string (DBusString *str, - int byte_order, - const char *value) +_dbus_marshal_utf8_string (DBusString *str, + int byte_order, + const char *value) { int len; - if (!_dbus_string_set_length (str, - DBUS_ALIGN_VALUE (_dbus_string_get_length (str), - sizeof (dbus_uint32_t)))) - return FALSE; - len = strlen (value); if (!_dbus_marshal_uint32 (str, byte_order, len)) @@ -192,6 +187,17 @@ _dbus_marshal_string (DBusString *str, return _dbus_string_append_len (str, value, len + 1); } +dbus_bool_t +_dbus_marshal_byte_array (DBusString *str, + int byte_order, + const unsigned char *value, + int len) +{ + if (!_dbus_marshal_uint32 (str, byte_order, len)) + return FALSE; + + return _dbus_string_append_len (str, value, len); +} double _dbus_demarshal_double (DBusString *str, @@ -254,10 +260,10 @@ _dbus_demarshal_uint32 (DBusString *str, } char * -_dbus_demarshal_string (DBusString *str, - int byte_order, - int pos, - int *new_pos) +_dbus_demarshal_utf8_string (DBusString *str, + int byte_order, + int pos, + int *new_pos) { int len; char *retval; @@ -401,25 +407,29 @@ _dbus_marshal_test (void) _dbus_assert (_dbus_demarshal_int32 (&str, DBUS_LITTLE_ENDIAN, pos, &pos) == -12345678); /* Marshal unsigned integers */ + if (!_dbus_marshal_uint32 (&str, DBUS_BIG_ENDIAN, 0x12345678)) + _dbus_assert_not_reached ("could not marshal signed integer value"); + _dbus_assert (_dbus_demarshal_uint32 (&str, DBUS_BIG_ENDIAN, pos, &pos) == 0x12345678); + if (!_dbus_marshal_uint32 (&str, DBUS_LITTLE_ENDIAN, 0x12345678)) _dbus_assert_not_reached ("could not marshal signed integer value"); _dbus_assert (_dbus_demarshal_uint32 (&str, DBUS_LITTLE_ENDIAN, pos, &pos) == 0x12345678); /* Marshal strings */ tmp1 = "This is the dbus test string"; - if (!_dbus_marshal_string (&str, DBUS_LITTLE_ENDIAN, tmp1)) + if (!_dbus_marshal_utf8_string (&str, DBUS_BIG_ENDIAN, tmp1)) _dbus_assert_not_reached ("could not marshal string"); - tmp2 = _dbus_demarshal_string (&str, DBUS_LITTLE_ENDIAN, pos, &pos); + tmp2 = _dbus_demarshal_utf8_string (&str, DBUS_BIG_ENDIAN, pos, &pos); _dbus_assert (strcmp (tmp1, tmp2) == 0); dbus_free (tmp2); tmp1 = "This is the dbus test string"; - if (!_dbus_marshal_string (&str, DBUS_LITTLE_ENDIAN, tmp1)) + if (!_dbus_marshal_utf8_string (&str, DBUS_LITTLE_ENDIAN, tmp1)) _dbus_assert_not_reached ("could not marshal string"); - tmp2 = _dbus_demarshal_string (&str, DBUS_LITTLE_ENDIAN, pos, &pos); + tmp2 = _dbus_demarshal_utf8_string (&str, DBUS_LITTLE_ENDIAN, pos, &pos); _dbus_assert (strcmp (tmp1, tmp2) == 0); dbus_free (tmp2); - + _dbus_string_free (&str); return TRUE; diff --git a/dbus/dbus-marshal.h b/dbus/dbus-marshal.h index e6663047..88a3b1a9 100644 --- a/dbus/dbus-marshal.h +++ b/dbus/dbus-marshal.h @@ -39,36 +39,41 @@ #define DBUS_COMPILER_BYTE_ORDER DBUS_LITTLE_ENDIAN #endif -dbus_bool_t _dbus_marshal_double (DBusString *str, - int byte_order, - double value); -dbus_bool_t _dbus_marshal_int32 (DBusString *str, - int byte_order, - dbus_int32_t value); -dbus_bool_t _dbus_marshal_uint32 (DBusString *str, - int byte_order, - dbus_uint32_t value); -dbus_bool_t _dbus_marshal_string (DBusString *str, - int byte_order, - const char *value); +dbus_bool_t _dbus_marshal_double (DBusString *str, + int byte_order, + double value); +dbus_bool_t _dbus_marshal_int32 (DBusString *str, + int byte_order, + dbus_int32_t value); +dbus_bool_t _dbus_marshal_uint32 (DBusString *str, + int byte_order, + dbus_uint32_t value); +dbus_bool_t _dbus_marshal_utf8_string (DBusString *str, + int byte_order, + const char *value); +dbus_bool_t _dbus_marshal_byte_array (DBusString *str, + int byte_order, + const unsigned char *value, + int len); -double _dbus_demarshal_double (DBusString *str, - int byte_order, - int pos, - int *new_pos); -dbus_int32_t _dbus_demarshal_int32 (DBusString *str, - int byte_order, - int pos, - int *new_pos); -dbus_uint32_t _dbus_demarshal_uint32 (DBusString *str, - int byte_order, - int pos, - int *new_pos); -char * _dbus_demarshal_string (DBusString *str, - int byte_order, - int pos, - int *new_pos); +double _dbus_demarshal_double (DBusString *str, + int byte_order, + int pos, + int *new_pos); +dbus_int32_t _dbus_demarshal_int32 (DBusString *str, + int byte_order, + int pos, + int *new_pos); +dbus_uint32_t _dbus_demarshal_uint32 (DBusString *str, + int byte_order, + int pos, + int *new_pos); +char * _dbus_demarshal_utf8_string (DBusString *str, + int byte_order, + int pos, + int *new_pos); + |