parser: make get_hdr_field(..) and necessary called functions const-correct
authorHenning Westerholt <hw@kamailio.org>
Thu, 5 Jul 2012 20:35:22 +0000 (22:35 +0200)
committerHenning Westerholt <hw@kamailio.org>
Thu, 5 Jul 2012 21:15:49 +0000 (23:15 +0200)
18 files changed:
parser/hf.c
parser/hf.h
parser/msg_parser.c
parser/msg_parser.h
parser/parse_content.c
parser/parse_content.h
parser/parse_cseq.c
parser/parse_cseq.h
parser/parse_hname2.c
parser/parse_hname2.h
parser/parse_methods.c
parser/parse_methods.h
parser/parse_retry_after.c
parser/parse_retry_after.h
parser/parse_to.c
parser/parse_to.h
parser/parse_via.c
parser/parse_via.h

index 4cf15a0..f12db85 100644 (file)
@@ -63,7 +63,7 @@
 /** Frees a hdr_field structure.
  * WARNING: it frees only parsed (and not name.s, body.s)
  */
-void clean_hdr_field(struct hdr_field* hf)
+void clean_hdr_field(struct hdr_field* const hf)
 {
        void** h_parsed;
 
@@ -228,7 +228,7 @@ void free_hdr_field_lst(struct hdr_field* hf)
 }
 
 /* print the content of hdr_field */
