ctdb-util: Add extra max_size argument to file_lines_load()
authorMartin Schwenke <martin@meltin.net>
Fri, 15 Aug 2014 06:11:45 +0000 (16:11 +1000)
committerAmitay Isaacs <amitay@samba.org>
Tue, 9 Sep 2014 23:36:15 +0000 (01:36 +0200)
This is part of a migration to Samba's lib/util.  CTDB always passes 0
(i.e. no max_size) so use a simple assert() to enforce this, rather
than changing a lot of code that will be discarded anyway.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/include/internal/includes.h
ctdb/lib/util/util_file.c
ctdb/server/ctdb_server.c
ctdb/server/ctdb_takeover.c
ctdb/tools/ctdb.c

index 396965f8866d6a8f42c98e1f6d012834602e0d9e..951726a3961a71ac57cfe87f12c146118031b4c6 100644 (file)
@@ -64,7 +64,7 @@ struct timeval timeval_until(const struct timeval *tv1,
 _PUBLIC_ struct timeval timeval_current_ofs(uint32_t secs, uint32_t usecs);
 double timeval_elapsed(struct timeval *tv);
 double timeval_delta(struct timeval *tv2, struct timeval *tv);
-char **file_lines_load(const char *fname, int *numlines, TALLOC_CTX *mem_ctx);
+char **file_lines_load(const char *fname, int *numlines, size_t maxsize, TALLOC_CTX *mem_ctx);
 char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len);
 _PUBLIC_ int set_blocking(int fd, bool set);
 
index 21d64b20e3dab574b9d872bce71cebbcbfc05bae..5db007206185cc49541f75bec6162a1c10afd019 100644 (file)
@@ -3,6 +3,8 @@
   not intended to remain part of ctdb
 */
 
+#include <assert.h>
+
 #include "includes.h"
 #include "system/filesys.h"
 
@@ -91,11 +93,13 @@ static char **file_lines_parse(char *p, size_t size, int *numlines, TALLOC_CTX *
 load a file into memory and return an array of pointers to lines in the file
 must be freed with talloc_free(). 
 **/
-_PUBLIC_ char **file_lines_load(const char *fname, int *numlines, TALLOC_CTX *mem_ctx)
+_PUBLIC_ char **file_lines_load(const char *fname, int *numlines, size_t maxsize, TALLOC_CTX *mem_ctx)
 {
        char *p;
        size_t size;
 
+       assert(maxsize == 0);
+
        p = file_load(fname, &size, mem_ctx);
        if (!p) return NULL;
 
index c45f4cb5ffdd3e26ea6a7dd7cd655f1e9882c074..1e3fde497f616da3c5a03d8d8011c59f3803fa2f 100644 (file)
@@ -171,7 +171,7 @@ static int ctdb_set_nlist(struct ctdb_context *ctdb, const char *nlist)
        ctdb->nodes     = NULL;
        ctdb->num_nodes = 0;
 
-       lines = file_lines_load(nlist, &nlines, ctdb);
+       lines = file_lines_load(nlist, &nlines, 0, ctdb);
        if (lines == NULL) {
                ctdb_set_error(ctdb, "Failed to load nlist '%s'\n", nlist);
                return -1;
index a3b95926892137eb0f5bd049f101617e50670fb4..7603fbc7e4df1b213847c5815f669eb840d450bd 100644 (file)
@@ -1205,7 +1205,7 @@ int ctdb_set_public_addresses(struct ctdb_context *ctdb, bool check_addresses)
        int nlines;
        int i;
 
-       lines = file_lines_load(ctdb->public_addresses_file, &nlines, ctdb);
+       lines = file_lines_load(ctdb->public_addresses_file, &nlines, 0, ctdb);
        if (lines == NULL) {
                ctdb_set_error(ctdb, "Failed to load public address list '%s'\n", ctdb->public_addresses_file);
                return -1;
index ca79363d17381015572fe5e3cec58756de7dba4d..19a2fb150be1a193d4b4ab222eb4844f8ca1e0a7 100644 (file)
@@ -826,7 +826,7 @@ static struct pnn_node *read_pnn_node_file(TALLOC_CTX *mem_ctx,
        struct pnn_node *pnn_nodes = NULL;
        struct pnn_node *pnn_node;
 
-       lines = file_lines_load(file, &nlines, mem_ctx);
+       lines = file_lines_load(file, &nlines, 0, mem_ctx);
        if (lines == NULL) {
                return NULL;
        }