but the C++ documentation I found says:
If the constructor is not successful in opening the file, the object is still created although no file is associated to the stream buffer and the stream's failbit is set (which can be checked with inherited member fail). http://www.cplusplus.com/reference/iostream/ifstream/ifstream/
So I believe that the the if case is arbitrarily failing due to type promotion rules dependent on the address that is stored in F.
That would make this a bug in the apt package which is repeated a few times in other places.
I know next to nothing about C++ but I believe this is a symptom of a programming error in apt:
The code in sourcelist. cc
apt-pkg/
says: c_str() ,ios::in /*| ios::nocreate*/); >Errno( "ifstream: :ifstream" ,_("Opening %s"),File.c_str());
ifstream F(File.
if (!F != 0)
return _error-
but the C++ documentation I found says: www.cplusplus. com/reference/ iostream/ ifstream/ ifstream/
If the constructor is not successful in opening the file, the object is still created although no file is associated to the stream buffer and the stream's failbit is set (which can be checked with inherited member fail).
http://
So I believe that the the if case is arbitrarily failing due to type promotion rules dependent on the address that is stored in F.
That would make this a bug in the apt package which is repeated a few times in other places.