if (movecwd( vol, dirlookup(vol, dir->d_pdid)) < 0 ) /* 1 */
return NULL;
- memcpy(ret->m_name, cfrombstring(dir->d_m_name), blength(dir->d_m_name) + 1); /* 3 */
+ memcpy(ret->m_name, cfrombstr(dir->d_m_name), blength(dir->d_m_name) + 1); /* 3 */
if (dir->d_m_name == dir->d_u_name) {
ret->u_name = ret->m_name;
} else {
ret->u_name = ret->m_name + blength(dir->d_m_name) + 1;
- memcpy(ret->u_name, cfrombstring(dir->d_u_name), blength(dir->d_u_name) + 1);
+ memcpy(ret->u_name, cfrombstr(dir->d_u_name), blength(dir->d_u_name) + 1);
}
ret->d_dir = dir;
LOG(log_debug, logtype_afpd, "cname('%s') {path-from-dir: AFPERR_ACCESS. curdir:'%s', path:'%s'}",
- cfrombstring(dir->d_fullpath),
- cfrombstring(curdir->d_fullpath),
+ cfrombstr(dir->d_fullpath),
+ cfrombstr(curdir->d_fullpath),
ret->u_name);
return ret;
if (movecwd(vol, dirlookup(vol, dir->d_pdid)) < 0 ) /* 1 */
return NULL;
- memcpy(ret->m_name, cfrombstring(dir->d_m_name), blength(dir->d_m_name) + 1);
+ memcpy(ret->m_name, cfrombstr(dir->d_m_name), blength(dir->d_m_name) + 1);
if (dir->d_m_name == dir->d_u_name) {
ret->u_name = ret->m_name;
} else {
ret->u_name = ret->m_name + blength(dir->d_m_name) + 1;
- memcpy(ret->u_name, cfrombstring(dir->d_u_name), blength(dir->d_u_name) + 1);
+ memcpy(ret->u_name, cfrombstr(dir->d_u_name), blength(dir->d_u_name) + 1);
}
ret->d_dir = NULL; /* 4 */
afp_errno = AFPERR_BADTYPE;
return NULL;
}
- if (lstat(cfrombstring(ret->d_fullpath), &st) != 0) {
+ if (lstat(cfrombstr(ret->d_fullpath), &st) != 0) {
LOG(log_debug, logtype_afpd, "dirlookup(did: %u) {lstat: %s}", ntohl(did), strerror(errno));
switch (errno) {
case ENOENT:
}
/* stat it and check if it's a dir */
- LOG(log_debug, logtype_afpd, "dirlookup: {stating %s}", cfrombstring(fullpath));
+ LOG(log_debug, logtype_afpd, "dirlookup: {stating %s}", cfrombstr(fullpath));
- if (stat(cfrombstring(fullpath), &st) != 0) { /* 5a */
+ if (stat(cfrombstr(fullpath), &st) != 0) { /* 5a */
switch (errno) {
case ENOENT:
afp_errno = AFPERR_NOOBJ;
}
LOG(log_debug, logtype_afpd, "dirlookup(did: %u) {end: did:%u, path:'%s'}",
- ntohl(did), ntohl(pdid), cfrombstring(ret->d_fullpath));
+ ntohl(did), ntohl(pdid), cfrombstr(ret->d_fullpath));
exit:
if (err) {
if ((cdir = dircache_search_by_name(vol, dir, path->u_name, strlen(path->u_name))) != NULL) {
/* there's a stray entry in the dircache */
LOG(log_debug, logtype_afpd, "dir_add(did:%u,'%s/%s'): {stray cache entry: did:%u,'%s', removing}",
- ntohl(dir->d_did), cfrombstring(dir->d_fullpath), path->u_name,
- ntohl(cdir->d_did), cfrombstring(dir->d_fullpath));
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath), path->u_name,
+ ntohl(cdir->d_did), cfrombstr(dir->d_fullpath));
if (dir_remove(vol, cdir) != 0) {
dircache_dump();
AFP_PANIC("dir_add");
}
if ((dircache_add(cdir)) != 0) { /* 4 */
- LOG(log_error, logtype_afpd, "dir_add: fatal dircache error: %s", cfrombstring(fullpath));
+ LOG(log_error, logtype_afpd, "dir_add: fatal dircache error: %s", cfrombstr(fullpath));
exit(EXITERR_SYS);
}
exit:
if (err != 0) {
LOG(log_debug, logtype_afpd, "dir_add('%s/%s'): error: %u",
- cfrombstring(dir->d_u_name), path->u_name, err);
+ cfrombstr(dir->d_u_name), path->u_name, err);
if (adp)
ad_close_metadata(adp);
} else {
/* no error */
LOG(log_debug, logtype_afpd, "dir_add(did:%u,'%s/%s'): {cached: %u,'%s'}",
- ntohl(dir->d_did), cfrombstring(dir->d_fullpath), path->u_name,
- ntohl(cdir->d_did), cfrombstring(cdir->d_fullpath));
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath), path->u_name,
+ ntohl(cdir->d_did), cfrombstr(cdir->d_fullpath));
}
return(cdir);
if (dir->d_flags & DIRF_CACHELOCK || dir->d_ofork) { /* 1 */
LOG(log_warning, logtype_afpd, "dir_remove(did:%u,'%s'): dir is locked or has opened forks",
- ntohl(dir->d_did), cfrombstring(dir->d_fullpath));
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath));
return 0;
}
}
LOG(log_debug, logtype_afpd, "dir_remove(did:%u,'%s'): {removing}",
- ntohl(dir->d_did), cfrombstring(dir->d_fullpath));
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath));
dircache_remove(vol, dir, DIRCACHE | DIDNAME_INDEX | QUEUE_INDEX); /* 3 */
dir_free(dir); /* 4 */
int size = 0;
int toUTF8 = 0;
- LOG(log_maxdebug, logtype_afpd, "came('%s'): {start}", cfrombstring(dir->d_fullpath));
+ LOG(log_maxdebug, logtype_afpd, "came('%s'): {start}", cfrombstr(dir->d_fullpath));
data = *cpath;
afp_errno = AFPERR_NOOBJ;
if (movecwd(vol, dir) < 0 ) {
LOG(log_debug, logtype_afpd, "cname(did:%u): failed to chdir to '%s'",
- ntohl(dir->d_did), cfrombstring(dir->d_fullpath));
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath));
if (len == 0)
return path_from_dir(vol, dir, &ret);
else
return NULL;
}
- LOG(log_maxdebug, logtype_afpd, "came('%s'): {node: '%s}", cfrombstring(dir->d_fullpath), ret.u_name);
+ LOG(log_maxdebug, logtype_afpd, "came('%s'): {node: '%s}", cfrombstr(dir->d_fullpath), ret.u_name);
/* Prevent access to our special folders like .AppleDouble */
if (check_name(vol, ret.u_name)) {
* root parent (did 1) has one child: the volume. Requests for did=1 with
* some <name> must check against the volume name.
*/
- if ((strcmp(cfrombstring(vol->v_root->d_m_name), ret.m_name)) == 0)
+ if ((strcmp(cfrombstr(vol->v_root->d_m_name), ret.m_name)) == 0)
cdir = vol->v_root;
else
return NULL;
* this will terminate clean in while (1) because len == 0,
* probably afp_createfile|dir
*/
- LOG(log_maxdebug, logtype_afpd, "came('%s'): {leave-cnode ENOENT (possile create request): '%s'}", cfrombstring(dir->d_fullpath), ret.u_name);
+ LOG(log_maxdebug, logtype_afpd, "came('%s'): {leave-cnode ENOENT (possile create request): '%s'}",
+ cfrombstr(dir->d_fullpath), ret.u_name);
continue; /* 10 */
}
switch (ret.st.st_mode & S_IFMT) {
case S_IFREG: /* 11 */
- LOG(log_debug, logtype_afpd, "came('%s'): {file: '%s'}", cfrombstring(dir->d_fullpath), ret.u_name);
+ LOG(log_debug, logtype_afpd, "came('%s'): {file: '%s'}",
+ cfrombstr(dir->d_fullpath), ret.u_name);
if (len > 0) {
/* it wasn't the last part, so we have a bogus path request */
afp_errno = AFPERR_PARAM;
}
continue; /* continues while loop */
case S_IFLNK: /* 12 */
- LOG(log_debug, logtype_afpd, "came('%s'): {link: '%s'}", cfrombstring(dir->d_fullpath), ret.u_name);
+ LOG(log_debug, logtype_afpd, "came('%s'): {link: '%s'}",
+ cfrombstr(dir->d_fullpath), ret.u_name);
if (len > 0) {
- LOG(log_warning, logtype_afpd, "came('%s'): {symlinked dir: '%s'}", cfrombstring(dir->d_fullpath), ret.u_name);
+ LOG(log_warning, logtype_afpd, "came('%s'): {symlinked dir: '%s'}",
+ cfrombstr(dir->d_fullpath), ret.u_name);
afp_errno = AFPERR_PARAM;
return NULL;
}
/* Now chdir to the evaluated dir */
if (movecwd( vol, cdir ) < 0 ) { /* 16 */
LOG(log_debug, logtype_afpd, "cname(cwd:'%s'): failed to chdir to new subdir '%s': %s",
- cfrombstring(curdir->d_fullpath), cfrombstring(cdir->d_fullpath), strerror(errno));
+ cfrombstr(curdir->d_fullpath), cfrombstr(cdir->d_fullpath), strerror(errno));
if (len == 0)
return path_from_dir(vol, cdir, &ret);
else
}
LOG(log_debug, logtype_afpd, "came('%s') {end: curdir:'%s', path:'%s'}",
- cfrombstring(dir->d_fullpath),
- cfrombstring(curdir->d_fullpath),
+ cfrombstr(dir->d_fullpath),
+ cfrombstr(curdir->d_fullpath),
ret.u_name);
return &ret;
AFP_ASSERT(dir);
LOG(log_maxdebug, logtype_afpd, "movecwd(curdir:'%s', cwd:'%s')",
- cfrombstring(curdir->d_fullpath), getcwdpath());
+ cfrombstr(curdir->d_fullpath), getcwdpath());
if ( dir == curdir)
return( 0 );
return 0;
}
- LOG(log_debug, logtype_afpd, "movecwd(did:%u, '%s')", ntohl(dir->d_did), cfrombstring(dir->d_fullpath));
+ LOG(log_debug, logtype_afpd, "movecwd(did:%u, '%s')",
+ ntohl(dir->d_did), cfrombstr(dir->d_fullpath));
- if ((ret = lchdir(cfrombstring(dir->d_fullpath))) != 0 ) {
+ if ((ret = lchdir(cfrombstr(dir->d_fullpath))) != 0 ) {
LOG(log_debug, logtype_afpd, "movecwd('%s'): ret: %u, %s",
- cfrombstring(dir->d_fullpath), ret, strerror(errno));
+ cfrombstr(dir->d_fullpath), ret, strerror(errno));
if (ret == 1) {
/* p is a symlink or getcwd failed */
afp_errno = AFPERR_BADTYPE;
case DIRPBIT_ATTR :
if ( isad ) {
ad_getattr(&ad, &ashort);
- } else if (invisible_dots(vol, cfrombstring(dir->d_u_name))) {
+ } else if (invisible_dots(vol, cfrombstr(dir->d_u_name))) {
ashort = htons(ATTRBIT_INVISIBLE);
} else
ashort = 0;
memcpy(data + FINDERINFO_FRVIEWOFF, &ashort, sizeof(ashort));
/* dot files are by default visible */
- if (invisible_dots(vol, cfrombstring(dir->d_u_name))) {
+ if (invisible_dots(vol, cfrombstr(dir->d_u_name))) {
ashort = htons(FINDERINFO_INVISIBLE);
memcpy(data + FINDERINFO_FRFLAGOFF, &ashort, sizeof(ashort));
}
if ( l_nameoff ) {
ashort = htons( data - buf );
memcpy( l_nameoff, &ashort, sizeof( ashort ));
- data = set_name(vol, data, pdid, cfrombstring(dir->d_m_name), dir->d_did, 0);
+ data = set_name(vol, data, pdid, cfrombstr(dir->d_m_name), dir->d_did, 0);
}
if ( utf_nameoff ) {
ashort = htons( data - buf );
memcpy( utf_nameoff, &ashort, sizeof( ashort ));
- data = set_name(vol, data, pdid, cfrombstring(dir->d_m_name), dir->d_did, utf8);
+ data = set_name(vol, data, pdid, cfrombstr(dir->d_m_name), dir->d_did, utf8);
}
if ( isad ) {
ad_close_metadata( &ad );
* to set our name, etc.
*/
if ( (ad_get_HF_flags( &ad ) & O_CREAT)) {
- ad_setname(&ad, cfrombstring(curdir->d_m_name));
+ ad_setname(&ad, cfrombstr(curdir->d_m_name));
}
}
if ( fsync(dfd) < 0 )
LOG(log_error, logtype_afpd, "afp_syncdir(%s): %s",
- vol->ad_path(cfrombstring(dir->d_u_name), ADFLAGS_DIR), strerror(errno) );
+ vol->ad_path(cfrombstr(dir->d_u_name), ADFLAGS_DIR), strerror(errno) );
close(dfd);
}
goto delete_done;
}
- err = netatalk_rmdir_all_errors(-1, cfrombstring(fdir->d_u_name));
+ err = netatalk_rmdir_all_errors(-1, cfrombstr(fdir->d_u_name));
if ( err == AFP_OK || err == AFPERR_NOOBJ) {
cnid_delete(vol->v_cdb, fdir->d_did);
dir_remove( vol, fdir );