Merge: doc: fixed some typos and other misc. corrections
[nit.git] / lib / curl / native_curl.nit
index f802e75..d3ed43a 100644 (file)
@@ -87,9 +87,9 @@ extern class NativeCurl `{ CURL * `}
        fun easy_setopt(opt: CURLOption, obj: Object): CURLCode
        do
                if obj isa Int then return native_setopt_int(opt, obj)
-               if obj isa Bool and obj == true then return native_setopt_int(opt, 1)
-               if obj isa Bool and obj == false then return native_setopt_int(opt, 0)
-               if obj isa String then return native_setopt_string(opt, obj)
+               if obj == true then return native_setopt_int(opt, 1)
+               if obj == false then return native_setopt_int(opt, 0)
+               if obj isa String then return native_setopt_string(opt, obj.to_cstring)
                if obj isa FileWriter then return native_setopt_file(opt, obj._file.as(not null))
                if obj isa CURLSList then return native_setopt_slist(opt, obj)
                return once new CURLCode.unknown_option
@@ -107,9 +107,8 @@ extern class NativeCurl `{ CURL * `}
        private fun native_setopt_slist(opt: CURLOption, list: CURLSList): CURLCode `{ return curl_easy_setopt( self, opt, list); `}
 
        # Internal method to set options to CURL using String parameter.
-       private fun native_setopt_string(opt: CURLOption, str: String): CURLCode import String.to_cstring `{
-               char *rStr = String_to_cstring(str);
-               return curl_easy_setopt( self, opt, rStr);
+       private fun native_setopt_string(opt: CURLOption, str: CString): CURLCode `{
+               return curl_easy_setopt( self, opt, str);
        `}
 
        # Request Chars internal information from the CURL session
@@ -121,7 +120,7 @@ extern class NativeCurl `{ CURL * `}
                 return answ.item.to_s
        end
 
-       # Internal method used to get String object information initially knowns as C Chars type
+       # Internal method used to get String object information initially known as C Chars type
        private fun native_getinfo_chars(opt: CURLInfoChars, res: Ref[CString]): CURLCode
        import Ref[CString].item= `{
                char *r;
@@ -250,11 +249,11 @@ extern class NativeCurl `{ CURL * `}
        `}
 
        # Convert given string to URL encoded string
-       fun escape(url: String): String import String.to_cstring, CString.to_s_with_copy `{
+       fun escape(url: String): String import String.to_cstring, CString.to_s `{
                char *orig_url, *encoded_url = NULL;
                orig_url = String_to_cstring(url);
                encoded_url = curl_easy_escape( self, orig_url, strlen(orig_url));
-               String b_url = CString_to_s_with_copy(encoded_url);
+               String b_url = CString_to_s(encoded_url);
                curl_free(encoded_url);
                return b_url;
        `}
@@ -279,9 +278,9 @@ extern class CURLCode `{ CURLcode `}
        fun is_valid_protocol: Bool `{ return self == CURLE_UNSUPPORTED_PROTOCOL; `}
        fun is_valid_init: Bool `{ return self == CURLE_FAILED_INIT; `}
        fun to_i: Int do return code end
-       redef fun to_s import CString.to_s_with_copy `{
+       redef fun to_s import CString.to_s `{
                char *c = (char*)curl_easy_strerror(self);
-               return CString_to_s_with_copy(c);
+               return CString_to_s(c);
        `}
 end
 
@@ -324,7 +323,7 @@ extern class CURLSList `{ struct curl_slist * `}
                var r = new Array[String]
                var cursor = self
                loop
-                       if native_data_reachable(cursor) != true then break
+                       if not native_data_reachable(cursor) then break
                        r.add(native_data(cursor))
                        cursor = native_next(cursor)
                end
@@ -753,6 +752,10 @@ extern class CURLOption `{ CURLoption `}
 #      new     `{ return CURLOPT_SSH_KEYFUNCTION; `}
 #      new     `{ return CURLOPT_SSH_KEYDATA; `}
 
+       # TELNET Options
+
+#      new     `{ return CURLOPT_TELNETOPTIONS; `}
+
        # Other Options
 
 #      new     `{ return CURLOPT_PRIVATE; `}
@@ -760,7 +763,6 @@ extern class CURLOption `{ CURLoption `}
 #      new     `{ return CURLOPT_NEW_FILE_PERMS; `}
 #      new     `{ return CURLOPT_NEW_DIRECTORY_PERMS; `}
 
-       # TELNET Options
-
-#      new     `{ return CURLOPT_TELNETOPTIONS; `}
+       # Set the Unix domain socket
+       new unix_socket_path `{ return CURLOPT_UNIX_SOCKET_PATH; `}
 end