Пример #1
0
static void encode_csv_row_intrin (void)
{
   SLang_Array_Type *at;
   CSV_Type *csv;
   SLang_MMT_Type *mmt;
   int flags;
   int has_flags;
   char *str;

   if (SLang_Num_Function_Args == 3)
     {
	if (-1 == SLang_pop_int (&flags))
	  return;
	has_flags = 1;
     }
   else has_flags = 0;

   if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
     return;

   if (NULL == (csv = pop_csv_type (&mmt)))
     {
	SLang_free_array (at);
	return;
     }

   if (0 == has_flags)
     flags = csv->flags;

   str = csv_encode (csv, (char **)at->data, at->num_elements, flags);
   SLang_free_mmt (mmt);
   SLang_free_array (at);
   (void) SLang_push_malloced_string (str);
}
Пример #2
0
static csv_record_t *_ptm_lib_encode_header(csv_t *csv, csv_record_t *rec,
					    int msglen, int version, int type,
					    int cmd_id, char *client_name)
{
	char msglen_buf[16], vers_buf[16], type_buf[16], cmdid_buf[16];
	char client_buf[32];
	csv_record_t *rec1;

	sprintf(msglen_buf, "%4d", msglen);
	sprintf(vers_buf, "%4d", version);
	sprintf(type_buf, "%4d", type);
	sprintf(cmdid_buf, "%4d", cmd_id);
	snprintf(client_buf, 17, "%16.16s", client_name);
	if (rec) {
		rec1 = csv_encode_record(csv, rec, 5, msglen_buf, vers_buf,
					 type_buf, cmdid_buf, client_buf);
	} else {
		rec1 = csv_encode(csv, 5, msglen_buf, vers_buf, type_buf,
				  cmdid_buf, client_buf);
	}
	return (rec1);
}