-void dump_hdr_field( struct hdr_field* hf )
+void dump_hdr_field(struct hdr_field const* const hf )
 {
        LOG(L_ERR, "DEBUG: dump_hdr_field: type=%d, name=%.*s, "
                "body=%.*s, parsed=%p, next=%p\n",
index 83a9d3f..2db72a8 100644 (file)
@@ -258,7 +258,7 @@ static inline int hdr_allocs_parse(struct hdr_field* hdr)
 /** frees a hdr_field structure.
  * WARNING: it frees only parsed (and not name.s, body.s)
  */
-void clean_hdr_field(struct hdr_field* hf);
+void clean_hdr_field(struct hdr_field* const hf);
 
 
 /** frees a hdr_field list.
@@ -267,7 +267,7 @@ void clean_hdr_field(struct hdr_field* hf);
 void free_hdr_field_lst(struct hdr_field* hf);
 
 /* print content of hdr_field */
-void dump_hdr_field( struct hdr_field* hf );
+void dump_hdr_field( struct hdr_field const* const hf);
 
 /**
  * free hdr parsed structure using inner free function
index 929d69d..ce179f5 100644 (file)
@@ -88,7 +88,7 @@ unsigned int global_req_flags = 0;
 
 /* returns pointer to next header line, and fill hdr_f ;
  * if at end of header returns pointer to the last crlf  (always buf)*/
-char* get_hdr_field(char* buf, char* end, struct hdr_field* hdr)
+char* get_hdr_field(char* const buf, char* const end, struct hdr_field* const hdr)
 {
 
        char* tmp;
index 6718b7a..d16fa24 100644 (file)
@@ -386,7 +386,7 @@ int parse_msg(char* buf, unsigned int len, struct sip_msg* msg);
 
 int parse_headers(struct sip_msg* msg, hdr_flags_t flags, int next);
 
-char* get_hdr_field(char* buf, char* end, struct hdr_field* hdr);
+char* get_hdr_field(char* const buf, char* const end, struct hdr_field* const hdr);
 
 void free_sip_msg(struct sip_msg* msg);
 
index 625acc9..98df350 100644 (file)
@@ -216,7 +216,7 @@ static type_node_t subtype_tree[] = {
 
 
 
-char* parse_content_length( char* buffer, char* end, int* length)
+char* parse_content_length(char* const buffer, const char* const end, int* const length)
 {
        int number;
        char *p;
@@ -259,7 +259,7 @@ error:
 
 
 
-char* decode_mime_type(char *start, char *end, unsigned int *mime_type)
+char* decode_mime_type(char* const start, const char* const end, unsigned int* const mime_type)
 {
        int node;
        char *mark;
@@ -385,10 +385,10 @@ error:
  *     -   > 0 mime found
  *      -   = 0 hdr not found
  *      -   =-1 error */
-int parse_content_type_hdr( struct sip_msg *msg )
+int parse_content_type_hdr(struct sip_msg* const msg)
 {
        char *end;
-       char *ret;
+       const char *ret;
        unsigned int  mime;
 
        /* is the header already found? */
@@ -430,7 +430,7 @@ error:
        return -1;
 }
 
-int parse_accept_body(struct hdr_field *hdr)
+int parse_accept_body(struct hdr_field* const hdr)
 {
        static unsigned int mimes[MAX_MIMES_NR];
        int nr_mimes;
@@ -492,7 +492,7 @@ error:
  * returns: > 0 ok
  *          = 0 hdr not found
  *          = -1 error */
-int parse_accept_hdr( struct sip_msg *msg )
+int parse_accept_hdr(struct sip_msg* const msg)
 {
        static unsigned int mimes[MAX_MIMES_NR];
        int nr_mimes;
index 92c1b4a..9eb549d 100644 (file)
@@ -105,9 +105,9 @@ struct mime_type {
  *            0        : hdr not found
  *           -1        : error (parse error )
  */
-int parse_content_type_hdr( struct sip_msg *msg);
+int parse_content_type_hdr(struct sip_msg* const msg);
 
-int parse_accept_body(struct hdr_field *hdr);
+int parse_accept_body(struct hdr_field* const hdr);
 
 /*! \brief
  * parse the body of the Accept header. It's values are also converted
@@ -116,7 +116,7 @@ int parse_accept_body(struct hdr_field *hdr);
  *            0 : hdr not found
  *           -1 : error (parse error)
  */
-int parse_accept_hdr( struct sip_msg *msg );
+int parse_accept_hdr(struct sip_msg* const msg);
 
 
 /*! \brief
@@ -124,11 +124,11 @@ int parse_accept_hdr( struct sip_msg *msg );
  *  type specified by this header (see th above defines).
  *  Returns the first chr after the end of the header.
  */
-char* parse_content_length( char* buffer, char* end, int* len);
+char* parse_content_length(char* const buffer, const char* const end, int* const length);
 
 /*! \brief
  * Sets the mime type from the body of a Content-Type header
  */
-char* decode_mime_type(char *start, char *end, unsigned int *mime_type);
+char* decode_mime_type(char* const start, const char* const end, unsigned int* const mime_type);
 
 #endif
index ecc1b4e..d0959fe 100644 (file)
@@ -42,7 +42,7 @@
 #include "../mem/mem.h"
 
 /*BUGGY*/
-char* parse_cseq(char *buf, char* end, struct cseq_body* cb)
+char* parse_cseq(char* const buf, const char* const end, struct cseq_body* const cb)
 {
        char *t, *m, *m_end;
        
@@ -102,7 +102,7 @@ error:
 }
 
 
-void free_cseq(struct cseq_body* cb)
+void free_cseq(struct cseq_body* const cb)
 {
        pkg_free(cb);
 }
index aba9bca..125aef0 100644 (file)
@@ -54,13 +54,13 @@ struct cseq_body{
 /*! \brief
  * Parse CSeq header field
  */
-char* parse_cseq(char *buf, char* end, struct cseq_body* cb);
+char* parse_cseq(char* const buf, const char* const end, struct cseq_body* const cb);
 
 
 /*! \brief
  * Free all associated memory
  */
-void free_cseq(struct cseq_body* cb);
+void free_cseq(struct cseq_body* const cb);
 
 
 #endif
index d541a4c..92c4782 100644 (file)
@@ -192,7 +192,7 @@ int hdr_update_type(struct hdr_field* hdr)
 }
 #endif
 
-char* parse_hname2(char* begin, char* end, struct hdr_field* hdr)
+char* parse_hname2(char* const begin, const char* const end, struct hdr_field* const hdr)
 {
        register char* p;
        register unsigned int val;
index c5abc1c..0a2bd72 100644 (file)
@@ -37,6 +37,6 @@
 /** Fast 32-bit header field name parser.
  * @file
  */
-char* parse_hname2(char* begin, char* end, struct hdr_field* hdr);
+char* parse_hname2(char* const begin, const char* const end, struct hdr_field* const hdr);
 
 #endif /* PARSE_HNAME2_H */
index 0d30a7e..ca00d29 100644 (file)
@@ -53,7 +53,7 @@ static int token_char(char _c)
  * _must_ contain _only_ the method (without trailing or heading whitespace).
  * \return 0 on success, -1 on error
  */
-int parse_method_name(str* s, enum request_method* method)
+int parse_method_name(const str* const s, enum request_method* const method)
  {
        if (unlikely(!s || !method)) {
                LOG(L_ERR, "Invalid parameter value\n");
@@ -172,7 +172,7 @@ int parse_method_name(str* s, enum request_method* method)
   * Parse a method pointed by _next, assign its enum bit to _method, and update
   * _next past the method. Returns 1 if parse succeeded and 0 otherwise.
   */
-static int parse_method_advance(str* _next, enum request_method* _method)
+static int parse_method_advance(str* const _next, enum request_method* const _method)
  {
        char* end;
        
@@ -358,7 +358,7 @@ found:
   * Parse comma separated list of methods pointed by _body and assign their
   * enum bits to _methods.  Returns 0 on success and -1 on failure.
   */
- int parse_methods(str* _body, unsigned int* _methods)
+int parse_methods(const str* const _body, unsigned int* const _methods)
  {
        str next;
        unsigned int method;
index be585ac..e67859b 100644 (file)
@@ -44,9 +44,9 @@
  * Parse comma separated list of methods pointed by _body and assign their
  * enum bits to _methods.  Returns 1 on success and 0 on failure.
  */
-int parse_methods(str* _body, unsigned int* _methods);
+int parse_methods(const str* const _body, unsigned int* const _methods);
 
-int parse_method_name(str* s, enum request_method* _method);
+int parse_method_name(const str* const s, enum request_method* const method);
 
 
 #endif /* PARSE_METHODS_H */
index d3b7aa4..28683a2 100644 (file)
@@ -39,7 +39,7 @@
 #include "../mem/mem.h"
 
 /*! \brief Parse the Retry-after header field */
-char* parse_retry_after(char *buf, char* end, unsigned* after, int* err)
+char* parse_retry_after(char* const buf, const char* const end, unsigned* const after, int* const err)
 {
        char *t;
        int i;
index 4c535f8..50a2a52 100644 (file)
@@ -33,7 +33,7 @@
 
 
 /* Parse Retry-After header field */
-char* parse_retry_after(char *buf, char* end, unsigned* after, int* err);
+char* parse_retry_after(char* const buf, const char* const end, unsigned* const after, int* const err);
 
 
 
index fb554f5..2f379cb 100644 (file)
@@ -70,9 +70,9 @@ enum {
 
 
 
-static /*inline*/ char* parse_to_param(char *buffer, char *end,
-                                       struct to_body *to_b,
-                                       int *returned_status)
+static char* parse_to_param(char* const buffer, const char* const end,
+                                       struct to_body* const to_b,
+                                       int* const returned_status)
 {
        struct to_param *param;
        struct to_param *newparam;
@@ -524,8 +524,7 @@ error:
 
 
 
-
-char* parse_to(char* buffer, char *end, struct to_body *to_b)
+char* parse_to(char* const buffer, const char* const end, struct to_body* const to_b)
 {
        int status;
        int saved_status;
@@ -822,7 +821,7 @@ error:
 }
 
 
-void free_to_params(struct to_body* tb)
+void free_to_params(struct to_body* const tb)
 {
        struct to_param *tp=tb->param_lst;
        struct to_param *foo;
@@ -834,14 +833,14 @@ void free_to_params(struct to_body* tb)
 }
 
 
-void free_to(struct to_body* tb)
+void free_to(struct to_body* const tb)
 {
        free_to_params(tb);
        pkg_free(tb);
 }
 
 
-int parse_to_header(struct sip_msg *msg)
+int parse_to_header(struct sip_msg* const msg)
 {
        if ( !msg->to && ( parse_headers(msg,HDR_TO_F,0)==-1 || !msg->to)) {
                ERR("bad msg or missing TO header\n");
@@ -856,7 +855,7 @@ int parse_to_header(struct sip_msg *msg)
                return -1;
 }
 
-sip_uri_t *parse_to_uri(sip_msg_t *msg)
+sip_uri_t *parse_to_uri(sip_msg_t* const msg)
 {
        to_body_t *tb = NULL;
        
index 833fe92..7c0421c 100644 (file)
@@ -65,14 +65,14 @@ typedef struct to_body{
 /*! \brief
  * To header field parser
  */
-char* parse_to(char* buffer, char *end, struct to_body *to_b);
+char* parse_to(char* const buffer, const char* const end, struct to_body* const to_b);
 
-void free_to_params(struct to_body* tb);
+void free_to_params(struct to_body* const tb);
 
-void free_to(struct to_body* tb);
+void free_to(struct to_body* const tb);
 
-int parse_to_header(struct sip_msg *msg);
+int parse_to_header(struct sip_msg* const msg);
 
-sip_uri_t *parse_to_uri(struct sip_msg* msg);
+sip_uri_t *parse_to_uri(struct sip_msg* const msg);
 
 #endif
index 48ef466..cfb78b1 100644 (file)
@@ -141,11 +141,11 @@ enum {
  * WARNING: param->start must be filled before, it's used in param->size 
  * computation.
  */
-static /*inline*/ char* parse_via_param(char* p, char* end,
-                                                                               unsigned char* pstate, 
-                                                                       unsigned char* psaved_state,
-                                                                               struct via_param* param,
-                                                                               struct via_body* vb)
+static /*inline*/ char* parse_via_param(char* const p, const char* const end,
+                                                                       unsigned char* const pstate, 
+                                                                       unsigned char* const psaved_state,
+                                                                       struct via_param* const param,
+                                                                       const struct via_body* vb)
 {
        char* tmp;
        register unsigned char state;
@@ -1317,7 +1317,7 @@ normal_exit:
  * returns: pointer after the parsed parts and sets vb->error
  * WARNING: don't forget to cleanup on error with free_via_list(vb)!
  */
-char* parse_via(char* buffer, char* end, struct via_body *vbody)
+char* parse_via(char* buffer, const char* const end, struct via_body* const vbody)
 {
        char* tmp;
        char* param_start;
index 5c7f3c1..e47132a 100644 (file)
@@ -117,7 +117,7 @@ struct via_body {
 /*
  * Main Via header field parser
  */
-char* parse_via(char* buffer, char* end, struct via_body *vb);
+char* parse_via(char* buffer, const char* const end, struct via_body* const vbody);
 
 
 /*