/************************************************/ /* */ /* File : userconv.h */ /* Description : tl compiler definitions */ /* */ /* Command : conv */ /* Comment : Convert varius formats */ /* */ /* Author: Sfiligoi Igor */ /* */ /* Last modified: 12.05.1997 */ /* */ /************************************************/ #include <string.h> #include <tlforms.h> #include "userconv.h" /* conv real2breal data function*/ /* return TL_OK iff no error */ int freal2breal(t_real2breal *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv real2freal data function*/ /* return TL_OK iff no error */ int freal2freal(t_real2freal *data) { if (!(data->maxint_present)) data->maxint = -1; if (!(data->maxfract_present)) data->maxfract=-1; data->result = (char *) malloc(1024); /* worstest case */ freal2str(data->indata,data->maxint,data->maxfract,data->result); return TL_OK; } /* conv real2real data function*/ /* return TL_OK iff no error */ int freal2real(t_real2real *data) { if (!(data->maxfract_present)) data->maxfract=-1; data->result = (char *) malloc(1024); /* worstest case */ real2str(data->indata,data->maxfract,data->result); return TL_OK; } /* conv bool2cbool data function*/ /* return TL_OK iff no error */ int fbool2cbool(t_bool2cbool *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv bool2nbool data function*/ /* return TL_OK iff no error */ int fbool2nbool(t_bool2nbool *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv bool2bool data function*/ /* return TL_OK iff no error */ int fbool2bool(t_bool2bool *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv compact2nat data function*/ /* return TL_OK iff no error */ int fcompact2nat(t_compact2nat *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv octal2nat data function*/ /* return TL_OK iff no error */ int foctal2nat(t_octal2nat *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv binary2nat data function*/ /* return TL_OK iff no error */ int fbinary2nat(t_binary2nat *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv hex2nat data function*/ /* return TL_OK iff no error */ int fhex2nat(t_hex2nat *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv nat2compact data function*/ /* return TL_OK iff no error */ int fnat2compact(t_nat2compact *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv nat2binary data function*/ /* return TL_OK iff no error */ int fnat2binary(t_nat2binary *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv nat2octal data function*/ /* return TL_OK iff no error */ int fnat2octal(t_nat2octal *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv nat2hex data function*/ /* return TL_OK iff no error */ int fnat2hex(t_nat2hex *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv nat2nat data function*/ /* return TL_OK iff no error */ int fnat2nat(t_nat2nat *data) { data->result = data->indata; /* copy in to out */ return TL_OK; } /* conv expand data function*/ /* return TL_OK iff no error */ int fexpand(t_expand *data) { char fillch; /* filling char */ int format; unsigned int inlength; inlength = strlen(data->indata); if (data->length<inlength) { /* copy in to out and exit*/ data->result = (char *) malloc(inlength+1); strcpy(data->result,data->indata); return TL_OK; } if (data->fillchar_present) fillch = data->fillchar; else fillch = ' '; if (data->format_present) format = data->format.nr; else format = cef_right; data->result = (char *) malloc(data->length+1); memset(data->result,fillch,data->length); /* preventively fill with fillch */ switch (format) { case cef_left: memcpy(&(data->result[0]),data->indata,inlength); break; case cef_right: memcpy(&(data->result[data->length-inlength]),data->indata,inlength); break; case cef_center: memcpy(&(data->result[(data->length-inlength)/2]),data->indata,inlength); break; } data->result[data->length] = 0; /* terminate string */ return TL_OK; }