Browse Source

core/parser: Fix extract_sendrecv_mode to always return mode if valid

- All four sendrecv directions return 0
- is_on_hold flag set for inactive and sendonly
Hugh Waite 11 years ago
parent
commit
0a019df8f2
1 changed files with 4 additions and 5 deletions
  1. 4 5
      parser/sdp/sdp_helpr_funcs.c

+ 4 - 5
parser/sdp/sdp_helpr_funcs.c

@@ -384,13 +384,12 @@ int extract_sendrecv_mode(str *body, str *sendrecv_mode, int *is_on_hold)
 	cp1 = body->s;
 	if ( !( (strncasecmp(cp1, "a=sendrecv", 10) == 0) ||
 		(strncasecmp(cp1, "a=recvonly", 10) == 0))) {
-		if ( !( (strncasecmp(cp1, "a=inactive", 10) == 0) ||
-			(strncasecmp(cp1, "a=sendonly", 10) == 0) )) {
-			return -1;
-		} else {
+		if ((strncasecmp(cp1, "a=inactive", 10) == 0) ||
+		    (strncasecmp(cp1, "a=sendonly", 10) == 0) ) {
 			*is_on_hold = 1;
+		} else {
+			return -1;
 		}
-		return -1;
 	}
 
 	sendrecv_mode->s = body->s + 2; /* skip `a=' */