remake  4.3+dbg-1.5
Macros | Functions
expand.h File Reference
#include "variable.h"
#include "filedef.h"

Go to the source code of this file.

Macros

#define recursively_expand(v)   recursively_expand_for_file (v, NULL)
 

Functions

char * allocated_variable_expand_for_file (const char *psz_line, file_t *p_file)
 
char * variable_expand_set (char *psz_line, variable_set_list_t *p_file_set)
 

Macro Definition Documentation

◆ recursively_expand

#define recursively_expand (   v)    recursively_expand_for_file (v, NULL)

Expand an argument for an expansion function. The text starting at STR and ending at END is variable-expanded into a null-terminated string that is returned as the value. This is done without clobbering `variable_buffer' or the current variable-expansion that is in progress.

Install a new variable_buffer context, returning the current one for safe-keeping.

Restore a previously-saved variable_buffer setting (free the current one).

Function Documentation

◆ allocated_variable_expand_for_file()

char* allocated_variable_expand_for_file ( const char *  psz_line,
file_t p_file 
)

Like variable_expand_for_file, but the returned string is malloc'd. This function is called a lot. It wants to be efficient.

◆ variable_expand_set()

char* variable_expand_set ( char *  psz_line,
variable_set_list_t p_file_set 
)

Recursively expand V. The returned string is malloc'd.

Subroutine of variable_expand and friends: The text to add is LENGTH chars starting at STRING to the variable_buffer. The text is added to the buffer at PTR, and the updated pointer into the buffer is returned as the value. Thus, the value returned by each call to variable_buffer_output should be the first argument to the following call. Expand PSZ_LINE. Expansion uses P_FILE_SET if it is not NULL.