Simplify WriteScanlines by Shane32 · Pull Request #612 · Shane32/QRCoder (original) (raw)
📝 Walkthrough
Walkthrough
The WriteScanlines method in QRCoder/PngByteQRCode.cs removes a .NET 3.5 conditional branch and always writes compressed IDAT data using idatStream.WriteTo(_stream), eliminating CopyTo usage and idatStream.Position resets. No public APIs were changed.
Changes
| Cohort / File(s) | Summary |
|---|---|
| PNG IDAT write pathQRCoder/PngByteQRCode.cs | Simplified IDAT emission: removed NET35 conditional; unconditionally uses idatStream.WriteTo(_stream); removed idatStream.Position reset and CopyTo path. No public API changes. |
Sequence Diagram(s)
sequenceDiagram autonumber participant W as WriteScanlines participant D as DeflateStream participant I as idatStream (MemoryStream) participant S as _stream (output)
Note over W,I: Old flow (pre-change)
W->>D: Compress scanlines into IDAT
D-->>I: Write compressed bytes
W->>I: Reset Position = 0
alt NET35
W->>S: I.WriteTo(S)
else non-NET35
W->>S: I.CopyTo(S)
endLoading
sequenceDiagram autonumber participant W as WriteScanlines participant D as DeflateStream participant I as idatStream (MemoryStream) participant S as _stream (output)
rect rgba(220,240,255,0.5)
Note over W,I: New flow (post-change)
end
W->>D: Compress scanlines into IDAT
D-->>I: Write compressed bytes
Note over W,I: No Position reset
W->>S: I.WriteTo(S)Loading
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~10 minutes
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.