Skip to content

Instantly share code, notes, and snippets.

View kornelski's full-sized avatar
💤
Please be patient, it will take a while

Kornel kornelski

💤
Please be patient, it will take a while
View GitHub Profile
static unsigned update_adler32(unsigned adler, const unsigned char* data, unsigned len) {
unsigned s1 = adler & 0xffff;
unsigned s2 = (adler >> 16) & 0xffff;
while(len > 0) {
/*at least 5550 sums can be done before the sums overflow, saving a lot of module divisions*/
unsigned amount = len > 5550 ? 5550 : len;
len -= amount;
while(amount > 0) {
s1 += (*data++);

Keybase proof

I hereby claim:

  • I am kornelski on github.
  • I am kornel (https://keybase.io/kornel) on keybase.
  • I have a public key whose fingerprint is BE09 ABE0 B5C6 7596 9003 C20A AEBA DBD4 3DE5 5B2E

To claim this, I am signing this object:

@kornelski
kornelski / Dockerfile
Last active February 10, 2023 14:33
Minimal docker image for building x86-64 .deb packages from Rust/Cargo on Apple Silicon (M1/M2) Mac host
FROM rust:1-slim-bullseye
RUN rustup target add x86_64-unknown-linux-gnu
RUN dpkg --add-architecture amd64
RUN apt-get update; apt-get install build-essential crossbuild-essential-amd64 pkg-config libssl-dev:amd64 libsqlite3-dev:amd64 -y
RUN cargo install cargo-deb
ENV HOST_CC=gcc
ENV CC_x86_64_unknown_linux_gnu=/usr/bin/x86_64-linux-gnu-gcc
# now copy your sources and run `cargo deb --target x86_64-unknown-linux-gnu`