subptr() should subtract from the pointer, not add to it.