aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2022-03-14 15:11:04 -0800
committerDavid M. Syzdek <david@syzdek.net>2022-03-14 15:11:04 -0800
commit0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1 (patch)
tree917f3aa4f68922f095822ebd466cbe245a02cb34
parent2b764fb04b4915dfea1cc8b8cabeef5375f47173 (diff)
downloadtinyrad-0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1.tar.gz
tinyrad-0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1.tar.bz2
tinyrad-0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1.tar.xz
tinyrad-0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1.zip
libtinyrad: removing retain argument from tinyrad_strtoargs()
-rw-r--r--include/tinyrad_internal.h3
-rw-r--r--lib/libtinyrad/ldict.c2
-rw-r--r--lib/libtinyrad/lstrings.c23
3 files changed, 17 insertions, 11 deletions
diff --git a/include/tinyrad_internal.h b/include/tinyrad_internal.h
index 1b4238f..a2d19f3 100644
--- a/include/tinyrad_internal.h
+++ b/include/tinyrad_internal.h
@@ -262,8 +262,7 @@ _TINYRAD_F int
262tinyrad_strtoargs( 262tinyrad_strtoargs(
263 char * str, 263 char * str,
264 char *** argvp, 264 char *** argvp,
265 int * argcp, 265 int * argcp );
266 int retain_quotes );
267 266
268 267
269_TINYRAD_F char * 268_TINYRAD_F char *
diff --git a/lib/libtinyrad/ldict.c b/lib/libtinyrad/ldict.c
index 757f06f..c218ca2 100644
--- a/lib/libtinyrad/ldict.c
+++ b/lib/libtinyrad/ldict.c
@@ -1528,7 +1528,7 @@ tinyrad_dict_parse(
1528 file = parent; 1528 file = parent;
1529 continue; 1529 continue;
1530 }; 1530 };
1531 if ((rc = tinyrad_strtoargs(buff, &argv, &argc, TRAD_NO)) != TRAD_SUCCESS) 1531 if ((rc = tinyrad_strtoargs(buff, &argv, &argc)) != TRAD_SUCCESS)
1532 { 1532 {
1533 tinyrad_file_error(file, rc, msgsp); 1533 tinyrad_file_error(file, rc, msgsp);
1534 tinyrad_file_destroy(file, TRAD_FILE_RECURSE); 1534 tinyrad_file_destroy(file, TRAD_FILE_RECURSE);
diff --git a/lib/libtinyrad/lstrings.c b/lib/libtinyrad/lstrings.c
index d25ddde..ce93625 100644
--- a/lib/libtinyrad/lstrings.c
+++ b/lib/libtinyrad/lstrings.c
@@ -335,8 +335,7 @@ int
335tinyrad_strtoargs( 335tinyrad_strtoargs(
336 char * str, 336 char * str,
337 char *** argvp, 337 char *** argvp,
338 int * argcp, 338 int * argcp )
339 int retain_quotes )
340{ 339{
341 char quote; 340 char quote;
342 char * bol; 341 char * bol;
@@ -363,23 +362,31 @@ tinyrad_strtoargs(
363 case '"': 362 case '"':
364 case '\'': 363 case '\'':
365 quote = str[pos]; 364 quote = str[pos];
366 bol = ((retain_quotes)) ? &str[pos] : &str[pos+1]; 365 bol = &str[pos];
367 for( pos += 1; ((bol[pos] != '\0') && (bol[pos] != quote)); pos++); 366 for( pos += 1; ((bol[pos] != '\0') && (bol[pos] != quote)); pos++)
367 {
368 if ( (quote == '"') && (bol[pos] == '\\') )
369 {
370 if (!(bol[pos+1]))
371 {
372 tinyrad_strsfree(argv);
373 return(TRAD_ESYNTAX);
374 };
375 pos++;
376 };
377 };
368 if (bol[pos] != quote) 378 if (bol[pos] != quote)
369 { 379 {
370 tinyrad_strsfree(argv); 380 tinyrad_strsfree(argv);
371 return(TRAD_ESYNTAX); 381 return(TRAD_ESYNTAX);
372 }; 382 };
373 if ((retain_quotes))
374 bol[pos] = '\0';
375 pos++; 383 pos++;
376 if ( (bol[pos] != ' ') && (bol[pos] != '\t') && (bol[pos] != '\0') ) 384 if ( (bol[pos] != ' ') && (bol[pos] != '\t') && (bol[pos] != '\0') )
377 { 385 {
378 tinyrad_strsfree(argv); 386 tinyrad_strsfree(argv);
379 return(TRAD_ESYNTAX); 387 return(TRAD_ESYNTAX);
380 }; 388 };
381 if (!(retain_quotes)) 389 bol[pos] = '\0';
382 bol[pos] = '\0';
383 if ((rc = tinyrad_strsadd(&argv, bol)) != TRAD_SUCCESS) 390 if ((rc = tinyrad_strsadd(&argv, bol)) != TRAD_SUCCESS)
384 { 391 {
385 tinyrad_strsfree(argv); 392 tinyrad_strsfree(argv);