library/src/filesystem/BP-FilesystemRegistry.cc
// this is an internal function, do not use this
// Simple internal routine to parse individual entries (needed for recursion)
this is an internal function, do not use this
Simple internal routine to parse individual entries (needed for recursion)
this is an internal function do not use this Simple internal routine to parse individual entries ( needed for recursion )
BP_ERROR_T BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__dir_r
(
		P_BP_FSREG                      fs_reg,
		P_BP_HASH_TABLE_KEYED_ENTRY     dir,
		P_BP_FSREG_FILE_POLICY_ANALYSIS optional_policy_analysis_filter,
		char ***                        entries_in_out,
		size_t *                        entries_n
)
{
	P_BP_HASH_TABLE_KEYED_ENTRY entry = NULL;
	P_BP_HASH_TABLE_KEYED_ENTRY tmp   = NULL;
	size_t display_tab_n = 0;
	P_BP_HASH_TABLE_KEYED_ENTRY dir_recurse = (P_BP_HASH_TABLE_KEYED_ENTRY) dir->data;
	HASH_ITER(hh, dir_recurse, entry, tmp)
	{
		if(entry->type == BP_HASH_TABLE_KEYED_ENTRY_TYPE_NAMED_HASH_TABLE)
		{
			BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__dir_r
			(
					fs_reg,
					entry,
					optional_policy_analysis_filter,
					entries_in_out,
					entries_n
			);
		}
		else
		{
			printf("\n before: %u", *entries_n);
			BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__entry_r
			(
					fs_reg,
					entry,
					optional_policy_analysis_filter,
					entries_in_out,
					entries_n
			);
			printf("\n after: %u", *entries_n);
		}
	}
	return ERR_SUCCESS;
}
BP_ERROR_T BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__dir_r ( P_BP_FSREG fs_reg , P_BP_HASH_TABLE_KEYED_ENTRY dir , P_BP_FSREG_FILE_POLICY_ANALYSIS optional_policy_analysis_filter , char * * * entries_in_out , size_t * entries_n ) { P_BP_HASH_TABLE_KEYED_ENTRY entry = NULL ; P_BP_HASH_TABLE_KEYED_ENTRY tmp = NULL ; size_t display_tab_n = 0 ; P_BP_HASH_TABLE_KEYED_ENTRY dir_recurse = ( P_BP_HASH_TABLE_KEYED_ENTRY ) dir -> data ; HASH_ITER ( hh , dir_recurse , entry , tmp ) { if ( entry -> type == BP_HASH_TABLE_KEYED_ENTRY_TYPE_NAMED_HASH_TABLE ) { BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__dir_r ( fs_reg , entry , optional_policy_analysis_filter , entries_in_out , entries_n ) ; } else { printf ( " \n " , * entries_n ) ; BP_FSRegRetrieveEntryFullPathsAsBPCallocedNullTerminatedPointerArray__entry_r ( fs_reg , entry , optional_policy_analysis_filter , entries_in_out , entries_n ) ; printf ( " \n " , * entries_n ) ; } } return ERR_SUCCESS ; }
this is an internal function, do not use this
Simple internal routine to parse individual entries (needed for recursion)
this is an internal function do not use this Simple internal routine to parse individual entries ( needed for recursion )
// temporary iterator values used during the HASH_ITER loop below // display tab counter // recursion pointer // iterate through all hashes and display // return indicating success