increments version and adds version to end of list */
| 973 | |
| 974 | /* increments version and adds version to end of list */ |
| 975 | static int add_rtpengine_version(int flags) |
| 976 | { |
| 977 | struct rtpe_version *pversion; |
| 978 | |
| 979 | /* init list of versions */ |
| 980 | if (*rtpe_versions == NULL) { |
| 981 | *rtpe_versions = shm_malloc(sizeof(struct rtpe_version_head)); |
| 982 | if (*rtpe_versions == NULL) { |
| 983 | LM_ERR("no shm memory left\n"); |
| 984 | return -1; |
| 985 | } |
| 986 | memset(*rtpe_versions, 0, sizeof(struct rtpe_version_head)); |
| 987 | } |
| 988 | |
| 989 | pversion = shm_malloc(sizeof(struct rtpe_version)); |
| 990 | if (pversion == NULL) { |
| 991 | LM_ERR("no shm memory left\n"); |
| 992 | return -1; |
| 993 | } |
| 994 | memset(pversion, 0, sizeof(*pversion)); |
| 995 | pversion->version = ++(*list_version); |
| 996 | pversion->version_flags = flags; |
| 997 | |
| 998 | if ((*rtpe_versions)->version_first == NULL) { |
| 999 | (*rtpe_versions)->version_first = pversion; |
| 1000 | } else { |
| 1001 | (*rtpe_versions)->version_last->version_next = pversion; |
| 1002 | } |
| 1003 | (*rtpe_versions)->version_last = pversion; |
| 1004 | (*rtpe_versions)->version_count++; |
| 1005 | |
| 1006 | return 0; |
| 1007 | } |
| 1008 | |
| 1009 | static int rtpengine_set_notify(modparam_t type, void * val) |
| 1010 | { |
no test coverage detected