Переглянути джерело

core: whitespace identation fixes

Daniel-Constantin Mierla 13 роки тому
батько
коміт
0724528964
1 змінених файлів з 22 додано та 17 видалено
  1. 22 17
      dset.c

+ 22 - 17
dset.c

@@ -492,27 +492,32 @@ qvalue_t get_ruri_q(void)
  */
 int rewrite_uri(struct sip_msg* _m, str* _s)
 {
-        char* buf;
+	char *buf = NULL;
 
-        buf = (char*)pkg_malloc(_s->len + 1);
-        if (!buf) {
-                LOG(L_ERR, "ERROR: rewrite_uri: No memory left\n");
-                return -1;
-        }
+	if(_m->new_uri.s==NULL || _m->new_uri.len<_s->len) {
+		buf = (char*)pkg_malloc(_s->len + 1);
+		if (!buf) {
+			LM_ERR("No memory left to rewrite r-uri\n");
+			return -1;
+		}
+	}
+	if(buf!=NULL) {
+		if(_m->new_uri.s)
+			pkg_free(_m->new_uri.s);
+	} else {
+		buf = _m->new_uri.s;
+	}
 
-        memcpy(buf, _s->s, _s->len);
-        buf[_s->len] = '\0';
+	memcpy(buf, _s->s, _s->len);
+	buf[_s->len] = '\0';
 
-        _m->parsed_uri_ok = 0;
-        if (_m->new_uri.s) {
-                pkg_free(_m->new_uri.s);
-        }
+	_m->parsed_uri_ok = 0;
 
-        _m->new_uri.s = buf;
-        _m->new_uri.len = _s->len;
-        /* mark ruri as new and available for forking */
-        ruri_mark_new();
+	_m->new_uri.s = buf;
+	_m->new_uri.len = _s->len;
+	/* mark ruri as new and available for forking */
+	ruri_mark_new();
 
-        return 1;
+	return 1;
 }