Skip to content
Snippets Groups Projects
Commit 28e54eb3 authored by rswindell's avatar rswindell
Browse files

Automatically read a "tcp" or "udp" section (based on the socket type)

in the sockopts.ini file, if it exists.
parent 74998aa9
No related branches found
No related tags found
No related merge requests found
......@@ -120,7 +120,7 @@ int DLLCALL sockopt(char* str, int* level)
return(strtoul(str,NULL,0));
}
static int parse_sockopts_section(str_list_t list, SOCKET sock, int type, const char* section
static int iniGetSocketOptions(str_list_t list, SOCKET sock, const char* section
,char* error, size_t errlen)
{
int i;
......@@ -145,8 +145,7 @@ static int parse_sockopts_section(str_list_t list, SOCKET sock, int type, const
level = option_names[i].level;
option = option_names[i].value;
switch(option) {
case SO_LINGER:
if(option == SO_LINGER) {
if(value) {
linger.l_onoff = TRUE;
linger.l_linger = value;
......@@ -155,11 +154,6 @@ static int parse_sockopts_section(str_list_t list, SOCKET sock, int type, const
}
vp=(BYTE*)&linger;
len=sizeof(linger);
break;
case SO_KEEPALIVE:
if(type!=SOCK_STREAM)
continue;
break;
}
if((result=setsockopt(sock,level,option,vp,len)) != 0) {
......@@ -172,7 +166,6 @@ static int parse_sockopts_section(str_list_t list, SOCKET sock, int type, const
return(0);
}
int DLLCALL set_socket_options(scfg_t* cfg, SOCKET sock, const char* section, char* error, size_t errlen)
{
char cfgfile[MAX_PATH+1];
......@@ -197,10 +190,12 @@ int DLLCALL set_socket_options(scfg_t* cfg, SOCKET sock, const char* section, ch
return(result);
}
result=parse_sockopts_section(list,sock,type,ROOT_SECTION,error,errlen);
result=iniGetSocketOptions(list,sock,ROOT_SECTION,error,errlen);
if(result==0)
result=iniGetSocketOptions(list,sock,type==SOCK_STREAM ? "tcp":"udp",error,errlen);
if(result==0 && section!=NULL)
result=parse_sockopts_section(list,sock,type,section,error,errlen);
result=iniGetSocketOptions(list,sock,section,error,errlen);
iniFreeStringList(list);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment