MT#62181 use const pointers for parsing

These functions don't change the data, therefore const.

No functional change.

Change-Id: I3e60c4e130f6d2a2f3a2350b9257ef0843f8601d
mr14.1
Richard Fuchs 1 year ago
parent 9fa38e07a8
commit 1447377dd2

@ -481,8 +481,8 @@ int AmMimeBody::findNextBoundary(unsigned char** beg, unsigned char** end)
int AmMimeBody::parseSinglePart(unsigned char* buf, unsigned int len)
{
list<sip_header*> hdrs;
char* c = (char*)buf;
char* end = c + len;
const char* c = (char*)buf;
const char* end = c + len;
// parse headers first
if(parse_headers(hdrs,&c,c+len) < 0) {

@ -244,10 +244,10 @@ int SipCtrlInterface::send(AmSipRequest &req, const string& dialog_id,
* Contact
* Max-Forwards */
char * c = (char*)req.from.c_str();
const char* c = req.from.c_str();
int err = parse_headers(msg, &c, (c + req.from.length()));
c = (char*)req.to.c_str();
c = req.to.c_str();
err = err || parse_headers(msg, &c, (c + req.to.length()));
if (err) {
@ -373,7 +373,7 @@ int SipCtrlInterface::send(const AmSipReply &rep, const string& dialog_id,
if(!rep.hdrs.empty()) {
char* c = (char*)rep.hdrs.c_str();
const char* c = rep.hdrs.c_str();
int err = parse_headers(&msg,&c,c+rep.hdrs.length());
if(err){
ERROR("Malformed additional header\n");
@ -383,7 +383,7 @@ int SipCtrlInterface::send(const AmSipReply &rep, const string& dialog_id,
if(!rep.contact.empty()){
char* c = (char*)rep.contact.c_str();
const char* c = rep.contact.c_str();
int err = parse_headers(&msg,&c,c+rep.contact.length());
if(err){
ERROR("Malformed Contact header\n");

@ -268,7 +268,7 @@ void add_parsed_header(list<sip_header*>& hdrs, sip_header* hdr)
hdrs.push_back(hdr);
}
int parse_headers(list<sip_header*>& hdrs, char** c, char* end)
int parse_headers(list<sip_header*>& hdrs, const char** c, const char* end)
{
//
// Header states
@ -283,7 +283,7 @@ int parse_headers(list<sip_header*>& hdrs, char** c, char* end)
int st = H_NAME;
int saved_st = 0;
char* begin = *c;
const char* begin = *c;
if(!(*c) || (*c == end)) {
return 0;
}

@ -82,7 +82,7 @@ struct sip_header
int parse_header_type(sip_header* h);
int parse_headers(list<sip_header*>& hdrs, char** c, char* end);
int parse_headers(list<sip_header*>& hdrs, const char** c, const char* end);
void free_headers(list<sip_header*>& hdrs);
#endif

@ -241,7 +241,7 @@ int parse_method(int* method, const char* beg, int len)
}
static int parse_first_line(sip_msg* msg, char** c, char* end)
static int parse_first_line(sip_msg* msg, const char** c, const char* end)
{
enum {
FL_METH=0,
@ -267,7 +267,7 @@ static int parse_first_line(sip_msg* msg, char** c, char* end)
FL_ERR
};
char* beg = *c;
const char* beg = *c;
int saved_st=0, st=FL_SIPVER1;
int err=0;
@ -454,7 +454,7 @@ static int parse_first_line(sip_msg* msg, char** c, char* end)
return UNEXPECTED_EOT;
}
int parse_headers(sip_msg* msg, char** c, char* end)
int parse_headers(sip_msg* msg, const char** c, const char* end)
{
list<sip_header*> hdrs;
int err = parse_headers(hdrs,c,end);
@ -528,8 +528,8 @@ int parse_headers(sip_msg* msg, char** c, char* end)
int parse_sip_msg(sip_msg* msg, char*& err_msg)
{
char* c = msg->buf;
char* end = msg->buf + msg->len;
const char* c = msg->buf;
const char* end = c + msg->len;
int err = parse_first_line(msg,&c,end);

@ -156,7 +156,7 @@ struct sip_msg
};
int parse_method(int* method, const char* beg, int len);
int parse_headers(sip_msg* msg, char** c, char* end);
int parse_headers(sip_msg* msg, const char** c, const char* end);
int parse_sip_msg(sip_msg* msg, char*& err_msg);
#define get_contact(msg) (msg->contacts.empty() ? NULL : (*msg->contacts.begin()))

@ -654,7 +654,7 @@ int trans_layer::send_sf_error_reply(const trans_ticket* tt, const sip_msg* req,
sip_msg reply;
reply.u.reply = new sip_reply(reply_code,reason);
char* c = (char*)hdrs.s;
const char* c = hdrs.s;
int err = parse_headers(&reply,&c,c+hdrs.len);
if(err){
ERROR("Malformed additional header\n");

Loading…
Cancel
Save