синтаксис ошибку сделал с командой создания символической ссылки.
Выдаю исходный код проги:
void printdir(char *dir, int depth){
DIR *dp;
struct dirent *entry;
struct stat statbuf;
if((dp = opendir(dir)) == NULL){
fprintf(stderr,"Cannot open directory: %s\n",dir);
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 - is file have %d link\n",depth," ",entry->d_name," ",statbuf.st_nlink);
//незнаю вроде все нормально должно работать. С командо printf кажется все в порядке с форматом вывода
}
}
chdir("..");
closedir(dp);
}