herm1t LIVE!ng room - Post a comment [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Погромисты Jun. 9th, 2011|09:52 am

herm1t
Jan Hruska (Sophos):
int ishexdigit(c)
int c;
{
        switch(c) {
        case '0': return 0;
        case '1': return 1;
...........................
        case 'f': case 'F': return 15;
        default: return (-1);
        }
}
Если за это не убивать, то что же тогда делать?

P.S. Помимо очевидного решения, мне пришла в голову и такая мысль:

return c>=48&&c<128?(c=(c&223)-16)<10?c:(c-=39)&240||c==9?-1:c:-1;

Update. Занятно, как заходит речь о какой-нибудь сложной задачке - тишина, зато сишные примитивы обсуждаются с завидным рвением. :-)

Update 2 Код был взят из книги Jan Hruska "Computer viruses and anti-virus warfare", Ellis Horwood, 1992

Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs IP addresses of anonymous posters.