gpt4 book ai didi

c - 如何安全地使用 g_variant_iter_loop 处理通过 DBUS 接收的数据

转载 作者:行者123 更新时间:2023-11-30 17:21:29 24 4
gpt4 key购买 nike

我的堆栈跟踪如下所示

/usr/lib/libglib-2.0.so.0(g_variant_iter_loop+0xb4)
/usr/lib/libglib-2.0.so.0(g_variant_get_int32+0x1c)
/usr/lib/libglib-2.0.so.0(g_variant_type_is_subtype_of+0x3c)

其代码如下:

while ((NULL != iterator) && (true == g_variant_iter_loop (iterator, "y", &extractedValue)))
{
// do something with extractedValue
}

数据是使用 GVariant 通过 DBUS 接收的。也许我没有正确使用 glib API,但这只失败了 1% 的情况。我做错了什么,还是错过了什么?

最佳答案

当只需要一个元素时,最好使用

if(iter != NULL) {
g_variant_iter_next (iterator, "u", &value);
}

关于c - 如何安全地使用 g_variant_iter_loop 处理通过 DBUS 接收的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28280306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com