507 // parse parameters |
507 // parse parameters |
508 sstr_t param_str; |
508 sstr_t param_str; |
509 param_str.ptr = line.ptr + i; |
509 param_str.ptr = line.ptr + i; |
510 param_str.length = line.length - name.length - 2; |
510 param_str.length = line.length - name.length - 2; |
511 param_str = sstrtrim(param_str); |
511 param_str = sstrtrim(param_str); |
512 if(param_str.length <= 0) { |
512 if(param_str.length == 0) { |
513 return tag; // no parameters |
513 return tag; // no parameters |
514 } |
514 } |
|
515 tag->param_str = sstrdup_mp(mp, param_str); |
515 |
516 |
516 sstr_t pname; |
517 sstr_t pname; |
517 sstr_t pvalue; |
518 sstr_t pvalue; |
518 for(;;) { |
519 for(;;) { |
519 param_str = cfg_param(param_str, &pname, &pvalue); |
520 param_str = cfg_param(param_str, &pname, &pvalue); |
520 if(pname.length <= 0) { |
521 if(pname.length == 0) { |
521 break; |
522 break; |
522 } |
523 } |
523 |
524 |
524 // create param object |
525 // create param object |
525 ConfigParam *param = OBJ_NEW(mp, ConfigParam); |
526 ConfigParam *param = OBJ_NEW(mp, ConfigParam); |
530 param->value.ptr = NULL; |
531 param->value.ptr = NULL; |
531 param->value.length = 0; |
532 param->value.length = 0; |
532 } |
533 } |
533 |
534 |
534 // add param to list |
535 // add param to list |
535 if(tag->param) { |
536 tag->param = cfg_list_append(mp, tag->param, param); |
536 tag->param = ucx_list_append(tag->param, param); |
|
537 } else { |
|
538 tag->param = ucx_list_append(tag->param, param); |
|
539 cfg_list_destr(mp, tag->param); |
|
540 } |
|
541 } |
537 } |
542 |
538 |
543 return tag; |
539 return tag; |
544 } |
540 } |
545 |
541 |