Подробности
[В начало]
Проблема в реализации № D0057
Краткое описание
Несоответствие между стандартом и реализацией функции "g_key_file_set_boolean_list"
Подробное описание
В документации для функции g_key_file_set_boolean_list сказано: "Associates a list of boolean values with key under group_name. If key cannot be found then it is created. If group_name is NULL, the start_group is used.". В то же время вызов функции с параметром "group_name = NULL" приводит к следующему сообщению об ошибке: "GLib-CRITICAL **: g_key_file_set_boolean_list: assertion `group_name != NULL' failed".
Раздел стандарта
Linux Standard Base Desktop Specification 3.1, Chapter 12. Libraries, 12.2 Interfaces for libglib-2.0; http://www.gtk.org/api/2.6/glib/glib-Key-value-file-parser.html#g-key-file-set-boolean-list
Пример
#include <stdio.h> #include <string.h> #include <glib.h> char *boolText="# this is just an example \n[First Group]\nNumbers=10,20,1,0\n"\ " True=true \n False=false \n BooleanList=true,false,true,true\n\n# "\ "another group \n[Another Group]\n True=true \n False=false \n "\ "BooleanList=true,false,true,true\nNumbers=10,20,1,0\n "; #define KEY "BooleanList" int main () { GKeyFile *gkf = NULL; gboolean bool_list[] = {TRUE, FALSE, TRUE, FALSE, TRUE}; gkf=g_key_file_new (); g_key_file_load_from_data (gkf, boolText, strlen (boolText), G_KEY_FILE_KEEP_COMMENTS, NULL); g_key_file_set_boolean_list (gkf, NULL, KEY, bool_list, 5); return 0; }
Компонент
gtk-glib 2.6.2 or later
Принято
Gnome Bugzilla 481158
Статус
Исправлено в gtk-glib - 2.16
[В начало]