projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix/breakage API : replace bt_ctf_event
[babeltrace.git]
/
converter
/
babeltrace-log.c
diff --git
a/converter/babeltrace-log.c
b/converter/babeltrace-log.c
index 6a5b1cee5b324e65a20525e3fcb2904b54f5bf7e..6ac94e69236c3cb7f29d806aa0369b63bf5b2d4b 100644
(file)
--- a/
converter/babeltrace-log.c
+++ b/
converter/babeltrace-log.c
@@
-3,7
+3,9
@@
*
* BabelTrace - Convert Text Log to CTF
*
*
* BabelTrace - Convert Text Log to CTF
*
- * Copyright 2010, 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
+ *
+ * Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@
-18,6
+20,8
@@
* Depends on glibc 2.10 for getline().
*/
* Depends on glibc 2.10 for getline().
*/
+#define _GNU_SOURCE
+#include <config.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@
-28,28
+32,25
@@
#include <stdint.h>
#include <unistd.h>
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
#include <errno.h>
-#include <uuid/uuid.h>
#include <string.h>
#include <string.h>
-#include <endian.h>
-#include <babeltrace/babeltrace.h>
+#include <babeltrace/babeltrace
-internal
.h>
#include <babeltrace/ctf/types.h>
#include <babeltrace/ctf/types.h>
+#include <babeltrace/uuid.h>
+#include <babeltrace/endian.h>
#define USEC_PER_SEC 1000000UL
#define USEC_PER_SEC 1000000UL
-#ifndef UUID_STR_LEN
-#define UUID_STR_LEN 37 /* With \0 */
-#endif
-
int babeltrace_debug, babeltrace_verbose;
static char *s_outputname;
static int s_timestamp;
static int s_help;
int babeltrace_debug, babeltrace_verbose;
static char *s_outputname;
static int s_timestamp;
static int s_help;
-static u
uid_t s_uuid
;
+static u
nsigned char s_uuid[BABELTRACE_UUID_LEN]
;
/* Metadata format string */
static const char metadata_fmt[] =
/* Metadata format string */
static const char metadata_fmt[] =
+"/* CTF 1.8 */\n"
"typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n"
"typealias integer { size = 32; align = 32; signed = false; } := uint32_t;\n"
"\n"
"typealias integer { size = 8; align = 8; signed = false; } := uint8_t;\n"
"typealias integer { size = 32; align = 32; signed = false; } := uint32_t;\n"
"\n"
@@
-86,19
+87,24
@@
static const char metadata_stream_event_header_timestamp[] =
static
void print_metadata(FILE *fp)
{
static
void print_metadata(FILE *fp)
{
- char uuid_str[UUID_STR_LEN];
+ char uuid_str[BABELTRACE_UUID_STR_LEN];
+ unsigned int major = 0, minor = 0;
+ int ret;
- uuid_unparse(s_uuid, uuid_str);
+ ret = sscanf(VERSION, "%u.%u", &major, &minor);
+ if (ret != 2)
+ fprintf(stderr, "[warning] Incorrect babeltrace version format\n.");
+ babeltrace_uuid_unparse(s_uuid, uuid_str);
fprintf(fp, metadata_fmt,
fprintf(fp, metadata_fmt,
-
BABELTRACE_VERSION_MAJOR
,
-
BABELTRACE_VERSION_MINOR
,
+
major
,
+
minor
,
uuid_str,
BYTE_ORDER == LITTLE_ENDIAN ? "le" : "be",
s_timestamp ? metadata_stream_event_header_timestamp : "");
}
static
uuid_str,
BYTE_ORDER == LITTLE_ENDIAN ? "le" : "be",
s_timestamp ? metadata_stream_event_header_timestamp : "");
}
static
-void write_packet_header(struct ctf_stream_pos *pos, u
uid_t
uuid)
+void write_packet_header(struct ctf_stream_pos *pos, u
nsigned char *
uuid)
{
struct ctf_stream_pos dummy;
{
struct ctf_stream_pos dummy;
@@
-119,8
+125,8
@@
void write_packet_header(struct ctf_stream_pos *pos, uuid_t uuid)
assert(!ctf_pos_packet(&dummy));
ctf_align_pos(pos, sizeof(uint8_t) * CHAR_BIT);
assert(!ctf_pos_packet(&dummy));
ctf_align_pos(pos, sizeof(uint8_t) * CHAR_BIT);
- memcpy(ctf_get_pos_addr(pos), uuid,
16
);
- ctf_move_pos(pos,
16
* CHAR_BIT);
+ memcpy(ctf_get_pos_addr(pos), uuid,
BABELTRACE_UUID_LEN
);
+ ctf_move_pos(pos,
BABELTRACE_UUID_LEN
* CHAR_BIT);
}
static
}
static
@@
-203,7
+209,7
@@
retry:
write_packet_header(pos, s_uuid);
write_packet_context(pos);
if (attempt++ == 1) {
write_packet_header(pos, s_uuid);
write_packet_context(pos);
if (attempt++ == 1) {
- fprintf(std
out
, "[Error] Line too large for packet size (%zukB) (discarded)\n",
+ fprintf(std
err
, "[Error] Line too large for packet size (%zukB) (discarded)\n",
pos->packet_size / CHAR_BIT / 1024);
return;
}
pos->packet_size / CHAR_BIT / 1024);
return;
}
@@
-243,9
+249,7
@@
void trace_text(FILE *input, int output)
static
void usage(FILE *fp)
{
static
void usage(FILE *fp)
{
- fprintf(fp, "BabelTrace Log Converter %u.%u\n",
- BABELTRACE_VERSION_MAJOR,
- BABELTRACE_VERSION_MINOR);
+ fprintf(fp, "BabelTrace Log Converter %s\n", VERSION);
fprintf(fp, "\n");
fprintf(fp, "Convert for a text log (read from standard input) to CTF.\n");
fprintf(fp, "\n");
fprintf(fp, "\n");
fprintf(fp, "Convert for a text log (read from standard input) to CTF.\n");
fprintf(fp, "\n");
@@
-287,8
+291,8
@@
int main(int argc, char **argv)
ret = parse_args(argc, argv);
if (ret) {
ret = parse_args(argc, argv);
if (ret) {
- fprintf(std
out
, "Error: invalid argument.\n");
- usage(std
out
);
+ fprintf(std
err
, "Error: invalid argument.\n");
+ usage(std
err
);
goto error;
}
goto error;
}
@@
-333,7
+337,7
@@
int main(int argc, char **argv)
goto error_closemetadatafd;
}
goto error_closemetadatafd;
}
- uuid_generate(s_uuid);
+
babeltrace_
uuid_generate(s_uuid);
print_metadata(metadata_fp);
trace_text(stdin, fd);
print_metadata(metadata_fp);
trace_text(stdin, fd);
This page took
0.025458 seconds
and
4
git commands to generate.