미니 샤오미가 제공한 소스코드인데, 제 눈을 의심했습니다.
- AlieNaTiZ
- 조회 수 953
- 2021.02.24. 19:00
안녕하세요, AlieNaTiZ 입니다.
홍미노트7 LineageOS 18.1 정식 지원을 위해서 Gerrit Code Review에 해당 수정 사안을 제출하고 있는데요, 홍미노트7의 커널은 스냅드래곤 660 AP를 탑재했기 때문에 LineageOS/android_kernel_xiaomi_sdm660 레포지토리에 저장된 소스를 사용합니다.
기본적으로 LineageOS/android_kernel_xiaomi_sdm660 커널 소스에는 제스처가 켜져 있을 때, 이에 대한 정보를 알려주는 기능이 있지만, 이게 개발하는 동안에는 제스처 관련 작동에 대한 원초적인 디버깅 메시지는 필요가 없거든요. 따라서, LineageOS 에서 이 메시지를 끄기로 결정된 후에 /drivers/input/touchscreen/synaptics_tcm 코드 내에 있는 if/else 구문에서 clang error(expected expression)가 있었기에 해당 부분을 수정해 커밋을 제출했습니다.
"누가 소스코드를 짰는지 세상에" 라는 생각 밖에 안들어서 깃허브에 첫 소스코드 import 커밋을 살펴보니,
샤오미 커널 소스가 그 출처였습니다.
if(x) A; else B;
if(y) C; else D;
→
if(x) { A; } else { B; }
if(y) { C; } else { D; }
샤오미가 이상하게 써놓은 코드 때문에 헛짓거리 했네요.
if/else 구문에 {} 브라켓만 추가해주니까 정상 작동합니다.. 하하..
+ verbose 로깅이 포함되지 않기 때문에 빌드 결과물에 대한 용량도 줄었습니다.
디버깅 ㄷㄷ 능력자 ㄷㄷ