int main(int argc, char const* argv[]) { struct commit *first = new_commit(0, 0, "First !"); struct commit *tmp, *victim, *last; display_commit(first); printf("\n"); display_history(first); tmp = add_minor_commit(first, "Work 1"); tmp = add_minor_commit(tmp, "Work 2"); victim = add_minor_commit(tmp, "Work 3"); last = add_minor_commit(victim, "Work 4"); display_history(first); del_commit(victim); display_history(first); tmp = add_major_commit(last, "Realse 1"); tmp = add_minor_commit(tmp, "Work 1"); tmp = add_minor_commit(tmp, "Work 2"); tmp = add_major_commit(tmp, "Realse 2"); tmp = add_minor_commit(tmp, "Work 1"); display_history(first); add_minor_commit(last, "Oversight !!!"); display_history(first); infos(first, 1, 2); infos(first, 1, 7); infos(first, 4, 2); return 0; }
int main(int argc, char const *argv[]) { struct commit *first = new_commit(0, 0, "First !"); struct commit *tmp, *victim, *last; /*first->display = display_commit_major;*/ list_add(&first->lhead, &list_complete); list_add(&first->major_list, &list_major); display_commit_major(first); printf("\n"); display_history(first); tmp = add_minor_commit(first, "Work 1"); tmp = add_minor_commit(tmp, "Work 2"); victim = add_minor_commit(tmp, "Work 3"); last = add_minor_commit(victim, "Work 4"); display_history(first); del_commit(victim); display_history(first); tmp = add_major_commit(last, "Release 1"); tmp = add_minor_commit(tmp, "Work 1"); tmp = add_minor_commit(tmp, "Work 2"); tmp = add_major_commit(tmp, "Release 2"); tmp = add_minor_commit(tmp, "Work 1"); display_history(first); add_minor_commit(last, "Oversight !!!"); display_history(first); infos(first, 1, 2); infos(first, 1, 7); infos(first, 4, 2); #ifdef DEBUG printf("\n== TEST SUPP MAJEUR ==\n"); del_commit(first); display_history(NULL); #endif freeHistory(); return 0; }
int main(int argc, char* argv[]) { //example usage: //dsv_filter_example <dsv file name> //dsv_filter_example <dsv file name> <input delimiter> //dsv_filter_example <dsv file name> <input delimiter> <output delimiter> std::string file_name = ""; std::string input_delimiter = "|"; std::string output_delimiter = "|"; if (2 == argc) { file_name = argv[1]; } else if (3 == argc) { file_name = argv[1]; input_delimiter = argv[2]; } else if (4 == argc) { file_name = argv[1]; input_delimiter = argv[2]; output_delimiter = argv[3]; } dsv_filter filter; filter.set_input_delimiter(input_delimiter); filter.set_output_delimiter(output_delimiter); if (!file_name.empty()) { if (filter.load(file_name)) std::cout << "Successfully loaded " << filter.file_name() << "\n"; else { std::cerr << "Error - Failed to load: " << file_name << std::endl; return 1; } } std::vector<bool> selected_column_list(filter.column_count(),true); std::deque<std::string> query_history; std::string query; for ( ; ; ) { std::cout << "\nEnter query: "; std::getline(std::cin,query); strtk::remove_leading_trailing(" \t\n\r",query); if (query.empty()) continue; else if (query_history.empty() || (query_history.back() != query)) { query_history.push_back(query); } if (0 == strtk::ifind("exec",query)) { if (!lookup_history(query_history,query)) continue; } if (strtk::imatch(query,"exit") || strtk::imatch(query,"quit")) break; else if (strtk::imatch(query,"help")) { print_help(); continue; } else if (strtk::imatch(query,"list")) { display_columns(filter); continue; } else if (0 == strtk::ifind("load",query)) { load_dsv(query,filter); continue; } else if (strtk::imatch(query,"history")) { query_history.pop_back(); display_history(query_history); continue; } else if (0 == strtk::ifind("output_delimiter",query)) { set_output_delimiter(query,filter); continue; } else if (0 == strtk::ifind("input_delimiter",query)) { set_input_delimiter(query,filter); continue; } else if ((0 == strtk::ifind("information",query)) || (0 == strtk::ifind("info",query))) { information(filter); continue; } selected_column_list.resize(filter.column_count(),true); std::fill_n(selected_column_list.begin(),selected_column_list.size(),true); bool count_mode = false; if(!parse_query(query,selected_column_list,count_mode,filter)) continue; else if(filter.add_filter(query)) generate_results(selected_column_list,filter,count_mode); else { std::cout << filter.error() << std::endl; continue; } } return 0; }