{
static char buf[64];
- sprintf (buf, "CLIENT (fd %d) RESULTS", tsock->fd);
+ snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", tsock->fd);
vcl_test_stats_dump (buf, &tsock->stats,
1 /* show_rx */ , 1 /* show tx */ ,
ctrl->cfg.verbose);
{
static char buf[64];
- sprintf (buf, "CLIENT (fd %d) RESULTS", tsock->fd);
+ snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", tsock->fd);
vcl_test_stats_dump (buf, &tsock->stats,
test == VCL_TEST_TYPE_BI /* show_rx */ ,
1 /* show tx */ , ctrl->cfg.verbose);
{
static char buf[64];
- sprintf (buf, "SERVER (fd %d) RESULTS", tc->fd);
+ snprintf (buf, sizeof (buf), "SERVER (fd %d) RESULTS",
+ tc->fd);
vcl_test_stats_dump (buf, &tc->stats, 1 /* show_rx */ ,
test == VCL_TEST_TYPE_BI
/* show tx */ ,
if (ctrl->cfg.verbose > 1)
{
- sprintf (buf, "CLIENT (fd %d) RESULTS", ts->fd);
+ snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", ts->fd);
vcl_test_stats_dump (buf, &ts->stats, show_rx, 1 /* show tx */ ,
ctrl->cfg.verbose);
}
}
if (is_echo)
- sprintf (buf, "Echo");
+ snprintf (buf, sizeof (buf), "Echo");
else
- sprintf (buf, "%s-directional Stream",
- ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
+ snprintf (buf, sizeof (buf), "%s-directional Stream",
+ ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
}
static void
conn->stats.stop.tv_sec -= VCL_TEST_DELAY_DISCONNECT;
if (conn->cfg.verbose)
{
- sprintf (buf, "SERVER (fd %d) RESULTS", tc->fd);
+ snprintf (buf, sizeof (buf), "SERVER (fd %d) RESULTS", tc->fd);
vcl_test_stats_dump (buf, &tc->stats, 1 /* show_rx */ ,
is_bi /* show tx */ , conn->cfg.verbose);
}
-/*
+/*
*------------------------------------------------------------------
* Copyright (c) 2005-2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
g_little_endian = FALSE;
askstr = getprop("dont_ask_ticks_per_ns_initially");
-
+
if (askstr && (*askstr == 't' || *askstr == 'T')) {
tmp = atol(getprop_default("ticks_per_ns", 0));
if (tmp > 0) {
/*
* Squirrel away original (sorted) vector, so we can
* toggle between "chase" mode, snapshots, and the original
- * display method on short notice
+ * display method on short notice
*/
g_original_pids = g_malloc0(sizeof(pid_sort_t)*g_npids);
- memcpy (g_original_pids, g_pids, sizeof(pid_sort_t)*g_npids);
+ memcpy (g_original_pids, g_pids, sizeof(pid_sort_t)*g_npids);
}
/****************************************************************************
ulp = (ulong *)mapfile(filename, &size);
if (ulp == NULL) {
- sprintf(tmpbuf, "Couldn't open %s\n", filename);
+ snprintf(tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
infobox("Read Event Log Failure", tmpbuf);
return;
}
g_nevents = ntohl(*ulp);
if (size != (g_nevents*sizeof(raw_event_t) + sizeof(g_nevents))) {
- sprintf(tmpbuf, "%s was damaged, or isn't an event log.\n", filename);
+ snprintf(tmpbuf, sizeof(tmpbuf),
+ "%s was damaged, or isn't an event log.\n", filename);
infobox("Bad Input File", tmpbuf);
g_nevents = 0;
unmapfile((char *)ulp, size);
}
unmapfile((char *)ulp, size);
-
+
make_sorted_pid_vector();
g_free(s_pidhash);
s_pidhash = 0;
* add_clib_event
****************************************************************************/
-void add_clib_event(double delta, unsigned short track,
+void add_clib_event(double delta, unsigned short track,
unsigned short event, unsigned int index)
{
event_t *ep;
make_sorted_pid_vector();
g_free(s_pidhash);
s_pidhash = 0;
-
+
/* Give the view-1 world a chance to reset a few things... */
view1_read_events_callback();
}
char *rv;
int maphfile;
size_t mapfsize;
-
+
maphfile = open (file, O_RDONLY);
if (maphfile < 0)
boolean unmapfile (char *addr, ulong size)
{
if (munmap (addr, size) < 0) {
- g_warning("Unmap error, addr 0x%lx size 0x%x\n",
+ g_warning("Unmap error, addr 0x%lx size 0x%x\n",
(unsigned long) addr, (unsigned int)size);
return(FALSE);
}
if (ep->time < t)
top = index + 1;
- else
+ else
bottom = index - 1;
}
}
void events_about (char *tmpbuf)
{
- sprintf(tmpbuf+strlen(tmpbuf), "%d total events, %.3f ticks per us\n",
- (int)g_nevents, ticks_per_ns);
+ snprintf(tmpbuf+strlen(tmpbuf), 1024 - strlen(tmpbuf),
+ "%d total events, %.3f ticks per us\n",
+ (int)g_nevents, ticks_per_ns);
}
* limitations under the License.
*/
-const char *version_string = "G2 (x86_64 GNU/Linux) major version 3.1";
-const char *minor_v_string = "Last Changed Sun Feb 3 10:38:26 EST 2019";
+const char *version_string = "G2 (x86_64 GNU/Linux) major version 3.2";
+const char *minor_v_string = "Last Changed Sat Apr 4 09:26:32 EDT 2020";
-/*
+/*
*------------------------------------------------------------------
* Copyright (c) 2005-2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* [main window]
* [main vbox]
* [main (e.g. file) menubar]
- * [view hbox]
+ * [view hbox]
* [view bottom menu]
*/
char *title = "none";
int curarg=1;
char *homedir;
-
+
clib_mem_init (0, ((uword)3<<30));
gtk_init(&argc, &argv);
tmpbuf[0] = 0;
if (homedir) {
- sprintf(tmpbuf, "%s/.g2", homedir);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%s/.g2", homedir);
} else {
pw = getpwuid(geteuid());
if (pw) {
- sprintf(tmpbuf, "%s/.g2", pw->pw_dir);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%s/.g2", pw->pw_dir);
}
}
if (tmpbuf[0])
g_mainvbox = gtk_vbox_new(FALSE, 0);
g_mainhbox = gtk_hbox_new(FALSE, 0);
- /*
+ /*
* init routines
*/
view1_init();
event_init();
- /*
+ /*
* Now that we're ready to rock 'n roll, see if we've been asked to
* press a few buttons...
*/
-
+
while (curarg < argc) {
if (!strncmp(argv[curarg], "--cpel-input", 4)) {
curarg++;
g_error ("Missing filename after --event-log\n");
}
- fprintf(stderr,
+ fprintf(stderr,
"g2 [--pointdefs <filename>] [--event-log <filename>]\n");
fprintf(stderr, " [--ticks-per-us <value>]\n");
- fprintf(stderr,
+ fprintf(stderr,
" [--cpel-input <filename>] [--clib-input <filename]>\n");
- fprintf(stderr,
+ fprintf(stderr,
"%s\n%s\n", version_string, minor_v_string);
exit(0);
}
-/*
+/*
*------------------------------------------------------------------
* Copyright (c) 2006-2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
{
md_t *md = (md_t *)user_data;
char * cb_arg;
-
+
cb_arg = (char *) gtk_entry_get_text(GTK_ENTRY(md->entry));
if ((*md->callback)(cb_arg)) {
* modal_dialog
****************************************************************************/
-void modal_dialog (char *label_text, char *retry_text, char *default_value,
+void modal_dialog (char *label_text, char *retry_text, char *default_value,
boolean (*cb)(char *))
{
GtkWidget *dialog, *label, *ok_button, *entry;
else
md->callback = debug_dialog_callback;
- gtk_signal_connect (GTK_OBJECT (ok_button), "clicked",
+ gtk_signal_connect (GTK_OBJECT (ok_button), "clicked",
GTK_SIGNAL_FUNC(get_dialog_value), (gpointer) md);
- gtk_signal_connect (GTK_OBJECT (entry), "activate",
+ gtk_signal_connect (GTK_OBJECT (entry), "activate",
GTK_SIGNAL_FUNC(get_dialog_value), (gpointer) md);
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
static void read_eventdef_callback(GtkToggleButton *item, gpointer data)
{
-
+
s_filesel = gtk_file_selection_new("Read Event Definitions From...");
-
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
+
+ gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
"../h/elog.h");
gtk_signal_connect (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC(get_eventdef_name), NULL);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->cancel_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
char tmpbuf [32];
s_eventsel = gtk_file_selection_new("Read Events From...");
-
+
gtk_signal_connect (GTK_OBJECT (
GTK_FILE_SELECTION(s_eventsel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC(get_events_name), NULL);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_eventsel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_eventsel);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_eventsel)->cancel_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_eventsel);
gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_eventsel));
if (ticks_per_ns_set)
gtk_widget_show (s_eventsel);
else {
- sprintf(tmpbuf, "%.3f", ticks_per_ns);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%.3f", ticks_per_ns);
modal_dialog ("Please enter clock ticks per nanosecond",
"Invalid: Please enter clock ticks per nanosecond",
tmpbuf, get_ticks_per_ns);
int widest_line_in_chars;
int w;
int nlines;
-
+
/*
* You'd think that the string extent function would work here.
- * You'd be wrong.
+ * You'd be wrong.
*/
nlines = w = widest_line_in_chars = 0;
for (cp = text; *cp; cp++) {
entry = gtk_text_new(NULL, NULL);
- gtk_signal_connect (GTK_OBJECT (entry), "size-request",
- GTK_SIGNAL_FUNC(infobox_size_request),
+ gtk_signal_connect (GTK_OBJECT (entry), "size-request",
+ GTK_SIGNAL_FUNC(infobox_size_request),
(gpointer) text);
gtk_text_insert(GTK_TEXT(entry), g_font, &fg_black, &bg_white,
ok_button = gtk_button_new_with_label("OK");
- gtk_signal_connect_object (GTK_OBJECT (ok_button), "clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
+ gtk_signal_connect_object (GTK_OBJECT (ok_button), "clicked",
+ GTK_SIGNAL_FUNC(gtk_widget_destroy),
(gpointer) GTK_OBJECT(dialog));
box = gtk_vbox_new(FALSE, 5);
static void help_about_callback(GtkToggleButton *item, gpointer data)
{
char tmpbuf [1024];
- sprintf (tmpbuf, "G2 -- Graphical Event Viewer\n\n");
+ snprintf (tmpbuf, sizeof(tmpbuf), "G2 -- Graphical Event Viewer\n\n");
view1_about(tmpbuf);
pointsel_about(tmpbuf);
events_about(tmpbuf);
- sprintf (tmpbuf+strlen(tmpbuf), "\n%s\n", version_string);
- sprintf (tmpbuf+strlen(tmpbuf), "%s\n", minor_v_string);
+ snprintf (tmpbuf+strlen(tmpbuf), sizeof(tmpbuf) - strlen(tmpbuf),
+ "\n%s\n", version_string);
+ snprintf (tmpbuf+strlen(tmpbuf), sizeof(tmpbuf) - strlen(tmpbuf),
+ "%s\n", minor_v_string);
infobox("About", tmpbuf);
}
static void read_cpel_callback(GtkToggleButton *item, gpointer data)
{
-
+
s_filesel = gtk_file_selection_new("Read CPEL data from...");
-
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
+
+ gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
"cpel.out");
gtk_signal_connect (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC(get_cpel_name), NULL);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->cancel_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
static void read_clib_callback(GtkToggleButton *item, gpointer data)
{
-
+
s_filesel = gtk_file_selection_new("Read clib data From...");
-
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
+
+ gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
"clib.out");
gtk_signal_connect (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC(get_clib_name), NULL);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->ok_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
-
+
gtk_signal_connect_object (GTK_OBJECT (
GTK_FILE_SELECTION(s_filesel)->cancel_button),
- "clicked",
+ "clicked",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
(gpointer) s_filesel);
gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
s_filemenu = gtk_menu_new();
- s_readcpel = gtk_menu_item_new_with_label
+ s_readcpel = gtk_menu_item_new_with_label
("Read CPEL file");
gtk_menu_append(GTK_MENU(s_filemenu), s_readcpel);
- gtk_signal_connect(GTK_OBJECT(s_readcpel), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_readcpel), "activate",
GTK_SIGNAL_FUNC(read_cpel_callback), 0);
- s_readclib = gtk_menu_item_new_with_label
+ s_readclib = gtk_menu_item_new_with_label
("Read CLIB file");
gtk_menu_append(GTK_MENU(s_filemenu), s_readclib);
- gtk_signal_connect(GTK_OBJECT(s_readclib), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_readclib), "activate",
GTK_SIGNAL_FUNC(read_clib_callback), 0);
-
+
s_readdefs = gtk_menu_item_new_with_label ("Read Event Definitions");
gtk_menu_append(GTK_MENU(s_filemenu), s_readdefs);
- gtk_signal_connect(GTK_OBJECT(s_readdefs), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_readdefs), "activate",
GTK_SIGNAL_FUNC(read_eventdef_callback), 0);
-
+
s_readevents = gtk_menu_item_new_with_label ("Read Event Log");
gtk_menu_append(GTK_MENU(s_filemenu), s_readevents);
- gtk_signal_connect(GTK_OBJECT(s_readevents), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_readevents), "activate",
GTK_SIGNAL_FUNC(read_events_callback), 0);
-
- s_readeventsclock = gtk_menu_item_new_with_label
+
+ s_readeventsclock = gtk_menu_item_new_with_label
("Read Event Log with Different Clock Rate");
gtk_menu_append(GTK_MENU(s_filemenu), s_readeventsclock);
- gtk_signal_connect(GTK_OBJECT(s_readeventsclock), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_readeventsclock), "activate",
GTK_SIGNAL_FUNC(read_eventsclock_callback), 0);
s_print = gtk_menu_item_new_with_label ("Print");
gtk_menu_append(GTK_MENU(s_filemenu), s_print);
- gtk_signal_connect(GTK_OBJECT(s_print), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_print), "activate",
GTK_SIGNAL_FUNC(view1_print_callback), 0);
-
+
s_quit = gtk_menu_item_new_with_label ("Exit");
gtk_menu_append(GTK_MENU(s_filemenu), s_quit);
- gtk_signal_connect(GTK_OBJECT(s_quit), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_quit), "activate",
GTK_SIGNAL_FUNC(gtk_main_quit), 0);
s_mainfilemenu = gtk_menu_item_new_with_label("File");
s_help_general = gtk_menu_item_new_with_label ("General");
gtk_menu_append(GTK_MENU(s_helpmenu), s_help_general);
- gtk_signal_connect(GTK_OBJECT(s_help_general), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_help_general), "activate",
GTK_SIGNAL_FUNC(help_general_callback), 0);
s_help_about = gtk_menu_item_new_with_label ("About");
gtk_menu_append(GTK_MENU(s_helpmenu), s_help_about);
- gtk_signal_connect(GTK_OBJECT(s_help_about), "activate",
+ gtk_signal_connect(GTK_OBJECT(s_help_about), "activate",
GTK_SIGNAL_FUNC(help_about_callback), 0);
s_mainhelpmenu = gtk_menu_item_new_with_label("Help");
-/*
+/*
*------------------------------------------------------------------
* Copyright (c) 2005-2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
gtk_widget_show(s_nonebutton);
gtk_signal_connect (GTK_OBJECT(s_allbutton), "clicked",
- GTK_SIGNAL_FUNC(button_click_callback),
+ GTK_SIGNAL_FUNC(button_click_callback),
(gpointer) ALL_BUTTON);
gtk_signal_connect (GTK_OBJECT(s_nonebutton), "clicked",
- GTK_SIGNAL_FUNC(button_click_callback),
+ GTK_SIGNAL_FUNC(button_click_callback),
(gpointer) NONE_BUTTON);
- gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_allbutton, FALSE,
+ gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_allbutton, FALSE,
FALSE, 0);
- gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_nonebutton, FALSE,
+ gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_nonebutton, FALSE,
FALSE, 0);
-
+
gtk_widget_show(s_pointselbuttons);
- gtk_widget_ref(s_pointselbuttons);
+ gtk_widget_ref(s_pointselbuttons);
- gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
+ gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
FALSE, 0);
- gtk_box_pack_end (GTK_BOX(g_mainhbox), s_pointselbox,
+ gtk_box_pack_end (GTK_BOX(g_mainhbox), s_pointselbox,
FALSE, FALSE, 0);
- s_ps_vsadj = gtk_adjustment_new(0.0 /* initial value */,
+ s_ps_vsadj = gtk_adjustment_new(0.0 /* initial value */,
0.0 /* minimum value */,
2000.0 /* maximum value */,
- 0.1 /* step increment */,
- 10.0/* page increment */,
+ 0.1 /* step increment */,
+ 10.0/* page increment */,
10.0/* page size */);
-
+
s_ps_vscroll = gtk_vscrollbar_new (GTK_ADJUSTMENT(s_ps_vsadj));
gtk_signal_connect (GTK_OBJECT (s_ps_vsadj), "value-changed",
- GTK_SIGNAL_FUNC (scroll_callback),
+ GTK_SIGNAL_FUNC (scroll_callback),
(gpointer)s_ps_vscroll);
gtk_box_pack_end(GTK_BOX(g_mainhbox), s_ps_vscroll, FALSE, FALSE, 0);
}
gtk_widget_hide(s_pointselbox);
gtk_widget_hide(s_pointselbuttons);
gtk_widget_hide(s_ps_vscroll);
- gtk_container_remove(GTK_CONTAINER(s_pointselbox),
+ gtk_container_remove(GTK_CONTAINER(s_pointselbox),
s_pointselbuttons);
-
+
for (i = 0; i < g_neventdefs; i++) {
if (s_event_buttons[i]) {
- gtk_container_remove(GTK_CONTAINER(s_pointselbox),
+ gtk_container_remove(GTK_CONTAINER(s_pointselbox),
s_event_buttons[i]);
s_event_buttons[i] = 0;
}
for (i = 0; i < g_neventdefs; i++) {
ep = &g_eventdefs[i];
- sprintf(tmpbuf, "[%lu] %s", ep->event,
+ snprintf(tmpbuf, sizeof(tmpbuf), "[%lu] %s", ep->event,
ep->name ? ep->name : "(none)");
/* Hack to reduce width of point selectors */
if (strlen(tmpbuf) > 50) {
wp = gtk_check_button_new_with_label (tmpbuf);
s_event_buttons[i] = wp;
gtk_signal_connect (GTK_OBJECT(wp), "toggled",
- GTK_SIGNAL_FUNC(point_select_callback),
+ GTK_SIGNAL_FUNC(point_select_callback),
(gpointer) (unsigned long long) i);
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON(wp), TRUE);
s_min_shown_pointsel = 1;
up_button();
- gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
+ gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
FALSE, 0);
gtk_widget_show(s_pointselbuttons);
gtk_widget_show(s_pointselbox);
g_error("Too many event definitions, increase NEVENTS!");
/*NOTREACHED*/
}
-
+
/* Simple dup check, probably not needed very often */
for (i = 0; i < g_neventdefs; i++) {
if (g_eventdefs[i].event == event) {
* add_event_from_cpel_file
****************************************************************************/
-void add_event_from_cpel_file(ulong event, char *event_format,
+void add_event_from_cpel_file(ulong event, char *event_format,
char *datum_format)
{
event_def_t *ep;
/*
* Duplicate the strings for backward compatibility. Otherwise,
* the g_free above will barf because the name/format strings are
- * actually in mmap'ed memory
+ * actually in mmap'ed memory
*/
ep->name = sxerox(event_format);
ep->format = sxerox(datum_format);
* add_event_from_clib_file
****************************************************************************/
-void add_event_from_clib_file(unsigned int event, char *name,
+void add_event_from_clib_file(unsigned int event, char *name,
unsigned int vec_index)
{
event_def_t *ep;
/* skip ws after #define */
while (*cp && isspace ((int)*cp))
cp++;
-
+
if (*cp == 0)
continue;
/* skip ws after symbolic name */
while (*cp && isspace ((int)*cp))
cp++;
-
+
if (*cp == 0)
continue;
while (*cp && *cp != '(')
cp++;
-
+
if (*cp == 0)
continue;
- cp++;
+ cp++;
while (*cp && isspace ((int)*cp))
cp++;
-
- }
+
+ }
/* eat event code. */
while (*cp && isdigit ((int)*cp))
/* skip ws after event code */
while (*cp && isspace ((int)*cp))
cp++;
-
+
if (*cp != '/')
continue;
continue;
*cp++ = 0;
-
+
/* skip ws after name: */
while (*cp && isspace ((int)*cp))
cp++;
-
+
if (*cp == 0 || *cp == '/')
{
format = " ";
}
format = cp;
-
+
/* accumulate format string */
while (*cp && !isspace ((int)*cp))
cp++;
/* skip ws after EV_COMPxxx_START */
while (*cp && isspace ((int)*cp))
cp++;
-
+
if (*cp == 0)
continue;
-
+
basenum = atol (cp);
-
+
/* skip #define */
while (*cp && (*cp != '/'))
cp++;
while (*cp && !isspace ((int)*cp))
cp++;
-
+
*cp = 0;
s_hfp = fopen (name, "rt");
s_elog_hfp = fopen (filename, "rt");
if (s_elog_hfp == NULL) {
- sprintf (tmpbuf, "Couldn't open %s\n", filename);
+ snprintf (tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
infobox ("Open Failed", tmpbuf);
return(FALSE);
}
s_hfp = fopen (filename, "rt");
if (s_hfp == NULL) {
- sprintf (tmpbuf, "Couldn't open %s\n", filename);
+ snprintf (tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
infobox ("Read Event Definition Failure", tmpbuf);
return(FALSE);
}
/* Happens if the user feeds us the wrong file, for example */
if (g_neventdefs == 0) {
- sprintf (tmpbuf, "No event definitions found in %s\n", filename);
+ snprintf (tmpbuf, sizeof(tmpbuf),
+ "No event definitions found in %s\n", filename);
infobox ("No Event Definitions?", tmpbuf);
return(FALSE);
}
index = (bottom + top) / 2;
edp = (g_eventdefs + index);
-
+
if (edp->event == code)
return(edp);
edp->selected = TRUE;
edp->event = code;
edp->format = "0x%x";
- sprintf (dummy_string, "E%lu", code);
+ snprintf (dummy_string, sizeof(dummy_string), "E%lu", code);
edp->name = &dummy_string[0];
return(edp);
}
if (edp->event < code)
top = index + 1;
- else
+ else
bottom = index - 1;
}
}
void pointsel_next_snapshot(void)
{
int i;
-
+
for (i = 0; i < g_neventdefs; i++) {
gtk_toggle_button_set_active (
- GTK_TOGGLE_BUTTON(s_event_buttons[i]),
+ GTK_TOGGLE_BUTTON(s_event_buttons[i]),
g_eventdefs[i].selected);
}
}
void pointsel_about (char *tmpbuf)
{
- sprintf (tmpbuf+strlen(tmpbuf), "%d event definitions\n",
+ snprintf (tmpbuf+strlen(tmpbuf), 128, "%d event definitions\n",
g_neventdefs);
}
-/*
+/*
*------------------------------------------------------------------
* Copyright (c) 1997-2016 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
static int hash_shifts[4] = {24, 16, 8, 0};
/*
- * getprop
+ * getprop
*/
char *getprop (char *name)
}
/*
- * sxerox
+ * sxerox
*/
static char *sxerox (char *s)
}
/*
- * readprops
+ * readprops
*/
#define START 0
c, linenum);
exit (1);
break;
-
+
case CPP_COMMENT:
while (1) {
c = getc (ifp);
}
}
break;
-
+
case READNAME:
i = 0;
namebuf[i++] = c;
{
char *fp;
-#ifdef NOTDEF
- sprintf(tmpbuf,"%d:", ep->code);
-#endif
if (ep->flags & EVENT_FLAG_CLIB) {
elog_event_t *eep;
u8 *s;
}
}
- sprintf(tmpbuf, "%ld", ep->code);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%ld", ep->code);
/* Figure out the dimensions of the regular box */
rp = tbox(tmpbuf, x, y, TBOX_GETRECT_EVENT);
*/
nsec = ((double)xdelta)*time_per_pixel;
if (nsec >1e9) {
- sprintf(tmpbuf, "%8.3f sec ", nsec/1e9);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f sec ", nsec/1e9);
} else if (nsec > 1e6) {
- sprintf(tmpbuf, "%8.3f msec", nsec/1e6);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f msec", nsec/1e6);
} else if (nsec > 1e3) {
- sprintf(tmpbuf, "%8.3f usec", nsec/1e3);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f usec", nsec/1e3);
} else {
- sprintf(tmpbuf, "%8.0f nsec", nsec);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%8.0f nsec", nsec);
}
s_v1->last_time_interval = nsec;
tbox(tmpbuf, (int)(press3_event.x), s_v1->pop_offset,
x = s_v1->pid_ax_width +
(int)(((double)(ep->time - s_v1->minvistime)) /
time_per_pixel);
- sprintf(tmpbuf, "SEARCH RESULT");
+ snprintf(tmpbuf, sizeof(tmpbuf), "SEARCH RESULT");
tbox(tmpbuf, x, y - s_v1->pop_offset, TBOX_DRAW_BOXED);
line(x, y-s_v1->pop_offset, x, y, LINE_DRAW_BLACK);
} else {
return(TRUE);
}
}
- sprintf (tmpbuf, "Search for event %ld failed...\n", s_srchcode);
+ snprintf (tmpbuf, sizeof(tmpbuf),
+ "Search for event %ld failed...\n", s_srchcode);
message_line(tmpbuf);
s_srchfail_up = TRUE;
return(TRUE);
return(TRUE);
}
}
- sprintf (tmpbuf, "Search for an anomalous event %ld failed...\n",
- s_anomalycode);
+ snprintf (tmpbuf, sizeof(tmpbuf),
+ "Search for an anomalous event %ld failed...\n",
+ s_anomalycode);
message_line(tmpbuf);
s_srchfail_up = TRUE;
return(TRUE);
if (ep->flags & (EVENT_FLAG_SELECT | EVENT_FLAG_SEARCHRSLT)) {
if (ep->flags & EVENT_FLAG_SELECT) {
format_popbox_string(tmpbuf, sizeof(tmpbuf), ep, edp);
-#ifdef NOTDEF
- sprintf(tmpbuf, edp->name);
- sprintf(tmpbuf+strlen(tmpbuf), ": ");
- sprintf(tmpbuf+strlen(tmpbuf), edp->format, ep->datum);
-#endif
} else {
- sprintf(tmpbuf, "SEARCH RESULT");
+ snprintf(tmpbuf, sizeof(tmpbuf), "SEARCH RESULT");
}
print_rect = tbox(tmpbuf, x, y - vp->pop_offset,
TBOX_DRAW_BOXED+s_print_offset);
line(x, y - delta, x, y + delta, LINE_DRAW_BLACK);
last_x_used[pid_index] = x + 1;
} else {
- sprintf(tmpbuf, "%ld", ep->code);
+ snprintf(tmpbuf, sizeof(tmpbuf), "%ld", ep->code);
print_rect = tbox(tmpbuf, x, y, TBOX_DRAW_EVENT+s_print_offset);
if (last_x_used != NULL)
last_x_used[pid_index] = x + print_rect->width;
time += (double)(vp->minvistime);
time /= unit_divisor;
- sprintf (tmpbuf, "%.2f%s", time, units);
+ snprintf (tmpbuf, sizeof(tmpbuf), "%.2f%s", time, units);
tbox(tmpbuf, x+xoffset, y+15, TBOX_DRAW_PLAIN+s_print_offset);
int nsnaps;
snapshot_t *snaps;
- sprintf(tmpbuf+strlen(tmpbuf), "Minvistime %lld\nMaxvistime %lld\n",
+ snprintf(tmpbuf+strlen(tmpbuf), 128, "Minvistime %lld\nMaxvistime %lld\n",
s_v1->minvistime, s_v1->maxvistime);
- sprintf(tmpbuf+strlen(tmpbuf), "Strip Height %d\n",
+ snprintf(tmpbuf+strlen(tmpbuf), 128, "Strip Height %d\n",
s_v1->strip_height);
for (nsnaps = 0, snaps = s_snapshots; snaps; snaps = snaps->next) {
nsnaps++;
}
- sprintf(tmpbuf+strlen(tmpbuf), "%d snapshots in the ring\n", nsnaps);
+ snprintf(tmpbuf+strlen(tmpbuf), 128, "%d snapshots in the ring\n", nsnaps);
}
clib_error_t *error = 0;
client_state_t *cs;
f64 current_time = vlib_time_now (vm);
- char buf1[256];
- char buf2[256];
+ u8 *buf1 = 0;
+ u8 *buf2 = 0;
const char *rebinding;
u32 i;
cs = &rm->client_state_by_sw_if_index[i];
if (cs->enabled)
{
+ vec_reset_length (buf1);
+ vec_reset_length (buf2);
if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
{
- sprintf (buf1, "%u remaining",
- (u32) round (cs->T1_due_time - current_time));
+ buf1 = format (buf1, "%u remaining",
+ (u32) round (cs->T1_due_time - current_time));
}
else
- sprintf (buf1, "timeout");
+ buf1 = format (buf1, "timeout");
if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
- sprintf (buf2, "%u remaining",
- (u32) round (cs->T2_due_time - current_time));
+ buf2 = format (buf2, "%u remaining",
+ (u32) round (cs->T2_due_time - current_time));
else
- sprintf (buf2, "timeout");
+ buf2 = format (buf2, "timeout");
if (cs->rebinding)
rebinding = ", REBINDING";
else
rebinding = "";
if (cs->T1)
vlib_cli_output (vm,
- "sw_if_index: %u, T1: %u (%s), "
- "T2: %u (%s), server index: %d%s", i,
+ "sw_if_index: %u, T1: %u (%v), "
+ "T2: %u (%v), server index: %d%s", i,
cs->T1, buf1, cs->T2, buf2,
cs->server_index, rebinding);
else
}
}
+ vec_free (buf1);
+ vec_free (buf2);
+
return error;
}
client_state_t *cs;
f64 current_time = vlib_time_now (vm);
const u8 *prefix_group;
- char buf1[256];
- char buf2[256];
+ u8 *buf1 = 0;
+ u8 *buf2 = 0;
const char *rebinding;
u32 i;
cs = &rm->client_state_by_sw_if_index[i];
if (cs->enabled)
{
+ vec_reset_length (buf1);
+ vec_reset_length (buf2);
if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
{
- sprintf (buf1, "%u remaining",
- (u32) round (cs->T1_due_time - current_time));
+ buf1 = format (buf1, "%u remaining",
+ (u32) round (cs->T1_due_time - current_time));
}
else
- sprintf (buf1, "timeout");
+ buf1 = format (buf1, "timeout");
if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
- sprintf (buf2, "%u remaining",
- (u32) round (cs->T2_due_time - current_time));
+ buf2 = format (buf2, "%u remaining",
+ (u32) round (cs->T2_due_time - current_time));
else
- sprintf (buf2, "timeout");
+ buf2 = format (buf2, "timeout");
if (cs->rebinding)
rebinding = ", REBINDING";
else
pm->prefix_group_name_by_index[cs->prefix_group_index];
if (cs->T1)
vlib_cli_output (vm,
- "sw_if_index: %u, prefix group: %s, T1: %u (%s), "
- "T2: %u (%s), server index: %d%s", i,
+ "sw_if_index: %u, prefix group: %s, T1: %u (%v), "
+ "T2: %u (%v), server index: %d%s", i,
prefix_group, cs->T1, buf1, cs->T2, buf2,
cs->server_index, rebinding);
else
}
}
+ vec_free (buf1);
+ vec_free (buf2);
+
return error;
}
if (verbose)
{
- char buf[32];
- sprintf (buf, "%u(%u)", app_wrk->wrk_map_index, app_wrk->wrk_index);
- s = format (s, "%-40s%-25s%=10s%-15u%-15u%-10u", str, app_name,
+ u8 *buf;
+ buf = format (0, "%u(%u)", app_wrk->wrk_map_index, app_wrk->wrk_index);
+ s = format (s, "%-40s%-25s%=10v%-15u%-15u%-10u", str, app_name,
buf, app_wrk->api_client_index, handle, sm_index);
+ vec_free (buf);
}
else
s = format (s, "%-40s%-25s%=10u", str, app_name, app_wrk->wrk_map_index);