MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / _tinydir_dirent_buf_size

Function _tinydir_dirent_buf_size

extlibs/tinydir/include/tinydir/tinydir.h:776–800  ·  view source on GitHub ↗

The following authored by Ben Hutchings from https://womble.decadent.org.uk/readdir_r-advisory.html */ Calculate the required buffer size (in bytes) for directory * * entries read from the given directory handle. Return -1 if this * * this cannot be done. * *

Source from the content-addressed store, hash-verified

774* 255, since some systems (including at least HP-UX) incorrectly *
775* define it to be a smaller value. */
776_TINYDIR_FUNC
777size_t _tinydir_dirent_buf_size(_TINYDIR_DIR *dirp)
778{
779 long name_max;
780 size_t name_end;
781 /* parameter may be unused */
782 (void)dirp;
783
784#if defined _TINYDIR_USE_FPATHCONF
785 name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX);
786 if (name_max == -1)
787#if defined(NAME_MAX)
788 name_max = (NAME_MAX > 255) ? NAME_MAX : 255;
789#else
790 return (size_t)(-1);
791#endif
792#elif defined(NAME_MAX)
793 name_max = (NAME_MAX > 255) ? NAME_MAX : 255;
794#else
795#error "buffer size for readdir_r cannot be determined"
796#endif
797 name_end = (size_t)offsetof(struct _tinydir_dirent, d_name) + name_max + 1;
798 return (name_end > sizeof(struct _tinydir_dirent) ?
799 name_end : sizeof(struct _tinydir_dirent));
800}
801#endif
802#endif
803

Callers 1

tinydir.hFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected