GCC 13 is unhappy to cast a MMLogLevel to a guint32:
[188/539] Compiling C object src/plugins/test-shared-icera.p/icera_tests_test-modem-helpers-icera.c.o
In file included from ../src/plugins/icera/tests/test-modem-helpers-icera.c:27:
../src/mm-log-test.h:25:1: warning: conflicting types for ‘_mm_log’ due to enum/integer mismatch; have ‘void(void *, const gchar *, const gchar *, const gchar *, guint32, const gchar *, ...)’ {aka ‘void(void *, const char *, const char *, const char *, unsigned int, const char *, ...)’} [-Wenum-int-mismatch]
25 | _mm_log (gpointer obj,
| ^~~~~~~
In file included from ../src/mm-log-test.h:20:
../src/mm-log.h:61:6: note: previous declaration of ‘_mm_log’ with type ‘void(void *, const gchar *, const gchar *, const gchar *, MMLogLevel, const gchar *, ...)’ {aka ‘void(void *, const char *, const char *, const char *, MMLogLevel, const char *, ...)’}
61 | void _mm_log (gpointer obj,
| ^~~~~~~
That's perfectly fine, just use the enum type directly.
47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* 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:
|
|
*
|
|
* Copyright (C) 2020 Aleksander Morgado <aleksander@aleksander.es>
|
|
*/
|
|
|
|
#ifndef MM_LOG_TEST_H
|
|
#define MM_LOG_TEST_H
|
|
|
|
#include <glib.h>
|
|
#include "mm-log.h"
|
|
|
|
/* This is a common logging method to be used by all test applications */
|
|
|
|
void
|
|
_mm_log (gpointer obj,
|
|
const gchar *module,
|
|
const gchar *loc,
|
|
const gchar *func,
|
|
MMLogLevel level,
|
|
const gchar *fmt,
|
|
...)
|
|
{
|
|
va_list args;
|
|
gchar *msg;
|
|
|
|
if (!g_test_verbose ())
|
|
return;
|
|
|
|
va_start (args, fmt);
|
|
msg = g_strdup_vprintf (fmt, args);
|
|
va_end (args);
|
|
g_print ("%s\n", msg);
|
|
g_free (msg);
|
|
}
|
|
|
|
#endif /* MM_LOG_TEST_H */
|