msg.c
Go to the documentation of this file.00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "common.h"
00027 #include "msg.h"
00028
00029 void SZ_Init (sizebuf_t * buf, byte * data, int length)
00030 {
00031 memset(buf, 0, sizeof(*buf));
00032 buf->data = data;
00033 buf->maxsize = length;
00034 }
00035
00036 void SZ_Clear (sizebuf_t * buf)
00037 {
00038 buf->cursize = 0;
00039 }
00040
00041 static void *SZ_GetSpace (sizebuf_t * buf, int length)
00042 {
00043 void *data;
00044
00045 if (buf->cursize + length > buf->maxsize)
00046 Com_Error(ERR_FATAL, "SZ_GetSpace: overflow");
00047
00048 data = buf->data + buf->cursize;
00049 buf->cursize += length;
00050
00051 return data;
00052 }
00053
00054 void SZ_Write (sizebuf_t * buf, const void *data, int length)
00055 {
00056 memcpy(SZ_GetSpace(buf, length), data, length);
00057 }