Move para_truncate from osl.c to fd.c.
authorAndre Noll <maan@systemlinux.org>
Fri, 6 Jun 2008 09:34:50 +0000 (11:34 +0200)
committerAndre Noll <maan@systemlinux.org>
Fri, 6 Jun 2008 09:34:50 +0000 (11:34 +0200)
fd.c
fd.h
osl.c
osl_core.h

diff --git a/fd.c b/fd.c
index b889d9d..920bce9 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -322,3 +322,34 @@ __must_check __printf_1_2 __malloc char *make_message(const char *fmt, ...)
        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;
+}
+
diff --git a/fd.h b/fd.h
index 4b80206..9c43eec 100644 (file)
--- a/fd.h
+++ b/fd.h
@@ -14,6 +14,7 @@ int mmap_full_file(const char *filename, int open_mode, void **map,
 int osl_munmap(void *start, size_t length);
 int write_all(int fd, const char *buf, size_t *len);
 int write_file(const char *filename, const void *buf, size_t size);
+int para_truncate(const char *filename, off_t size);
 
 /**
  * A wrapper for mkdir(2).
diff --git a/osl.c b/osl.c
index 0837429..3e41c53 100644 (file)
--- a/osl.c
+++ b/osl.c
@@ -1178,37 +1178,6 @@ static int append_row_index(const struct osl_table *t, char *row_index)
        return ret;
 }
 
-/**
- * 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;
-}
-
 static int truncate_mapped_file(const struct osl_table *t, unsigned col_num,
                off_t size)
 {
index 966ef6f..8a575c6 100644 (file)
@@ -83,7 +83,6 @@ int init_table_structure(const struct osl_table_description *desc,
 int row_is_invalid(struct osl_table *t, uint32_t row_num);
 int get_mapped_object(const struct osl_table *t, unsigned col_num,
        uint32_t row_num, struct osl_object *obj);
-int para_truncate(const char *filename, off_t size);
 int unmap_table(struct osl_table *t, enum osl_close_flags flags);
 int init_rbtrees(struct osl_table *t);