add: iterator->builtin_modules = true;
context: open_module_list(const char *prefix){	char path[SYS_MAX_PATH_LEN];	module_iterator *iterator;	uint32 i;	TRACE(("open_module_list(prefix = %s)\n", prefix));	iterator = (module_iterator *)malloc(sizeof(module_iterator));	if (!iterator)		return NULL;	memset(iterator, 0, sizeof(module_iterator));	// ToDo: possibly, the prefix don't have to be copied, just referenced	iterator->prefix = strdup(prefix ? prefix : "");	if (iterator->prefix == NULL) {		free(iterator);		return NULL;	}	// put all search paths on the stack	for (i = 0; i < NUM_MODULE_PATHS; i++) {		const char *p;		if (modules_disable_user_addons && i >= USER_MODULE_PATHS)			break;		strcpy(path, gModulePaths[i]);		if (prefix && *prefix) {			strcat(path, "/");			strlcat(path, prefix, sizeof(path));		}		p = strdup(path);		if (p == NULL) {			// ToDo: should we abort the whole operation here?			continue;		}		iterator_push_path_on_stack(iterator, p);	}	return (void *)iterator;}