int main(int argc, char **argv) { int rv; const char *name = DEFAULT_NAME; char *statedir; char *script = NULL; bool attach = false; while (1) { rv = getopt_long(argc, argv, "an:s:hv", longopts, NULL); if (rv == -1) break; switch (rv) { case 'a': attach = true; break; case 'n': name = optarg; break; case 's': script = optarg; break; case 'h': case '?': show_help(); return 1; case 'v': show_version(); return 0; } } if (asprintf(&statedir, "%s/.vpnns-%s", getenv("HOME"), name) < 0) die("can't allocate memory\n"); if (attach) return do_attach(statedir, name, script); else return do_app(statedir, name, argc - optind, &argv[optind]); }
static void run_main_loop(void) { glViewport(0, 0, window_w, window_h); glClearColor(0.3f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0, window_w, window_h, 0, -1, 1); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); ui_begin(); if (search_active) { float start_time = glfwGetTime(); if (ui.key == KEY_ESCAPE) search_active = 0; /* ignore events during search */ ui.key = ui.mod = 0; ui.down = ui.middle = ui.right = 0; while (glfwGetTime() < start_time + 0.2) { search_hit_count = fz_search_page_number(ctx, doc, search_page, search_needle, search_hit_bbox, nelem(search_hit_bbox)); if (search_hit_count) { search_active = 0; search_hit_page = search_page; jump_to_page(search_hit_page); break; } else { search_page += search_dir; if (search_page < 0 || search_page == fz_count_pages(ctx, doc)) { search_active = 0; break; } } } /* keep searching later */ if (search_active) ui_needs_update = 1; } do_app(); canvas_w = window_w - canvas_x; canvas_h = window_h - canvas_y; do_canvas(); if (showinfo) do_info(); if (showoutline) do_outline(outline, canvas_x); if (showsearch) { int state = ui_input(canvas_x, 0, canvas_x + canvas_w, ui.lineheight+4, &search_input); if (state == -1) { ui.focus = NULL; showsearch = 0; } else if (state == 1) { ui.focus = NULL; showsearch = 0; search_page = -1; if (search_needle) { fz_free(ctx, search_needle); search_needle = NULL; } if (search_input.end > search_input.text) { search_needle = fz_strdup(ctx, search_input.text); search_active = 1; search_page = currentpage; } } ui_needs_update = 1; } if (search_active) { char buf[256]; sprintf(buf, "Searching page %d of %d.", search_page + 1, fz_count_pages(ctx, doc)); ui_label_draw(canvas_x, 0, canvas_x + canvas_w, ui.lineheight+4, buf); } ui_end(); glfwSwapBuffers(window); ogl_assert(ctx, "swap buffers"); }
void CommandParser::executeCommand(int cmd){ switch(cmd){ case WRI : toAbsolute(first_arg); do_wri(first_arg); break; case LIST : toAbsolute(first_arg); do_list(first_arg); break; case SHOW : toAbsolute(first_arg); do_show(first_arg); break; case APP : toAbsolute(first_arg); do_app(first_arg); break; case CD : do_cd(); break; case HELP : if (strlen(first_arg) == 0) do_helpd(); else do_help(first_arg); break; case MKFS : do_mkfs(); break; case REN : toAbsolute(first_arg); do_ren(first_arg , second_arg); break; case FINFO: toAbsolute(first_arg); do_info(first_arg); break; case LINK : toAbsolute(first_arg); toAbsolute(second_arg); do_link(first_arg , second_arg); break; case QUIT : do_quit();break; case CP : toAbsolute(first_arg); toAbsolute(second_arg); do_cp(first_arg , second_arg); break; case LOAD : do_load(); break; case ULOAD: do_uload(); break; case RF : toAbsolute(first_arg); do_rf(first_arg); break; case RMD : toAbsolute(first_arg); do_rmd(first_arg); break; case MKD : toAbsolute(first_arg); do_mkd(first_arg); break; case CHOWN : toAbsolute(first_arg); do_chown(first_arg,second_arg); break ; case CHPERM : toAbsolute(first_arg); do_chperm(first_arg,second_arg); break; case ADDUSER : do_adduser() ; break; case CLS : clrscr(); break; case REBOOT : // break; default: if ( strlen(command) ) vd_puts("Invalid Command\n"); } }