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
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index 5698dc8..5c4cc12 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -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 @@
   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();