cleanup.c
int free_array(char **arr)
{
	int i;

	if (!arr)
		return (1);
	for (i = 0; arr[i]; i++)
		free(arr[i]);
	free(arr);
	return (0);
}
/**
 * free_array - frees an array of pointers
 * @arr: address of array of pointers
 * Return: 0 on success, 1 for failure
 */
frees an array of pointers
@arr: address of array of pointers
Return: 0 on success, 1 for failure
frees an array of pointers @arr : address of array of pointers Return : 0 on success 1 for failure
int free_array(char **arr)
{
	int i;
	if (!arr)
		return (1);
	for (i = 0; arr[i]; i++)
		free(arr[i]);
	free(arr);
	return (0);
}
int free_array ( char * * arr ) { int i ; if ( ! arr ) return ( 1 ) ; for ( i = 0 ; arr [ i ] ; i ++ ) free ( arr [ i ] ) ; free ( arr ) ; return ( 0 ) ; }
free_array - frees an array of pointers
 @arr: address of array of pointers
 Return: 0 on success, 1 for failure
free_array - frees an array of pointers @arr : address of array of pointers Return : 0 on success 1 for failure