Use llvm::CStrInCStrNoCase instead of strcasestr, since the latter is not portable.

Correctly check if the result of CStrInCStrNoCase is NULL to generate summaries; before we were inverting the condition.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50822 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2008-05-07 18:36:45 +00:00
Родитель 33de3f0333
Коммит 900a2d7f76
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -23,11 +23,13 @@
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/ImmutableMap.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/Compiler.h"
#include <ostream>
#include <sstream>
using namespace clang;
using llvm::CStrInCStrNoCase;
//===----------------------------------------------------------------------===//
// Utility functions.
@ -604,8 +606,8 @@ RetainSummaryManager::getMethodSummary(ObjCMessageExpr* ME) {
if (!isNSType(ME->getReceiver()->getType()))
return 0;
if (strcasestr(s, "create") == 0 || strcasestr(s, "copy") == 0 ||
strcasestr(s, "new") == 0) {
if (CStrInCStrNoCase(s, "create") || CStrInCStrNoCase(s, "copy") ||
CStrInCStrNoCase(s, "new")) {
RetEffect E = isGCEnabled() ? RetEffect::MakeNoRet()
: RetEffect::MakeOwned();