1
0
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:
Allan McRae 2013-07-21 16:38:17 +10:00
parent e81faa9d6d
commit d7bd40045c
3 changed files with 1 additions and 22 deletions

View File

@ -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 */

View File

@ -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")

View File

@ -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")