aboutsummaryrefslogtreecommitdiff
path: root/src/tool_parsecfg.c
AgeCommit message (Collapse)Author
2020-03-20cmdline: fix handling of OperationConfig linked list (--next)Rici Lake
Ensures that -K/--config inserts new items at the end of the list instead of overwriting the second item, and that after a -K/--config option has been parsed, the option parser's view of the current config is update. Fixes #5120 Closes #5123
2019-12-18curl/parseconfig: use curl_free() to free memory allocated by libcurlDaniel Stenberg
Reported-by: bxac on github Fixes #4730 Closes #4731
2019-12-18curl/parseconfig: fix mem-leakDaniel Stenberg
When looping, first trying '.curlrc' and then '_curlrc', the function would not free the first string. Closes #4731
2019-08-20curl: use .curlrc (with a dot) on Windows as wellDaniel Stenberg
Fall-back to _curlrc if the dot-version is missing. Co-Authored-By: Steve Holme Closes #4230
2019-07-20curl: support parallel transfersDaniel Stenberg
This is done by making sure each individual transfer is first added to a linked list as then they can be performed serially, or at will, in parallel. Closes #3804
2019-06-04tool_parsecfg: Use correct return type for GetModuleFileName()Steve Holme
GetModuleFileName() returns a DWORD which is a typedef of an unsigned long and not an int. Closes #3980
2019-06-02tool_parsecfg: Fix control flow issue (DEADCODE)Steve Holme
Follow-up to 8144ba38. Detected by Coverity CID 1445663 Closes #3976
2019-05-23tool_parse_cfg: Avoid 2 fopen() for WIN32Gisle Vanem
Using the memdebug.h mem-leak feature, I noticed 2 calls like: FILE tool_parsecfg.c:70 fopen("c:\Users\Gisle\AppData\Roaming\_curlrc","rt") FILE tool_parsecfg.c:114 fopen("c:\Users\Gisle\AppData\Roaming\_curlrc","rt") No need for 'fopen(), 'fclose()' and a 'fopen()' yet again.
2018-11-23snprintf: renamed and we now only use msnprintf()Daniel Stenberg
The function does not return the same value as snprintf() normally does, so readers may be mislead into thinking the code works differently than it actually does. A different function name makes this easier to detect. Reported-by: Tomas Hoger Assisted-by: Daniel Gustafsson Fixes #3296 Closes #3297
2018-09-23whitespace fixesViktor Szakats
- replace tabs with spaces where possible - remove line ending spaces - remove double/triple newlines at EOF - fix a non-UTF-8 character - cleanup a few indentations/line continuations in manual examples Closes https://github.com/curl/curl/pull/3037
2018-06-11cppcheck: fix warningsMarian Klymov
- Get rid of variable that was generating false positive warning (unitialized) - Fix issues in tests - Reduce scope of several variables all over etc Closes #2631
2017-09-11code style: use spaces around equals signsDaniel Stenberg
2017-08-05getparameter: avoid returning uninitialized 'usedarg'Daniel Stenberg
Fixes #1728
2017-05-07tool_parsecfg: fix -Wcast-qual warningMarcel Raad
Don't convert string literal to char * before assigning it to const char *.
2017-04-04tool: fix Windows Unicode buildMarcel Raad
... by explicitly calling the ANSI versions of Windows API functions where required.
2016-12-02curl: support zero-length argument strings in config filesDaniel Stenberg
... like 'user-agent = ""' Adjusted test 71 to verify.
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-06-01curl_setup: Add macros for FOPEN_READTEXT, FOPEN_WRITETEXTJay Satiro
- Change fopen calls to use FOPEN_READTEXT instead of "r" or "rt" - Change fopen calls to use FOPEN_WRITETEXT instead of "w" or "wt" This change is to explicitly specify when we need to read/write text. Unfortunately 't' is not part of POSIX fopen so we can't specify it directly. Instead we now have FOPEN_READTEXT, FOPEN_WRITETEXT. Prior to this change we had an issue on Windows if an application that uses libcurl overrides the default file mode to binary. The default file mode in Windows is normally text mode (translation mode) and that's what libcurl expects. Bug: https://github.com/bagder/curl/pull/258#issuecomment-107093055 Reported-by: Orgad Shaneh
2015-04-17parsecfg: do not continue past a zero terminationDaniel Stenberg
When a config file line ends without newline, the parsing function could continue reading beyond that point in memory. Reported-by: Hanno Böck
2015-03-17checksrc: use space after commaDaniel Stenberg
2015-02-27tool: Updated the warnf() function to use the GlobalConfig structureSteve Holme
As the 'error' and 'mute' options are now part of the GlobalConfig, rather than per Operation, updated the warnf() function to use this structure rather than the OperationConfig.
2014-10-07parseconfig: skip a NULL checkDaniel Stenberg
Coverity CID 1154198. This NULL check implies that the pointer _can_ be NULL at this point, which it can't. Thus it is dead code. It tricks static analyzers to warn about dereferencing the pointer since the code seems to imply it can be NULL.
2014-03-22tool_parsecfg: Reworked error handling from commit fc59a9e1Steve Holme
2014-02-27tool_cfgable: Added GlobalConfig pointer to OperationConfigSteve Holme
In order to ease the moving of global options such as the error stream, updated the OperationConfig structure to point to the GlobalConfig.
2014-02-26tool: Added support to .curlrc for URL specific optionsSteve Holme
In addition to adding support for URL specific options via the command line with --next it is now possible to specify "next" in .curlrc.
2014-02-25tool_getparam: Added global config to getparameter()Steve Holme
In preparation for parsing global options added the GlobalConfig structure to the getparameter() function.
2014-02-23tool_cfgable: Renamed Configurable structure to OperationConfigSteve Holme
To allow for the addition of a global config structure and prevent confusion between the two.
2014-02-23tool_getparam: Moved hugehelp() call into operate()Steve Holme
2014-02-23tool_getparam: Moved tool_version_info() call into operate()Steve Holme
2014-02-22tool_cfgable: Removed list_engine flag from config structureSteve Holme
In preparation for separating the global config options from the per operation config options, reworked the list engines code to not use a member variable in the Configurable structure.
2013-12-09parseconfig: warn if unquoted white spaces are detectedDaniel Stenberg
Commit 0db811b6 made some existing config files pass on unexpected values to libcurl that made it somewhat hard to track down what was really going on. This code detects unquoted white spaces in the parameter when parsing a config file as that would be one symptom and it is generally a bad syntax anyway.
2013-11-29parseconfig: dash options can't specified with colon or equalsDaniel Stenberg
Bug: http://curl.haxx.se/bug/view.cgi?id=1297 Reported-by: Michael Osipov
2013-03-07checksrc: ban unsafe functionsDaniel Stenberg
The list of unsafe functions currently consists of sprintf, vsprintf, strcat, strncat and gets. Subsequently, some existing code needed updating to avoid warnings on this.
2013-01-06Revert changes relative to lib/*.[ch] recent renamingYang Tse
This reverts renaming and usage of lib/*.h header files done 28-12-2012, reverting 2 commits: f871de0... build: make use of 76 lib/*.h renamed files ffd8e12... build: rename 76 lib/*.h files This also reverts removal of redundant include guard (redundant thanks to changes in above commits) done 2-12-2013, reverting 1 commit: c087374... curl_setup.h: remove redundant include guard This also reverts renaming and usage of lib/*.c source files done 3-12-2013, reverting 3 commits: 13606bb... build: make use of 93 lib/*.c renamed files 5b6e792... build: rename 93 lib/*.c files 7d83dff... build: commit 13606bbfde follow-up 1 Start of related discussion thread: http://curl.haxx.se/mail/lib-2013-01/0012.html Asking for confirmation on pushing this revertion commit: http://curl.haxx.se/mail/lib-2013-01/0048.html Confirmation summary: http://curl.haxx.se/mail/lib-2013-01/0079.html NOTICE: The list of 2 files that have been modified by other intermixed commits, while renamed, and also by at least one of the 6 commits this one reverts follows below. These 2 files will exhibit a hole in history unless git's '--follow' option is used when viewing logs. lib/curl_imap.h lib/curl_smtp.h
2012-12-28build: make use of 76 lib/*.h renamed filesYang Tse
76 private header files renamed to use our standard naming scheme. This change affects 322 files in libcurl's source tree.
2012-04-08curl tool: make curl.h first header included in tool_setup.hYang Tse
2012-04-06curl tool: use configuration files from lib directoryYang Tse
Configuration files such as curl_config.h and all config-*.h no longer exist nor are generated/copied into 'src' directory, now these only exist in 'lib' directory from where curl tool sources uses them. Additionally old src/setup.h has been refactored into src/tool_setup.h which now pulls lib/setup.h The possibility of a makefile needing an include path adjustment exists.
2011-10-06curl tool: reviewed code moved to tool_*.[ch] filesYang Tse
2011-10-05curl tool: code moved to tool_*.[ch] filesYang Tse