diff options
Diffstat (limited to 'tools/lib/traceevent/trace-seq.c')
| -rw-r--r-- | tools/lib/traceevent/trace-seq.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/lib/traceevent/trace-seq.c b/tools/lib/traceevent/trace-seq.c index 8ff1d55954d1..8d5ecd2bf877 100644 --- a/tools/lib/traceevent/trace-seq.c +++ b/tools/lib/traceevent/trace-seq.c | |||
| @@ -100,7 +100,8 @@ static void expand_buffer(struct trace_seq *s) | |||
| 100 | * @fmt: printf format string | 100 | * @fmt: printf format string |
| 101 | * | 101 | * |
| 102 | * It returns 0 if the trace oversizes the buffer's free | 102 | * It returns 0 if the trace oversizes the buffer's free |
| 103 | * space, 1 otherwise. | 103 | * space, the number of characters printed, or a negative |
| 104 | * value in case of an error. | ||
| 104 | * | 105 | * |
| 105 | * The tracer may use either sequence operations or its own | 106 | * The tracer may use either sequence operations or its own |
| 106 | * copy to user routines. To simplify formating of a trace | 107 | * copy to user routines. To simplify formating of a trace |
| @@ -129,9 +130,10 @@ trace_seq_printf(struct trace_seq *s, const char *fmt, ...) | |||
| 129 | goto try_again; | 130 | goto try_again; |
| 130 | } | 131 | } |
| 131 | 132 | ||
| 132 | s->len += ret; | 133 | if (ret > 0) |
| 134 | s->len += ret; | ||
| 133 | 135 | ||
| 134 | return 1; | 136 | return ret; |
| 135 | } | 137 | } |
| 136 | 138 | ||
| 137 | /** | 139 | /** |
| @@ -139,6 +141,10 @@ trace_seq_printf(struct trace_seq *s, const char *fmt, ...) | |||
| 139 | * @s: trace sequence descriptor | 141 | * @s: trace sequence descriptor |
| 140 | * @fmt: printf format string | 142 | * @fmt: printf format string |
| 141 | * | 143 | * |
| 144 | * It returns 0 if the trace oversizes the buffer's free | ||
| 145 | * space, the number of characters printed, or a negative | ||
| 146 | * value in case of an error. | ||
| 147 | * * | ||
| 142 | * The tracer may use either sequence operations or its own | 148 | * The tracer may use either sequence operations or its own |
| 143 | * copy to user routines. To simplify formating of a trace | 149 | * copy to user routines. To simplify formating of a trace |
| 144 | * trace_seq_printf is used to store strings into a special | 150 | * trace_seq_printf is used to store strings into a special |
| @@ -163,9 +169,10 @@ trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args) | |||
| 163 | goto try_again; | 169 | goto try_again; |
| 164 | } | 170 | } |
| 165 | 171 | ||
| 166 | s->len += ret; | 172 | if (ret > 0) |
| 173 | s->len += ret; | ||
| 167 | 174 | ||
| 168 | return len; | 175 | return ret; |
| 169 | } | 176 | } |
| 170 | 177 | ||
| 171 | /** | 178 | /** |
