Hello..
I am developing a Graphical User Interface using GTK+2.0. As part of our project I need to take inputs from GTK entries and pass those inputs to shell script and use them in shell script. The problem which struck me is only limited number of values are being taken as input. For now only 15 characters are being accepted. If I enter more than 15 characters it's printing garbage values..I am unable to figure it out..
GTK program is:
Code:
#include<gtk/gtk.h>
#include<stdio.h>
#include<stdlib.h>
gchar *chardadd1=NULL,*chardadd2=NULL;
void dadd(GtkWidget *widget, gpointer label)
{
char str[512];
int x;
sprintf(str,"sh post1.sh %s ",chardadd1);
x=system(str);
}
int main(int argc,char *argv[])
{
int i;char buf[128];
GtkWidget *window;
GtkWidget *tabledadd;
GtkWidget *labeldadd1;
GtkWidget *entrydadd1;
GtkWidget *buttondadd;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "GtkEntry");
gtk_container_set_border_width(GTK_CONTAINER(window), 50);
entrydadd1 = gtk_entry_new();
tabledadd = gtk_table_new(3, 2, FALSE);
gtk_container_add(GTK_CONTAINER(window), tabledadd);
labeldadd1 = gtk_label_new("group name");
buttondadd=gtk_button_new_with_label("click me");
gtk_table_attach(GTK_TABLE(tabledadd), labeldadd1, 0, 1, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(tabledadd), entrydadd1, 1, 2, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(tabledadd), buttondadd, 0, 2, 2, 3,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
chardadd1=gtk_entry_get_text(GTK_ENTRY(entrydadd1));
gtk_widget_show(window);
gtk_widget_show(tabledadd);
gtk_widget_show(labeldadd1);
gtk_widget_show(entrydadd1);
gtk_widget_show(buttondadd);
g_signal_connect(buttondadd, "clicked",G_CALLBACK(dadd), entrydadd1);
g_signal_connect(window, "destroy",G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}