Например если просто открываю текущую, то проблем нет
.........
if((mydir=opendir("."))==NULL)
.........
..............
char *dname;
dname=".";
my_fun(*dname)
..............
..............
void my_fun(char pname[])
{
..............
if(dirp=(opendir("p_name"))==NULL)
{
perror("Opendir:");
exit(1);
}
..............