Подробности
[В начало]
Проблема в реализации № S0597
Краткое описание
Поведение функции FcStrSetAddFilename противоречит документации
Подробное описание
В описании функции FcStrSetAddFilename сказано: "Adds a copy s to set, The copy is created with FcStrCopyFilename so that leading '~' values are replaced with the value of the HOME environment variable". Так как в случае, когда имя входного файла не является полным путем и не начинается с символа '~', функция FcStrCopyFilename добавляет в начало возвращаемой строки текущую директорию, то и функция FcStrSetAddFilename в этом случае добавляет в множество не ту строку, которая туда должна быть добавлена согласно документации.
Раздел стандарта
Fontconfig Developers Reference, Version 2.4.2
Пример
#define FILENAME "asd" FcStrSet *ss; FcBool b; if (!(ss = FcStrSetCreate ())) { printf ("Could not create StrSet\n"); } printf ("Adding the filename: '%s'\n", FILENAME); FcStrSetAddFilename (ss, (FcChar8 *)FILENAME); b = FcStrSetMember (ss, (FcChar8 *)FILENAME); if (b != FcTrue) { printf ("The string '%s' was not found in the set.\n", FILENAME); }
Компонент
fontconfig 2.4.1 or later
Принято
freedesktop.org Bugzilla 12965
Статус
Исправлено в fontconfig 2.5.0
[В начало]