dir.[ch]: expose 'get_dtype'

Move 'get_dtype()' from 'diagnose.c' to 'dir.c' and add its declaration to
'dir.h' so that it is accessible to callers in other files. The function and
its documentation are moved verbatim except for a small addition to the
description clarifying what the 'path' arg represents.

Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Victoria Dye
2023-10-09 21:58:54 +00:00
committed by Junio C Hamano
parent 5305474ec4
commit 6dc1004333
3 changed files with 39 additions and 36 deletions

11
dir.h
View File

@@ -363,6 +363,17 @@ struct dir_struct {
struct dirent *readdir_skip_dot_and_dotdot(DIR *dirp);
/*
* Get the d_type of a dirent. If the d_type is unknown, derive it from
* stat.st_mode using the path to the dirent's containing directory (path) and
* the name of the dirent itself.
*
* Note that 'path' is assumed to have a trailing slash. It is also modified
* in-place during the execution of the function, but is then reverted to its
* original value before returning.
*/
unsigned char get_dtype(struct dirent *e, struct strbuf *path);
/*Count the number of slashes for string s*/
int count_slashes(const char *s);