FACT++  1.0
int did_write_string ( char  type,
int  num,
void **  buffer_ptr,
int  ssize 
)

Definition at line 1272 of file didMarkus.c.

References print_service_char(), print_service_double(), print_service_float(), print_service_short(), print_service_standard(), Service_content_str, and size.

Referenced by print_service_formatted().

1273 {
1274 void *ptr;
1275 int size, psize;
1276 
1277  void print_service_standard();
1278  void print_service_char();
1279  void print_service_short();
1280  void print_service_float();
1281  void print_service_double();
1282 
1283  ptr = *buffer_ptr;
1284  switch(type)
1285  {
1286  case 'L':
1287  case 'l':
1288  strcat(Service_content_str," L");
1289  if(!num)
1290  size = ssize/sizeof(int);
1291  else
1292  size = num;
1293  psize = size * sizeof(int);
1294  print_service_standard(ptr, size);
1295  break;
1296  case 'I':
1297  case 'i':
1298  strcat(Service_content_str," I");
1299  if(!num)
1300  size = ssize/sizeof(int);
1301  else
1302  size = num;
1303  psize = size * sizeof(int);
1304  print_service_standard(ptr, size);
1305  break;
1306  case 'S':
1307  case 's':
1308  strcat(Service_content_str," S");
1309  if(!num)
1310  size = ssize/sizeof(short);
1311  else
1312  size = num;
1313  psize = size * sizeof(short);
1314  print_service_short(ptr, size);
1315  break;
1316  case 'F':
1317  case 'f':
1318  strcat(Service_content_str," F");
1319  if(!num)
1320  size = ssize/sizeof(float);
1321  else
1322  size = num;
1323  psize = size * sizeof(float);
1324  print_service_float(ptr, size);
1325  break;
1326  case 'D':
1327  case 'd':
1328  strcat(Service_content_str," D");
1329  if(!num)
1330  size = ssize/sizeof(double);
1331  else
1332  size = num;
1333  psize = size * sizeof(double);
1334  print_service_double(ptr, size);
1335  break;
1336  case 'X':
1337  case 'x':
1338  strcat(Service_content_str," X");
1339  if(!num)
1340  size = ssize/sizeof(longlong);
1341  else
1342  size = num;
1343  psize = size * sizeof(longlong);
1344  print_service_standard(ptr, size*2);
1345  break;
1346  case 'C':
1347  case 'c':
1348  default:
1349  strcat(Service_content_str," C");
1350  if(!num)
1351  size = ssize;
1352  else
1353  size = num;
1354  psize = size;
1355  print_service_char(ptr, size);
1356  }
1357  ptr = (char *)ptr + psize;
1358  *buffer_ptr = ptr;
1359  return psize;
1360 }
void print_service_float(float *buff, int size)
Definition: didMarkus.c:1685
void print_service_double(double *buff, int size)
Definition: didMarkus.c:1718
void print_service_standard(int *buff, int size)
Definition: didMarkus.c:1441
int type
int size
Definition: db_dim_server.c:17
void print_service_char(char *buff, int size)
Definition: didMarkus.c:1621
int64_t longlong
Definition: dim_common.h:56
void print_service_short(short *buff, int size)
Definition: didMarkus.c:1554
char * Service_content_str
Definition: didMarkus.c:20

+ Here is the call graph for this function:

+ Here is the caller graph for this function: