2014-12-15 6 views
0

Я пытаюсь написать CGI-программу в C (я учусь, и мне показалось, что-то весело), ​​и у меня возникла проблема с ошибкой Apache/CGI, но только с одна очень конкретная линия. Если эта конкретная строка прокомментирована или удалена, она отлично работает, но если она включена, она бомбит каждый раз.Ошибка Apache с C CGI-программой

struct site_link 
{ 
    char *name; 
    char *url; 
}; 

struct blog_data 
{ 
    char *blog_name; 
    struct site_link *links; 
} blog; 

blog.blog_name = "richardwagner.io"; 
blog.links[0].url = "Home"; // <-- this line right here 
blog.links[0].name = "Home"; 
blog.links[1].url = "Posts"; 
blog.links[1].name = "Posts"; 
blog.links[2].url = "About"; 
blog.links[2].name = "About"; 

И журнал Apache с регистрацией уровня отладки включен.

[Mon Dec 15 10:27:38.906961 2014] [authz_core:debug] [pid 63010] mod_authz_core.c(799): [client 192.168.1.104:49922] AH01626: authorization result of Require all granted: granted 
[Mon Dec 15 10:27:38.906982 2014] [authz_core:debug] [pid 63010] mod_authz_core.c(799): [client 192.168.1.104:49922] AH01626: authorization result of <RequireAny>: granted 
[Mon Dec 15 10:27:38.907020 2014] [authz_core:debug] [pid 63010] mod_authz_core.c(799): [client 192.168.1.104:49922] AH01626: authorization result of Require all granted: granted 
[Mon Dec 15 10:27:38.907026 2014] [authz_core:debug] [pid 63010] mod_authz_core.c(799): [client 192.168.1.104:49922] AH01626: authorization result of <RequireAny>: granted 
[Mon Dec 15 10:27:39.186804 2014] [cgi:error] [pid 63010] [client 192.168.1.104:49922] End of script output before headers: tblog 

Я пытался решить эту проблему в течение нескольких дней, и я просто не могу получить его, чтобы играть хорошо с этой одной линии, хотя, мне кажется, почти идентична другой мало линии под ним.

+0

Я знал, что что-то забуду. У меня также есть строка типа «бла-бла» Content-типа задолго до любого из этого. –

ответ

0

Вам не хватает \ r \ n \ r \ n, чтобы обозначить конец заголовков.

+0

Как в: printf («Content-type: text/html \ r \ n \ r \ n»); // ??? Ошибки, созданные и зарегистрированные, одинаковы. –

+0

Запустите свой CGI в командной строке и поместите вывод в файл pastebin/gist – covener

+0

Это seg faults: http://pastebin.com/Njy4f6UY –

Смежные вопросы