STACK: LIST * modifiers[modifier_count]
| 925 | |
| 926 | // STACK: LIST * modifiers[modifier_count] |
| 927 | static VAR_EXPANDED eval_modifiers( STACK * s, LIST * value, int32_t modifier_count ) |
| 928 | { |
| 929 | // Convert modifiers to value edits. |
| 930 | int32_t edits = expand_modifiers( s, modifier_count ); |
| 931 | // Edit the value on the stack. |
| 932 | stack_push( s, value ); |
| 933 | VAR_EXPANDED result = apply_modifiers( s, edits ); |
| 934 | list_free( stack_pop( s ) ); |
| 935 | // Clean up the value edits on the stack. |
| 936 | stack_deallocate( s, edits * sizeof( VAR_EDITS ) ); |
| 937 | // Clean up the filename modifiers. |
| 938 | for ( int32_t i = 0; i < modifier_count; ++i ) |
| 939 | list_free( stack_pop( s ) ); |
| 940 | // Done. |
| 941 | return result; |
| 942 | } |
| 943 | |
| 944 | |
| 945 | /* |
no test coverage detected