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 10:52 am (UTC)
Бля.
Monday, August 2nd, 2010 11:10 am (UTC)
Не, оно даже будет работать. Обычно. А когда-нибудь потом сломается..
Monday, August 2nd, 2010 11:12 am (UTC)
Не на x86 каком-нибудь.
Monday, August 2nd, 2010 11:15 am (UTC)
Архитектура тут, скорее всего, ни при чём. У меня сейчас на мипсе работает. Это если когда-нибудь выравнивание случится не по границе int'а. Это редкость, но бывает.
Wednesday, August 4th, 2010 04:49 am (UTC)
А что, оптимизаторы нынче настолько умные, что смотрят так далеко вперёд? Уже давно в потроха сишных не заглядывал, но в [x86 точно] одна из переменных может и в регистре оказаться, например :) Тем более что в memcmp две последних никак не упомянуты.