int process_order_helper() { int x; printf("How many items will the external system process? "); scanf("%d", &x); return process_order(x); }
uint64_t *exec_behaviour( uint64_t *message_ptr ) { event_ptr = ( event_t* )*message_ptr; DEBUGV( printf( "Consume message: %s\n", event_to_string( event_ptr ) ) ); if( order_ptr = event_ptr->order_ptr ) { // Existing event DEBUGV( printf( "Update existing event order\n" ) ); order_ptr->value = process_order(); } else { // New event DEBUGV( printf( "Create new event order\n" ) ); order_ptr = event_ptr->order_ptr = &order_pool_ptr->ring[ ++idx & RING_ENTRY_MASK ]; order_ptr->value = 0; } DEBUGV( printf( "Republishing message: %s\n", event_to_string( event_ptr ) ) ); *message_ptr = ( uint64_t )event_ptr; return message_ptr; }
void menu_file(warehouse *warehouses) { boolean loop = TRUE; int option; FILE *load_data = NULL; char filename[FILENAME_SIZE] = {0}; while(loop) { show_menu(4); int_input(&option, 3); switch(option) { case 1: { if((warehouses->hallways_size > 0) && (warehouses->hallways[warehouses->hallways_size - 1].storages_size > 0)) { get_filename(filename, FILENAME_SIZE); load_data = get_file(filename, "r"); if (load_data != NULL) { update_stock(warehouses, load_data); fclose(load_data); printf("\n"); } else { printf("Nao foi possivel carregar o ficheiro.\n\n"); } } else { printf("Nao existem corredores ou armarios.\n\n"); } break; } case 2: { if((warehouses->hallways_size > 0) && (warehouses->hallways[warehouses->hallways_size - 1].storages_size > 0)) { get_filename(filename, FILENAME_SIZE); load_data = get_file(filename, "r"); if (load_data != NULL) { process_order(warehouses, load_data); fclose(load_data); printf("\n"); } else { printf("Nao foi possivel carregar o ficheiro.\n\n"); } } else { printf("Nao existem corredores ou armarios.\n\n"); } break; } case 9: { loop = FALSE; break; } default: { printf("Essa opcao nao existe.\n\n"); break; } } } }