Estimados Saludos
Alguien lo probo con xHarbour ?? , si se que Harbour seria ideal, pero tengo mucho que modificar y por ahora no tenemos tiempo, Yo he compilado y todo, pero al ejecutar me da un error :
Error irrecuperable 9011
hb_xfree llamado con un puntero nulo
Copie tal cual el ejemplo que aqui en paginas atras colocan, pero tube que comentar esta linea (abajo), porque al compilar xHarbour NO reconoce esta funcion: hb_vfSize( cFileName ), alguna idea ... GRACIAS
curl_easy_setopt( hCurl, HB_CURLOPT_INFILESIZE, hb_vfSize( cFileName ) )
el codigo que uso es este:
function sFtpSubirFichero( cUrlFileName, cFileName, aUser, aPass )
local hCurl
local nResult
local aaUser := AllTrim(aUser)
local aaPass := AllTrim(aPass)
local aCadena := aaUser+":"+aaPass
curl_global_init()
if ! empty( hCurl := curl_easy_init() )
curl_easy_setopt( hCurl, HB_CURLOPT_PROTOCOLS, HB_CURLPROTO_SFTP)
curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrlFileName )
curl_easy_setopt( hCurl, HB_CURLOPT_DL_BUFF_SETUP )
curl_easy_setopt( hCurl, HB_CURLOPT_UPLOAD )
curl_easy_setopt( hCurl, HB_CURLOPT_UL_FILE_SETUP, cFileName )
// curl_easy_setopt( hCurl, HB_CURLOPT_INFILESIZE, hb_vfSize( cFileName ) ) // lo marque porque hb_vfSize NO existe en xHB, que hacemos ??
curl_easy_setopt( hCurl, HB_CURLOPT_USERPWD, aCadena )
curl_easy_setopt( hCurl, HB_CURLOPT_TCP_KEEPALIVE, 1 )
curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYHOST, 0 )
curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYPEER, 0 )
curl_easy_setopt( hCurl, HB_CURLOPT_VERBOSE, 1 )
curl_easy_setopt( hCurl, HB_CURLOPT_USE_SSL, 0 )
if ( nResult := curl_easy_perform( hCurl ) ) == 0
nResult := curl_easy_dl_buff_get( hCurl )
else
? "error code:" + Str( nResult )
endif
endif
curl_global_cleanup()
return nResult