mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-21 23:38:49 -05:00
Remove setlocale usage from the backend
Using setlocale in the backend is bound to lead to frontend issues
and we have have been using epoch in our databases since April 2007
(commit 47622eef
). Remove support for old style times.
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
e81faa9d6d
commit
d7bd40045c
@ -31,7 +31,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <locale.h> /* setlocale */
|
|
||||||
#include <fnmatch.h>
|
#include <fnmatch.h>
|
||||||
|
|
||||||
/* libarchive */
|
/* libarchive */
|
||||||
@ -1169,20 +1168,6 @@ alpm_time_t _alpm_parsedate(const char *line)
|
|||||||
long long result;
|
long long result;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
|
|
||||||
if(isalpha((unsigned char)line[0])) {
|
|
||||||
const char *oldlocale;
|
|
||||||
/* initialize to null in case of failure */
|
|
||||||
struct tm tmp_tm;
|
|
||||||
memset(&tmp_tm, 0, sizeof(struct tm));
|
|
||||||
|
|
||||||
oldlocale = setlocale(LC_TIME, NULL);
|
|
||||||
setlocale(LC_TIME, "C");
|
|
||||||
strptime(line, "%a %b %e %H:%M:%S %Y", &tmp_tm);
|
|
||||||
setlocale(LC_TIME, oldlocale);
|
|
||||||
|
|
||||||
return (alpm_time_t)mktime(&tmp_tm);
|
|
||||||
}
|
|
||||||
|
|
||||||
result = strtoll(line, &end, 10);
|
result = strtoll(line, &end, 10);
|
||||||
if(result == 0 && end == line) {
|
if(result == 0 && end == line) {
|
||||||
/* line was not a number */
|
/* line was not a number */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
self.description = "Query info on a package (old date)"
|
self.description = "Query info on a package"
|
||||||
|
|
||||||
p = pmpkg("foobar")
|
p = pmpkg("foobar")
|
||||||
p.files = ["bin/foobar"]
|
p.files = ["bin/foobar"]
|
||||||
@ -7,8 +7,6 @@ p.groups = ["foo"]
|
|||||||
p.url = "http://www.archlinux.org"
|
p.url = "http://www.archlinux.org"
|
||||||
p.license = "GPL2"
|
p.license = "GPL2"
|
||||||
p.arch = "i686"
|
p.arch = "i686"
|
||||||
# test old style date
|
|
||||||
p.builddate = "Mon Oct 1 01:40:21 2007 UTC"
|
|
||||||
p.packager = "Arch Linux"
|
p.packager = "Arch Linux"
|
||||||
|
|
||||||
self.addpkg2db("local", p)
|
self.addpkg2db("local", p)
|
||||||
@ -18,4 +16,3 @@ self.args = "-Qi %s" % p.name
|
|||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PACMAN_OUTPUT=^Name.*%s" % p.name)
|
self.addrule("PACMAN_OUTPUT=^Name.*%s" % p.name)
|
||||||
self.addrule("PACMAN_OUTPUT=^Description.*%s" % p.desc)
|
self.addrule("PACMAN_OUTPUT=^Description.*%s" % p.desc)
|
||||||
self.addrule("PACMAN_OUTPUT=^Build Date.* 2007")
|
|
||||||
|
@ -8,8 +8,6 @@ sp.groups = ["foo"]
|
|||||||
sp.url = "http://www.archlinux.org"
|
sp.url = "http://www.archlinux.org"
|
||||||
sp.license = "GPL2"
|
sp.license = "GPL2"
|
||||||
sp.arch = "i686"
|
sp.arch = "i686"
|
||||||
# test both old style and new style dates
|
|
||||||
sp.builddate = "Mon Oct 1 01:40:21 2007 UTC"
|
|
||||||
sp.packager = "Arch Linux"
|
sp.packager = "Arch Linux"
|
||||||
sp.md5sum = "00000000000000000000000000000000"
|
sp.md5sum = "00000000000000000000000000000000"
|
||||||
|
|
||||||
@ -20,4 +18,3 @@ self.args = "-Si %s" % sp.name
|
|||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PACMAN_OUTPUT=^Name.*%s" % sp.name)
|
self.addrule("PACMAN_OUTPUT=^Name.*%s" % sp.name)
|
||||||
self.addrule("PACMAN_OUTPUT=^Description.*%s" % sp.desc)
|
self.addrule("PACMAN_OUTPUT=^Description.*%s" % sp.desc)
|
||||||
self.addrule("PACMAN_OUTPUT=^Build Date.*2007")
|
|
||||||
|
Loading…
Reference in New Issue
Block a user