diff options
| author | David M. Syzdek <david@syzdek.net> | 2022-03-14 15:11:04 -0800 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2022-03-14 15:11:04 -0800 |
| commit | 0fcc400daeda0a53f66f8c16fab7eccf34f8bfc1 (patch) | |
| tree | 917f3aa4f68922f095822ebd466cbe245a02cb34 | |
| parent | 2b764fb04b4915dfea1cc8b8cabeef5375f47173 (diff) | |
| download | tinyrad-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.h | 3 | ||||
| -rw-r--r-- | lib/libtinyrad/ldict.c | 2 | ||||
| -rw-r--r-- | lib/libtinyrad/lstrings.c | 23 |
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 | |||
| 262 | tinyrad_strtoargs( | 262 | tinyrad_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 | |||
| 335 | tinyrad_strtoargs( | 335 | tinyrad_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); |
