2011-04-06 5 views
1

분석에서 subj에 경고가 생성됩니다. 제안 사항이 있으십니까?메시지 표현식의 인수가 초기화되지 않은 값입니다. 부호 없음 long long from NS numbers

const char *cString = [query UTF8String]; 
unsigned long long affectedRows; 

if (self.sqlPut != NULL) { 
    mysql_query(self.sqlPut,cString); 
    affectedRows = mysql_affected_rows(self.sqlPut); 
    if (affectedRows == 0) NSLog(@"MYSQL: Query: %@ was failed with error:%s\n and error number:%d",query,mysql_error(self.sqlPut),mysql_errno(self.sqlPut)); 
} 
else { 
    [self mysqlConnect]; 
    if (sqlPut != NULL) { 
     mysql_query(self.sqlPut,cString); 
     affectedRows = mysql_affected_rows(self.sqlPut); 
     if (affectedRows == 0) NSLog(@"MYSQL: Query: %@ was failed with error:%s\n and error number:%d",query,mysql_error(self.sqlPut),mysql_errno(self.sqlPut)); 
    } 
} 
NSNumber *affectedRowsNumber = [[[NSNumber alloc] initWithUnsignedLongLong:affectedRows] autorelease]; 
return affectedRowsNumber; 
+0

LLVM 컴파일러에서 Xcode 4를 사용하지 않는 경우 해당 모드로 전환 해보십시오. 그것은 매우 유용한 경고 메시지를 크게 향상 시켰습니다. – Nektarios

+0

나는 llvm에 있습니다 :) GCC_VERSION = com.apple.compilers.llvm.clang.1_0 – Alex

답변

11

쉽게 수정

unsigned long long affectedRows; 

self.sqlPut 모두 만약

unsigned long long affectedRows = 0; 
+0

+1 쉬운 수정이 아닙니다. 올바른 수정. –

+0

보수적 인 응답 ...> _> – Wevah

2

에와 sqlPutNULL의이며, 그 값이 초기화되지 않은 변경하는 것입니다. 아마도 내부는 if이고 else이 필요합니다.

+0

self.sqlPut과 sqlPut의 차이점을 보지 못했습니다.이 메소드에서 인스턴스 변수를 숨기지 않습니다. – Alex

+0

다르게 넣으십시오.이 변수가 여전히'[self mysqlConnect]';-) –

관련 문제