]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/strutl.cc
FileFd: avoid further writing if file failed
[apt.git] / apt-pkg / contrib / strutl.cc
index 856e5ee9faebcb1cdecae5f4640d6bf93d4928bf..d388cbda3a4dd6f7f62f7ec13f9db391a82f075d 100644 (file)
@@ -464,7 +464,9 @@ string SubstVar(const string &Str,const string &Subst,const string &Contents)
 
    if (OldPos >= Str.length())
       return Temp;
-   return Temp + string(Str,OldPos);
+
+   Temp.append(Str, OldPos, string::npos);
+   return Temp;
 }
 string SubstVar(string Str,const struct SubstVar *Vars)
 {
@@ -788,7 +790,11 @@ bool ReadMessages(int Fd, vector<string> &List)
         return false;
 
       // No data
+#if EAGAIN != EWOULDBLOCK
       if (Res < 0 && (errno == EAGAIN || errno == EWOULDBLOCK))
+#else
+      if (Res < 0 && errno == EAGAIN)
+#endif
         return true;
       if (Res < 0)
         return false;
@@ -1211,7 +1217,7 @@ vector<string> StringSplit(std::string const &s, std::string const &sep,
    vector<string> split;
    size_t start, pos;
 
-   // no seperator given, this is bogus
+   // no separator given, this is bogus
    if(sep.size() == 0)
       return split;