X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/bb2e0d5add4a291f09d68ebb5588e45dc128d766..84b286f65c55e21b4734a17474f1cba464cbbd9c:/methods/rred.cc diff --git a/methods/rred.cc b/methods/rred.cc index f7dac3c19..cabb3c456 100644 --- a/methods/rred.cc +++ b/methods/rred.cc @@ -8,24 +8,24 @@ #include #include -#include #include #include #include #include #include +#include +#include #include #include #include -#include -#include #include #include #include #include #include +#include #include @@ -468,7 +468,7 @@ class Patch { void write_diff(FILE *f) { - size_t line = 0; + unsigned long long line = 0; std::list::reverse_iterator ch; for (ch = filechanges.rbegin(); ch != filechanges.rend(); ++ch) { line += ch->offset + ch->del_cnt; @@ -481,11 +481,11 @@ class Patch { line -= ch->del_cnt; if (ch->add_cnt > 0) { if (ch->del_cnt == 0) { - fprintf(f, "%lua\n", line); + fprintf(f, "%llua\n", line); } else if (ch->del_cnt == 1) { - fprintf(f, "%luc\n", line+1); + fprintf(f, "%lluc\n", line+1); } else { - fprintf(f, "%lu,%luc\n", line+1, line+ch->del_cnt); + fprintf(f, "%llu,%lluc\n", line+1, line+ch->del_cnt); } mg_i = ch; @@ -495,9 +495,9 @@ class Patch { fprintf(f, ".\n"); } else if (ch->del_cnt == 1) { - fprintf(f, "%lud\n", line+1); + fprintf(f, "%llud\n", line+1); } else if (ch->del_cnt > 1) { - fprintf(f, "%lu,%lud\n", line+1, line+ch->del_cnt); + fprintf(f, "%llu,%llud\n", line+1, line+ch->del_cnt); } line -= ch->offset; } @@ -597,12 +597,12 @@ class RredMethod : public pkgAcqMethod { stat(patch_name.c_str(), &bufpatch) != 0) return _error->Errno("stat", _("Failed to stat")); - struct timespec times[2]; + struct timeval times[2]; times[0].tv_sec = bufbase.st_atime; times[1].tv_sec = bufpatch.st_mtime; - times[0].tv_nsec = times[1].tv_nsec = 0; - if (utimensat(AT_FDCWD, Itm->DestFile.c_str(), times, 0) != 0) - return _error->Errno("utimensat",_("Failed to set modification time")); + times[0].tv_usec = times[1].tv_usec = 0; + if (utimes(Itm->DestFile.c_str(), times) != 0) + return _error->Errno("utimes",_("Failed to set modification time")); if (stat(Itm->DestFile.c_str(), &bufbase) != 0) return _error->Errno("stat", _("Failed to stat"));