"Зависание" при вызове strcmp (язык С)
От: Great_Vova  
Дата: 24.05.04 22:06
Оценка:
Сложилась следующая ситуация: есть некий cgi, написанный на языке с. В нем используется тип hostextinfo, объявленный таким образом:

typedef struct hostextinfo_struct{
char *host_name;
char *notes_url;
char *icon_image;
char *vrml_image;
char *gd2_icon_image;
char *icon_image_alt;
int have_2d_coords;
int x_2d;
int y_2d;
int have_3d_coords;
double x_3d;
double y_3d;
double z_3d;
int should_be_drawn;
char *use_new_map;
char *group_hosts;
struct hostextinfo_struct *next;
}hostextinfo;

Есть указатель group_hosts типа char* и структура temp_hostextinfo вышеописанного типа hostextinfo. Когда добавляю в код сравнение strcmp(temp_hostextinfo->group_hosts,group_hosts) cgi-шка виснет. Есть какие-нибудь идеи почему это может происходить?
Re: "Зависание" при вызове strcmp (язык С)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 24.05.04 22:47
Оценка:
Здравствуйте, Great_Vova, Вы писали:

Есть какие-нибудь идеи почему это может происходить?

А значения строк какие? В Watch окне смотрел? CGI же не ISAPI, отлаживать легко.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: "Зависание" при вызове strcmp (язык С)
От: Vamp Россия  
Дата: 25.05.04 07:02
Оценка: +1 :)))
G_V>...Есть какие-нибудь идеи почему это может происходить?
Наверное, ошибка в программе где-то.
Да здравствует мыло душистое и веревка пушистая.
Re: "Зависание" при вызове strcmp (язык С)
От: Димчанский Литва http://dimchansky.github.io/
Дата: 25.05.04 07:17
Оценка:
Здравствуйте, Great_Vova, Вы писали:

G_V>Сложилась следующая ситуация: есть некий cgi, написанный на языке с. В нем используется тип hostextinfo, объявленный таким образом:


G_V>Есть указатель group_hosts типа char* и структура temp_hostextinfo вышеописанного типа hostextinfo. Когда добавляю в код сравнение strcmp(temp_hostextinfo->group_hosts,group_hosts) cgi-шка виснет. Есть какие-нибудь идеи почему это может происходить?


Может быть со строками работаешь неосторожно, мусор в них, например и нету завершающего нуля у строки? Сложно сказать, я бы посмотрел в отладчике на те переменные, что сравниваешь.
Re: "Зависание" при вызове strcmp (язык С)
От: rus blood Россия  
Дата: 25.05.04 07:18
Оценка:
G_V>Есть указатель group_hosts типа char* и структура temp_hostextinfo вышеописанного типа hostextinfo. Когда добавляю в код сравнение strcmp(temp_hostextinfo->group_hosts,group_hosts) cgi-шка виснет. Есть какие-нибудь идеи почему это может происходить?

Наверно ты передаешь один и тот же указатель в strcmp, и указатель сей указывает на мусор в памяти, в котором долго не встречается 0.
Имею скафандр — готов путешествовать!
Re: "Зависание" при вызове strcmp (язык С)
От: NoFate Россия  
Дата: 25.05.04 10:52
Оценка:
Здравствуйте, Great_Vova, Вы писали:

G_V>Есть указатель group_hosts типа char* и структура temp_hostextinfo вышеописанного типа hostextinfo. Когда добавляю в код сравнение strcmp(temp_hostextinfo->group_hosts,group_hosts) cgi-шка виснет. Есть какие-нибудь идеи почему это может происходить?

Может быть в строках не встречается символ '\0'? Посмотри в отладчике.
... << RSDN@Home 1.1.3 stable silent>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.