? .DS_Store Index: source/xcd/cr_metho.cxx =================================================================== RCS file: /cvs/tools/xml2cmp/source/xcd/cr_metho.cxx,v retrieving revision 1.5 diff -u -r1.5 cr_metho.cxx --- source/xcd/cr_metho.cxx 8 Aug 2002 16:08:15 -0000 1.5 +++ source/xcd/cr_metho.cxx 8 Jul 2003 21:21:52 -0000 @@ -84,6 +84,60 @@ "#endif\r\n"; +#ifdef MACOSX +#include +#include +#include +#include + +void +Create_AccessMethod( const char * i_pOutputFileName, + const char * i_sText ) +{ + const char * pText = i_sText; + const char * pTrans = 0; + char sDescrLineChange[] = "\"\r\n \""; + int sDescrLen = strlen(sDescrLineChange); + int fd; + + fd = open( i_pOutputFileName, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP ); + if ( -1 == fd ) + { + std::cerr << "Error: " << i_pOutputFileName << " could not be created." << std::endl; + return; + } + + write( fd, C_sFileHeader1, strlen(C_sFileHeader1) ); + write( fd, C_sFileHeader1, strlen(C_sFileHeader1) ); + write( fd, i_pOutputFileName, strlen(i_pOutputFileName) ); + write( fd, C_sFileHeader2, strlen(C_sFileHeader2) ); + write( fd, C_sFuncBegin, strlen(C_sFuncBegin) ); + + for ( pTrans = pText; *pTrans != '\0'; pTrans++ ) + { + switch (*pTrans) + { + case '"': write( fd, "\\\"", 2); + break; + case '\n': write( fd, "\\n", 2); + write( fd, sDescrLineChange, sDescrLen); + break; + case '\r': write( fd, "\\r", 2); + break; +// case '\t': write( fd, "\\t", 2); +// break; + default: write( fd, pTrans, 1); + } + } /* end for */ + + write( fd, C_sFuncEnd, strlen(C_sFuncEnd) ); + + + close( fd ); +} + +#else + void Create_AccessMethod( const char * i_pOutputFileName, const char * i_sText ) @@ -134,5 +188,4 @@ aFile.close(); } - - +#endif Index: source/xcd/filebuff.cxx =================================================================== RCS file: /cvs/tools/xml2cmp/source/xcd/filebuff.cxx,v retrieving revision 1.6 diff -u -r1.6 filebuff.cxx --- source/xcd/filebuff.cxx 8 Aug 2002 16:08:17 -0000 1.6 +++ source/xcd/filebuff.cxx 8 Jul 2003 21:21:52 -0000 @@ -65,6 +65,39 @@ #include #include +#ifdef MACOSX +#include +#include +#include + +bool +LoadXmlFile( Buffer & o_rBuffer, + const char * i_sXmlFilePath ) +{ + int fd; + struct stat st; + size_t fsize; + int bytes_read; + + fd = open( i_sXmlFilePath, O_RDONLY, 0 ); + if ( -1 == fd ) + return false; + + // Prepare buffer: + fstat( fd, &st ); + fsize = st.st_size; + unsigned long nBufferSize = fsize; + o_rBuffer.SetSize(nBufferSize + 1); + o_rBuffer.Data()[nBufferSize] = '\0'; + + // Read file: + bytes_read = read( fd, o_rBuffer.Data(), nBufferSize ); + bool ret = ( bytes_read >= nBufferSize ); + close( fd ); + return ret; +} + +#else bool LoadXmlFile( Buffer & o_rBuffer, @@ -94,5 +127,4 @@ aXmlFile.close(); return ret; } - - +#endif