コードに構造体ポインタがあります
struct evkeyvalq *headers;
ここで、構造体にいくつかの情報を入力する関数を呼び出します。
evhttp_parse_query(uri, headers)
この行でセグメンテーション違反が発生します。これを行う正しい方法は何でしょうか。ありがとう
コードに構造体ポインタがあります
struct evkeyvalq *headers;
ここで、構造体にいくつかの情報を入力する関数を呼び出します。
evhttp_parse_query(uri, headers)
この行でセグメンテーション違反が発生します。これを行う正しい方法は何でしょうか。ありがとう
structevkeyvalqにメモリを割り当てる必要があります。これでコードは初期化されていないポインタをevhttp_parse_query()に渡し、evhttp_parse_query()が正しく動作する方法はありません。
構造体をスタックに割り当てます。
struct evkeyvalq headers;
evhttp_parse_query(uri, &headers);
または、動的に割り当てられたメモリを使用します。
struct evkeyvalq *headers = malloc(sizeof *headers);
if(headers != NULL) {
evhttp_parse_query(uri, headers);
}