- uint16_t *currPosition = (uint16_t *)binArea;
-
- // TODO FIXME : Maybe we should allocate somewhere a static buffer,
- // in order not to have to alloc/delete for almost every BinEntry ...
- uint16_t *buffer = new uint16_t[BUFFER_SIZE];
-
- // how many BUFFER_SIZE long pieces in binArea ?
- int nbPieces = lgr/BUFFER_SIZE/2; //(16 bits = 2 Bytes)
- uint16_t *binArea16 = (uint16_t*)binArea;
- for (int j=0;j<nbPieces;j++)
- {
- for (int i = 0; i < BUFFER_SIZE/2; i++)
- {
- buffer[i] = (binArea16[i] >> 8) | (binArea16[i] << 8);
- }
- fp->write ( (char*)currPosition, BUFFER_SIZE );
- currPosition += BUFFER_SIZE/2;
- }
- int remainingSize = lgr%BUFFER_SIZE;
- if ( remainingSize != 0)
- {
- fp->write ( (char*)currPosition, remainingSize );
- }
- delete[] buffer;
+ uint16_t *binArea16 = (uint16_t*)binArea8;
+ binary_write (*fp, binArea16, lgr );