diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-22 08:33:07 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-22 08:33:07 +0000 |
commit | fcf0ff74b4c27e3f791362a1c3cbb0b1fe7a628a (patch) | |
tree | 08ba6b7647cd39d7ef337d8bd8f34f2ebacc4ab9 /main/busybox/busybox-1.22.1-date.patch | |
parent | d80cdb8a0b95ff79c662b94117b8498da58d8571 (diff) | |
download | aports-fcf0ff74b4c27e3f791362a1c3cbb0b1fe7a628a.tar.bz2 aports-fcf0ff74b4c27e3f791362a1c3cbb0b1fe7a628a.tar.xz |
main/busybox: add patches from upstream for ash and date
Diffstat (limited to 'main/busybox/busybox-1.22.1-date.patch')
-rw-r--r-- | main/busybox/busybox-1.22.1-date.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/main/busybox/busybox-1.22.1-date.patch b/main/busybox/busybox-1.22.1-date.patch new file mode 100644 index 0000000000..6380d8781e --- /dev/null +++ b/main/busybox/busybox-1.22.1-date.patch @@ -0,0 +1,30 @@ +--- busybox-1.22.1/libbb/time.c ++++ busybox-1.22.1-date/libbb/time.c +@@ -68,15 +68,23 @@ void FAST_FUNC parse_datestr(const char + /* else end != NUL and we error out */ + } + } else +- /* yyyy-mm-dd HH */ +- if (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, ++ if (strchr(date_str, '-') ++ /* Why strchr('-') check? ++ * sscanf below will trash ptm->tm_year, this breaks ++ * if parse_str is "10101010" (iow, "MMddhhmm" form) ++ * because we destroy year. Do these sscanf ++ * only if we saw a dash in parse_str. ++ */ ++ /* yyyy-mm-dd HH */ ++ && (sscanf(date_str, "%u-%u-%u %u%c", &ptm->tm_year, + &ptm->tm_mon, &ptm->tm_mday, + &ptm->tm_hour, + &end) >= 4 +- /* yyyy-mm-dd */ +- || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, ++ /* yyyy-mm-dd */ ++ || sscanf(date_str, "%u-%u-%u%c", &ptm->tm_year, + &ptm->tm_mon, &ptm->tm_mday, + &end) >= 3 ++ ) + ) { + ptm->tm_year -= 1900; /* Adjust years */ + ptm->tm_mon -= 1; /* Adjust month from 1-12 to 0-11 */ |