if (!p) {
return -1;
}
-//FIXME!
- return lstat( p, stbuf );
+
+ return stat(p, stbuf);
}
/* ----------------
if (default_uid != (uid_t)-1) {
/* we are root (admin) */
id = (default_uid)?default_uid:stbuf->st_uid;
- ret = lchown( path, id, stbuf->st_gid );
+ ret = chown(path, id, stbuf->st_gid);
}
#endif
return ret;
}
}
- ad->ad_data_fork.adf_fd =open( path, hoflags | O_NOFOLLOW, admode );
+ ad->ad_data_fork.adf_fd = open(path, hoflags | ad_get_syml_opt(ad), admode);
if (ad->ad_data_fork.adf_fd == -1) {
if ((errno == EACCES || errno == EROFS) && !(oflags & O_RDWR)) {
hoflags = oflags;
- ad->ad_data_fork.adf_fd = open( path, hoflags | O_NOFOLLOW, admode );
+ ad->ad_data_fork.adf_fd = open( path, hoflags | ad_get_syml_opt(ad), admode );
}
if (ad->ad_data_fork.adf_fd == -1 && errno == OPEN_NOFOLLOW_ERRNO) {
int lsz;
return -1;
}
ad->ad_data_fork.adf_syml[lsz] = 0;
- ad->ad_data_fork.adf_syml = realloc(ad->ad_data_fork.adf_syml,lsz+1);
ad->ad_data_fork.adf_fd = -2; /* -2 means its a symlink */
}
}
if (!(adflags & ADFLAGS_RDONLY)) {
hoflags = (hoflags & ~(O_RDONLY | O_WRONLY)) | O_RDWR;
}
- ad->ad_md->adf_fd = open( ad_p, hoflags | O_NOFOLLOW, 0 );
+ ad->ad_md->adf_fd = open(ad_p, hoflags | ad_get_syml_opt(ad), 0);
if (ad->ad_md->adf_fd < 0 ) {
if ((errno == EACCES || errno == EROFS) && !(oflags & O_RDWR)) {
hoflags = oflags & ~(O_CREAT | O_EXCL);
- ad->ad_md->adf_fd = open( ad_p, hoflags | O_NOFOLLOW, 0 );
+ ad->ad_md->adf_fd = open(ad_p, hoflags | ad_get_syml_opt(ad), 0);
}
}
}
admode = ad_hf_mode(admode);
if ((errno == ENOENT) && (ad->ad_flags != AD_VERSION2_OSX)) {
- if (ad->ad_ops->ad_mkrf( ad_p) < 0) {
+ if (ad->ad_ops->ad_mkrf(ad_p) < 0) {
return ad_error(ad, adflags);
}
admode = mode;
memcpy(ad_entry(ad, ADEID_FINDERI) + FINDERINFO_FRFLAGOFF, &ashort, sizeof(ashort));
}
- if (lstat(path, &st) < 0) {
+ if (ostat(path, &st, ad_get_syml_opt(ad)) < 0) {
return -1;
}