Skip to content

Commit 7f82d3a

Browse files
authored
Merge pull request #810 from CertainLach/fix/syslog-off-by-one
fix: off-by-one in syslog.rs
2 parents 5b25cb0 + 6c6b70c commit 7f82d3a

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/log/syslog.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,9 @@ impl Write for SysLogWriter {
5555
mid -= 1;
5656
}
5757

58-
// index of last whitespace before byte cutoff
59-
let ascii_utf8_len = 1;
6058
mid = message[..mid]
6159
.rfind(|c: char| c.is_ascii_whitespace())
62-
.unwrap_or(mid)
63-
+ ascii_utf8_len;
60+
.unwrap_or(mid);
6461

6562
let left = &message[..mid];
6663
let right = &message[mid..];
@@ -132,4 +129,15 @@ mod tests {
132129

133130
logger.log(&record);
134131
}
132+
133+
#[test]
134+
fn can_truncate_syslog_with_no_spaces() {
135+
let logger = Syslog;
136+
let record = log::Record::builder()
137+
.args(format_args!("iwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercasesiwillhandlecornercases"))
138+
.level(log::Level::Info)
139+
.build();
140+
141+
logger.log(&record);
142+
}
135143
}

0 commit comments

Comments
 (0)