Replace CRLF with LF in a string

C


void crlf_to_lf(char* dst, char* src, size_t n)
{
	int was_cr = 0;
	for (size_t i=0; i<n; i++)
	{
		char c = src[i];
		if (was_cr && c=='\n') dst--;
		dst[i] = c;
		was_cr = (c=='\r');
	}
}

APL


CR LF ← ⎕UCS 13 10

crlf_to_lf ← {((CR≠⍵) ∨ 1⌽LF≠⍵) / ⍵}