]> git.saurik.com Git - cycript.git/blobdiff - Replace.cpp
Attempting to better abstract FreeBSD.
[cycript.git] / Replace.cpp
index 8938704cdea7ae465005abca9f1d1a3fd354e984..c06c2a514e91711346494fab13feb64c38c579b5 100644 (file)
@@ -480,11 +480,8 @@ void CYProgram::Replace(CYContext &context) {
     CYScope scope;
     scope.parent_ = context.scope_;
     context.scope_ = &scope;
     CYScope scope;
     scope.parent_ = context.scope_;
     context.scope_ = &scope;
-
     statements_ = statements_->ReplaceAll(context);
     statements_ = statements_->ReplaceAll(context);
-
     context.scope_ = scope.parent_;
     context.scope_ = scope.parent_;
-
     scope.Scope(context, statements_);
 
     size_t offset(0);
     scope.Scope(context, statements_);
 
     size_t offset(0);
@@ -597,6 +594,9 @@ namespace {
 }
 
 void CYScope::Scope(CYContext &context, CYStatement *&statements) {
 }
 
 void CYScope::Scope(CYContext &context, CYStatement *&statements) {
+    if (parent_ == NULL)
+        return;
+
     CYDeclarations *last(NULL), *curr(NULL);
 
     IdentifierOffsets offsets;
     CYDeclarations *last(NULL), *curr(NULL);
 
     IdentifierOffsets offsets;