MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / setenvvar

Function setenvvar

modules/exec/exec_mod.c:159–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159static inline int setenvvar(struct hf_wrapper** hf, int_str* value, int isstr, int idx)
160{
161 #define OSIPS_EXEC "OSIPS_EXEC_"
162
163
164 int len=0;
165 str sidx;
166
167 sidx.s = int2str((unsigned long)idx, &sidx.len);
168
169 (*hf)->envvar=pkg_malloc(strlen(OSIPS_EXEC) + sidx.len + 1/*=*/
170 + (isstr?(*value).s.len:INT2STR_MAX_LEN) + 1/*\0*/);
171 if ((*hf)->envvar==0) {
172 LM_ERR("no more pkg mem\n");
173 return -1;
174 }
175
176 memcpy((*hf)->envvar, OSIPS_EXEC, strlen(OSIPS_EXEC));
177 len=strlen(OSIPS_EXEC);
178
179 memcpy((*hf)->envvar+len, sidx.s, sidx.len);
180 len+=sidx.len;
181
182 (*hf)->envvar[len++] = '=';
183
184 if (isstr) {
185 memcpy((*hf)->envvar+len, value->s.s, value->s.len);
186 (*hf)->envvar[len+ value->s.len] = '\0';
187 } else {
188 sidx.s = int2str((unsigned long)value->n, &sidx.len);
189 memcpy((*hf)->envvar+len, sidx.s, sidx.len);
190 (*hf)->envvar[len+ sidx.len] = '\0';
191 }
192
193 (*hf)->next_other=(*hf)->next_same=NULL;
194
195 return 0;
196
197 #undef OSIPS_EXEC
198
199}
200
201static struct hf_wrapper* get_avp_values_list(struct sip_msg* msg, pv_param_p avp)
202{

Callers 1

get_avp_values_listFunction · 0.85

Calls 1

int2strFunction · 0.85

Tested by

no test coverage detected