mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
replace refstring macro implementation with C functions
This commit is contained in:
parent
d535a79730
commit
322df0d2c8
@ -1,16 +1,42 @@
|
|||||||
|
#include <glib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <irssi/src/core/refstrings.h>
|
#include <irssi/src/core/refstrings.h>
|
||||||
|
|
||||||
#if GLIB_CHECK_VERSION(2, 58, 0)
|
#if GLIB_CHECK_VERSION(2, 58, 0)
|
||||||
|
|
||||||
/* callback implementation for GHashTable */
|
void i_refstr_init(void)
|
||||||
#undef i_refstr_release
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
char *i_refstr_intern(const char *str)
|
||||||
|
{
|
||||||
|
if (str == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g_ref_string_new_intern(str);
|
||||||
|
}
|
||||||
|
|
||||||
void i_refstr_release(char *str)
|
void i_refstr_release(char *str)
|
||||||
{
|
{
|
||||||
if (str != NULL) {
|
if (str == NULL) {
|
||||||
g_ref_string_release(str);
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_ref_string_release(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void i_refstr_deinit(void)
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
char *i_refstr_table_size_info(void)
|
||||||
|
{
|
||||||
|
/* not available */
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -1,20 +1,6 @@
|
|||||||
#ifndef IRSSI_CORE_REFSTRINGS_H
|
#ifndef IRSSI_CORE_REFSTRINGS_H
|
||||||
#define IRSSI_CORE_REFSTRINGS_H
|
#define IRSSI_CORE_REFSTRINGS_H
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
|
|
||||||
#if GLIB_CHECK_VERSION(2, 58, 0)
|
|
||||||
|
|
||||||
#define i_refstr_init() /* nothing */
|
|
||||||
/* callback implementation */
|
|
||||||
void i_refstr_release(char *str);
|
|
||||||
#define i_refstr_release(str) ((str) == NULL ? NULL : g_ref_string_release(str))
|
|
||||||
#define i_refstr_intern(str) ((str) == NULL ? NULL : g_ref_string_new_intern(str))
|
|
||||||
#define i_refstr_deinit() /* nothing */
|
|
||||||
#define i_refstr_table_size_info() NULL
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
void i_refstr_init(void);
|
void i_refstr_init(void);
|
||||||
char *i_refstr_intern(const char *str);
|
char *i_refstr_intern(const char *str);
|
||||||
void i_refstr_release(char *str);
|
void i_refstr_release(char *str);
|
||||||
@ -22,5 +8,3 @@ void i_refstr_deinit(void);
|
|||||||
char *i_refstr_table_size_info(void);
|
char *i_refstr_table_size_info(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user