;+ ; FUNCTION: elf_config_push ; ; PURPOSE: Puts structure A into structure B. ; By default, the same tag must exist in both structures. ; INPUT: ; A - structure to be place in structure B ; B - structure that will contain structure A ; ; KEYWORD: ; force - if this keyword is set, a tag of 'A' does not necessarily be in 'B'. ; Such a tag will be forced (or newly added) into 'B' ;- FUNCTION elf_config_push, A, B, force=force if n_tags(A) eq 0 then return, B; no change made to B if (n_tags(B) eq 0) and ~keyword_set(force) then return, B; no change made to B B_new = B tn_A = tag_names(A) ; tags in configure files for n=0,n_elements(tn_A)-1 do begin; scan config (may include parameters of other modules) str_element,B_new,tn_A[n],SUCCESS=found if found or keyword_set(force) then begin str_element,/add,B_new,tn_A[n], A.(n); then replace or add the value endif endfor return, B_new END