gString.cc File Reference

#include "gString.h"
#include <xData.h>
#include <string.h>

Go to the source code of this file.

Functions

int gString_initialize (statusMessageReporting *smr, gString *gStr, int size, int increment)
int gString_release (statusMessageReporting *smr, gString *gStr)
int gString_clear (statusMessageReporting *, gString *gStr)
int gString_addTo (statusMessageReporting *smr, gString *gStr, char const *str)
char const * gString_string (statusMessageReporting *, gString *gStr)
int gString_length (statusMessageReporting *, gString *gStr)
int gString_allocated (statusMessageReporting *, gString *gStr)
int gString_increment (statusMessageReporting *, gString *gStr)


Function Documentation

int gString_addTo ( statusMessageReporting *  smr,
gString *  gStr,
char const *  str 
)

Definition at line 90 of file gString.cc.

References gString_initialize(), and CLHEP::detail::n.

Referenced by tpi_channelID_toStringSans(), and tpi_spectralID_toStringSans().

00090                                                                                  {
00091 
00092     int n, size = strlen( str );
00093 
00094     if( gStr->gStr == NULL ) {
00095         if( gString_initialize( smr, gStr, size + 1, gStr->increment ) != 0 ) return( 1 ); }
00096     else if( ( gStr->length + size ) > gStr->allocated ) {
00097         n = gStr->increment;
00098         if( n < size ) n = size;
00099         //if( ( gStr->gStr = xData_realloc2( smr, gStr->gStr, gStr->allocated + n, "gStr->gStr" ) ) == NULL ) return( 1 );
00100         if( ( gStr->gStr = (char*) xData_realloc2( smr, gStr->gStr, gStr->allocated + n, "gStr->gStr" ) ) == NULL ) return( 1 );
00101         gStr->allocated += n;
00102     }
00103     strcpy( &(gStr->gStr[gStr->length - 1]), str );
00104     gStr->length = gStr->length + size;
00105     return( 0 );
00106 }

int gString_allocated ( statusMessageReporting *  ,
gString *  gStr 
)

Definition at line 127 of file gString.cc.

00127                                                                  {
00128 
00129     return( gStr->allocated );
00130 }

int gString_clear ( statusMessageReporting *  ,
gString *  gStr 
)

Definition at line 79 of file gString.cc.

00079                                                              {
00080 
00081     if( gStr->gStr != NULL ) {
00082         gStr->length = 1;
00083         gStr->gStr[0] = 0;
00084     }
00085     return( 0 );
00086 }

int gString_increment ( statusMessageReporting *  ,
gString *  gStr 
)

Definition at line 135 of file gString.cc.

00135                                                                  {
00136 
00137     return( gStr->increment );
00138 }

int gString_initialize ( statusMessageReporting *  smr,
gString *  gStr,
int  size,
int  increment 
)

Definition at line 48 of file gString.cc.

Referenced by gString_addTo(), and gString_release().

00048                                                                                               {
00049 
00050     if( size > 0 ) {
00051         //if( ( gStr->gStr = xData_malloc2( smr, size + 1, 0, "gStr->gStr" ) ) == NULL ) return( 1 );
00052         if( ( gStr->gStr = (char*) xData_malloc2( smr, size + 1, 0, "gStr->gStr" ) ) == NULL ) return( 1 );
00053         gStr->length = 1;
00054         gStr->gStr[0] = 0; }
00055     else {
00056         size = 0;
00057         gStr->length = 0;
00058         gStr->gStr = NULL;
00059     }
00060     gStr->allocated = size;
00061     //if( increment < gString_minIncrement ) increment = gString_minIncrement;
00062     if( increment < (int) gString_minIncrement ) increment = gString_minIncrement;
00063     gStr->increment = increment;
00064     return( 0 );
00065 }

int gString_length ( statusMessageReporting *  ,
gString *  gStr 
)

Definition at line 119 of file gString.cc.

00119                                                               {
00120 
00121     return( gStr->length );
00122 }

int gString_release ( statusMessageReporting *  smr,
gString *  gStr 
)

Definition at line 69 of file gString.cc.

References gString_initialize().

00069                                                                   {
00070 
00071     if( gStr->gStr != NULL ) free( gStr->gStr );
00072     gString_initialize( smr, gStr, 0, gStr->increment );
00073     return( 0 );
00074 }

char const* gString_string ( statusMessageReporting *  ,
gString *  gStr 
)

Definition at line 111 of file gString.cc.

00111                                                                       {
00112 
00113     return( gStr->gStr );
00114 }


Generated on Mon May 27 17:51:15 2013 for Geant4 by  doxygen 1.4.7