diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9ee04c7daa..b9bad6cfb8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,28 @@ The license applies to all entries newer than 2009-04-28. */ +2011-05-15 12:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * src/vm/set.c + * _SET_EOF default set to .T. on *nix to match other plaforms + (and Clipper I might guess) + CHECKME! + * formatting + ! missing 'break;'. it didn't cause error, anyhow pls check me + maybe it was intentional (in 'case HB_SET_PRN_CON:' branch) + CHECKME! + + * contrib/hbunix/hbunix.hbp + * contrib/hbunix/hbunix.hbx + + POSIX_SLEEP( ) -> + + * contrib/hbcurl/hbcurl.ch + * contrib/hbcurl/core.c + + added changes from latest libcurl version (untested with + latest version) + + * utils/hbmk2/hbmk2.prg + ! fixed symbol names in hbx generation for watcom/{linux|dos|os2} + 2011-05-13 21:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbmisc/udpds.prg ! added not very beautiful workaround (how to kill a thread from diff --git a/harbour/contrib/hbcurl/core.c b/harbour/contrib/hbcurl/core.c index 756d68c0db..00caaa898d 100644 --- a/harbour/contrib/hbcurl/core.c +++ b/harbour/contrib/hbcurl/core.c @@ -949,9 +949,18 @@ HB_FUNC( CURL_EASY_SETOPT ) case HB_CURLOPT_AUTOREFERER: res = curl_easy_setopt( hb_curl->curl, CURLOPT_AUTOREFERER, HB_CURL_OPT_BOOL( 3 ) ); break; - case HB_CURLOPT_ENCODING: + case HB_CURLOPT_ACCEPT_ENCODING: +#if LIBCURL_VERSION_NUM >= 0x071506 + res = curl_easy_setopt( hb_curl->curl, CURLOPT_ACCEPT_ENCODING, hb_curl_StrHash( hb_curl, hb_parc( 3 ) ) ); +#else res = curl_easy_setopt( hb_curl->curl, CURLOPT_ENCODING, hb_curl_StrHash( hb_curl, hb_parc( 3 ) ) ); +#endif break; +#if LIBCURL_VERSION_NUM >= 0x071506 + case HB_CURLOPT_TRANSFER_ENCODING: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_TRANSFER_ENCODING, hb_curl_StrHash( hb_curl, hb_parc( 3 ) ) ); + break; +#endif case HB_CURLOPT_FOLLOWLOCATION: res = curl_easy_setopt( hb_curl->curl, CURLOPT_FOLLOWLOCATION, HB_CURL_OPT_BOOL( 3 ) ); break; diff --git a/harbour/contrib/hbcurl/hbcurl.ch b/harbour/contrib/hbcurl/hbcurl.ch index b82cf488ee..e72c302596 100644 --- a/harbour/contrib/hbcurl/hbcurl.ch +++ b/harbour/contrib/hbcurl/hbcurl.ch @@ -157,7 +157,8 @@ #define HB_CURLOPT_NOSIGNAL 99 #define HB_CURLOPT_SHARE 100 #define HB_CURLOPT_PROXYTYPE 101 -#define HB_CURLOPT_ENCODING 102 +#define HB_CURLOPT_ACCEPT_ENCODING 102 +#define HB_CURLOPT_ENCODING HB_CURLOPT_ACCEPT_ENCODING #define HB_CURLOPT_PRIVATE 103 #define HB_CURLOPT_HTTP200ALIASES 104 #define HB_CURLOPT_UNRESTRICTED_AUTH 105 @@ -249,6 +250,7 @@ #define HB_CURLOPT_RTSP_SERVER_CSEQ 194 #define HB_CURLOPT_WILDCARDMATCH 197 #define HB_CURLOPT_RESOLVE 198 +#define HB_CURLOPT_TRANSFER_ENCODING 199 #define HB_CURLOPT_DOWNLOAD 1001 /* Harbour special ones */ #define HB_CURLOPT_PROGRESSBLOCK 1002 #define HB_CURLOPT_UL_FILE_SETUP 1003 @@ -456,7 +458,7 @@ #define HB_CURLE_UNSUPPORTED_PROTOCOL 1 /* */ #define HB_CURLE_FAILED_INIT 2 /* */ #define HB_CURLE_URL_MALFORMAT 3 /* */ -#define HB_CURLE_OBSOLETE4 4 /* NOT USED */ +#define HB_CURLE_NOT_BUILT_IN 4 /* */ #define HB_CURLE_COULDNT_RESOLVE_PROXY 5 /* */ #define HB_CURLE_COULDNT_RESOLVE_HOST 6 /* */ #define HB_CURLE_COULDNT_CONNECT 7 /* */ @@ -500,7 +502,8 @@ #define HB_CURLE_INTERFACE_FAILED 45 /* CURLOPT_INTERFACE failed */ #define HB_CURLE_OBSOLETE46 46 /* NOT USED */ #define HB_CURLE_TOO_MANY_REDIRECTS 47 /* catch endless re-direct loops */ -#define HB_CURLE_UNKNOWN_TELNET_OPTION 48 /* User specified an unknown option */ +#define HB_CURLE_UNKNOWN_OPTION 48 /* User specified an unknown option */ +#define HB_CURLE_UNKNOWN_TELNET_OPTION HB_CURLE_UNKNOWN_OPTION #define HB_CURLE_TELNET_OPTION_SYNTAX 49 /* Malformed telnet option */ #define HB_CURLE_OBSOLETE50 50 /* NOT USED */ #define HB_CURLE_PEER_FAILED_VERIFICATION 51 /* peer's certificate or fingerprint wasn't verified fine */ diff --git a/harbour/contrib/hbunix/hbunix.hbp b/harbour/contrib/hbunix/hbunix.hbp index a585d22c88..a167997020 100644 --- a/harbour/contrib/hbunix/hbunix.hbp +++ b/harbour/contrib/hbunix/hbunix.hbp @@ -20,4 +20,5 @@ chroot.c daemon.c posix.c posixerr.c +sleep.c uidgid.c diff --git a/harbour/contrib/hbunix/hbunix.hbx b/harbour/contrib/hbunix/hbunix.hbx index bbd77c2966..4581979ea1 100644 --- a/harbour/contrib/hbunix/hbunix.hbx +++ b/harbour/contrib/hbunix/hbunix.hbx @@ -36,6 +36,7 @@ DYNAMIC POSIX_SETEGID DYNAMIC POSIX_SETEUID DYNAMIC POSIX_SETGID DYNAMIC POSIX_SETUID +DYNAMIC POSIX_SLEEP DYNAMIC UNIX_CHROOT DYNAMIC UNIX_DAEMON diff --git a/harbour/src/vm/set.c b/harbour/src/vm/set.c index 637eb4e893..3f903b869c 100644 --- a/harbour/src/vm/set.c +++ b/harbour/src/vm/set.c @@ -312,7 +312,7 @@ static void open_handle( PHB_SET_STRUCT pSet, const char * file_name, hb_xfree( *set_value ); *set_value = NULL; - if( !szFileName ) + if( ! szFileName ) return; /* Open the file either in append (bAppend) or truncate mode (!bAppend), but @@ -1069,11 +1069,7 @@ void hb_setInitialize( PHB_SET_STRUCT pSet ) pSet->HB_SET_DELIMCHARS = hb_strdup( "::" ); pSet->HB_SET_DELIMITERS = HB_FALSE; pSet->HB_SET_DEVICE = hb_strdup( "SCREEN" ); -#if defined( HB_OS_UNIX ) - pSet->HB_SET_EOF = HB_FALSE; -#else pSet->HB_SET_EOF = HB_TRUE; -#endif pSet->HB_SET_EPOCH = 1900; pSet->HB_SET_ESCAPE = HB_TRUE; pSet->HB_SET_EVENTMASK = INKEY_KEYBOARD; @@ -1208,10 +1204,10 @@ int hb_setListenerAdd( HB_SET_LISTENER_CALLBACK * callback ) { HB_STACK_TLS_PRELOAD PHB_SET_STRUCT pSet = hb_stackSetStruct(); - PHB_SET_LISTENER p_sl = (PHB_SET_LISTENER) hb_xgrab( sizeof( HB_SET_LISTENER ) ); + PHB_SET_LISTENER p_sl = ( PHB_SET_LISTENER ) hb_xgrab( sizeof( HB_SET_LISTENER ) ); PHB_SET_LISTENER_LST pList; - if( !pSet->hb_set_listener ) + if( ! pSet->hb_set_listener ) { pSet->hb_set_listener = hb_xgrab( sizeof( HB_SET_LISTENER_LST ) ); memset( pSet->hb_set_listener, 0, sizeof( HB_SET_LISTENER_LST ) ); @@ -1240,7 +1236,7 @@ void hb_setListenerNotify( HB_set_enum set, HB_set_listener_enum when ) PHB_SET_LISTENER p_sl = pList->first; while( p_sl ) { - (* p_sl->callback)( set, when ); + ( * p_sl->callback )( set, when ); p_sl = p_sl->next; } } @@ -2739,12 +2735,13 @@ HB_FHANDLE hb_setGetPrinterHandle( int iType ) switch( iType ) { case HB_SET_PRN_DEV: - if( !pSet->hb_set_prndevice ) + if( ! pSet->hb_set_prndevice ) return FS_ERROR; break; case HB_SET_PRN_CON: - if( !pSet->HB_SET_PRINTER ) + if( ! pSet->HB_SET_PRINTER ) return FS_ERROR; + break; case HB_SET_PRN_ANY: break; default: diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 6f95c66d04..c8f55becb3 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -4121,6 +4121,10 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) cOpt_Lib := "-q {FA} {OL} {LO}{SCRIPT}" cBin_LibHBX := cBin_Lib cOpt_LibHBX := "{LI}" + IF HBMK_ISPLAT( "linux|dos|os2" ) + /* register callconv (-6r, -5r) puts an underscore after names */ + cLibHBX_Regex := "[[:space:]]_?HB_FUN_([A-Z0-9_]*)_[[:space:]]" + ENDIF IF HBMK_ISPLAT( "win|os2" ) bBlk_ImpLib := {| cSourceDLL, cTargetLib, cFlags | win_implib_command_watcom( hbmk, cBin_Lib + " -q -o={OL} {ID}", cSourceDLL, cTargetLib, cFlags ) } ENDIF