2011-10-18 2 views
0

크롬 최신 버전 (14)은 NPVariant의 일부로 null 종료 문자열을 제공하지 않지만 firefox는 다르게 작동하고 null 종료 문자열을 제공합니다. 그게 기대 되니?크롬 최신 버전 (14)은 NPVariant의 일부로 null 종료 문자열을 제공하지 않습니다.

문자열을 추출하고, 메모리를 할당하고, null 문자를 추가 한 다음, 같은 코드를 할당 해제하는 것 외에는 무엇을 할 수 있습니까?이 모든 것만으로 null 문자를 추가 할 수 있습니까?

답변

2

NPVariant NPStrings은 NULL 종료 문자열을 포함 할 필요가 없습니다. 때때로 그들은 어쨌든 않았다. 그러나 그들이하는 일은 문자열의 길이를 나타내는 "길이"입니다. 나는 일반적으로 단지 표준으로 변환 : : 문자열과 같이 : FireBreath 그것을 수행하는 방법이다

retVal = std::string(npVar->value.stringValue.UTF8Characters, npVar->value.stringValue.UTF8Length); 

; https://github.com/firebreath/FireBreath/blob/master/src/NpapiCore/NpapiBrowserHost.cpp#L253