Fixes for cmpver..use strrchr and control last char
- should make util-linux work now --HG-- extra : convert_revision : 3a02003c06ba3b84d2b8df6acef790765a7750f3
This commit is contained in:
parent
2680b4827d
commit
7d8701190d
2 changed files with 9 additions and 3 deletions
2
TODO
2
TODO
|
@ -6,3 +6,5 @@ Some stuff that should be done:
|
||||||
* More robust and fast dependency checking.
|
* More robust and fast dependency checking.
|
||||||
* wget now is required inside the chroot
|
* wget now is required inside the chroot
|
||||||
- etc/resolv.conf is copied before entering the chroot
|
- etc/resolv.conf is copied before entering the chroot
|
||||||
|
* ln -s /bin/bash /bin/sh
|
||||||
|
* make xbps.sh do not depend on bash
|
||||||
|
|
|
@ -10,6 +10,11 @@ static int chkchr(const char *ch)
|
||||||
{
|
{
|
||||||
if (*ch>='0' && *ch<='9')
|
if (*ch>='0' && *ch<='9')
|
||||||
return *ch-'0';
|
return *ch-'0';
|
||||||
|
if (ch[1]=='\0') {
|
||||||
|
if (*ch>='a'&&*ch<='z'){
|
||||||
|
return *ch-'a';
|
||||||
|
}
|
||||||
|
}
|
||||||
switch(*ch) {
|
switch(*ch) {
|
||||||
case 'a': if (ch[1]=='l')
|
case 'a': if (ch[1]=='l')
|
||||||
return 0xa;
|
return 0xa;
|
||||||
|
@ -18,7 +23,6 @@ static int chkchr(const char *ch)
|
||||||
case 'r': return 0xc;
|
case 'r': return 0xc;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ver2int(const char *a0, int *pow, int mpow)
|
static int ver2int(const char *a0, int *pow, int mpow)
|
||||||
|
@ -50,8 +54,8 @@ int chkver(const char *a0, const char *a1)
|
||||||
|
|
||||||
int chkpkg(const char *a0, const char *b0)
|
int chkpkg(const char *a0, const char *b0)
|
||||||
{
|
{
|
||||||
char *a = strchr(a0, '-');
|
char *a = strrchr(a0, '-');
|
||||||
char *b = strchr(b0, '-');
|
char *b = strrchr(b0, '-');
|
||||||
|
|
||||||
if (a == NULL || b== NULL) {
|
if (a == NULL || b== NULL) {
|
||||||
fprintf(stderr, "Invalid package names\n");
|
fprintf(stderr, "Invalid package names\n");
|
||||||
|
|
Loading…
Reference in a new issue