Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 29, 2005, 5:37:00 PM (18 years ago)
Author:
rennerc
Message:

synchronizeable: writeBytes now returns int
converter: converts now 0.0f without endless loop :D

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/lib/network/synchronizeable.h

    r6285 r6331  
    4242 * SYNCHELP_READ_STRINGM(s)  allocates memory for string! you have to free this after
    4343 * SYNCHELP_READ_BYTE(b)
     44 * SYNCHELP_READ_N
    4445 *
    4546 *
     
    8687                                __synchelp_write_i++; \
    8788}
    88 #define SYNCHELP_WRITE_STRING(s) { __synchelp_write_n = \
     89#define SYNCHELP_WRITE_STRING(s) { if (s!=NULL) \
     90                                __synchelp_write_n = \
    8991                                Converter::stringToByteArray( s, data+__synchelp_write_i, strlen(s), maxLength-__synchelp_write_i ); \
     92                                else \
     93                                __synchelp_write_n = \
     94                                Converter::stringToByteArray( "", data+__synchelp_write_i, strlen(""), maxLength-__synchelp_write_i ); \
    9095                                if ( __synchelp_write_n <= 0) \
    9196{ \
     
    95100                                __synchelp_write_i += __synchelp_write_n; \
    96101}
    97 #define SYNCHELP_WRITE_N __synchelp_write_i
     102#define SYNCHELP_WRITE_N        __synchelp_write_i
     103#define SYNCHELP_WRITE_FKT(f)   { \
     104                                  __synchelp_write_i += \
     105                                  f( data+__synchelp_write_i, maxLength-__synchelp_write_i ); \
     106                                }
    98107
    99108
     
    105114{ \
    106115                                      PRINTF(1)("There is not enough data to read an int\n");  \
    107                                       return; \
     116                                      return 0; \
    108117} \
    109118                                    __synchelp_read_i += Converter::byteArrayToInt( data+__synchelp_read_i, &i );  \
     
    113122{ \
    114123                                      PRINTF(1)("There is not enough data to read a flaot\n");  \
    115                                       return; \
     124                                      return 0; \
    116125} \
    117126                                    __synchelp_read_i += Converter::byteArrayToFloat( data+__synchelp_read_i, &f );  \
     
    122131{ \
    123132                                      PRINTF(1)("There is not enough data to read string\n");  \
    124                                       return; \
     133                                      return 0; \
    125134} \
    126135                                    __synchelp_read_i += __synchelp_read_n; \
     
    131140{ \
    132141                                      PRINTF(1)("There is not enough data to read string\n");  \
    133                                       return; \
     142                                      return 0; \
    134143} \
    135144                                    __synchelp_read_i += __synchelp_read_n; \
     
    139148{ \
    140149                                      PRINTF(1)("There is not enough data to read a byte\n");  \
    141                                       return; \
     150                                      return 0; \
    142151} \
    143152                                    b = data[__synchelp_read_i]; \
    144153                                    __synchelp_read_i ++;  \
    145154}
     155#define SYNCHELP_READ_FKT(f)   { \
     156                                  __synchelp_read_i += \
     157                                  f( data+__synchelp_read_i, length-__synchelp_read_i, sender); \
     158                                  }
     159#define SYNCHELP_READ_N           __synchelp_read_i
    146160
    147161class NetworkStream;
     
    154168    ~Synchronizeable();
    155169
    156     virtual void      writeBytes(const byte* data, int length, int sender);
     170    virtual int       writeBytes(const byte* data, int length, int sender);
    157171    virtual int       readBytes(byte* data, int maxLength, int * reciever);
    158172    virtual void      writeDebug() const;
Note: See TracChangeset for help on using the changeset viewer.