mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-09 07:18:03 +02:00
Merge branch 'fix-strict-warning-related' into 'master'
Fix mingw gcc 10.3 compiler warnings Closes #383 See merge request dbus/dbus!275
This commit is contained in:
commit
31307769ca
9 changed files with 120 additions and 29 deletions
|
|
@ -135,6 +135,7 @@ set(DBUS_SHARED_HEADERS
|
|||
dbus-hash.h
|
||||
dbus-internals.h
|
||||
dbus-list.h
|
||||
dbus-macros-internal.h
|
||||
dbus-marshal-basic.h
|
||||
dbus-mempool.h
|
||||
dbus-string.h
|
||||
|
|
|
|||
|
|
@ -227,6 +227,7 @@ DBUS_SHARED_SOURCES= \
|
|||
dbus-internals.h \
|
||||
dbus-list.c \
|
||||
dbus-list.h \
|
||||
dbus-macros-internal.h \
|
||||
dbus-marshal-basic.c \
|
||||
dbus-marshal-basic.h \
|
||||
dbus-memory.c \
|
||||
|
|
|
|||
|
|
@ -31,16 +31,11 @@
|
|||
#include <dbus/dbus-types.h>
|
||||
#include <dbus/dbus-errors.h>
|
||||
#include <dbus/dbus-sysdeps.h>
|
||||
#include <dbus/dbus-macros-internal.h>
|
||||
#include <dbus/dbus-threads-internal.h>
|
||||
|
||||
DBUS_BEGIN_DECLS
|
||||
|
||||
#ifdef DBUS_ENABLE_EMBEDDED_TESTS
|
||||
#define DBUS_EMBEDDED_TESTS_EXPORT DBUS_PRIVATE_EXPORT
|
||||
#else
|
||||
#define DBUS_EMBEDDED_TESTS_EXPORT /* nothing */
|
||||
#endif
|
||||
|
||||
DBUS_PRIVATE_EXPORT
|
||||
void _dbus_warn (const char *format,
|
||||
...) _DBUS_GNUC_PRINTF (1, 2);
|
||||
|
|
|
|||
53
dbus/dbus-macros-internal.h
Normal file
53
dbus/dbus-macros-internal.h
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Copyright © 2010-2015 Ralf Habacker
|
||||
* Copyright © 2015-2019 Collabora Ltd.
|
||||
* SPDX-License-Identifier: AFL-2.1 or GPL-2.0-or-later
|
||||
*
|
||||
* Licensed under the Academic Free License version 2.1
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifdef DBUS_INSIDE_DBUS_H
|
||||
#error "You can't include dbus-macros-internal.h in the public header dbus.h"
|
||||
#endif
|
||||
|
||||
#ifndef DBUS_MACROS_INTERNAL_H
|
||||
#define DBUS_MACROS_INTERNAL_H
|
||||
|
||||
#include <dbus/dbus-macros.h>
|
||||
|
||||
#ifdef DBUS_ENABLE_EMBEDDED_TESTS
|
||||
# define DBUS_EMBEDDED_TESTS_EXPORT DBUS_PRIVATE_EXPORT
|
||||
#else
|
||||
# define DBUS_EMBEDDED_TESTS_EXPORT /* nothing */
|
||||
#endif
|
||||
|
||||
#if defined(DBUS_PRIVATE_EXPORT)
|
||||
/* value forced by compiler command line, don't redefine */
|
||||
#elif defined(_WIN32)
|
||||
# if defined(DBUS_STATIC_BUILD)
|
||||
# define DBUS_PRIVATE_EXPORT /* no decoration */
|
||||
# elif defined(dbus_1_EXPORTS)
|
||||
# define DBUS_PRIVATE_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define DBUS_PRIVATE_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
# define DBUS_PRIVATE_EXPORT __attribute__ ((__visibility__ ("default")))
|
||||
#else
|
||||
# define DBUS_PRIVATE_EXPORT /* no decoration */
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -210,22 +210,6 @@
|
|||
#define DBUS_EXPORT
|
||||
#endif
|
||||
|
||||
#if defined(DBUS_PRIVATE_EXPORT)
|
||||
/* value forced by compiler command line, don't redefine */
|
||||
#elif defined(_WIN32)
|
||||
# if defined(DBUS_STATIC_BUILD)
|
||||
# define DBUS_PRIVATE_EXPORT /* no decoration */
|
||||
# elif defined(dbus_1_EXPORTS)
|
||||
# define DBUS_PRIVATE_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define DBUS_PRIVATE_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
# define DBUS_PRIVATE_EXPORT __attribute__ ((__visibility__ ("default")))
|
||||
#else
|
||||
# define DBUS_PRIVATE_EXPORT /* no decoration */
|
||||
#endif
|
||||
|
||||
/* Implementation for dbus_clear_message() etc. This is not API,
|
||||
* do not use it directly.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2345,6 +2345,41 @@ _dbus_string_append_byte_as_hex (DBusString *str,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Currently only used when embedded tests are enabled */
|
||||
#ifdef DBUS_ENABLE_EMBEDDED_TESTS
|
||||
/**
|
||||
* Appends \p size bytes from the buffer \p buf as hex digits to the string \p str
|
||||
*
|
||||
* If \p size is nonzero, then \p buf must be non-NULL.
|
||||
*
|
||||
* @param str the string
|
||||
* @param buf the buffer to add bytes from
|
||||
* @param size the number of bytes to add
|
||||
* @returns #FALSE if no memory
|
||||
*/
|
||||
dbus_bool_t
|
||||
_dbus_string_append_buffer_as_hex (DBusString *str,
|
||||
void *buf,
|
||||
int size)
|
||||
{
|
||||
unsigned char *p;
|
||||
int i;
|
||||
|
||||
_dbus_assert (size >= 0);
|
||||
_dbus_assert (size == 0 || buf != NULL);
|
||||
|
||||
p = (unsigned char *) buf;
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
if (!_dbus_string_append_byte_as_hex (str, p[i]))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Encodes a string in hex, the way MD5 and SHA-1 are usually
|
||||
* encoded. (Each byte is two hex digits.)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <dbus/dbus-macros-internal.h>
|
||||
|
||||
DBUS_BEGIN_DECLS
|
||||
|
||||
/**
|
||||
|
|
@ -358,6 +360,10 @@ DBUS_PRIVATE_EXPORT
|
|||
void _dbus_string_chop_white (DBusString *str);
|
||||
dbus_bool_t _dbus_string_append_byte_as_hex (DBusString *str,
|
||||
unsigned char byte);
|
||||
DBUS_EMBEDDED_TESTS_EXPORT
|
||||
dbus_bool_t _dbus_string_append_buffer_as_hex (DBusString *str,
|
||||
void *buf,
|
||||
int size);
|
||||
DBUS_PRIVATE_EXPORT
|
||||
dbus_bool_t _dbus_string_hex_encode (const DBusString *source,
|
||||
int start,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#ifndef DBUS_UUIDGEN_H
|
||||
#define DBUS_UUIDGEN_H
|
||||
|
||||
#include <dbus/dbus-macros-internal.h>
|
||||
#include <dbus/dbus-types.h>
|
||||
#include <dbus/dbus-errors.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2625,13 +2625,28 @@ double_read_value (TestTypeNode *node,
|
|||
expected = double_from_seed (seed);
|
||||
|
||||
if (!_DBUS_DOUBLES_BITWISE_EQUAL (v, expected))
|
||||
_dbus_test_fatal ("Expected double %g got %g\n"
|
||||
" bits = 0x%" DBUS_INT64_MODIFIER "x vs.\n"
|
||||
" bits = 0x%" DBUS_INT64_MODIFIER "x",
|
||||
expected, v,
|
||||
*(dbus_uint64_t*)(char*)&expected,
|
||||
*(dbus_uint64_t*)(char*)&v);
|
||||
|
||||
{
|
||||
DBusString es = _DBUS_STRING_INIT_INVALID;
|
||||
DBusString vs = _DBUS_STRING_INIT_INVALID;
|
||||
if (!_dbus_string_init (&es))
|
||||
goto out;
|
||||
if (!_dbus_string_init (&vs))
|
||||
goto out;
|
||||
if (!_dbus_string_append_buffer_as_hex (&es, &expected, sizeof(double)))
|
||||
goto out;
|
||||
if (!_dbus_string_append_buffer_as_hex (&vs, &v, sizeof(double)))
|
||||
goto out;
|
||||
_dbus_test_fatal ("Expected double %g got %g\n"
|
||||
" bits = 0x%s vs.\n"
|
||||
" bits = 0x%s",
|
||||
expected, v,
|
||||
_dbus_string_get_const_data (&es),
|
||||
_dbus_string_get_const_data (&vs));
|
||||
out:
|
||||
_dbus_string_free (&es);
|
||||
_dbus_string_free (&vs);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue