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

Definition at line 980 of file webDid.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().

981 {
982 void *ptr;
983 int size, psize;
984 
985  void print_service_standard();
986  void print_service_char();
987  void print_service_short();
988  void print_service_float();
989  void print_service_double();
990 
991  ptr = *buffer_ptr;
992  switch(type)
993  {
994  case 'L':
995  case 'l':
996  strcat(Service_content_str," L");
997  if(!num)
998  size = ssize/(int)sizeof(int);
999  else
1000  size = num;
1001  psize = size * (int)sizeof(int);
1002  print_service_standard(ptr, size);
1003  break;
1004  case 'I':
1005  case 'i':
1006  strcat(Service_content_str," I");
1007  if(!num)
1008  size = ssize/(int)sizeof(int);
1009  else
1010  size = num;
1011  psize = size * (int)sizeof(int);
1012  print_service_standard(ptr, size);
1013  break;
1014  case 'S':
1015  case 's':
1016  strcat(Service_content_str," S");
1017  if(!num)
1018  size = ssize/(int)sizeof(short);
1019  else
1020  size = num;
1021  psize = size * (int)sizeof(short);
1022  print_service_short(ptr, size);
1023  break;
1024  case 'F':
1025  case 'f':
1026  strcat(Service_content_str," F");
1027  if(!num)
1028  size = ssize/(int)sizeof(float);
1029  else
1030  size = num;
1031  psize = size * (int)sizeof(float);
1032  print_service_float(ptr, size);
1033  break;
1034  case 'D':
1035  case 'd':
1036  strcat(Service_content_str," D");
1037  if(!num)
1038  size = ssize/(int)sizeof(double);
1039  else
1040  size = num;
1041  psize = size * (int)sizeof(double);
1042  print_service_double(ptr, size);
1043  break;
1044  case 'X':
1045  case 'x':
1046  strcat(Service_content_str," X");
1047  if(!num)
1048  size = ssize/(int)sizeof(longlong);
1049  else
1050  size = num;
1051  psize = size * (int)sizeof(longlong);
1052  print_service_standard(ptr, size*2);
1053  break;
1054  case 'C':
1055  case 'c':
1056  default:
1057  strcat(Service_content_str," C");
1058  if(!num)
1059  size = ssize;
1060  else
1061  size = num;
1062  psize = size;
1063  print_service_char(ptr, size);
1064  }
1065  ptr = (char *)ptr + psize;
1066  *buffer_ptr = ptr;
1067  return psize;
1068 }
void print_service_standard(int *buff, int size)
Definition: webDid.c:1084
void print_service_short(short *buff, int size)
Definition: webDid.c:1172
void print_service_double(double *buff, int size)
Definition: webDid.c:1320
int type
void print_service_float(float *buff, int size)
Definition: webDid.c:1287
int size
Definition: db_dim_server.c:17
int64_t longlong
Definition: dim_common.h:56
void print_service_char(char *buff, int size)
Definition: webDid.c:1216
char * Service_content_str
Definition: webDid.c:112

+ Here is the call graph for this function:

+ Here is the caller graph for this function: