All pastes #122 Raw Edit

twisted revised

public text v1 · immutable
#122 ·published 2004-04-28 00:12 UTC
rendered paste body
tatic void apply_options(struct ast_vm_user *vmu, char *options)
{
        /* Destructively Parse options and apply */
        char *stringp = ast_strdupa(options);
        char *s;
        char *var, *value;
              while((s = strsep(&stringp, "|"))) {
                value = s;
                if ((var = strsep(&value, "=")) && value) {
                        if (!strcasecmp(var, "attach")) {
                                if (ast_true(value))
                                        vmu->attach = 1;
                                else
                                        vmu->attach = 0;
                        } else if (!strcasecmp(var, "serveremail")) {
                                strncpy(vmu->serveremail, value, sizeof(vmu->serveremail) - 1);
                        } else if (!strcasecmp(var, "tz")) {
                                strncpy(vmu->zonetag, value, sizeof(vmu->zonetag) - 1);
                        } else if (!strcasecmp(var, "saycid")){
                                if(ast_true(value))
                                        vmu->saycid = 1;
                                else
                                        vmu->saycid = 0;
                               else if (saycidinfo)
                                       vmu->saycid = 1;
                        } else if (!strcasecmp(var, "review")){
                                if(ast_true(value))
                                        vmu->review = 1;
                                     else
                                        vmu->review = 0;
                               else if (saycidinfo)
                                       vmu->review =1;
                        } else if (!strcasecmp(var, "operator")){
                                if(ast_true(value))
                                        vmu->operator = 1;
                                else
                                        vmu->operator = 0;
                               else if (calloper)
                                       vmu->operator = 1;
                        } else if (!strcasecmp(var, "callback")) {
                                strncpy(vmu->callback, value, sizeof(vmu->callback) -1);
                               else if (callcontext)
                                strncpy(vmu->callback, callcontext, sizeof(vmu->callback) -1);
                        } else if (!strcasecmp(var, "dialout")) {
                                strncpy(vmu->dialout, value, sizeof(vmu->dialout) -1);
                               else if (dialcontext)
                                strncpy(vmu->dialout, dialcontext, sizeof(vmu->dialout) -1);
                        }
                }
        }

}