summaryrefslogtreecommitdiff
path: root/src/common/util.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-10-19 23:05:02 +0000
committerNick Mathewson <nickm@torproject.org>2006-10-19 23:05:02 +0000
commit7551c44a5375c390b653c7b8f28d904a3156e1ae (patch)
treef68e822086b38828df32583d165135fc148c4768 /src/common/util.c
parent126a3f699a8ed6f9c4d2b6c5f4b09f8be159fdd8 (diff)
downloadtor-7551c44a5375c390b653c7b8f28d904a3156e1ae.tar.gz
tor-7551c44a5375c390b653c7b8f28d904a3156e1ae.zip
r9274@Kushana: nickm | 2006-10-19 16:16:58 -0400
Add unit tests for tor_mmap_file(); make tor_mmap_t.size always be the size of the file (not the size of the mapping); add an extra argument to read_file_to_str() so it can return the size of the result string. svn:r8762
Diffstat (limited to 'src/common/util.c')
-rw-r--r--src/common/util.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/common/util.c b/src/common/util.c
index 50211917b3..d5a71d2743 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -1288,6 +1288,9 @@ append_bytes_to_file(const char *fname, const char *str, size_t len,
/** Read the contents of <b>filename</b> into a newly allocated
* string; return the string on success or NULL on failure.
+ *
+ * If <b>size_out</b> is provided, store the length of the result in
+ * <b>size_out</b>
*/
/*
* This function <em>may</em> return an erroneous result if the file
@@ -1297,7 +1300,7 @@ append_bytes_to_file(const char *fname, const char *str, size_t len,
* be truncated.
*/
char *
-read_file_to_str(const char *filename, int bin)
+read_file_to_str(const char *filename, int bin, size_t *size_out)
{
int fd; /* router file */
struct stat statbuf;
@@ -1351,6 +1354,8 @@ read_file_to_str(const char *filename, int bin)
}
#endif
close(fd);
+ if (size_out)
+ *size_out = (size_t) r;
return string;
}