aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJay Satiro <raysatiro@yahoo.com>2015-06-01 03:20:18 -0400
committerJay Satiro <raysatiro@yahoo.com>2015-06-01 03:21:23 -0400
commite8423f9ce1507c749c559f1ac1847fa433e66c45 (patch)
treee8596020f27127160bfeedd51ecbc6b95da2c4d5 /src
parent9f5dcab83d77b2331ed2716f901e5cb4a0c17529 (diff)
curl_setup: Add macros for FOPEN_READTEXT, FOPEN_WRITETEXT
- 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
Diffstat (limited to 'src')
-rw-r--r--src/tool_cb_dbg.c2
-rw-r--r--src/tool_easysrc.c2
-rw-r--r--src/tool_getparam.c4
-rw-r--r--src/tool_parsecfg.c4
4 files changed, 6 insertions, 6 deletions
diff --git a/src/tool_cb_dbg.c b/src/tool_cb_dbg.c
index 0fe0f1347..f52714683 100644
--- a/src/tool_cb_dbg.c
+++ b/src/tool_cb_dbg.c
@@ -79,7 +79,7 @@ int tool_debug_cb(CURL *handle, curl_infotype type,
/* Ok, this is somewhat hackish but we do it undocumented for now */
config->trace_stream = config->errors; /* aka stderr */
else {
- config->trace_stream = fopen(config->trace_dump, "w");
+ config->trace_stream = fopen(config->trace_dump, FOPEN_WRITETEXT);
config->trace_fopened = TRUE;
}
}
diff --git a/src/tool_easysrc.c b/src/tool_easysrc.c
index e1336c3d9..0482ef6ae 100644
--- a/src/tool_easysrc.c
+++ b/src/tool_easysrc.c
@@ -176,7 +176,7 @@ void dumpeasysrc(struct GlobalConfig *config)
FILE *out;
bool fopened = FALSE;
if(strcmp(o, "-")) {
- out = fopen(o, "w");
+ out = fopen(o, FOPEN_WRITETEXT);
fopened = TRUE;
}
else
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 62283a5dd..c86e6b4b1 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -681,7 +681,7 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
case 'v': /* --stderr */
if(strcmp(nextarg, "-")) {
- FILE *newfile = fopen(nextarg, "wt");
+ FILE *newfile = fopen(nextarg, FOPEN_WRITETEXT);
if(!newfile)
warnf(global, "Failed to open %s!\n", nextarg);
else {
@@ -1748,7 +1748,7 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
}
else {
fname = nextarg;
- file = fopen(nextarg, "r");
+ file = fopen(nextarg, FOPEN_READTEXT);
}
err = file2string(&config->writeout, file);
if(file && (file != stdin))
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index 4c25ddbd5..39b43eef4 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -69,7 +69,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
/* Check if the file exists - if not, try CURLRC in the same
* directory as our executable
*/
- file = fopen(filebuffer, "r");
+ file = fopen(filebuffer, FOPEN_READTEXT);
if(file != NULL) {
fclose(file);
filename = filebuffer;
@@ -115,7 +115,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
}
if(strcmp(filename, "-"))
- file = fopen(filename, "r");
+ file = fopen(filename, FOPEN_READTEXT);
else
file = stdin;