27.04.2006 13:58:54
Полезно все-таки на работу пару дней не ходить. Реально агрессивное желание поубивать 90% программистов на C куда-то сворачивается и становится более смешным, а от этого и бодрящим/настраивающим. Желание опробовать в бою Оберон, правда, не уходит, но тоже смещается на задний план, поскольку других дел невпроворот.
Тем паче что надо все-таки и работу работать как-то (кушать хочется!), и для универа всякие поделия писать на C. Но надеюсь какой-нибудь кусочек состряпать на Ada, сейчас вот компилирую себе GCC 4.1 🙂
Метки: работа, си, учёба, язык
Комментариев нет »
20.04.2006 12:55:52
Busybox (shell/ash.c):
for (p = name; *p; p++) {
Свежак:
Не, я не могу, такие шедевры надо целиком.
for (p = name; *p; p++) {
if (*p == '*' || *p == '?')
metaflag = 1;
else if (*p == '[') {
char *q = p + 1;
if (*q == '!')
q++;
for (;;) {
if (*q == '\\')
q++;
if (*q == '/' || *q == '\0')
break;
if (*++q == ']') {
metaflag = 1;
break;
}
}
} else if (*p == '\\')
p++;
else if (*p == '/') {
if (metaflag)
goto out;
start = p + 1;
}
}
Метки: программирование, си
Комментариев нет »
24.03.2006 22:06:09
Неторопливо копошась сегодня в исходниках Linux, обнаружил забавный пример кода (drivers/md/raid6main.c:220):
Оно работает, естественно (ведь совершенно правильная конструкция с точки зрения C!), но выглядит, согласитесь, весьма «интересно». Что еще интереснее, так это то, что ровно такая же конструкция используется по всему этому файлу далее. Собственно, здесь же куча закомментированного кода, причем разными способами…
В общем, наткнулся на откровенный отстойник какой-то, прям воротит.
Метки: линукс, программирование, си
Комментариев нет »