Files
harbour-core/harbour/contrib/hbgt/charmixg.c
Viktor Szakats 0407f7eccb 2012-07-18 18:15 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbgt/tests/test.prg
    * formatting (manual)

  * contrib/hbct/bitnum.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/charonly.c
  * contrib/hbct/charsort.c
  * contrib/hbct/ctpad.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/envparam.c
  * contrib/hbct/expand.c
  * contrib/hbct/files.c
  * contrib/hbct/justify.c
  * contrib/hbct/misc2.c
  * contrib/hbct/numat.c
  * contrib/hbct/pos1.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/relation.c
  * contrib/hbct/replace.c
  * contrib/hbct/strswap.c
  * contrib/hbct/token1.c
  * contrib/hbct/token2.c
    * minor whitespace formatting

  * contrib/hbgt/ascposgt.c
  * contrib/hbgt/atdiff.c
  * contrib/hbgt/bitflags.c
  * contrib/hbgt/chareven.c
  * contrib/hbgt/charmixg.c
  * contrib/hbgt/charodd.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/chrfirst.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strasint.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/strdiffg.c
  * contrib/hbgt/strexpan.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/strpbrk.c
  * contrib/hbgt/strright.c
    * reformatted using uncrustify
2012-07-18 16:19:27 +00:00

59 lines
1.1 KiB
C

/*
* $Id$
*/
/*
* GT CLIPPER STANDARD HEADER
*
* File......: charmix.c
* Author....: Andy M Leighton
* BBS.......: The Dark Knight Returns
* Net/Node..: 050/069
* User Name.: Andy Leighton
* Date......: 24/05/93
* Revision..: 1.00
*
* This is an original work by Andy Leighton and is placed in the
* public domain.
*/
#include "hbapi.h"
HB_FUNC( GT_CHARMIX )
{
const char * s1, * s2;
char * s3;
HB_ISIZ l1, l2, i, pos3;
if( HB_ISCHAR( 1 ) && HB_ISCHAR( 2 ) )
{
s1 = hb_parc( 1 );
s2 = hb_parc( 2 );
l1 = hb_parclen( 1 );
l2 = hb_parclen( 2 );
pos3 = 0;
s3 = ( char * ) hb_xgrab( l1 + l2 + 1 ); /* grab us some mem to work with */
for( i = 0; i < l1; i++ )
{
s3[ pos3++ ] = s1[ i ];
if( i < l2 )
s3[ pos3++ ] = s2[ i ];
}
if( l2 > l1 )
for(; i < l2; i++ )
s3[ pos3++ ] = s2[ i ];
s3[ pos3 ] = '\0';
hb_retclen( s3, l1 + l2 );
hb_xfree( s3 ); /* free alloc'ed mem */
}
else
{
hb_retc_null(); /* parameter mismatch - error NullStr */
}
}