2010-07-30 09:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* include/hbsocket.h
  * src/rtl/hbsocket.c
    ! Fixed type in C level function name.

  * src/rtl/hbdoc.prg
    ! Fixed to always use CRLF as EOL in internal doc data.

  * contrib/hbtip/utils.c
    ! HB_BASE64() marked as HB_LEGACY_LEVEL3.
    + Added TIP_CRLF()

  * contrib/hbtip/smtpcli.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/ftpcli.prg
  * contrib/hbtip/mail.prg
    * Using TIP_CRLF() instead of HB_INETCRLF().

  * config/postinst.hbs
    + More meaningful message when doing 'make install' without 
      HB_INSTALL_PREFIX being set.

  * contrib/hbpost.hbm
    + Added extra protection to not try to install anything when 
      using 'install' without target dir being specified.

  * INSTALL
    * Updated to reflect the optional nature of make 'install' 
      option.
    * Updated to reflect change in HB_INSTALL_PREFIX.
    * {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
This commit is contained in:
Viktor Szakats
2010-07-30 07:56:36 +00:00
parent ff53c0f49b
commit b2b189377a
12 changed files with 106 additions and 62 deletions

View File

@@ -16,6 +16,38 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-07-30 09:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.h
* src/rtl/hbsocket.c
! Fixed type in C level function name.
* src/rtl/hbdoc.prg
! Fixed to always use CRLF as EOL in internal doc data.
* contrib/hbtip/utils.c
! HB_BASE64() marked as HB_LEGACY_LEVEL3.
+ Added TIP_CRLF()
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/mail.prg
* Using TIP_CRLF() instead of HB_INETCRLF().
* config/postinst.hbs
+ More meaningful message when doing 'make install' without
HB_INSTALL_PREFIX being set.
* contrib/hbpost.hbm
+ Added extra protection to not try to install anything when
using 'install' without target dir being specified.
* INSTALL
* Updated to reflect the optional nature of make 'install'
option.
* Updated to reflect change in HB_INSTALL_PREFIX.
* {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
2010-07-29 18:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
@@ -35,7 +67,7 @@
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
+ Added: controls to toggle code completions and completion tips.
The settings are not saved for the next run and are applicable
The settings are not saved for the next run and are applicable
per editing instance.
2010-07-29 15:49 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
@@ -49,8 +81,8 @@
* contrib/hbide/ideskeletons.prg
+ Implemented: Code Snippets->execution->Ctrl+K : inserts the snippet
if word under cursor is one of the name of a code snippet definition.
So, if you have a snippet named "doit" then immediately after
typeing "doit" you press Ctrl_K, then, instead of presenting you
So, if you have a snippet named "doit" then immediately after
typeing "doit" you press Ctrl_K, then, instead of presenting you
with menu to select a snippet, it is executed automatically.
2010-07-30 00:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

View File

@@ -49,7 +49,7 @@ HARBOUR
If you use MinGW compiler, you already have GNU Make.
You can also use included copy named win-make.exe instead.
> mingw32-make install
> mingw32-make [install]
To test it, type:
> cd tests
@@ -62,7 +62,7 @@ HARBOUR
You can also use these shells to build Harbour on Windows.
Generally it's recommended to use native shell though.
> sh -c make install
> sh -c make [install]
To test it, type:
> cd tests
@@ -84,7 +84,7 @@ HARBOUR
Unpack it to your PATH or Harbour source root directory.
You can also use included copy named dos-make.exe instead.
> make install
> make [install]
To test it, type:
> cd tests
@@ -103,7 +103,7 @@ HARBOUR
in this section.
You can also use included copy named os2-make.exe instead.
> make install
> make [install]
To test it, type:
> cd tests
@@ -115,7 +115,7 @@ HARBOUR
--------------
(possible cross-build targets: Windows, Windows CE, MS-DOS, OS/2)
$ make install [HB_PLATFORM=<...>]
$ make [install] [HB_PLATFORM=<...>]
To test it, type:
$ cd tests
@@ -129,7 +129,7 @@ HARBOUR
Platform specific prerequisite: XCode installed
$ make install [HB_PLATFORM=<...>]
$ make [install] [HB_PLATFORM=<...>]
To test it, type:
$ cd tests
@@ -150,9 +150,9 @@ HARBOUR
----------------------------------------------
(possible cross-build targets: Windows, Windows CE, MS-DOS)
$ gmake install [HB_PLATFORM=<...>]
$ gmake [install] [HB_PLATFORM=<...>]
OR
$ make install [HB_PLATFORM=<...>]
$ make [install] [HB_PLATFORM=<...>]
To test it, type:
$ cd tests
@@ -617,19 +617,18 @@ HARBOUR
- HB_USER_DFLAGS User linker options for dynamic libraries
- HB_INSTALL_PREFIX Target root directory to install Harbour files.
This will default to Harbour source tree on
non-*nix systems. On *nix systems the default
is set to /usr/local/ or $(PREFIX) if specified,
and /usr/local/harbour-<arch>-<comp> for
cross-builds. It's always set to ./pkg/<arch>/<comp>
when HB_BUILD_PKG is set to 'yes'.
Use absolute paths only. For a peace of mind,
avoid using spaces and quotes in the name.
On *nix systems the default is set to /usr/local/
or $(PREFIX) if specified, and
/usr/local/harbour-<arch>-<comp> for cross-builds.
It's always set to ./pkg/<arch>/<comp> when
HB_BUILD_PKG is set to 'yes'. On non-*nix systems,
you must set it to a valid directory when using
'install'. Use absolute paths only. For a peace of
mind, avoid using spaces and quotes in the name.
You have to use path format native to your shell.
F.e. to specify C:\dir on Windows, with Cygwin
you should use /cygdrive/c/dir, with MSYS /c/dir.
It's also possible to use following macros:
{hb_top} - Source tree root dir
{hb_plat} - Target platform
{hb_comp} - Target compiler
{hb_cpu} - Target CPU

View File

@@ -50,9 +50,7 @@ PROCEDURE Main()
IF Empty( GetEnv( "HB_PLATFORM" ) ) .OR. ;
Empty( GetEnv( "HB_COMPILER" ) ) .OR. ;
Empty( GetEnv( "HB_INSTALL_BIN" ) ) .OR. ;
Empty( GetEnv( "HB_INSTALL_LIB" ) ) .OR. ;
Empty( GetEnv( "HB_INSTALL_INC" ) )
Empty( GetEnv( "HB_HOST_BIN_DIR" ) )
OutStd( "! Error: This program has to be called from the GNU Make process." + hb_eol() )
ErrorLevel( 1 )
@@ -101,14 +99,17 @@ PROCEDURE Main()
OutStd( hb_StrFormat( "! Error: Cannot create directory '%1$s'", GetEnv( "HB_INSTALL_ETC" ) ) + hb_eol() )
ENDIF
OutStd( "! Creating *nix ld config file..." + hb_eol() )
IF ! Empty( GetEnv( "HB_INSTALL_LIB" ) )
tmp := GetEnv( "HB_INSTALL_ETC" ) + hb_ps() + ".." + hb_ps() + "ld.so.conf.d"
IF DirBuild( tmp )
/* TOFIX: Put HB_INSTALL_LIB without build sandbox prefix */
hb_MemoWrit( tmp + hb_ps() + "harbour.conf", GetEnv( "HB_INSTALL_LIB" ) + hb_eol() )
ELSE
OutStd( hb_StrFormat( "! Error: Cannot create directory '%1$s'", tmp ) + hb_eol() )
OutStd( "! Creating *nix ld config file..." + hb_eol() )
tmp := GetEnv( "HB_INSTALL_ETC" ) + hb_ps() + ".." + hb_ps() + "ld.so.conf.d"
IF DirBuild( tmp )
/* TOFIX: Put HB_INSTALL_LIB without build sandbox prefix */
hb_MemoWrit( tmp + hb_ps() + "harbour.conf", GetEnv( "HB_INSTALL_LIB" ) + hb_eol() )
ELSE
OutStd( hb_StrFormat( "! Error: Cannot create directory '%1$s'", tmp ) + hb_eol() )
ENDIF
ENDIF
ENDIF
@@ -163,16 +164,19 @@ PROCEDURE Main()
/* Creating language files */
OutStd( "! Making core translation (.hbl) files..." + hb_eol() )
IF ! Empty( GetEnv( "HB_INSTALL_BIN" ) )
FOR EACH tmp IN Directory( "utils" + hb_ps() + hb_osFileMask(), "D" )
IF "D" $ tmp[ F_ATTR ] .AND. !( tmp[ F_NAME ] == "." ) .AND. !( tmp[ F_NAME ] == ".." )
FOR EACH aFile IN Directory( "utils" + hb_ps() + tmp[ F_NAME ] + hb_ps() + "*.po" )
mk_hbl( "utils" + hb_ps() + tmp[ F_NAME ] + hb_ps() + aFile[ F_NAME ],;
PathSepToSelf( GetEnv( "HB_INSTALL_BIN" ) ) + hb_ps() + FNameExtSet( aFile[ F_NAME ], ".hbl" ) )
NEXT
ENDIF
NEXT
OutStd( "! Making core translation (.hbl) files..." + hb_eol() )
FOR EACH tmp IN Directory( "utils" + hb_ps() + hb_osFileMask(), "D" )
IF "D" $ tmp[ F_ATTR ] .AND. !( tmp[ F_NAME ] == "." ) .AND. !( tmp[ F_NAME ] == ".." )
FOR EACH aFile IN Directory( "utils" + hb_ps() + tmp[ F_NAME ] + hb_ps() + "*.po" )
mk_hbl( "utils" + hb_ps() + tmp[ F_NAME ] + hb_ps() + aFile[ F_NAME ],;
PathSepToSelf( GetEnv( "HB_INSTALL_BIN" ) ) + hb_ps() + FNameExtSet( aFile[ F_NAME ], ".hbl" ) )
NEXT
ENDIF
NEXT
ENDIF
/* Creating docs for core */

View File

@@ -42,11 +42,11 @@
{hblib}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
{hbexe|hbdyn}-workdir=../bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
{_HB_BUILD_INSTALL&hblib}-instpath=${_HB_INSTALL_LIB}/
{_HB_BUILD_INSTALL&hbexe}-instpath=${_HB_INSTALL_BIN}/
{_HB_BUILD_INSTALL&hbdyn}-instpath=${_HB_INSTALL_DYN}/
{_HB_BUILD_INSTALL&hblib}-instpath=inc:${_HB_INSTALL_INC}/
{_HB_BUILD_INSTALL}-instpath=etc:${_HB_INSTALL_ETC}/
{_HB_BUILD_INSTALL}-instpath=man:${_HB_INSTALL_MAN}/
{_HB_BUILD_INSTALL&HB_INSTALL_IMPLIB='yes'}-instpath=implib:${_HB_INSTALL_LIB}/
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB&hblib}-instpath=${_HB_INSTALL_LIB}/
{_HB_BUILD_INSTALL&_HB_INSTALL_BIN&hbexe}-instpath=${_HB_INSTALL_BIN}/
{_HB_BUILD_INSTALL&_HB_INSTALL_DYN&hbdyn}-instpath=${_HB_INSTALL_DYN}/
{_HB_BUILD_INSTALL&_HB_INSTALL_INC&hblib}-instpath=inc:${_HB_INSTALL_INC}/
{_HB_BUILD_INSTALL&_HB_INSTALL_ETC}-instpath=etc:${_HB_INSTALL_ETC}/
{_HB_BUILD_INSTALL&_HB_INSTALL_MAN}-instpath=man:${_HB_INSTALL_MAN}/
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB&HB_INSTALL_IMPLIB='yes'}-instpath=implib:${_HB_INSTALL_LIB}/
{_HB_BUILD_INSTALL}-instforce

View File

@@ -91,7 +91,7 @@
CREATE CLASS tIPClient
CLASSDATA bInitSocks INIT .F.
CLASSDATA cCRLF INIT hb_inetCRLF()
CLASSDATA cCRLF INIT tip_CRLF()
VAR oUrl /* url to wich to connect */
VAR oCredentials /* credential needed to access the service */

View File

@@ -618,11 +618,11 @@ METHOD MPUT( cFileSpec, cAttr ) CLASS tIPClientFTP
FOR EACH aFile IN Directory( cPath + cFile + cExt, cAttr )
IF ::uploadFile( cPath + aFile[ F_NAME ], aFile[ F_NAME ] )
cStr += hb_inetCrlf() + aFile[ F_NAME ]
cStr += tip_CRLF() + aFile[ F_NAME ]
ENDIF
NEXT
RETURN SubStr( cStr, Len( hb_inetCrlf() ) + 1 )
RETURN SubStr( cStr, Len( tip_CRLF() ) + 1 )
METHOD UpLoadFile( cLocalFile, cRemoteFile ) CLASS tIPClientFTP

View File

@@ -561,7 +561,7 @@ METHOD setHeader( cSubject, cFrom, xTo, xCC, xBCC ) CLASS TipMail
imax := Len( aTO )
FOR i := 1 TO imax
IF i > 1
cTo += "," + hb_inetCrlf() + " "
cTo += "," + tip_CRLF() + " "
ENDIF
cTo += LTrim( WordEncodeQ( tip_GetNameEMail( AllTrim( aTo[ i ] ) ), ::cCharset ) + " <" + tip_GetRawEMail( AllTrim( aTo[ i ] ) ) + ">" )
NEXT
@@ -579,7 +579,7 @@ METHOD setHeader( cSubject, cFrom, xTo, xCC, xBCC ) CLASS TipMail
imax := Len( aCC )
FOR i := 2 TO imax
IF i > 1
cCC += "," + hb_inetCrlf() + " "
cCC += "," + tip_CRLF() + " "
ENDIF
cCC += LTrim( WordEncodeQ( tip_GetNameEMail( AllTrim( aCC[ i ] ) ), ::cCharset ) + " <" + tip_GetRawEMail( AllTrim( aCC[ i ] ) ) + ">" )
NEXT
@@ -594,7 +594,7 @@ METHOD setHeader( cSubject, cFrom, xTo, xCC, xBCC ) CLASS TipMail
imax := Len( aBCC )
FOR i := 2 TO imax
IF i > 1
cBCC += "," + hb_inetCrlf() + " "
cBCC += "," + tip_CRLF() + " "
ENDIF
cBCC += LTrim( WordEncodeQ( tip_GetNameEMail( AllTrim( aBCC[ i ] ) ), ::cCharset ) + " <" + tip_GetRawEMail( AllTrim( aBCC[ i ] ) ) + ">" )
NEXT

View File

@@ -282,7 +282,7 @@ METHOD SendMail( oTIpMail ) CLASS TIpClientSmtp
::mail( oTIpMail:getFieldPart( "From" ) )
cTo := oTIpMail:getFieldPart( "To" )
cTo := StrTran( cTo, hb_inetCRLF() )
cTo := StrTran( cTo, tip_CRLF() )
cTo := StrTran( cTo, Chr( 9 ) )
cTo := StrTran( cTo, Chr( 32 ) )

View File

@@ -667,9 +667,18 @@ HB_FUNC( TIP_HTMLSPECIALCHARS )
hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) );
}
#if defined( HB_LEGACY_LEVEL3 )
HB_FUNC_EXTERN( HB_BASE64ENCODE );
HB_FUNC( HB_BASE64 )
{
HB_FUNC_EXEC( HB_BASE64ENCODE );
}
#endif
HB_FUNC( TIP_CRLF )
{
hb_retc_const( "\r\n" );
}

View File

@@ -73,7 +73,7 @@ extern HB_EXPORT void hb_socketCleanup( void );
extern HB_EXPORT int hb_socketGetError( void );
extern HB_EXPORT int hb_socketGetOsError( void );
extern HB_EXPORT const char * hb_socketErrorStr( int iError );
extern HB_EXPORT int hb_socketGetAddrFamilly( const void * pSockAddr, unsigned len );
extern HB_EXPORT int hb_socketGetAddrFamily( const void * pSockAddr, unsigned len );
extern HB_EXPORT HB_BOOL hb_socketLocalAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr );
extern HB_EXPORT HB_BOOL hb_socketInetAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort );
extern HB_EXPORT HB_BOOL hb_socketInet6Addr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort );

