Ключевые слова:patch, mp3, rus, freebsd, (найти похожие документы)
From: "Vitold S" <vit1251@yandex.ru.>
Date: Mon, 26 Feb 2008 14:31:37 +0000 (UTC)
Subject: Патч для корректного отображения тэгов в KOI8-R локали для mpg321
Исправленный патч позволяет программе mpg321 0.2.1 выводить ID3 теги
созданные под Windows машиной(например в WinAMP) в консоли с локалью KOI8-R.
Вообще можно было бы немного усовершенствовать и брать локаль из LC_ALL
или чего-то подобного, но не всегда и не у всех она есть. Добавил поддержку
UNICODE тегов. Не проверил как работает на ID3v1, но это сегодня редкость ;)
47a48,51
> #ifdef WITH_ICONV
> #include <iconv.h>
> #include <wchar.h>
> #endif
567a572,575
> #ifdef WITH_ICONV
> iconv_t cd;
> #endif
>
572a581,586
>
> #ifdef WITH_ICONV
> cd = iconv_open("KOI8-R", "UCS-4LE");
> if ((int)cd == -1) return (NULL);
> #endif
>
581a596,601
> #ifdef WITH_ICONV
> char *pfs=ucs4, *pts=printable;
> size_t lfs, lts;
> lfs = wcslen(ucs4)*sizeof(wchar_t); lts = sizeof(printable);
> iconv(cd, &pfs, &lfs, &pts, <s);
> #else
592a613
> #endif
606a628,633
> #ifdef WITH_ICONV
> char *pfs=ucs4, *pts=printable;
> size_t lfs, lts;
> lfs = wcslen(ucs4)*sizeof(wchar_t); lts = sizeof(printable);
> iconv(cd, &pfs, &lfs, &pts, <s);
> #else
617a645
> #endif
619a648,651
> #ifdef WITH_ICONV
> iconv_close(cd);
> #endif
>
>
Установка производиться вручную:
make fetch
make extract
make patch
patch mpg321.c /* имя файла патча */
исправляем Makefile добавляем туда в CPPFLAGS -DWITH_ICONV, а в LDFLAGS добавляем -liconv
make
make install
Если подскажите как сделать русский порт в FreeBSD можно сделать отдельный порт в /usr/ports/russian.