mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-06 07:00:33 +01:00
2005-01-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on floating point * dbus/dbus-string.c (_dbus_string_insert_alignment): new function
This commit is contained in:
parent
c7e05f9ca4
commit
07d2fd5aa2
4 changed files with 48 additions and 2 deletions
11
ChangeLog
11
ChangeLog
|
|
@ -1,3 +1,14 @@
|
|||
2005-01-03 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
|
||||
floating point
|
||||
|
||||
* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
|
||||
|
||||
2005-01-02 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
|
||||
|
||||
2005-01-01 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* configure.in: add -Wfloat-equal
|
||||
|
|
|
|||
|
|
@ -59,6 +59,12 @@
|
|||
* because it could keep us from detecting bogus huge lengths. i.e. if
|
||||
* we passed in some bogus huge length it would be taken to mean
|
||||
* "current length of string" instead of "broken crack"
|
||||
*
|
||||
* @todo #DBusString needs a lot of cleaning up; some of the
|
||||
* API is no longer used, and the API is pretty inconsistent.
|
||||
* In particular all the "append" APIs, especially those involving
|
||||
* alignment but probably lots of them, are no longer used by the
|
||||
* marshaling code which always does "inserts" now.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -1155,6 +1161,32 @@ _dbus_string_insert_8_aligned (DBusString *str,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inserts padding at *insert_at such to align it to the given
|
||||
* boundary. Initializes the padding to nul bytes. Sets *insert_at
|
||||
* to the aligned position.
|
||||
*
|
||||
* @param str the DBusString
|
||||
* @param insert_at location to be aligned
|
||||
* @param alignment alignment boundary (1, 4, or 8)
|
||||
* @returns #FALSE if not enough memory.
|
||||
*/
|
||||
dbus_bool_t
|
||||
_dbus_string_insert_alignment (DBusString *str,
|
||||
int *insert_at,
|
||||
int alignment)
|
||||
{
|
||||
DBUS_STRING_PREAMBLE (str);
|
||||
|
||||
if (!align_insert_point_then_open_gap (str, insert_at, 8, 0))
|
||||
return FALSE;
|
||||
|
||||
_dbus_assert (_DBUS_ALIGN_VALUE (*insert_at, 8) == (unsigned) *insert_at);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends a printf-style formatted string
|
||||
* to the #DBusString.
|
||||
|
|
|
|||
|
|
@ -153,6 +153,9 @@ dbus_bool_t _dbus_string_insert_4_aligned (DBusString *str,
|
|||
dbus_bool_t _dbus_string_insert_8_aligned (DBusString *str,
|
||||
int insert_at,
|
||||
const unsigned char octets[8]);
|
||||
dbus_bool_t _dbus_string_insert_alignment (DBusString *str,
|
||||
int *insert_at,
|
||||
int alignment);
|
||||
void _dbus_string_delete (DBusString *str,
|
||||
int start,
|
||||
int len);
|
||||
|
|
|
|||
|
|
@ -3510,7 +3510,7 @@ _dbus_sysdeps_test (void)
|
|||
_dbus_warn ("Failed to parse double");
|
||||
exit (1);
|
||||
}
|
||||
if (val != 3.5)
|
||||
if (ABS(3.5 - val) > 1e-6)
|
||||
{
|
||||
_dbus_warn ("Failed to parse 3.5 correctly, got: %f", val);
|
||||
exit (1);
|
||||
|
|
@ -3528,7 +3528,7 @@ _dbus_sysdeps_test (void)
|
|||
_dbus_warn ("Failed to parse double");
|
||||
exit (1);
|
||||
}
|
||||
if (val != 0xff)
|
||||
if (ABS (0xff - val) < 1e-6)
|
||||
{
|
||||
_dbus_warn ("Failed to parse 0xff correctly, got: %f", val);
|
||||
exit (1);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue