+static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
+{
+ static struct TokenInfo *setup_info_hide = NULL;
+ int list_size = 0;
+ int list_pos = 0;
+ int i;
+
+ /* determine maximum list size of target list */
+ while (setup_info_orig[list_size++].type != 0);
+
+ /* free, allocate and clear memory for target list */
+ checked_free(setup_info_hide);
+ setup_info_hide = checked_calloc(list_size * sizeof(struct TokenInfo));
+
+ /* copy setup info list without setup entries marked as hidden */
+ for (i = 0; setup_info_orig[i].type != 0; i++)
+ if (!hideSetupEntry(setup_info_orig[i].value))
+ setup_info_hide[list_pos++] = setup_info_orig[i];
+
+ return setup_info_hide;
+}
+