static void reply_readh_result (byte *body, char *error_msg) { struct_smtsock_readh_reply *readh_reply; GGCODE_TCB *gsl_tcb = tcb-> gsl_thread-> tcb; VALUE value; char *error_text; /* Pick up read value */ get_smtsock_readh_reply (body, & readh_reply); init_value (& value); if (readh_reply-> size > 0) { assign_string (& value, memt_alloc (NULL, readh_reply-> size + 1)); memcpy (value. s, readh_reply-> data, readh_reply-> size); value. s [readh_reply-> size] = '\0'; } /* Store the value */ if (! store_symbol_definition (& gsl_tcb-> scope_stack, gsl_tcb-> gsl-> ignorecase, tcb-> buffer, &value, &error_text)) { lsend_ggcode_call_error (& tcb-> gsl_thread-> queue-> qid, NULL, NULL, NULL, NULL, 0, NULL, 0, error_text); return; } destroy_value (& value); /* Build return value */ assign_number (& tcb-> result-> value, readh_reply-> size); free_smtsock_readh_reply (& readh_reply); if (store_sock_error (tcb-> sock_handle, tcb-> gsl_thread, tcb-> context, tcb-> error, error_msg, &error_text)) lsend_ggcode_call_error (& tcb-> gsl_thread-> queue-> qid, NULL, NULL, NULL, NULL, 0, NULL, 0, error_text); else lsend_ggcode_call_ok (& tcb-> gsl_thread-> queue-> qid, NULL, NULL, NULL, NULL, 0); }
int main(int argc,char **argv) { // do_and(); // do_rev(); // detect_opp_sign(); assign_number(12); int i; int t[] = {10,23,24,28,32}; for (i=0;i<5;i++) { more_simple_assign(t[i]); } verify_number(10); verify_number(11); verify_number(28); }