Loading src/Makefile.am +2 −4 Original line number Diff line number Diff line Loading @@ -16,9 +16,7 @@ bin_PROGRAMS = curl #memtest curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c setup.h \ config-win32.h config-mac.h config-vms.h config-riscos.h \ urlglob.h \ version.h \ writeout.h urlglob.h version.h writeout.h writeenv.c writeenv.h curl_LDADD = ../lib/libcurl.la curl_DEPENDENCIES = ../lib/libcurl.la Loading @@ -27,7 +25,7 @@ CLEANFILES = hugehelp.c NROFF=@NROFF@ EXTRA_DIST = mkhelp.pl curlmsg.msg \ Makefile.vc6 Makefile.b32 Makefile.m32 config.h.in \ Makefile.vc6 Makefile.b32 Makefile.m32 Makefile.riscos config.h.in \ macos/curl.mcp.xml.sit.hqx \ macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp \ Loading src/writeenv.c 0 → 100644 +105 −0 Original line number Diff line number Diff line /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. * * In order to be useful for every potential user, curl and libcurl are * dual-licensed under the MPL and the MIT/X-derivate licenses. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the MPL or the MIT/X-derivate * licenses. You may pick one of these licenses. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * *****************************************************************************/ #include "setup.h" #include <curl/curl.h> #include "writeout.h" #ifdef __riscos__ #include <kernel.h> #endif struct { const char * name; CURLINFO id; enum { writeenv_DOUBLE, writeenv_LONG, writeenv_STRING } type; } variables[14] = { {"curl_url_effective", CURLINFO_EFFECTIVE_URL, writeenv_STRING}, {"curl_http_code", CURLINFO_HTTP_CODE, writeenv_LONG}, {"curl_time_total", CURLINFO_TOTAL_TIME, writeenv_DOUBLE}, {"curl_time_namelookup", CURLINFO_NAMELOOKUP_TIME, writeenv_DOUBLE}, {"curl_time_connect", CURLINFO_CONNECT_TIME, writeenv_DOUBLE}, {"curl_time_pretransfer", CURLINFO_PRETRANSFER_TIME, writeenv_DOUBLE}, {"curl_time_starttransfer", CURLINFO_STARTTRANSFER_TIME, writeenv_DOUBLE}, {"curl_size_header", CURLINFO_HEADER_SIZE, writeenv_LONG}, {"curl_size_request", CURLINFO_REQUEST_SIZE, writeenv_LONG}, {"curl_size_download", CURLINFO_SIZE_DOWNLOAD, writeenv_DOUBLE}, {"curl_size_upload", CURLINFO_SIZE_UPLOAD, writeenv_DOUBLE}, {"curl_speed_download", CURLINFO_SPEED_DOWNLOAD, writeenv_DOUBLE}, {"curl_speed_upload", CURLINFO_SPEED_UPLOAD, writeenv_DOUBLE}, {NULL, 0} }; static void internalSetEnv(const char * name, char * value) { /* Add your OS-specific code here. */ #ifdef __riscos__ _kernel_setenv(name, value); #endif return; } void ourWriteEnv(CURL *curl) { unsigned int i; char *string, numtext[10]; long longinfo; double doubleinfo; for (i=0; variables[i].name; i++) { switch (variables[i].type) { case writeenv_STRING: if (curl_easy_getinfo(curl, variables[i].id, &string) == CURLE_OK) internalSetEnv(variables[i].name, string); else internalSetEnv(variables[i].name, NULL); break; case writeenv_LONG: if (curl_easy_getinfo(curl, variables[i].id, &longinfo) == CURLE_OK) { sprintf(numtext, "%5i", longinfo); internalSetEnv(variables[i].name, numtext); } else internalSetEnv(variables[i].name, NULL); break; case writeenv_DOUBLE: if (curl_easy_getinfo(curl, variables[i].id, &doubleinfo) == CURLE_OK) { sprintf(numtext, "%6.2f", doubleinfo); internalSetEnv(variables[i].name, numtext); } else internalSetEnv(variables[i].name, NULL); break; } } return; } src/writeenv.h 0 → 100644 +27 −0 Original line number Diff line number Diff line #ifndef __WRITEENV_H #define __WRITEENV_H /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. * * In order to be useful for every potential user, curl and libcurl are * dual-licensed under the MPL and the MIT/X-derivate licenses. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the MPL or the MIT/X-derivate * licenses. You may pick one of these licenses. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * *****************************************************************************/ void ourWriteEnv(CURL *curl); #endif Loading
src/Makefile.am +2 −4 Original line number Diff line number Diff line Loading @@ -16,9 +16,7 @@ bin_PROGRAMS = curl #memtest curl_SOURCES = main.c hugehelp.c urlglob.c writeout.c setup.h \ config-win32.h config-mac.h config-vms.h config-riscos.h \ urlglob.h \ version.h \ writeout.h urlglob.h version.h writeout.h writeenv.c writeenv.h curl_LDADD = ../lib/libcurl.la curl_DEPENDENCIES = ../lib/libcurl.la Loading @@ -27,7 +25,7 @@ CLEANFILES = hugehelp.c NROFF=@NROFF@ EXTRA_DIST = mkhelp.pl curlmsg.msg \ Makefile.vc6 Makefile.b32 Makefile.m32 config.h.in \ Makefile.vc6 Makefile.b32 Makefile.m32 Makefile.riscos config.h.in \ macos/curl.mcp.xml.sit.hqx \ macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp \ Loading
src/writeenv.c 0 → 100644 +105 −0 Original line number Diff line number Diff line /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. * * In order to be useful for every potential user, curl and libcurl are * dual-licensed under the MPL and the MIT/X-derivate licenses. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the MPL or the MIT/X-derivate * licenses. You may pick one of these licenses. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * *****************************************************************************/ #include "setup.h" #include <curl/curl.h> #include "writeout.h" #ifdef __riscos__ #include <kernel.h> #endif struct { const char * name; CURLINFO id; enum { writeenv_DOUBLE, writeenv_LONG, writeenv_STRING } type; } variables[14] = { {"curl_url_effective", CURLINFO_EFFECTIVE_URL, writeenv_STRING}, {"curl_http_code", CURLINFO_HTTP_CODE, writeenv_LONG}, {"curl_time_total", CURLINFO_TOTAL_TIME, writeenv_DOUBLE}, {"curl_time_namelookup", CURLINFO_NAMELOOKUP_TIME, writeenv_DOUBLE}, {"curl_time_connect", CURLINFO_CONNECT_TIME, writeenv_DOUBLE}, {"curl_time_pretransfer", CURLINFO_PRETRANSFER_TIME, writeenv_DOUBLE}, {"curl_time_starttransfer", CURLINFO_STARTTRANSFER_TIME, writeenv_DOUBLE}, {"curl_size_header", CURLINFO_HEADER_SIZE, writeenv_LONG}, {"curl_size_request", CURLINFO_REQUEST_SIZE, writeenv_LONG}, {"curl_size_download", CURLINFO_SIZE_DOWNLOAD, writeenv_DOUBLE}, {"curl_size_upload", CURLINFO_SIZE_UPLOAD, writeenv_DOUBLE}, {"curl_speed_download", CURLINFO_SPEED_DOWNLOAD, writeenv_DOUBLE}, {"curl_speed_upload", CURLINFO_SPEED_UPLOAD, writeenv_DOUBLE}, {NULL, 0} }; static void internalSetEnv(const char * name, char * value) { /* Add your OS-specific code here. */ #ifdef __riscos__ _kernel_setenv(name, value); #endif return; } void ourWriteEnv(CURL *curl) { unsigned int i; char *string, numtext[10]; long longinfo; double doubleinfo; for (i=0; variables[i].name; i++) { switch (variables[i].type) { case writeenv_STRING: if (curl_easy_getinfo(curl, variables[i].id, &string) == CURLE_OK) internalSetEnv(variables[i].name, string); else internalSetEnv(variables[i].name, NULL); break; case writeenv_LONG: if (curl_easy_getinfo(curl, variables[i].id, &longinfo) == CURLE_OK) { sprintf(numtext, "%5i", longinfo); internalSetEnv(variables[i].name, numtext); } else internalSetEnv(variables[i].name, NULL); break; case writeenv_DOUBLE: if (curl_easy_getinfo(curl, variables[i].id, &doubleinfo) == CURLE_OK) { sprintf(numtext, "%6.2f", doubleinfo); internalSetEnv(variables[i].name, numtext); } else internalSetEnv(variables[i].name, NULL); break; } } return; }
src/writeenv.h 0 → 100644 +27 −0 Original line number Diff line number Diff line #ifndef __WRITEENV_H #define __WRITEENV_H /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2002, Daniel Stenberg, <daniel@haxx.se>, et al. * * In order to be useful for every potential user, curl and libcurl are * dual-licensed under the MPL and the MIT/X-derivate licenses. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the MPL or the MIT/X-derivate * licenses. You may pick one of these licenses. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * *****************************************************************************/ void ourWriteEnv(CURL *curl); #endif