static void other_parser_toplevel_start (OtherSAXContext *ctx, const char *name, const char **attrs) { SAXContext *sctx = &ctx->sctx; if (!strcmp (name, "package")) { g_assert (sctx->current_package == NULL); ctx->state = OTHER_PARSER_PACKAGE; sctx->current_package = package_new (); parse_package (attrs, sctx->current_package); } else if (sctx->count_fn && !strcmp (name, "otherdata")) { int i; const char *attr; const char *value; for (i = 0; attrs && attrs[i]; i++) { attr = attrs[i]; value = attrs[++i]; if (!strcmp (attr, "packages")) { sctx->count_fn (string_to_guint32_with_default (value, 0), sctx->user_data); break; } } } }
void Crazepony_get_uartpack(void) { static int rx_cnt; u8 rx_da; rx_cnt = UartBuf_Cnt(&UartRxbuf); while(rx_cnt -- ) { rx_da = UartBuf_RD(&UartRxbuf); parse_package(rx_da); } }
int ep_package::parse(const char* package_dir) { _package_dir = package_dir; bool pkg_exist = dir_valid(package_dir, 0) == 0; if (pkg_exist) { // printf("ep_package parse %s\n", package_dir); return parse_package(); } return 0; }
void package_parse(int conn) { int rc; PCK package; int pack_type; while(1) { bzero(&package,PCK_LEN); rc=c_recv(sockfd,&package,PCK_LEN,0); if(rc>0) printf("package received\n"); else if(rc==0) { printf("client closed\n"); break; } else { perror("receive error:\n"); exit(1); } pack_type=parse_package(&package); switch(pack_type) { case 1: user_transations(); break; case 2: msg_transactions(); break; case 3: chis_transations(); break; default: break; } } }