X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/796673c38509300c988fbba2f2679ba3c76916db..51da0c3587c9d36a3c04b3e28b99d8331a29b230:/methods/rsh.cc?ds=sidebyside diff --git a/methods/rsh.cc b/methods/rsh.cc index a441220bf..bd46d2515 100644 --- a/methods/rsh.cc +++ b/methods/rsh.cc @@ -17,7 +17,11 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -255,7 +259,7 @@ bool RSHConn::WriteMsg(std::string &Text,bool Sync,const char *Fmt,...) /*}}}*/ // RSHConn::Size - Return the size of the file /*{{{*/ // --------------------------------------------------------------------- -/* Right now for successfull transfer the file size must be known in +/* Right now for successful transfer the file size must be known in advance. */ bool RSHConn::Size(const char *Path,unsigned long long &Size) { @@ -368,7 +372,7 @@ RSHMethod::RSHMethod() : pkgAcqMethod("1.0",SendConfig) signal(SIGINT,SigTerm); Server = 0; FailFd = -1; -}; +} /*}}}*/ // RSHMethod::Configuration - Handle a configuration message /*{{{*/ // --------------------------------------------------------------------- @@ -390,17 +394,17 @@ bool RSHMethod::Configuration(std::string Message) // RSHMethod::SigTerm - Clean up and timestamp the files on exit /*{{{*/ // --------------------------------------------------------------------- /* */ -void RSHMethod::SigTerm(int sig) +void RSHMethod::SigTerm(int) { if (FailFd == -1) _exit(100); // Transfer the modification times - struct timespec times[2]; + struct timeval times[2]; times[0].tv_sec = FailTime; times[1].tv_sec = FailTime; - times[0].tv_nsec = times[1].tv_nsec = 0; - futimens(FailFd, times); + times[0].tv_usec = times[1].tv_usec = 0; + utimes(FailFile.c_str(), times); close(FailFd); _exit(100); @@ -488,11 +492,11 @@ bool RSHMethod::Fetch(FetchItem *Itm) Fd.Close(); // Timestamp - struct timespec times[2]; + struct timeval times[2]; times[0].tv_sec = FailTime; times[1].tv_sec = FailTime; - times[0].tv_nsec = times[1].tv_nsec = 0; - futimens(FailFd, times); + times[0].tv_usec = times[1].tv_usec = 0; + utimes(FailFile.c_str(), times); // If the file is missing we hard fail otherwise transient fail if (Missing == true) @@ -502,11 +506,11 @@ bool RSHMethod::Fetch(FetchItem *Itm) } Res.Size = Fd.Size(); - struct timespec times[2]; + struct timeval times[2]; times[0].tv_sec = FailTime; times[1].tv_sec = FailTime; - times[0].tv_nsec = times[1].tv_nsec = 0; - futimens(Fd.Fd(), times); + times[0].tv_usec = times[1].tv_usec = 0; + utimes(Fd.Name().c_str(), times); FailFd = -1; } @@ -519,7 +523,7 @@ bool RSHMethod::Fetch(FetchItem *Itm) } /*}}}*/ -int main(int argc, const char *argv[]) +int main(int, const char *argv[]) { setlocale(LC_ALL, "");