Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
BC
public
belle-sip
Commits
7045b21f
Commit
7045b21f
authored
Dec 12, 2013
by
Simon Morlat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add new functions to assign a parameter line to a belle_sip_parameters_t
parent
46e5106e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
0 deletions
+38
-0
include/belle-sip/parameters.h
include/belle-sip/parameters.h
+7
-0
src/belle_sip_parameters.c
src/belle_sip_parameters.c
+31
-0
No files found.
include/belle-sip/parameters.h
View file @
7045b21f
...
@@ -49,6 +49,13 @@ BELLESIP_EXPORT unsigned int belle_sip_parameters_has_parameter(const belle_sip_
...
@@ -49,6 +49,13 @@ BELLESIP_EXPORT unsigned int belle_sip_parameters_has_parameter(const belle_sip_
BELLESIP_EXPORT
void
belle_sip_parameters_set_parameter
(
belle_sip_parameters_t
*
obj
,
const
char
*
name
,
const
char
*
value
);
BELLESIP_EXPORT
void
belle_sip_parameters_set_parameter
(
belle_sip_parameters_t
*
obj
,
const
char
*
name
,
const
char
*
value
);
/**
* Assign a full set of parameters to the belle_sip_parameters_t object.
* Parameters are given as string of key=value pairs separated with semicolons, where value is optional.
* @example belle_sip_parameters_set(parameters,"param1=value1;param2;param3=value3");
**/
BELLESIP_EXPORT
void
belle_sip_parameters_set
(
belle_sip_parameters_t
*
parameters
,
const
char
*
params
);
BELLESIP_EXPORT
const
belle_sip_list_t
*
belle_sip_parameters_get_parameter_names
(
const
belle_sip_parameters_t
*
obj
);
BELLESIP_EXPORT
const
belle_sip_list_t
*
belle_sip_parameters_get_parameter_names
(
const
belle_sip_parameters_t
*
obj
);
BELLESIP_EXPORT
const
belle_sip_list_t
*
belle_sip_parameters_get_parameters
(
const
belle_sip_parameters_t
*
obj
);
BELLESIP_EXPORT
const
belle_sip_list_t
*
belle_sip_parameters_get_parameters
(
const
belle_sip_parameters_t
*
obj
);
...
...
src/belle_sip_parameters.c
View file @
7045b21f
...
@@ -105,6 +105,37 @@ void belle_sip_parameters_set_parameter(belle_sip_parameters_t* params,const cha
...
@@ -105,6 +105,37 @@ void belle_sip_parameters_set_parameter(belle_sip_parameters_t* params,const cha
params
->
paramnames_list
=
belle_sip_list_append
(
params
->
paramnames_list
,
lNewpair
->
name
);
params
->
paramnames_list
=
belle_sip_list_append
(
params
->
paramnames_list
,
lNewpair
->
name
);
}
}
void
belle_sip_parameters_set
(
belle_sip_parameters_t
*
parameters
,
const
char
*
params
){
belle_sip_parameters_clean
(
parameters
);
if
(
params
&&
*
params
!=
'\0'
){
char
*
tmp
=
belle_sip_strdup
(
params
);
char
*
end_of_param
;
char
*
current
=
tmp
;
char
*
equal
;
char
*
next
;
do
{
end_of_param
=
strchr
(
current
,
';'
);
equal
=
strchr
(
current
,
'='
);
if
(
!
end_of_param
)
{
end_of_param
=
current
+
strlen
(
current
);
next
=
end_of_param
;
}
else
{
*
end_of_param
=
'\0'
;
next
=
end_of_param
+
1
;
}
if
(
equal
&&
equal
<
end_of_param
){
*
equal
=
'\0'
;
belle_sip_parameters_set_parameter
(
parameters
,
current
,
equal
+
1
);
}
else
{
belle_sip_parameters_set_parameter
(
parameters
,
current
,
NULL
);
}
current
=
next
;
}
while
(
*
current
!=
'\0'
);
belle_sip_free
(
tmp
);
}
}
const
belle_sip_list_t
*
belle_sip_parameters_get_parameter_names
(
const
belle_sip_parameters_t
*
params
)
{
const
belle_sip_list_t
*
belle_sip_parameters_get_parameter_names
(
const
belle_sip_parameters_t
*
params
)
{
return
params
?
params
->
paramnames_list
:
NULL
;
return
params
?
params
->
paramnames_list
:
NULL
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment