summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulius Bünger <buenger@mytum.de>2018-10-20 14:21:02 +0200
committerJulius Bünger <buenger@mytum.de>2018-10-20 14:47:31 +0200
commitd2bdef77c4f13b1e51ac72340b7e1cc1535f6bb3 (patch)
tree25b0af7a6fb8389827e0cf7fbb22730bda266ee0 /src
parent061e86b157b1f13062ef879656a1c2678a8b6f35 (diff)
RPS: Fix writing internals to disk
Diffstat (limited to 'src')
-rw-r--r--src/rps/Makefile.am3
-rw-r--r--src/rps/rps-test_util.c72
-rw-r--r--src/rps/rps-test_util.h21
3 files changed, 18 insertions, 78 deletions
diff --git a/src/rps/Makefile.am b/src/rps/Makefile.am
index e6b74c9a2..3b5b1ef3e 100644
--- a/src/rps/Makefile.am
+++ b/src/rps/Makefile.am
@@ -30,6 +30,7 @@ gnunet_rps_LDADD = \
lib_LTLIBRARIES = libgnunetrps.la
libgnunetrps_la_SOURCES = \
+ gnunet-service-rps_sampler_elem.h gnunet-service-rps_sampler_elem.c \
rps-test_util.h rps-test_util.c \
rps-sampler_common.h rps-sampler_common.c \
rps-sampler_client.h rps-sampler_client.c \
@@ -40,6 +41,8 @@ libgnunetrps_la_LIBADD = \
libgnunetrps_la_LDFLAGS = \
$(GN_LIB_LDFLAGS) $(WINFLAGS) \
-version-info 0:0:0
+# Fix 'created both with libtool and without' error:
+libgnunetrps_la_CFLAGS = $(AM_CFLAGS)
libexec_PROGRAMS = \
diff --git a/src/rps/rps-test_util.c b/src/rps/rps-test_util.c
index ffd43f6b1..f3367e01b 100644
--- a/src/rps/rps-test_util.c
+++ b/src/rps/rps-test_util.c
@@ -57,76 +57,6 @@ static char buf_unaligned;
*/
static unsigned num_bits_buf_unaligned;
-void
-to_file_ (const char *file_name, char *line)
-{
- struct GNUNET_DISK_FileHandle *f;
- char output_buffer[512];
- size_t output_buffer_size = 512;
- char *output_buffer_p;
- //size_t size;
- int size;
- int size2;
-
-
- if (NULL == (f = GNUNET_DISK_file_open (file_name,
- GNUNET_DISK_OPEN_APPEND |
- GNUNET_DISK_OPEN_WRITE |
- GNUNET_DISK_OPEN_CREATE,
- GNUNET_DISK_PERM_USER_READ |
- GNUNET_DISK_PERM_USER_WRITE |
- GNUNET_DISK_PERM_GROUP_READ |
- GNUNET_DISK_PERM_OTHER_READ)))
- {
- LOG (GNUNET_ERROR_TYPE_WARNING,
- "Not able to open file %s\n",
- file_name);
- return;
- }
- output_buffer_size = strlen (line) + 18;
- if (512 < output_buffer_size)
- {
- output_buffer_p = GNUNET_malloc ((output_buffer_size) * sizeof (char));
- } else {
- output_buffer_p = &output_buffer[0];
- }
- size = GNUNET_snprintf (output_buffer_p,
- output_buffer_size,
- "%llu %s\n",
- (GNUNET_TIME_absolute_get ().abs_value_us) / 1000000, // microsec -> sec
- line);
- if (0 > size)
- {
- LOG (GNUNET_ERROR_TYPE_WARNING,
- "Failed to write string to buffer (size: %i)\n",
- size);
- return;
- }
-
- size2 = GNUNET_DISK_file_write (f, output_buffer_p, size);
- if (size != size2)
- {
- LOG (GNUNET_ERROR_TYPE_WARNING,
- "Unable to write to file! (Size: %u, size2: %u)\n",
- size,
- size2);
-
- if (GNUNET_YES != GNUNET_DISK_file_close (f))
- LOG (GNUNET_ERROR_TYPE_WARNING,
- "Unable to close file\n");
-
- return;
- }
-
- if (512 < output_buffer_size)
- {
- GNUNET_free (output_buffer_p);
- }
-
- if (GNUNET_YES != GNUNET_DISK_file_close (f))
- LOG (GNUNET_ERROR_TYPE_WARNING,
- "Unable to close file\n");
-}
void
to_file_raw (const char *file_name, const char *buf, size_t size_buf)
@@ -457,7 +387,7 @@ static int ensure_folder_exist (void)
return GNUNET_YES;
}
-const char *
+char *
store_prefix_file_name (const struct GNUNET_PeerIdentity *peer,
const char *prefix)
{
diff --git a/src/rps/rps-test_util.h b/src/rps/rps-test_util.h
index 2e6560723..11093420e 100644
--- a/src/rps/rps-test_util.h
+++ b/src/rps/rps-test_util.h
@@ -29,9 +29,6 @@
#define TO_FILE 1
-void
-to_file_ (const char *file_name, char *line);
-
char *
auth_key_to_string (struct GNUNET_CRYPTO_AuthKey auth_key);
@@ -45,23 +42,33 @@ create_file (const char *name);
* This function is used to facilitate writing important information to disk
*/
#ifdef TO_FILE
-# define to_file(file_name, ...) do {char tmp_buf[512];\
+# define to_file(file_name, ...) do {char tmp_buf[512] = "";\
int size;\
size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\
if (0 > size)\
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\
"Failed to create tmp_buf\n");\
else\
- to_file_(file_name,tmp_buf);\
+ GNUNET_DISK_fn_write(file_name,tmp_buf, sizeof(tmp_buf),\
+ GNUNET_DISK_PERM_USER_READ |\
+ GNUNET_DISK_PERM_USER_WRITE |\
+ GNUNET_DISK_PERM_GROUP_READ |\
+ GNUNET_DISK_PERM_OTHER_READ);\
} while (0);
-# define to_file_w_len(file_name, len, ...) do {char tmp_buf[len];\
+
+#define to_file_w_len(file_name, len, ...) do {char tmp_buf[len];\
int size;\
+ memset (tmp_buf, 0, len);\
size = GNUNET_snprintf(tmp_buf,sizeof(tmp_buf),__VA_ARGS__);\
if (0 > size)\
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,\
"Failed to create tmp_buf\n");\
else\
- to_file_(file_name,tmp_buf);\
+ GNUNET_DISK_fn_write(file_name,tmp_buf, len, \
+ GNUNET_DISK_PERM_USER_READ |\
+ GNUNET_DISK_PERM_USER_WRITE |\
+ GNUNET_DISK_PERM_GROUP_READ |\
+ GNUNET_DISK_PERM_OTHER_READ);\
} while (0);
#else /* TO_FILE */
# define to_file(file_name, ...)