pkgCache::VerFileIterator file_;
Source *source_;
- bool cached_;
bool parsed_;
CYString section_;
if (!file_.end()) {
_profile(Package$initWithVersion$Source)
- source_ = [database_ getSource:file_.File()];
- if (source_ != nil)
- [source_ retain];
- cached_ = true;
+ source_ = [([database_ getSource:file_.File()] ?: (Source *) [NSNull null]) retain];
_end
}
}
- (Source *) source {
- if (!cached_) {
+ if (source_ == nil) {
@synchronized (database_) {
if ([database_ era] != era_ || file_.end())
- source_ = nil;
- else {
- source_ = [database_ getSource:file_.File()];
- if (source_ != nil)
- [source_ retain];
- }
-
- cached_ = true;
+ source_ = (Source *) [NSNull null];
+ else
+ source_ = [([database_ getSource:file_.File()] ?: (Source *) [NSNull null]) retain];
}
}
- return source_;
+ return source_ == (Source *) [NSNull null] ? nil : source_;
}
- (NSString *) role {