November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, August 2nd, 2010 11:46 am
struct uniqueEPGKey
{
        int sid, onid, tsid;
...
        bool operator==(const uniqueEPGKey &a) const
        {
                return !memcmp( &sid, &a.sid, sizeof(int)*3);
        }

Молодцы, блин. Сэкономили полстрочки кода.

Upd: “м-мать”, — звонко откликнулось эхо.

unsigned int magic=0;
fread( &magic, sizeof(int), 1, f);
if (magic != 0x98765432)
{
        eDebug("[EPGC] epg file has incorrect byte order.. dont read it");
        fclose(f);
        return;
}

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Monday, August 2nd, 2010 09:10 pm (UTC)
из следующего поста у меня сложилось ощущение, что файл пишется строго на той же машине, на которой и читается. тогда endianness не очень важна. вообще, если перестать придираться, то, вполне возможно, и int не 32 бита данной программе поддерживать не обязательно (это сейчас только микро-контроллеры всякие).

но как-то неаккуратненько.
Monday, August 2nd, 2010 09:14 pm (UTC)
не совсем. конкретно тот файл /hdd/epg.dat действительно пишется и читается на одной машине, но точно такой же формат используется для импорта EPG из внешних источников, а там он может генерироваться на машине с другой архитектурой, другим размером int'а и другим порядком байт.
Monday, August 2nd, 2010 09:17 pm (UTC)
ну тогда ой