return p;
}
+/**
+ * A wrapper for truncate(2)
+ *
+ * \param path Name of the regular file to truncate
+ * \param size Number of bytes to \b shave \b off
+ *
+ * Truncate the regular file named by \a path by \a size bytes.
+ *
+ * \return Standard.
+ *
+ * \sa truncate(2)
+ */
+int para_truncate(const char *path, off_t size)
+{
+ int ret;
+ struct stat statbuf;
+
+ ret = -E_OSL_STAT;
+ if (stat(path, &statbuf) < 0)
+ goto out;
+ ret = -E_OSL_BAD_SIZE;
+ if (statbuf.st_size < size)
+ goto out;
+ ret = -E_OSL_TRUNC;
+ if (truncate(path, statbuf.st_size - size) < 0)
+ goto out;
+ ret = 1;
+out:
+ return ret;
+}
+