LINUX.ORG.RU

C, Pioneer и readdir()

 ,


0

1

Сломал себе весь мозг и уже заработал нехилый butthurt.

Есть автомобильная магнитола от всеми известного производителя «Pioneer» c usb входом. Ещё есть подозрение что прошивку для неё писал некто криворукий.

Итак, к сути проблемы: есть у меня хороший и замечательный ipod, с которого магнитола играет музыку. Производитель хвастсается поддержкой iустройств, пеарится и повышает чсв.

Когда вставляешь в usb обычную флешку, магнитола её читает... Но вот незадача, файлы в директориях не сортируются. Ваабще никак.

Путём сравнительного анализа и прочей лабуды было выявлено, что директория скорее всего читается с-шной POSIX функцией readdir(), которая, естественно, не гарантирует алфавитного порядка читаемого списка файлов.

Предположение про readdir родилось после выявления на моей линуксовой машине такого же порядка файлов при использовании этой функции как и на магнитоле.

Вопрос в следующем - как заставить readdir читать в том порядке в котором я захочу? Доступа к прошивке магнитолы, естественно, нет.



Последнее исправление: cetjs2 (всего исправлений: 2)

Отсортировать файлы по алфавиту, приделать спереди числа.

anonymous
()

это порядок в котором они лежат на файлухе. Так что да, либо записать в нужном порядке, либо искать/писать кривульку, которая их там переставит.

thesame ★★★★
()
Ответ на: комментарий от vasily_pupkin

Не помогает. Пробовал mv в другую директорию, с последующим mv обратно. Также пробовал mv на другой раздел. Тоже не спасло.

com
() автор топика

У FAT есть ограничение на количество вложенных директорий? Если нет, то можно было бы деревом отсортировать :-)

1/
file1
       2/
       file2
              3/
              file3

В зависимости от того, как они проходят дерево, это может сработать или нет (если проходят тупо рекурсией, прыгая в первую попавшуюся директорию, то опять будет зависеть от положения файла в ФС).

p.s. А магнитола не умеет читать плей-листы, pls или m3u там?

hexdump01010101
()
Ответ на: комментарий от thesame

+1, fatsort работает без проблем. Кривые руки авторов магнитолы тот не причём, это весьма распространённая херня.

anonymous
()

прости, тебя в жопу этой магнитолой отымели что ты себе butthurt заработал?

anonymous
()
Ответ на: комментарий от thesame

Спасибо за ссылку, тоже попробую.

unfo ★★★★★
()
Ответ на: комментарий от thesame

Спасибо, помогло!

Что-то мой скилл использования гугла упал в последнее время.

Да и вообще, не настолько эти плееры и хардварные чтобы там не возможно было реализовать банальный функционал сортировки файлов в директории при чтении.

com
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.