Unlimited length in the config file, thanks to Cris van Pelt.
This commit is contained in:
parent
b18af982af
commit
7e817fcf0f
3 changed files with 17 additions and 2 deletions
1
THANKS
1
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
|
||||
|
|
|
@ -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 :)
|
||||
|
|
17
src/conf.c
17
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 <ctype.h>
|
||||
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue