Ejemplo n.º 1
0
void
renamedir(char *d)
{
	int n;
	Dir *dir;
	char *sub;
	int fd, i;
	Name *na;

	fd = open(d, OREAD);
	if (fd == -1)
		return;
	while((n = dirread(fd, &dir)) > 0){
		for(i = 0; i < n; i++){
			if(dir[i].mode & DMDIR){
				sub = malloc(strlen(d) + 1 + strlen(dir[i].name) + 1);
				sprint(sub, "%s/%s", d, dir[i].name);
				renamedir(sub);
				free(sub);
			}
			if(strlen(dir[i].name) != ENCLEN)
				continue;
			for (na = names; na != nil; na = na->next){
				if (strcmp(na->shortname, dir[i].name) == 0){
					rename(d, dir[i].name, na->longname);
					break;
				}
			}
		}
		free(dir);
	}
	close(fd);
}
Ejemplo n.º 2
0
void
main(int argc, char **argv)
{
	char lnfile[256], *d;
	d = ".";
	if(argc > 1)
		d = argv[1];

	snprint(lnfile, sizeof(lnfile), "%s/.longnames", d);
	readnames(lnfile);
	renamedir(d);
}
Ejemplo n.º 3
0
void ffsb_metaops(ffsb_thread_t *ft, ffsb_fs_t *fs, unsigned opnum)
{
	struct benchfiles *bf = (struct benchfiles *)fs_get_opdata(fs, opnum);
	randdata_t *rd = ft_get_randdata(ft);

	createdir(bf, rd);
	createdir(bf, rd);
	removedir(bf, rd);
	renamedir(bf, rd);

	ft_incr_op(ft, opnum, 1, 0);
}