fts man page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The man page for fts library call states both the following:

    short          fts_pathlen;  /* strlen(fts_path) */

    fts_pathlen The length of the string referenced by fts_path

However, for the structures returned from fts_children() function, fts_pathlen is strlen(fts_path) + strlen(fts_name), which contradicts the man page statement. So I believe that there is either a bug in the man page or the fts_children() library call.

The following program can be used for verification:

#include <fts.h>
#include <pwd.h>
#include <stdio.h>
#include <string.h>

int main() {
	struct passwd *pwd_entry = getpwuid(getuid());
	char *paths[] = {pwd_entry->pw_dir, NULL};
	FTS* fts = fts_open(paths, FTS_LOGICAL, NULL);
	FTSENT* ftsent = fts_read(fts);
	FTSENT* child = fts_children(fts, 0);
	while (child != NULL) {
		printf("\n %s %s %d %lu", child->fts_path, child->fts_name,
				child->fts_pathlen, strlen(child->fts_path));
		child = child->fts_link;
	}
	return 0;
}


Thanks,
Pradeep Kumar
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux