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); }
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); }