History

Reimplement padcat

malc committed 6 years ago

Commit 731a83a1 parent 87ffd0b1 file · +11 −12Browse files

Unified · Split

wsi/x11/wsi.ml+11−12
@@ -273,20 +273,19 @@ let sendwithrep sock s f = · 272 unmodified lines
273273 sendstr1 s 0 (Bytes.length s) sock;
274274 ;;
275275
276−let padcatl =
277− let pad = "123" in
278− fun ss ->
279− let b = Buffer.create 16 in
280− List.iter (Buffer.add_bytes b) ss;
281− let bl = Buffer.length b in
282− let pl = bl land 3 in
283− if pl != 0
284− then Buffer.add_substring b pad 0 (4 - pl);
285− Buffer.to_bytes b;
276+let padcat =
277+ let pad = Bytes.create 3 in fun b1 b2 ->
278+ let l1 = Bytes.length b1 and l2 = Bytes.length b2 in
279+ let l = (l1 + l2) land 3 in
280+ let pl = if l > 0 then 4 - l else 0 in
281+ let b = Bytes.create (l1 + l2 + pl) in
282+ Bytes.blit b1 0 b 0 l1;
283+ Bytes.blit b2 0 b l1 l2;
284+ if pl > 0
285+ then Bytes.blit pad 0 b (l1 + l2) pl;
286+ b;
286287 ;;
287288
288−let padcat s1 s2 = padcatl [s1; s2];;
289−
290289 let internreq name onlyifexists =
291290 let s = makereq 16 8 8 in
292291 let s = padcat s name in

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t