Заполнение пакета

#include < stdio.h >
#include "decimals.h"
#include "inter.h"
#include "tick.h"
#include "exlib.h"

static const L_LONG Byte_Const = 0x010203ff;
static const L_LONG Varbyte_Const = 0xff0302;

// Заполняет буфер простейшим значением в символьном виде  в зависимости от типа данных:
L_BYTE* MakeCHARValue(int type, int Len, L_BYTE* buf)
{
  switch (type)
  {
    case DT_CHAR:
      return (L_BYTE*)strcpy((char*)buf, "char");
    case DT_VARCHAR:
      return (L_BYTE*)strcpy((char*)buf, "vchar");
    case DT_BYTE:
      return (L_BYTE*)memcpy(buf, & Byte_Const, sizeof(Byte_Const));
    case DT_VARBYTE:
      return (L_BYTE*)memcpy(buf, & Varbyte_Const, sizeof(Varbyte_Const));
    case DT_NCHAR:
      return (L_BYTE*)wcscpy((wchar_t*)buf, L"nchar");
    case DT_NVARCHAR:
      return (L_BYTE*)wcscpy((wchar_t*)buf, L"nvarchar");
    case DT_DATE:
      return (L_BYTE*)strcpy((char*)buf, "03.03.2003");
    case DT_INTEGER:
      if (Len == sizeof(L_SWORD))
        return (L_BYTE*)strcpy((char*)buf, "2");
      if (Len == sizeof(L_LONG))
        return (L_BYTE*)strcpy((char*)buf, "4");
      return NULL; // Будет обозначать NULL-значение
    case DT_REAL:
      if (Len == sizeof(L_REAL))
        return (L_BYTE*)strcpy((char*)buf, "-12.34567");
      return (L_BYTE*)strcpy((char*)buf, "30.01");
    case DT_DECIMAL:
      return (L_BYTE*)strcpy((char*)buf, "12.34");
    case DT_BOOL:
      return (L_BYTE*)strcpy((char*)buf, "TRUE");
    case DT_EXTFILE:
      return (L_BYTE*)strcpy((char*)buf, "EXTFILE");
    default:
      return NULL;
  } // switch
} // MakeCHARValue