{
char *newname = NULL, *file=NULL;
int ret = 1;
- struct stat sb;
if (strchr(from, '/') == NULL && strchr(to, '/') == NULL)
file = strrchr(s, '/');
file = s;
if (string_replace(from, to, file, s, &newname))
return 0;
- if (nooverwrite && stat(newname, &sb) == 0) {
+ if (nooverwrite && access(newname, F_OK) == 0) {
printf(_("Skipping existing file: `%s'\n"), newname);
ret = 0;
}
--- /dev/null
+#!/bin/bash
+
+#
+# Copyright (C) 2017 Sami Kerola <kerolasa@iki.fi>
+#
+# This file is part of util-linux.
+#
+# This file 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
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="overwrite"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_CMD_RENAME"
+ts_cd "$TS_OUTDIR"
+
+touch rename_from rename_to
+$TS_CMD_RENAME -v --no-overwrite from to rename_from > $TS_OUTPUT 2>&1
+rm rename_from rename_to >> $TS_OUTPUT 2>&1
+
+ts_finalize