Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About 'Commented' ctypes module #228

Closed
jehunseo opened this issue Jul 24, 2020 · 2 comments
Closed

About 'Commented' ctypes module #228

jehunseo opened this issue Jul 24, 2020 · 2 comments

Comments

@jehunseo
Copy link

Issue #206 을 보고 printKmsg()함수를 읽어보던 중 신경쓰이는 점이 있어 업로드합니다.

# line 13095 ~ 13138
    @staticmethod
    def printKmsg():
            # allocate buffer #
            buf = (c_char*size)()   ##Undefined variable 'c_char'pylint(undefined-variable)
...
            ret = SysMgr.syscall(\
                'syslog', LogMgr.SYSLOG_ACTION_READ_ALL, buf, size)
            if ret > 0:
                logBuf = memoryview(buf).tobytes().decode()
                for line in logBuf.split('\n'):
                    if not UtilMgr.isEffectiveStr(line):
                        continue
                    SysMgr.printPipe(line)

            while 1:
                memset(buf, 0, size) ## Undefined variable 'c_char'pylint(undefined-variable)

함수 중 13126, 13138번 줄의 c_char, memset 함수 두군데에서 경고가 떠 있어 확인해보니 undefined된 변수라고 되어있어 검색해보니 파이썬 ctypes 모듈의 함수인 것으로 보입니다.
맨 위에 모듈 import하는 부분을 확인해보니

#line 20 ~ 31
try:
    import os
    import re
    import gc
    import sys
    import time
    import errno
    import signal
    import atexit
    import struct
    #from ctypes import *
    from copy import deepcopy

저렇게 ctypes부분이 주석처리되어있는데 주석 처리 후 다른 작업을 하다 실수로 수정이 안된 것으로 보입니다. 확인 부탁드립니다.

@iipeace
Copy link
Owner

iipeace commented Aug 6, 2020

@jehunseo ,
리포트 감사합니다!
ctypes의 멤버들은 일단 쓰이게 되면 자주 쓰이기 때문에,
SysMgr.importPkgItems() 함수로 모두 globals로 옮겨 사용하는데요.
주석처리한 부분은 pylint 등의 프로그램을 돌릴 때 error가 나는 것을 임시적으로 방지하기 위해 남겨두었습니다 :)
혹시 저렇게 자주 쓰는 module의 멤버들을 여러 함수들에서 쉽게 쓰기 위해 좋은 아이디어가 있으면 제안해주셔요.

@jehunseo
Copy link
Author

jehunseo commented Aug 7, 2020

답변 감사합니다! 코드 확인이 미숙한 점이 있었네요... 조금 더 공부해보도록 하겠습니다!

@jehunseo jehunseo closed this as completed Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants