본문 바로가기

new/new dev

bug fix 2017.03.03

euckr의 경우 한글을 표현하는데 2byte가 필요하다


그래서 문자열을 복사할때 바이트 단위로 복사하는 함수를 사용할 경우

한글이 잘리는 경우가 발생 할 수 있다

(strncpy(), string::substr() 동일)


그래서 마지막 글자가 한글인지, 영숫자인지 확인하고

(euckr의 경우 한글의 경우 1번째 바이트는 ascii에 포함하지 않는 바이트이다)

한글일 경우 한바이트 덜 복사하는 함수를 만들었는데

strncpy_euckr(string dst, string src, int len); 이런 형태 였다


근데 문제는 이 함수를 사용하면서 터졌다

파라미터 src와 dst를 반대로 넣은 코드를 작성했던것

대부분 잘 넣었는데 한군대 코드에서만, 이슈가 발생하였다

상용서버에 반영전에 찾아서 다행이었다 ㅠ



결론: 파라미터를 잘 보고 쓰자

'new > new dev' 카테고리의 다른 글

gitlab with docker  (0) 2017.06.07
docker + redmine, docker + gitlab  (0) 2017.03.20
docker  (0) 2017.03.18
resend 정책 적용 2017.03.03  (0) 2017.03.04
ts 로그 정리 2017.03.01  (0) 2017.03.01