*
* 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.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <config.h>
#include "daemon.h"
#include "actions.h"
+#include "optgroups.h"
int
-do_scrub_device (char *device)
+optgroup_scrub_available (void)
+{
+ return prog_exists ("scrub");
+}
+
+int
+do_scrub_device (const char *device)
{
char *err;
int r;
r = command (NULL, &err, "scrub", device, NULL);
if (r == -1) {
- reply_with_error ("scrub_device: %s: %s", device, err);
+ reply_with_error ("%s: %s", device, err);
free (err);
return -1;
}
}
int
-do_scrub_file (char *file)
+do_scrub_file (const char *file)
{
char *buf;
char *err;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (file, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (file);
if (!buf) {
r = command (NULL, &err, "scrub", "-r", buf, NULL);
free (buf);
if (r == -1) {
- reply_with_error ("scrub_file: %s: %s", file, err);
+ reply_with_error ("%s: %s", file, err);
free (err);
return -1;
}
}
int
-do_scrub_freespace (char *dir)
+do_scrub_freespace (const char *dir)
{
char *buf;
char *err;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (dir, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (dir);
if (!buf) {
r = command (NULL, &err, "scrub", "-X", buf, NULL);
free (buf);
if (r == -1) {
- reply_with_error ("scrub_freespace: %s: %s", dir, err);
+ reply_with_error ("%s: %s", dir, err);
free (err);
return -1;
}