Ctrl+Enter 패치하기
2007.04.12 13:03
출처는 잘 모르겠구요. 암튼 어디에선가 이걸 보긴 봤는데..
^^; 이 소스에 대해서 궁금한거는 질문란에 질문해주세요!
움.. 이거 말고도 Croaky님이 공개한 암호입력 루틴 소스가
있습니다. 그것도 괜찮던데... ^^; 57번 게시물 참조.
int accept_input(fd)
int fd;
{
unsigned char buf[128], lastchar;
int i, n, prev, itail, ihead;
n = read(fd, buf, 127);
if(n<=0) {
Ply[fd].io->commands = -1; /* Connection dropped */
disconnect(fd);
}
else {
ihead = Ply[fd].io->ihead;
lastchar = 0;
itail = Ply[fd].io->itail;
for(i=0; i
/* Ctrl + Enter 키 입력하는 패치 */
if(Ply[fd].ply) {
if(buf[i] == 0)
buf[i] = '\n';
else if(buf[i] == 13 && i != n-1 &&
(buf[i+1] == '\n' || buf[i+1] == 0))
buf[i] = '\r';
else if(buf[i] == 13)
buf[i] = '\n';
else if(buf[i] == 10 && i < n-1 && buf[i+1] == 13)
continue;
} else {
if(i > 0 && buf[i] == 0 && buf[i-1] == 13)
buf[i] = '\n';
if(buf[i] == 255) continue;
if(i > 0 && buf[i-1] == 255 &&
(buf[i] == 251 || buf[i] == 252 || buf[i] == 253
|| buf[i] == 254)) {
i++;
continue;
}
}
/* 여기까지가 추가될 내용입니다. */
/* buf데이터가 char형으로 선언되어 있으나 */
/* unsigned char형으로 변경함. */
if(buf[i] > 31 || ((buf[i]&0x80) && (unsigned char)buf[i]!=155) || \
(buf[i] == '\n' && lastchar != '\r')
|| buf[i] == '\b' ||buf[i]==127) {
if(buf[i]==127) buf[i]='\b';
lastchar = buf[i];
if(buf[i] == '\r') buf[i] = '\n';
if(buf[i] == '\n') Ply[fd].io->commands++;
이하 생략....
홈지기 "그륨"
^^; 이 소스에 대해서 궁금한거는 질문란에 질문해주세요!
움.. 이거 말고도 Croaky님이 공개한 암호입력 루틴 소스가
있습니다. 그것도 괜찮던데... ^^; 57번 게시물 참조.
int accept_input(fd)
int fd;
{
unsigned char buf[128], lastchar;
int i, n, prev, itail, ihead;
n = read(fd, buf, 127);
if(n<=0) {
Ply[fd].io->commands = -1; /* Connection dropped */
disconnect(fd);
}
else {
ihead = Ply[fd].io->ihead;
lastchar = 0;
itail = Ply[fd].io->itail;
for(i=0; i
/* Ctrl + Enter 키 입력하는 패치 */
if(Ply[fd].ply) {
if(buf[i] == 0)
buf[i] = '\n';
else if(buf[i] == 13 && i != n-1 &&
(buf[i+1] == '\n' || buf[i+1] == 0))
buf[i] = '\r';
else if(buf[i] == 13)
buf[i] = '\n';
else if(buf[i] == 10 && i < n-1 && buf[i+1] == 13)
continue;
} else {
if(i > 0 && buf[i] == 0 && buf[i-1] == 13)
buf[i] = '\n';
if(buf[i] == 255) continue;
if(i > 0 && buf[i-1] == 255 &&
(buf[i] == 251 || buf[i] == 252 || buf[i] == 253
|| buf[i] == 254)) {
i++;
continue;
}
}
/* 여기까지가 추가될 내용입니다. */
/* buf데이터가 char형으로 선언되어 있으나 */
/* unsigned char형으로 변경함. */
if(buf[i] > 31 || ((buf[i]&0x80) && (unsigned char)buf[i]!=155) || \
(buf[i] == '\n' && lastchar != '\r')
|| buf[i] == '\b' ||buf[i]==127) {
if(buf[i]==127) buf[i]='\b';
lastchar = buf[i];
if(buf[i] == '\r') buf[i] = '\n';
if(buf[i] == '\n') Ply[fd].io->commands++;
이하 생략....
홈지기 "그륨"
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 57 | 특수 아이템 만들기 | 그리움 | 2007.04.12 | 361 |
| 56 | 몹과 자신을 "비교" | 그리움 | 2007.04.12 | 296 |
| 55 | 패거리 전쟁시 적과 아군 구분 | 그리움 | 2007.04.12 | 303 |
| 54 | 순위 소스 | 그리움 | 2007.04.12 | 299 |
| 53 | 개량형 우체국 | 그리움 | 2007.04.12 | 318 |
| 52 | 명성치 도입 | 그리움 | 2007.04.12 | 344 |
| 51 | 자기 아파트 방설명은 자기가 #2 | 그리움 | 2007.04.12 | 336 |
| 50 | 이동력 추가하기 | 그리움 | 2007.04.12 | 408 |
| 49 | 경매 소스 | 그리움 | 2007.04.12 | 319 |
| 48 | 글자색, 배경색 15색 사용하기 | 그리움 | 2007.04.12 | 317 |
| » | Ctrl+Enter 패치하기 | 그리움 | 2007.04.12 | 273 |
| 46 | 패거리 상점 만들기 | 그리움 | 2007.04.12 | 285 |
| 45 | 귀환장소 설정 | 그리움 | 2007.04.12 | 318 |
| 44 | 출구 정렬 | 그리움 | 2007.04.12 | 314 |
| 43 | 게시판 검색 기능 추가하기 | 그리움 | 2007.04.12 | 292 |
| 42 | 암호 *****로 보이게 하기 | 그리움 | 2007.04.12 | 294 |
| 41 | 레벨을 32767까지 가능하게 | 그리움 | 2007.04.12 | 318 |
| 40 | 잡담 안시 사용하기 | 그리움 | 2007.04.12 | 330 |
| 39 | 지도 소스 #2 | 그리움 | 2007.04.12 | 327 |
| 38 | 베팅소스 | 그리움 | 2007.04.12 | 322 |