July 21st, 2010

nepal

[викторина] Си

Тут ко мне пришёл Ден aka oldbukh и стал морочить мне голову. Я, в свою очередь, решил поморочить её вам.

Задачка для насильника. В ядре есть удобная функция BUILD_BUG_ON, вот такая:

#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))


По понятным причинам, использовать её можно только внутри функции. Надобно написать такую же, но чтобы можно было использовать её и в глобальном контексте тоже. Мы пока знаем о трёх вариантах решения -- Ден решил так, я эдак, плюс ещё есть вариант, сочетающий в себе оба наших решения.

Ваши ответы в комменты, которые скринятся примерно до вечера четверга.
Update: все ответы открыл, новые комменты больше не скринятся.
nepal

vzctl and time management

Вот как бывает. Решил воспроизвести баг #1570, пошёл на тестовую машинку, стал создавать контейнер. Чтобы командную строку не писать, воспользовался баш-комплишеном для vzctl. Увидел в нём некую минорную ошибку. Стал править. Увидел ещё мелкую ошибку. Исправил и ту. Увидел существенную ошибку, потом ещё одну. Поправил, протестировал, в результате через час мы имеем:

1. Ряд коммитов в баш-комплишен скрипт: 1, 2, 3, 4, 5, 6.
2. Работа над воспроизведением бага №1570 ещё не начата, а уже пора домой.