Example: lr_free_parameter

In the first example, the lr_free_parameter function deallocates the memory saved for the parameter Name. When trying to access the parameter after deallocation, a warning is issued.

In the second example, an array of parameters is released in a loop. The array was created with web_reg_save_param where Ord=All

Example 1: Releasing a single parameter

// Create the parameter Name

lr_save_string("Fitzwilliam", "Name");

 

// Try to evaluate the string "Name" with parameter delimiters

    lr_output_message(lr_eval_string("{Name}"));

 // Free the memory allocated for the dynamic parameter "Name"

    lr_free_parameter("Name");

 // Try to re-evaluate the string "Name" with parameter delimiters

    lr_output_message(lr_eval_string("{Name}"));

return 0;

 

Output:

vuser_init.c(9): Notify: Saving Parameter "Name = Fitzwilliam".

vuser_init.c(14): Notify: Parameter Substitution: parameter "Name" = "Fitzwilliam"

vuser_init.c(14): Fitzwilliam

vuser_init.c(18): Notify: Freeing Paramater 'Name'.

vuser_init.c(22): Warning: The string 'Name' with parameter delimiters is not a parameter.

vuser_init.c(22): {Name}

Example 2: Releasing an array of parameters

web_reg_save_param("test",

    "LB=\"",

    "RB=\" ",

    "Ord=All",

    LAST);

     

... any action function

 

i=atoi(lr_eval_string("{test_count}"));

while(i>0){

    sprintf(buff, "test_%d", i); //Add index after "test_"

    lr_free_parameter(buff); //Free parameter from array

    i--;

}