- 1
write_ext = ".pgm\0.ppm\0.ppm\0.pam" + colors*5-5;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
write_ext = ".pgm\0.ppm\0.ppm\0.pam" + colors*5-5;
из dcraw.c - кладезь вот таких перлов. то ли говнокодер писал - то ли гений. настолько лаконичного кода давно уже не видел.
http://www.cybercom.net/~dcoffin/dcraw/
absolut 15.10.2011 11:01 # −1
carsten 15.10.2011 11:16 # 0
>en Esperanto
>em Português
>на русском
>па-беларуску
Просто автор индиго. Люди нашего времени его не примут.
3.14159265 17.10.2011 17:25 # 0
если там и есть говно - видно писали его с выдумкой и вполне возможно под веществами, а не за еду.
SmackMyBitchUp 17.10.2011 17:31 # +2
за вещества?
SmackMyBitchUp 15.10.2011 11:20 # +1
Чет типа
static const uchar xlat[2][256] = {
{ 0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d, 0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d,
0x53,0x59,0xe3,0xc7,0xe9,0x2f,0x95,0xa7, 0x95,0x1f,0xdf,0x7f,0x2b,0x29,0xc7,0x0d,
0xdf,0x07,0xef,0x71,0x89,0x3d,0x13,0x3d, 0x3b,0x13,0xfb,0x0d,0x89,0xc1,0x65,0x1f,
0xb3,0x0d,0x6b,0x29,0xe3,0xfb,0xef,0xa3, 0x6b,0x47,0x7f,0x95,0x35,0xa7,0x47,0x4f,
0xc7,0xf1,0x59,0x95,0x35,0x11,0x29,0x61, 0xf1,0x3d,0xb3,0x2b,0x0d,0x43,0x89,0xc1, ........
Чувак реально чокнутый
На главной страничке есть фотка с гугл мапс. Где его запечатлили толкающим коляску с ребенком.
А он шустрый. Все успел.
bugmenot 15.10.2011 11:31 # +1
SmackMyBitchUp 15.10.2011 11:33 # 0
Оупс..вот где он время сэкономил. Бабу искать не стал. Нашел сразу ребетёнка.
bugmenot 15.10.2011 11:36 # 0
SmackMyBitchUp 15.10.2011 11:45 # +1
sayidandrtfm 15.10.2011 14:20 # +4
Dave Coffin a man and decoder.
P.S. Да, коляску как угнал, ручки-держаки низко — сутулится.
SmackMyBitchUp 15.10.2011 14:31 # +2
carsten 15.10.2011 14:37 # −1
"> Do you have any specifications describing raw photo formats?
> Yes, but they tend to omit important details, like how to decompress the raw image or decrypt private metadata"
Я предполагаю, он сам особо не знает, что все эти константы значат. Возможно, он писал код на основе реверс-инжениринга? Я бы тогда тоже замаялся придумывать имена ~9000 константам и прочим моментам поведения.
Без вникновения в код/ситуацию я бы не судил так с плеча.
carsten 15.10.2011 14:40 # 0
>Library code is ugly because it cannot use global variables
d_dev 17.10.2011 15:32 # 0
я нихрена не понял что он хотел этим сделать...
roman-kashitsyn 17.10.2011 15:43 # +5
absolut 17.10.2011 15:43 # +1
т.е. в адекватном случае это должен был быть массив
3.14159265 17.10.2011 17:19 # +3
Однозначно. Веселуха начнется когда нам потребуется записать что-то вроде
{".bmp", ".jpg", ".jpeg", ".gif"};
absolut 17.10.2011 17:24 # 0
d_dev 17.10.2011 15:52 # 0
bugmenot 17.10.2011 16:55 # +4
крестоблядство!
taras.jpg
Dummy00001 17.10.2011 15:52 # +6
указатели в С поддерживают арифметику, например аддрес n-го элемента массива `&a[n]` можно написать так же `a+n`. вот это самое `a+n` и стоит сверху (строковый литерал + целочисленное выражение).
теперь литерал. С автоматом в конце всех строковых литералов добавляет 0 (nul terminated string). строковый литерал таким образом выглядит как массив состоящий из 4х подстрок длиной 5 символов: ".pgm\0", ".ppm\0", ".ppm\0", ".pam\0". (та цифра "5" ссылается на длину этих подстрок, включая ноль на конце.)
таким образом, варьируя переменную `colors` от 1 до 4, `write_ext` будет указывать на одну из этих nul-terminated подстрок.
развернутый код для этого дела аналогичен вот этому:
gegMOPO4 17.10.2011 16:10 # 0
– Вот оно что! – сказал он. – Я сначала подумал, что вы бог знает какими мудреными способами отгадываете, а, оказывается, это так просто.
– Я думаю, Уотсон, – сказал Холмс, – что совершил ошибку, объяснив, каким образом я пришел к моим выводам. Как вам известно, «Omne ignotum pro magnifico», и моей скромной славе грозит крушение, если я буду так откровенен…
guest8 09.04.2019 11:45 # −999