Browse Source

core: faked msg - functions to get next fmsg with clear branches

Daniel-Constantin Mierla 8 năm trước cách đây
mục cha
commit
10129d056e
2 tập tin đã thay đổi với 20 bổ sung1 xóa
  1. 18 1
      src/core/fmsg.c
  2. 2 0
      src/core/fmsg.h

+ 18 - 1
src/core/fmsg.c

@@ -69,16 +69,33 @@ int faked_msg_init(void)
 	return 0;
 }
 
-sip_msg_t* faked_msg_next(void)
+static inline sip_msg_t* faked_msg_next_id(int mode)
 {
 	_faked_msg.id = 1 + _faked_msg_no++;
 	_faked_msg.pid = my_pid();
 	memset(&_faked_msg.tval, 0, sizeof(struct timeval));
+	if(mode) clear_branches();
 	return &_faked_msg;
 }
 
+sip_msg_t* faked_msg_next(void)
+{
+	return faked_msg_next_id(0);
+}
+
+sip_msg_t* faked_msg_next_clear(void)
+{
+	return faked_msg_next_id(1);
+}
+
 sip_msg_t* faked_msg_get_next(void)
 {
 	faked_msg_init();
 	return faked_msg_next();
 }
+
+sip_msg_t* faked_msg_get_next_clear(void)
+{
+	faked_msg_init();
+	return faked_msg_next_clear();
+}

+ 2 - 0
src/core/fmsg.h

@@ -27,5 +27,7 @@
 int faked_msg_init(void);
 sip_msg_t* faked_msg_next(void);
 sip_msg_t* faked_msg_get_next(void);
+sip_msg_t* faked_msg_next_clear(void);
+sip_msg_t* faked_msg_get_next_clear(void);
 
 #endif