View File

@@ -202,7 +202,7 @@ STATIC PROCEDURE __hbdoc__read_stream( aEntry, cFile, cFileName, hMeta, aErrMsg
ENDIF
ELSEIF ! Empty( cSection )
IF ! Empty( hEntry[ cSection ] )
hEntry[ cSection ] += hb_eol()
hEntry[ cSection ] += Chr( 13 ) + Chr( 10 )
ENDIF
hEntry[ cSection ] += cLine
ELSEIF ! Empty( cLine )

View File

@@ -389,7 +389,7 @@ int hb_socketInit( void ) { return -1; }
void hb_socketCleanup( void ) { ; }
int hb_socketGetAddrFamilly( const void * pSockAddr, unsigned len )
int hb_socketGetAddrFamily( const void * pSockAddr, unsigned len )
{
HB_SYMBOL_UNUSED( pSockAddr );
HB_SYMBOL_UNUSED( len );
@@ -1599,7 +1599,7 @@ static int hb_socketSelectWRE( HB_SOCKET sd, HB_MAXINT timeout )
( iResult > 0 && FD_ISSET( sd, &wfds ) ? 1 : 0 );
}
int hb_socketGetAddrFamilly( const void * pSockAddr, unsigned len )
int hb_socketGetAddrFamily( const void * pSockAddr, unsigned len )
{
return pSockAddr && len ? ( ( struct sockaddr * ) pSockAddr )->sa_family : -1;
}
@@ -1728,7 +1728,7 @@ char * hb_socketAddrGetName( const void * pSockAddr, unsigned len )
{
char * szName = NULL;
switch( hb_socketGetAddrFamilly( pSockAddr, len ) )
switch( hb_socketGetAddrFamily( pSockAddr, len ) )
{
#if defined( AF_INET )
case AF_INET:
@@ -1800,7 +1800,7 @@ int hb_socketAddrGetPort( const void * pSockAddr, unsigned len )
{
int iPort = -1;
switch( hb_socketGetAddrFamilly( pSockAddr, len ) )
switch( hb_socketGetAddrFamily( pSockAddr, len ) )
{
#if defined( AF_INET )
case AF_INET:
@@ -1877,7 +1877,7 @@ PHB_ITEM hb_socketAddrToItem( const void * pSockAddr, unsigned len )
{
PHB_ITEM pAddrItm = NULL;
switch( hb_socketGetAddrFamilly( pSockAddr, len ) )
switch( hb_socketGetAddrFamily( pSockAddr, len ) )
{
#if defined( AF_INET )
case AF_INET:
@@ -2718,7 +2718,7 @@ HB_BOOL hb_socketResolveInetAddr( void ** pSockAddr, unsigned * puiLen, const ch
if( getaddrinfo( szAddr, NULL, &hints, &res ) == 0 )
{
if( ( int ) res->ai_addrlen >= ( int ) sizeof( struct sockaddr_in ) &&
hb_socketGetAddrFamilly( res->ai_addr, res->ai_addrlen ) == AF_INET )
hb_socketGetAddrFamily( res->ai_addr, res->ai_addrlen ) == AF_INET )
{
sa.sin_addr.s_addr = ( ( struct sockaddr_in * ) res->ai_addr )->sin_addr.s_addr;
fTrans = HB_TRUE;
@@ -3212,7 +3212,7 @@ PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases )
#elif defined( HB_OS_WIN )
HB_SOCKET sd;
/* TODO: add suport for IP6 */
/* TODO: add support for IP6 */
/* TODO: implement it */
HB_SYMBOL_UNUSED( fNoAliases );