170 похожих чатов

Всем день добрый, кто-нить в си умеет? написала вот такую

штуку
char *all_command_list()
{
log_it(L_DEBUG, "Get all commands for autocomplete");
char *tmp = DAP_NEW_SIZE(char, 32 * sizeof (char));;
char *last_str = NULL;
dap_chain_node_cmd_item_t *l_cmd = dap_chain_node_cli_cmd_get_first();
while(l_cmd) {
*tmp = *last_str;
last_str = DAP_NEW_SIZE(char, (strlen(tmp) + 32) * sizeof (char));
dap_snprintf(last_str, (strlen(tmp) + 32), "%s%s", tmp, l_cmd->name);
log_it(L_DEBUG, "\n\n\n\n\n\n\n\n\n%s\n\n\n\n\n\n\n\n\n", l_cmd->name);
l_cmd = (dap_chain_node_cmd_item_t*) l_cmd->hh.next;
}
return last_str;
}
не уверена в этой строке *tmp = *last_str;. по сути мне просто в буффер надо надо временное значение положить, чтобы по указателю не затерлось, когда буду указатель last_str переделывать. это так работает или не очень?)

7 ответов

10 просмотров

вы нулевой указатель разыменовываете

Iron-Ass Автор вопроса
Aleksandr Bazhenov
вы нулевой указатель разыменовываете

ага, при первой итерации. проверка на нул, плюс каждый раз tmp под нужный размер маллочить еще...

проблема-то в чём?

Iron-Ass Автор вопроса
Ilya Zviagin
проблема-то в чём?

в днк) просто немного с указателях и памти запуталась)

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта