Listing hidden files

I'm writing a c program to list the files in a given directory but I also want to display the hidden files. I can't figure this out in c. Does anyone know how to do this? Here's the code I have so far:

#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>

void printdir( char *dir, int depth );

int main( int argc, char *argv[ ] )
{
	printf( "\n\nDirectory scan of %s\n", argv[1] );
	printdir( argv[1], 0 );
	printf( "done.\n");
	
	return 0;
}

void printdir( char *dir, int depth )
{
	DIR *dp;
	struct dirent *entry;
	struct stat statbuf;
	
	if( ( dp = opendir( dir ) ) == NULL )
	{
		perror( "Cannot open directory:\n" );
		return;
	}
	
	chdir( dir );
	
	while( ( entry = readdir( dp )) != NULL )
	{
		lstat( entry->d_name, &statbuf );
		
		if( S_ISDIR( statbuf.st_mode) )
		{
			if( strcmp( ".", entry->d_name ) == 0 || strcmp( "..", entry->d_name ) == 0 )
			{
				continue;
			}

			printf( "%*s%s/\n", depth, "", entry->d_name );
			printdir( entry->d_name, depth+4 );
		}
		else
		{
			printf( "%*s%s\n", depth, "", entry->d_name );
		}
	}
	
	chdir( ".." );
	closedir( dp );
}

What hidden files isn't this showing? It's up to the application to hide files, this shouldn't hide any.

Sorry Corona, you are right. I didn't realize that I was scanning the wrong directory. The directory only had two hidden files and they were . and .. and I don't display those. Thanks.