Подробности
[В начало]
Проблема в реализации № 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
[В начало]