###Or -2 bytes thx to @ErikF!14 bytes
Or 9 bytes as a complete PC DOS executable:###
D1B4 E901 SHRMOV CXAH, 101H ; DOS ;read dividechar lengthfrom inSTDIN half(with echo) 8BCD FE21 MOVINT DI,21H SI ; stringread pointersecond tochar DIinto AL 4792 INCXCHG DX, DIAX ; put first char ;into offsetDL B4 DI08 by 1 byte A6 MOV AH, 08H CMPSB ; DOS read char from STDIN (no echo) CD 21 ; advance SI and DIINT (ignore comparison) A621H CMPSB ; read char into AL 3A C2 CMP AL, DL ; compare [SI]first and [DI]second char E174 FCF3 LOOPEJE -413 ; if equalthe same, continue loop C3 RET ; otherwise exit to DOS
Unfortunately can't useInput is via REPE CMPSBSTDIN since it, either pipe or interactive. Will echo the "de-doubled" input until a non-doubled character is detected, at which point will only advanceexit SI(maybe bending I/O rules a little bit, but this is just a bonus answer).

Build and test ISDBL2.COM using DIxxd -r by one byte on each iteration.:
00000000: b401 cd21 92b4 08cd 213a c274 f3c3 ...!....!:.t..
Or###Original 26 24 bytes as a24 bytes complete PC DOS executable:###
(will re-do screenshot with new program size when I have more time)
Build and test ISDBL.COM using xxd -r:
###Credits:###