From: Ivo Timmermans Date: Mon, 15 May 2000 18:28:45 +0000 (+0000) Subject: Unlimited length in the config file, thanks to Cris van Pelt. X-Git-Tag: release-1.0pre2~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7e817fcf0fdd25aae58259930006c61048b017cd;p=oweals%2Ftinc.git Unlimited length in the config file, thanks to Cris van Pelt. --- diff --git a/THANKS b/THANKS index fceb3fd..63d9221 100644 --- a/THANKS +++ b/THANKS @@ -8,6 +8,7 @@ I would like to thank * James B. MacLean (for fixing several mission critical bugs, and for giving me a few good ideas, and, most of all, for the wonderful testing and debugging) + * Cris van Pelt * Robert van der Meulen * Sander Smeenk * Tijs van Bakel diff --git a/doc/tinc.conf.sample b/doc/tinc.conf.sample index df005fb..42f3366 100644 --- a/doc/tinc.conf.sample +++ b/doc/tinc.conf.sample @@ -1,7 +1,6 @@ # Sample tinc configuration file # This is a comment. -# Lines can have a maximum of 80 characters. # Spaces and tabs are eliminated. # The = sign isn't strictly necessary any longer, though you may want # to leave it in as it improves readability :) diff --git a/src/conf.c b/src/conf.c index 146a582..a9c136e 100644 --- a/src/conf.c +++ b/src/conf.c @@ -18,6 +18,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* Created more dynamic storage for lines read from the config file. -- + Cris van Pelt */ + #include "config.h" #include @@ -111,15 +114,27 @@ add_config_val(config_t **cfg, int argtype, char *val) int readconfig(const char *fname, FILE *fp) { - char line[81]; + char *line, *temp_buf; char *p, *q; int i, lineno = 0; config_t *cfg; + line = (char *)xmalloc(80 * sizeof(char)); + temp_buf = (char *)xmalloc(80 * sizeof(char)); + for(;;) { if(fgets(line, 80, fp) == NULL) return 0; + + while(!index(line, '\n')) + { + fgets(temp_buf, (strlen(line)+1) * 80, fp); + if(!temp_buf) + break; + strcat(line, temp_buf); + line = (char *)xrealloc(line, (strlen(line)+1) * sizeof(char)); + } lineno++; if((p = strtok(line, "\t\n\r =")) == NULL)