FSString FSSys::StrError( int err ) { sys_char_t buf[1024]; FSString ret; ret.SetSys( sys_error_str( err, buf, 0x100 ) ); return ret; }
FSString FSWin32Net::StrError( int err ) { if ( err == ERRNOSUPPORT ) { return FSString( "Operation not supported by net fs" ); } FSString ret; sys_char_t buf[1024]; ret.SetSys( sys_error_str( err, buf, 0x100 ) ); return ret; }
FSString FSSftp::StrError( int err ) { const char* s = ""; if ( err < -500 ) { switch ( err + 1000 ) { case LIBSSH2_ERROR_SOCKET_NONE: s = "LIBSSH2_ERROR_SOCKET_NONE"; break; case LIBSSH2_ERROR_BANNER_RECV: s = "LIBSSH2_ERROR_BANNER_RECV"; break; case LIBSSH2_ERROR_BANNER_SEND: s = "LIBSSH2_ERROR_BANNER_SEND"; break; case LIBSSH2_ERROR_INVALID_MAC: s = "LIBSSH2_ERROR_INVALID_MAC"; break; case LIBSSH2_ERROR_KEX_FAILURE: s = "LIBSSH2_ERROR_KEX_FAILURE"; break; case LIBSSH2_ERROR_ALLOC: s = "LIBSSH2_ERROR_ALLOC"; break; case LIBSSH2_ERROR_SOCKET_SEND: s = "LIBSSH2_ERROR_SOCKET_SEND"; break; case LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE: s = "LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE"; break; case LIBSSH2_ERROR_TIMEOUT: s = "LIBSSH2_ERROR_TIMEOUT"; break; case LIBSSH2_ERROR_HOSTKEY_INIT: s = "LIBSSH2_ERROR_HOSTKEY_INIT"; break; case LIBSSH2_ERROR_HOSTKEY_SIGN: s = "LIBSSH2_ERROR_HOSTKEY_SIGN"; break; case LIBSSH2_ERROR_DECRYPT: s = "LIBSSH2_ERROR_DECRYPT"; break; case LIBSSH2_ERROR_SOCKET_DISCONNECT: s = "LIBSSH2_ERROR_SOCKET_DISCONNECT"; break; case LIBSSH2_ERROR_PROTO: s = "LIBSSH2_ERROR_PROTO"; break; case LIBSSH2_ERROR_PASSWORD_EXPIRED: s = "LIBSSH2_ERROR_PASSWORD_EXPIRED"; break; case LIBSSH2_ERROR_FILE: s = "LIBSSH2_ERROR_FILE"; break; case LIBSSH2_ERROR_METHOD_NONE: s = "LIBSSH2_ERROR_METHOD_NONE"; break; case LIBSSH2_ERROR_AUTHENTICATION_FAILED: s = "Authentication failed"; break; case LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED: s = "LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED"; break; case LIBSSH2_ERROR_CHANNEL_OUTOFORDER: s = "LIBSSH2_ERROR_CHANNEL_OUTOFORDER"; break; case LIBSSH2_ERROR_CHANNEL_FAILURE: s = "LIBSSH2_ERROR_CHANNEL_FAILURE"; break; case LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED: s = "LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED"; break; case LIBSSH2_ERROR_CHANNEL_UNKNOWN: s = "LIBSSH2_ERROR_CHANNEL_UNKNOWN"; break; case LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED: s = "LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED"; break; case LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED: s = "LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED"; break; case LIBSSH2_ERROR_CHANNEL_CLOSED: s = "LIBSSH2_ERROR_CHANNEL_CLOSED"; break; case LIBSSH2_ERROR_CHANNEL_EOF_SENT: s = "LIBSSH2_ERROR_CHANNEL_EOF_SENT"; break; case LIBSSH2_ERROR_SCP_PROTOCOL: s = "LIBSSH2_ERROR_SCP_PROTOCOL"; break; case LIBSSH2_ERROR_ZLIB: s = "LIBSSH2_ERROR_ZLIB"; break; case LIBSSH2_ERROR_SOCKET_TIMEOUT: s = "LIBSSH2_ERROR_SOCKET_TIMEOUT"; break; case LIBSSH2_ERROR_SFTP_PROTOCOL: s = "LIBSSH2_ERROR_SFTP_PROTOCOL"; break; case LIBSSH2_ERROR_REQUEST_DENIED: s = "LIBSSH2_ERROR_REQUEST_DENIED"; break; case LIBSSH2_ERROR_METHOD_NOT_SUPPORTED: s = "LIBSSH2_ERROR_METHOD_NOT_SUPPORTED"; break; case LIBSSH2_ERROR_INVAL: s = "LIBSSH2_ERROR_INVAL"; break; case LIBSSH2_ERROR_INVALID_POLL_TYPE: s = "LIBSSH2_ERROR_INVALID_POLL_TYPE"; break; case LIBSSH2_ERROR_PUBLICKEY_PROTOCOL: s = "LIBSSH2_ERROR_PUBLICKEY_PROTOCOL"; break; case LIBSSH2_ERROR_EAGAIN: s = "LIBSSH2_ERROR_EAGAIN"; break; case LIBSSH2_ERROR_BUFFER_TOO_SMALL: s = "LIBSSH2_ERROR_BUFFER_TOO_SMALL"; break; case LIBSSH2_ERROR_BAD_USE: s = "LIBSSH2_ERROR_BAD_USE"; break; case LIBSSH2_ERROR_COMPRESS: s = "LIBSSH2_ERROR_COMPRESS"; break; case LIBSSH2_ERROR_OUT_OF_BOUNDARY: s = "LIBSSH2_ERROR_OUT_OF_BOUNDARY"; break; case LIBSSH2_ERROR_AGENT_PROTOCOL: s = "LIBSSH2_ERROR_AGENT_PROTOCOL"; break; case LIBSSH2_ERROR_SOCKET_RECV: s = "LIBSSH2_ERROR_SOCKET_RECV"; break; case LIBSSH2_ERROR_ENCRYPT: s = "LIBSSH2_ERROR_ENCRYPT"; break; case LIBSSH2_ERROR_BAD_SOCKET: s = "LIBSSH2_ERROR_BAD_SOCKET"; break; default: s = "LIBSSH2_ERROR_???"; break; } } else { switch ( err ) { case SSH_INTERROR_NOTSUPPORT: s = "not supported operation"; break; case SSH_INTERROR_X3: s = "X3"; break; case SSH_INTERROR_CONNECT: s = "connection failed"; break; case SSH_INTERROR_AUTH: s = "authorization failed"; break; case SSH_INTERROR_FATAL: s = "fatal ssh error"; break; case SSH_INTERROR_STOPPED: s = "Process stopped"; break; default: if ( err >= 0 ) { sys_char_t buf[0x100]; FSString str; str.SetSys( sys_error_str( err, buf, 0x100 ) ); return str; } char buf[0x100]; snprintf( buf, sizeof( buf ), "err : %i ???", err ); FSString str( CS_UTF8, buf ); return str; } } return FSString( CS_UTF8, s ); }