summaryrefslogtreecommitdiffstats
path: root/util.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'util.cxx')
-rw-r--r--util.cxx21
1 files changed, 20 insertions, 1 deletions
diff --git a/util.cxx b/util.cxx
index 68cc27f7..a20e8292 100644
--- a/util.cxx
+++ b/util.cxx
@@ -1,5 +1,5 @@
// Copyright (C) Andrew Tridgell 2002 (original file)
-// Copyright (C) 2006 Red Hat Inc. (systemtap changes)
+// Copyright (C) 2006, 2009 Red Hat Inc. (systemtap changes)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
@@ -133,6 +133,25 @@ create_dir(const char *dir)
return 0;
}
+// Remove a file or directory
+int
+remove_file_or_dir (const char *name)
+{
+ int rc;
+ struct stat st;
+
+ if ((rc = stat(name, &st)) != 0)
+ {
+ if (errno == ENOENT)
+ return 0;
+ return 1;
+ }
+
+ if (remove (name) != 0)
+ return 1;
+ cerr << "remove returned 0" << endl;
+ return 0;
+}
void
tokenize(const string& str, vector<string>& tokens,