add: break;
context: internal_main(int argc, char *argv[]){    GtkWidget *main_win;    GtkWidget *vbox;    GtkWidget *hbox;    GtkWidget *menubar;    GtkStyle  *textStyle;    gint      screen_width, width, height;    int       read_opt;    int       i;    char      *win_title;    int       req_width = -1, req_height = -1, req_x = 0, req_y = 0;    char      *rest;#ifdef GUILE_IN_USE    char      *backend = NULL;    int	      run_batch = 0;#endif /* GUILE_IN_USE */#ifdef HAVE_GETOPT_LONG    while ((read_opt = getopt_long(argc, argv, "Vb:", 				   longopts, &longopt_idx)) != -1) {#else    while ((read_opt = getopt(argc, argv, "Vb:")) != -1) {#endif /* HAVE_GETOPT_LONG */	switch (read_opt) {#ifdef HAVE_GETOPT_LONG	case 0:	    /* Only long options like GDK/GTK debug */	    switch (longopt_val) {	    case 0: /* default value if nothing is set */		printf("Not handled option %s\n", longopts[longopt_idx].name);		break;	    case 1: /* geometry */		req_width = (int)strtol(optarg, &rest, 10);		if (rest[0] != 'x'){		    printf("Split X and Y parameters with an x\n");		    break;		}		rest++;		req_height = (int)strtol(rest, &rest, 10);		if ((rest[0] == 0) || ((rest[0] != '-') && (rest[0] != '+')))		    break;		req_x = (int)strtol(rest, &rest, 10);		if ((rest[0] == 0) || ((rest[0] != '-') && (rest[0] != '+')))		    break;		req_y = (int)strtol(rest, &rest, 10);		break;	    default:	    }	    break;#endif /* HAVE_GETOPT_LONG */	case 'V' :	    printf("gerbv version %s\n", VERSION);	    printf("(C) Stefan Petersen (spe@stacken.kth.se)\n");	    exit(0);	case 'b' :#ifdef GUILE_IN_USE	    run_batch = 1;	    if (optarg == NULL)		err(1, "You must give a backend in batch mode\n");	    	    backend = (char *)malloc(strlen(optarg) + strlen("gerb-.scm") + 1);	    if (backend == NULL) 		err(1, "Failed mallocing backend string\n");	    strcpy(backend, "gerb-");	    strcat(backend, optarg);	    strcat(backend, ".scm");#else	    fprintf(stderr, "This version doesn't have batch support\n");	    exit(0);#endif /* GUILE_IN_USE */	    break;	case '?':#ifdef GUILE_IN_USE	    fprintf(stderr, "Usage : %s [--version|-V][--batch=<backend>|-b <backend>] <gerber file(s)>\n", argv[0]);#else	    fprintf(stderr, "Usage : %s [--version|-V] <gerber file(s)>\n", argv[0]);#endif /* GUILE_IN_USE */	    exit(1);	    break;	default :	    printf("Not handled option [%d=%c]\n", read_opt, read_opt);	}    }    #ifdef GUILE_IN_USE    if (run_batch) {	if (optind == argc)	    err(1, "No file to work on\n");		/*	 * Loop through gerber files	 */	for(i = optind ; i < argc; i++) {	    printf("%s\n", argv[i]);	    batch(backend, argv[i]);	}	free(backend);	exit(0);    }#endif /* GUILE_IN_USE */    /*     * Setup the screen info     */    memset((void *)&screen, 0, sizeof(gerbv_screen_t));    screen.state = NORMAL;	    /*     * Init GTK+     */    gtk_init(&argc, &argv);    /*      * Good defaults according to Ales. Gives aspect ratio of 1.3333...     */    if ((req_width != -1) && (req_height != -1)) {	width = req_width;	height = req_height;    } else {	screen_width = gdk_screen_width();	width = screen_width * 3/4;	height = width * 3/4;    }    /*     * Setup some GTK+ defaults     */    screen.tooltips = gtk_tooltips_new();            screen.background = alloc_color(0, 0, 0, "black");    screen.zoom_outline_color  = alloc_color(0, 0, 0, "gray");    screen.dist_measure_color  = alloc_color(0, 0, 0, "lightblue");    /* Set default unit to the configured default */    screen.unit = GERBV_DEFAULT_UNIT;    /*     * Main window      */    win_title = (char *)malloc(strlen(WIN_TITLE) + strlen(VERSION) + 1);    memset(win_title, 0, strlen(WIN_TITLE) + strlen(VERSION) + 1);    strncpy(win_title, WIN_TITLE, strlen(WIN_TITLE));    strncat(win_title, VERSION, strlen(VERSION));    main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);    gtk_window_set_title(GTK_WINDOW(main_win), win_title);    gtk_signal_connect(GTK_OBJECT(main_win), "delete_event", destroy, NULL);    gtk_signal_connect(GTK_OBJECT(main_win), "destroy", destroy, NULL);    free(win_title);    /*      * vbox contains menubar and hbox     */    vbox = gtk_vbox_new(FALSE, 0);    gtk_container_add(GTK_CONTAINER(main_win), vbox);        create_menubar(main_win, &menubar);    gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);        /*      * hbox contains drawing area and image select area     */    hbox = gtk_hbox_new(FALSE, 0);        /*     * Create drawing area     */    screen.drawing_area = create_drawing_area(width, height);    gtk_box_pack_start(GTK_BOX(hbox), screen.drawing_area, TRUE, TRUE, 0);        /*     * Build layer buttons with popup menus     */    create_popupmenu(&screen.popup_menu);    gtk_box_pack_start(GTK_BOX(hbox), create_layer_buttons(MAX_FILES), 		       FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);    /*     * Add status bar (three sections: messages, abs and rel coords)     */    hbox = gtk_hbox_new(FALSE, 0);    screen.statusbar.msg = gtk_label_new("");    gtk_label_set_justify(GTK_LABEL(screen.statusbar.msg), GTK_JUSTIFY_LEFT);    textStyle = gtk_style_new();    textStyle->font = gdk_font_load(GERBV_STATUSFONTNAME);    gtk_widget_set_style(GTK_WIDGET(screen.statusbar.msg), textStyle);    screen.statusbar.msgstr[0] = '\0';    screen.statusbar.coordstr[0] = '\0';    screen.statusbar.diststr[0] = '\0';    gtk_box_pack_start(GTK_BOX(hbox), screen.statusbar.msg, FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);    /*     * Fill with files (eventually) given on command line     */    for(i = optind ; i < argc; i++)	if (open_image(argv[i], i - optind, FALSE) == -1)	    exit(-1);    /*     * Connect all events on drawing area      */        gtk_signal_connect(GTK_OBJECT(screen.drawing_area), "expose_event",		       GTK_SIGNAL_FUNC(expose_event), NULL);    gtk_signal_connect(GTK_OBJECT(screen.drawing_area),"configure_event",		       GTK_SIGNAL_FUNC(configure_event), NULL);    gtk_signal_connect(GTK_OBJECT(screen.drawing_area), "motion_notify_event",		       GTK_SIGNAL_FUNC(motion_notify_event), NULL);    gtk_signal_connect(GTK_OBJECT(screen.drawing_area), "button_press_event",		       GTK_SIGNAL_FUNC(button_press_event), NULL);    gtk_signal_connect(GTK_OBJECT(screen.drawing_area), "button_release_event",		       GTK_SIGNAL_FUNC(button_release_event), NULL);    gtk_signal_connect_after(GTK_OBJECT(main_win), "key_press_event",		       GTK_SIGNAL_FUNC(key_press_event), NULL);    gtk_signal_connect_after(GTK_OBJECT(main_win), "key_release_event",		       GTK_SIGNAL_FUNC(key_release_event), NULL);    gtk_widget_set_events(screen.drawing_area, GDK_EXPOSURE_MASK			  | GDK_LEAVE_NOTIFY_MASK			  | GDK_BUTTON_PRESS_MASK			  | GDK_BUTTON_RELEASE_MASK			  | GDK_KEY_PRESS_MASK			  | GDK_KEY_RELEASE_MASK			  | GDK_POINTER_MOTION_MASK			  | GDK_POINTER_MOTION_HINT_MASK);        gtk_widget_show_all(main_win);    set_window_icon(main_win);    /* It seems this has to be done after the button is shown for       the first time, or we get a segmentation fault */    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(screen.layer_button[0]),				 TRUE);    gtk_main();        return;}