↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
#define SPRINTF(str, format, ...)\
    char str[snprintf(0, 0, format, __VA_ARGS__)];\
    sprintf(str, format, __VA_ARGS__);
#GTEBDH / @hirthwork / 3134 дня назад

asprintf // боже храни Столлмана
#GTEBDH/GZ1 / @l29ah / 3134 дня назад

@l29ah asprintf аллоцирует память в куче

#GTEBDH/B4L / @hirthwork --> #GTEBDH/GZ1 / 3134 дня назад
@hirthwork > аллоцировать на стеке непредсказуемый объём памяти
#GTEBDH/LJ3 / @l29ah --> #GTEBDH/B4L / 3134 дня назад

да, я знаю, что этот код уязвим к атакам на переполнение стека

#GTEBDH/UD7 / @hirthwork / 3134 дня назад
@l29ah зависит от области, но обычно вполне предсказуемый, особенно если нужно только чиселки какие-нибудь печатать
#GTEBDH/FIC / @chewbacca --> #GTEBDH/LJ3 / 3134 дня назад

@chewbacca да не предсказуемый, нет такого понятия как «обычный» в макросах общего назначения

#GTEBDH/BL7 / @hirthwork --> #GTEBDH/FIC / 3134 дня назад
@chewbacca Если предсказуемый, то и впиши его ёпта.
#GTEBDH/WZ1 / @l29ah --> #GTEBDH/FIC / 3134 дня назад
ну лан, убедили, надо thread-local буферы для форматирования юзать
#GTEBDH/1GF / @chewbacca / 3134 дня назад

@chewbacca вот только ни один цомпилятор ещё не предоставляет <threads.h> из C11, чтобы это всё мутить

#GTEBDH/VUU / @hirthwork --> #GTEBDH/1GF / 3134 дня назад
@hirthwork и не будет (должно быть в libc)
#GTEBDH/IGK / @plhk --> #GTEBDH/VUU / 3134 дня назад

@plhk должно быть, но нет

#GTEBDH/P59 / @hirthwork --> #GTEBDH/IGK / 3134 дня назад
@hirthwork говорят, в musl'e есть
#GTEBDH/93Z / @plhk --> #GTEBDH/P59 / 3134 дня назад

@plhk говорят, но он у меня отказался емёржиться

#GTEBDH/I4Y / @hirthwork --> #GTEBDH/93Z / 3134 дня назад
@hirthwork ну с _Thread_local и так конпилится
#GTEBDH/AM1 / @plhk --> #GTEBDH/VUU / 3134 дня назад

@plhk одним _Thread_local сыт не будешь, как для _Thread_local повесить функцию, которая выполнится после смерти треда?

#GTEBDH/LQ3 / @hirthwork --> #GTEBDH/AM1 / 3134 дня назад

@hirthwork ресурсы освободить например

#GTEBDH/L6D / @hirthwork --> #GTEBDH/LQ3 / 3134 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.