amarao: (Default)
[personal profile] amarao
Это корректный код из mdadm. Многослойно-хтонический ужас С. Не программистов, которые это писали, самого языка.

int sysfs_fd_get_two(int fd, unsigned long long *v1, unsigned long long *v2)
{
/* two numbers in this sysfs file, either
* NNN (NNN)
* or
* NNN / NNN
*/
char buf[80];
int n;
char *ep, *ep2;
lseek(fd, 0, 0);
n = read(fd, buf, sizeof(buf));
if (n <= 0 || n == sizeof(buf))
return -2;
buf[n] = 0;
*v1 = strtoull(buf, &ep, 0);
if (ep == buf || (*ep != 0 && *ep != '\n' && *ep != ' '))
return -1;
while (*ep == ' ' || *ep == '/' || *ep == '(')
ep++;
*v2 = strtoull(ep, &ep2, 0);
if (ep2 == ep || (*ep2 != 0 && *ep2 != '\n' && *ep2 != ' ' && *ep2 != ')')) {
*v2 = *v1;
return 1;
}
return 2;
}


Date: 2022-10-18 04:00 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Культура такая была. Гордились. На систему команд PDP идеально ложился.

Date: 2022-12-20 12:35 am (UTC)
From: [identity profile] edo-rus.livejournal.com

да не только на pdp, я как раз учил си со знанием ассемблера x86, и было понятно откуда ноги растут.

Date: 2022-10-18 05:28 pm (UTC)
From: [personal profile] h1uke
код, кстати, халтурный. Автор кода явно "слаще морковки ничего не ел", аж до момента написания.

Помню, один честно признавался: "я операторы писать умею, а программы нет".
Вот когда среди rust-овщиков таких много станет, тогда и посмотрим каких они уродцев наклепают.

Date: 2022-10-19 04:43 am (UTC)
ufm: (Default)
From: [personal profile] ufm
Да там только `unsafe {` в начале функции написать, а дальше еще страшнее наваять можно. :)

Date: 2022-12-20 12:34 am (UTC)
From: [identity profile] edo-rus.livejournal.com

код, кстати, халтурный

вот да, согласен, непонятно, почему в посте написано, что программисты не виноваты

Profile

amarao: (Default)
amarao

February 2026

S M T W T F S
123456 7
8910111213 14
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 03:10 am
Powered by Dreamwidth Studios