Size: a a a

2020 August 21

VK

Vitali Kremez in // CIPHERNET
источник

DI

Dmitrii Iudin in // CIPHERNET
struct Connection *conn = malloc(sizeof(struct Connection));
if (!conn)
some_error_handling
источник

DI

Dmitrii Iudin in // CIPHERNET
а можно как то более изящно проверить, выделилась ли память
источник

К

Коля🤔🎭 in // CIPHERNET
Юзать кресты с эксепшенами
источник

Aa

Alph alpH in // CIPHERNET
️️ ️
В общем я тоже много разных страшных слов знаю и нагуглить могу еще больше. Мой пойнт бы в том что твой ваншотный способ передачи инфы подходит не для ответственных дел вполне.
Не подходит для ответственных?
источник

Aa

Alph alpH in // CIPHERNET
️️ ️
В общем я тоже много разных страшных слов знаю и нагуглить могу еще больше. Мой пойнт бы в том что твой ваншотный способ передачи инфы подходит не для ответственных дел вполне.
Причём здесь разные страшные слова, это конкретные библиотеки которые можно использовать
источник

Aa

Alph alpH in // CIPHERNET
️️ ️
В общем я тоже много разных страшных слов знаю и нагуглить могу еще больше. Мой пойнт бы в том что твой ваншотный способ передачи инфы подходит не для ответственных дел вполне.
Притом что там очень простой принцип - я тебе высылаю свой открытый ключ - ты его умножаешь на свой закрытый, а я твой открытый умножаю на свой закрытый, и у нас получается одинаковый ключ.
источник

Aa

Alph alpH in // CIPHERNET
️️ ️
В общем я тоже много разных страшных слов знаю и нагуглить могу еще больше. Мой пойнт бы в том что твой ваншотный способ передачи инфы подходит не для ответственных дел вполне.
Да и почему ваншотный, ключами обменялся да потом шпарь QR коды сколько хочешь
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Dmitrii Iudin
а можно как то более изящно проверить, выделилась ли память
err_t err = (conn=malloc())?OK:ERR_MALLOC;
Но врят ли это более изящно. Читаемость страдает.
Ещё можно обернуть это все в макрос. Ну либо свой mmap создать, аки оборотка над молоком..
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Ещё можно бросать SIG_USR 😁
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
А где-то в другом потоке уже принимать решение как с этим жить
источник
2020 August 22

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
По типу: conn=usr_alloc()
источник

DI

Dmitrii Iudin in // CIPHERNET
а так плохо?
struct ts_connection *ls_connection = malloc(sizeof(struct ts_connection));

   if (ls_connection == NULL) {
some_error_handling;
   }
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Dmitrii Iudin
а так плохо?
struct ts_connection *ls_connection = malloc(sizeof(struct ts_connection));

   if (ls_connection == NULL) {
some_error_handling;
   }
Почему плохо? Так читаемо. Значит не плохо :)
источник

DI

Dmitrii Iudin in // CIPHERNET
ок
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Как пишут умные книжки: если при просмотре кода остаются вопросы, код написан криво. Вот смотришь функу какую, и не надо никуда лезть дополнительно смотреть. Все внутри. Где надо - комент висит
источник

DI

Dmitrii Iudin in // CIPHERNET
я больше спрашивал на тему того, что не ввожу ли я какие нибудь баги проверкой на NULL
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Плюс своего аллокатора - можно организовать сборщик мусора
источник

DI

Dmitrii Iudin in // CIPHERNET
семантически я не люблю имлицитные преобразования чего то к булевому значению. Я предпочитаю это эксплицитно писать
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in // CIPHERNET
Dmitrii Iudin
я больше спрашивал на тему того, что не ввожу ли я какие нибудь баги проверкой на NULL
С чего бы это? Malloc возвращает его если все плохо
источник