AC_SUBST(KRB5_LIBS)
])
+dnl
+dnl Check whether a given format can be used to print 64-bit integers
+dnl
+AC_DEFUN([AC_WIRESHARK_CHECK_64BIT_FORMAT],
+[
+ AC_MSG_CHECKING([whether %$1x can be used to format 64-bit integers])
+ AC_RUN_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [[
+ #include <glib.h>
+ #if GTK_MAJOR_VERSION >= 2
+ #include <glib/gprintf.h>
+ #endif
+ #include <stdio.h>
+
+ main()
+ {
+ guint64 t = 1;
+ char strbuf[16+1];
+ g_snprintf(strbuf, sizeof strbuf, "%016$1x", t << 32);
+ if (strcmp(strbuf, "0000000100000000") == 0)
+ exit(0);
+ else
+ exit(1);
+ }
+ ]])
+ ],
+ [
+ AC_DEFINE(G_GINT64_MODIFIER, "$1", [Format modifier for printing 64-bit numbers])
+ AC_MSG_RESULT(yes)
+ ],
+ [
+ AC_MSG_RESULT(no)
+ $2
+ ])
+])
+
#
# AC_WIRESHARK_GCC_CFLAGS_CHECK
#
# XXX - do we need this?
AC_PROG_GCC_TRADITIONAL
+#
+# Does GLib define G_GINT64_MODIFIER?
+#
+AC_MSG_CHECKING([[whether glib.h defines the G_GINT64_MODIFIER macro]])
+AC_COMPILE_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [[
+ #include <glib.h>
+ #if GTK_MAJOR_VERSION >= 2
+ #include <glib/gprintf.h>
+ #endif
+ #include <stdio.h>
+
+ main()
+ {
+ char strbuf[16+1];
+ g_snprintf(strbuf, sizeof strbuf, "%" G_GINT64_MODIFIER "x\n", (gint64)1);
+ }
+ ]])
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ ],
+ [
+ AC_MSG_RESULT(no)
+ AC_WIRESHARK_CHECK_64BIT_FORMAT(ll,
+ [
+ AC_WIRESHARK_CHECK_64BIT_FORMAT(L,
+ [
+ AC_WIRESHARK_CHECK_64BIT_FORMAT(q,
+ [
+ AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer])
+ ])
+ ])
+ ])
+ ])
+
GETOPT_C=""
GETOPT_O=""
AC_CHECK_FUNC(getopt, GETOPT_O="",
temp_int = ansi_801_tvb_get_bits(tvb, &new_offset, &bit_offset, 18);
proto_tree_add_text(tree, tvb, offset, new_offset - offset,
- "CLOCK_BIAS: (%llu)",
- (unsigned long long) temp_int);
+ "CLOCK_BIAS: (%" G_GINT64_MODIFIER "u)", temp_int);
offset = new_offset;
temp_int = ansi_801_tvb_get_bits(tvb, &new_offset, &bit_offset, 16);
proto_tree_add_text(tree, tvb, offset, new_offset - offset,
- "CLOCK_DRIFT: (%llu)",
- (unsigned long long) temp_int);
+ "CLOCK_DRIFT: (%" G_GINT64_MODIFIER "u)", temp_int);
offset = new_offset;
bit_mask = 0x80 >> (8 - bit_offset);
temp_int = ansi_801_tvb_get_bits(tvb, &new_offset, &bit_offset, 14);
proto_tree_add_text(tree, tvb, offset, new_offset - offset,
- "HEIGHT: (%llu)",
- (unsigned long long) temp_int);
+ "HEIGHT: (%" G_GINT64_MODIFIER "u)", temp_int);
offset = new_offset;
temp_int = ansi_801_tvb_get_bits(tvb, &new_offset, &bit_offset, 5);
proto_tree_add_text(tree, tvb, offset, new_offset - offset,
- "LOC_UNCRTNTY_V: (%llu)",
- (unsigned long long) temp_int);
+ "LOC_UNCRTNTY_V: (%" G_GINT64_MODIFIER "u)", temp_int);
offset = new_offset;
bit_mask = 0x80 >> (8 - bit_offset);
temp_int = ansi_801_tvb_get_bits(tvb, &new_offset, &bit_offset, 5);
proto_tree_add_text(tree, tvb, offset, 1,
- "BAD_SV_PRN_NUM: (%llu)",
- (unsigned long long) temp_int);
+ "BAD_SV_PRN_NUM: (%" G_GINT64_MODIFIER "u)", temp_int);
offset = new_offset;
}
proto_tree_add_uint_format(sub_tree, hf_tag_measure_request_channel_number, tvb, offset, 1, channel_number, "Measurement Channel Number: 0x%02X", channel_number);
start_time = tvb_get_letoh64 (tvb, offset);
- proto_tree_add_uint64_format(sub_tree, hf_tag_measure_request_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016llX", (unsigned long long) start_time);
+ proto_tree_add_uint64_format(sub_tree, hf_tag_measure_request_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016" G_GINT64_MODIFIER "X", start_time);
offset += 8;
duration = tvb_get_letohs (tvb, offset);
offset++;
start_time = tvb_get_letoh64 (tvb, offset);
- proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016llX", (unsigned long long) start_time);
+ proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016" G_GINT64_MODIFIER "X", start_time);
offset += 8;
duration = tvb_get_letohs (tvb, offset);
offset++;
start_time = tvb_get_letoh64 (tvb, offset);
- proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016llX", (unsigned long long) start_time);
+ proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016" G_GINT64_MODIFIER "X", start_time);
offset += 8;
duration = tvb_get_letohs (tvb, offset);
offset++;
start_time = tvb_get_letoh64 (tvb, offset);
- proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016llX", (unsigned long long) start_time);
+ proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016" G_GINT64_MODIFIER "X", start_time);
offset += 8;
duration = tvb_get_letohs (tvb, offset);
offset++;
start_time = tvb_get_letoh64 (tvb, offset);
- proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016llX", (unsigned long long) start_time);
+ proto_tree_add_uint64_format(sub_tree, hf_tag_measure_report_start_time, tvb, offset, 8, start_time, "Measurement Start Time: 0x%016" G_GINT64_MODIFIER "X", start_time);
offset += 8;
duration = tvb_get_letohs (tvb, offset);
printf(" ");
}
- printf("NODE:%08x parent:%08x left:0x%08x right:%08x key:%d data:0x%08x\n",(int)(long)node,(int)(long)node->parent,(int)(long)node->left,(int)(long)node->right,node->key32,(int)(long)node->data);
+ printf("NODE:%p parent:%p left:0x%p right:%px key:%d data:%p\n",node,node->parent,node->left,node->right,node->key32,node->data);
if(node->left)
emem_tree_print_nodes(node->left, level+1);
if(node->right)
if (!emem_tree)
return;
- printf("EMEM tree type:%d name:%s tree:0x%08x\n",emem_tree->type,emem_tree->name,(int)(long)emem_tree->tree);
+ printf("EMEM tree type:%d name:%s tree:%p\n",emem_tree->type,emem_tree->name,emem_tree->tree);
if(emem_tree->tree)
emem_tree_print_nodes(emem_tree->tree, 0);
}
}
static void
-free_GPtrArray_value(gpointer key _U_, gpointer value, gpointer user_data _U_)
+free_GPtrArray_value(gpointer key, gpointer value, gpointer user_data _U_)
{
GPtrArray *ptrs = value;
gint hfid = (gint)(long)key;
switch(hf_field->display){
case BASE_DEC:
return proto_tree_add_uint64_format(tree, hf_index, tvb, offset, length, value,
- "%s: %llu",
- str,
- (unsigned long long) value);
+ "%s: %" G_GINT64_MODIFIER "u",
+ str, value);
break;
case BASE_HEX:
return proto_tree_add_uint64_format(tree, hf_index, tvb, offset, length, value,
- "%s: 0x%llx",
- str,
- (unsigned long long) value);
+ "%s: 0x%" G_GINT64_MODIFIER "x",
+ str, value);
break;
default:
DISSECTOR_ASSERT_NOT_REACHED();
add_string_to_box(string_buff, file_box);
/* length */
- g_snprintf(string_buff, SUM_STR_MAX, "Length: %lld", (long long) summary.file_length);
+ g_snprintf(string_buff, SUM_STR_MAX, "Length: %" G_GINT64_MODIFIER "d", summary.file_length);
add_string_to_box(string_buff, file_box);
/* format */
/* convert file size */
if (cf->f_datalen/1024/1024 > 10) {
- size_str = g_strdup_printf("%lld MB", (long long) cf->f_datalen/1024/1024);
+ size_str = g_strdup_printf("%" G_GINT64_MODIFIER "d MB", cf->f_datalen/1024/1024);
} else if (cf->f_datalen/1024 > 10) {
- size_str = g_strdup_printf("%lld KB", (long long) cf->f_datalen/1024);
+ size_str = g_strdup_printf("%" G_GINT64_MODIFIER "d KB", cf->f_datalen/1024);
} else {
- size_str = g_strdup_printf("%lld Bytes", (long long) cf->f_datalen);
+ size_str = g_strdup_printf("%" G_GINT64_MODIFIER "d Bytes", cf->f_datalen);
}
/* statusbar */
}
#endif
if (cf->f_datalen/1024/1024 > 10) {
- capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %lld MB",
+ capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %" G_GINT64_MODIFIER "d MB",
get_interface_descriptive_name(capture_opts->iface),
capture_opts->save_file,
- (long long) cf->f_datalen/1024/1024);
+ cf->f_datalen/1024/1024);
} else if (cf->f_datalen/1024 > 10) {
- capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %lld KB",
+ capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %" G_GINT64_MODIFIER "d KB",
get_interface_descriptive_name(capture_opts->iface),
capture_opts->save_file,
- (long long) cf->f_datalen/1024);
+ cf->f_datalen/1024);
} else {
- capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %lld Bytes",
+ capture_msg = g_strdup_printf(" %s: <live capture in progress> File: %s %" G_GINT64_MODIFIER "d Bytes",
get_interface_descriptive_name(capture_opts->iface),
capture_opts->save_file,
- (long long) cf->f_datalen);
+ cf->f_datalen);
}
statusbar_push_file_msg(capture_msg);
add_string_to_box(string_buff, file_box);
/* length */
- g_snprintf(string_buff, SUM_STR_MAX, "Length: %lld", (long long) summary.file_length);
+ g_snprintf(string_buff, SUM_STR_MAX, "Length: %" G_GINT64_MODIFIER "d", summary.file_length);
add_string_to_box(string_buff, file_box);
/* format */
add_string_to_table(table, &row, "Name:", string_buff);
/* length */
- g_snprintf(string_buff, SUM_STR_MAX, "%lld bytes", (long long) summary.file_length);
+ g_snprintf(string_buff, SUM_STR_MAX, "%" G_GINT64_MODIFIER "d bytes", summary.file_length);
add_string_to_table(table, &row, "Length:", string_buff);
/* format */