*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
sys_lstat(*orig_path, orig_info);
- if (S_ISDIR(orig_info->st_mode)) {
+ if (S_ISDIR(orig_info->st_ex_mode)) {
*adbl_path = talloc_asprintf(ctx, "%s/%s/%s/",
path, &fname[ptr0], APPLEDOUBLE);
} else {
static int atalk_rmdir(struct vfs_handle_struct *handle, const char *path)
{
- BOOL add = False;
+ bool add = False;
TALLOC_CTX *ctx = 0;
char *dpath;
&adbl_info, &orig_info) != 0)
goto exit_rename;
- if (S_ISDIR(orig_info.st_mode) || S_ISREG(orig_info.st_mode)) {
+ if (S_ISDIR(orig_info.st_ex_mode) || S_ISREG(orig_info.st_ex_mode)) {
DEBUG(3, ("ATALK: %s has passed..\n", adbl_path));
goto exit_rename;
}
&adbl_info, &orig_info) != 0)
goto exit_unlink;
- if (S_ISDIR(orig_info.st_mode) || S_ISREG(orig_info.st_mode)) {
+ if (S_ISDIR(orig_info.st_ex_mode) || S_ISREG(orig_info.st_ex_mode)) {
DEBUG(3, ("ATALK: %s has passed..\n", adbl_path));
goto exit_unlink;
}
&adbl_info, &orig_info) != 0)
goto exit_chmod;
- if (!S_ISDIR(orig_info.st_mode) && !S_ISREG(orig_info.st_mode)) {
+ if (!S_ISDIR(orig_info.st_ex_mode) && !S_ISREG(orig_info.st_ex_mode)) {
DEBUG(3, ("ATALK: %s has passed..\n", orig_path));
goto exit_chmod;
}
&adbl_info, &orig_info) != 0)
goto exit_chown;
- if (!S_ISDIR(orig_info.st_mode) && !S_ISREG(orig_info.st_mode)) {
+ if (!S_ISDIR(orig_info.st_ex_mode) && !S_ISREG(orig_info.st_ex_mode)) {
DEBUG(3, ("ATALK: %s has passed..\n", orig_path));
goto exit_chown;
}
- chown(adbl_path, uid, gid);
+ if (chown(adbl_path, uid, gid) == -1) {
+ DEBUG(3, ("ATALK: chown error %s\n", strerror(errno)));
+ }
exit_chown:
talloc_destroy(ctx);
&adbl_info, &orig_info) != 0)
goto exit_lchown;
- if (!S_ISDIR(orig_info.st_mode) && !S_ISREG(orig_info.st_mode)) {
+ if (!S_ISDIR(orig_info.st_ex_mode) && !S_ISREG(orig_info.st_ex_mode)) {
DEBUG(3, ("ATALK: %s has passed..\n", orig_path));
goto exit_lchown;
}
- sys_lchown(adbl_path, uid, gid);
+ if (lchown(adbl_path, uid, gid) == -1) {
+ DEBUG(3, ("ATALK: lchown error %s\n", strerror(errno)));
+ }
exit_lchown:
talloc_destroy(ctx);