소스 검색

acc: set again the type of db vals

- work properly when nullable modparam is set and var can be null on
some transactions
Daniel-Constantin Mierla 3 년 전
부모
커밋
908ca872be
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      src/modules/acc/acc.c

+ 5 - 1
src/modules/acc/acc.c

@@ -466,7 +466,9 @@ int acc_db_request( struct sip_msg *rq)
 			LM_DBG("attr[%d] is NULL\n", i);
 			VAL_NULL(db_vals + i) = 1;
 		} else {
-			LM_DBG("attr[%d] is STR\n", i);
+			LM_DBG("attr[%d] is STR len=%d\n", i, val_arr[i].len);
+			VAL_NULL(db_vals+i) = 0;
+			VAL_TYPE(db_vals+i)=DB1_STR;
 			VAL_STR(db_vals+i) = val_arr[i];
 		}
 	}
@@ -502,6 +504,8 @@ int acc_db_request( struct sip_msg *rq)
 			if (acc_extra_nullable == 1 && type_arr[i] == TYPE_NULL) {
 					VAL_NULL(db_vals + i) = 1;
 				} else {
+					VAL_NULL(db_vals+i) = 0;
+					VAL_TYPE(db_vals+i)=DB1_STR;
 					VAL_STR(db_vals+i)=val_arr[i];
 				}
 			}