Index: .depend =================================================================== RCS file: /var/cvsroot/gentoo-projects/portage-utils/.depend,v retrieving revision 1.29 diff -u -b -B -r1.29 .depend --- .depend 12 May 2007 02:19:28 -0000 1.29 +++ .depend 15 Mar 2008 02:56:07 -0000 @@ -1,7 +1,7 @@ main.o: main.c main.h libq/libq.c libq/busybox.h libq/i18n.h libq/libq.h \ libq/colors.c libq/xmalloc.c libq/xstrdup.c libq/xasprintf.c \ libq/hash_fd.c libq/md5_sha1_sum.c libq/human_readable.c libq/rmspace.c \ - libq/which.c libq/atom_explode.c libq/atom_compare.c \ + libq/which.c libq/compat.c libq/atom_explode.c libq/atom_compare.c \ libq/vdb_get_next_dir.c libq/virtuals.c applets.h include_applets.h q.c \ qcheck.c qdepends.c qfile.c qlist.c qlop.c qsearch.c qsize.c qtbz2.c \ quse.c qxpak.c qpkg.c qgrep.c qatom.c qmerge.c qcache.c qglsa.c Index: main.c =================================================================== RCS file: /var/cvsroot/gentoo-projects/portage-utils/main.c,v retrieving revision 1.153 diff -u -b -B -r1.153 main.c --- main.c 16 Jan 2008 16:24:49 -0000 1.153 +++ main.c 15 Mar 2008 02:56:07 -0000 @@ -202,15 +202,15 @@ return ret; } -int rematch(const char *regex, const char *match, int cflags) +int rematch(const char *re, const char *match, int cflags) { regex_t preg; int ret; - if ((match == NULL) || (regex == NULL)) + if ((match == NULL) || (re == NULL)) return EXIT_FAILURE; - if ((ret = regcomp(&preg, regex, cflags))) { + if ((ret = regcomp(&preg, re, cflags))) { char err[256]; if (regerror(ret, &preg, err, sizeof(err))) warnf("regcomp failed: %s", err); Index: qcache.c =================================================================== RCS file: /var/cvsroot/gentoo-projects/portage-utils/qcache.c,v retrieving revision 1.32 diff -u -b -B -r1.32 qcache.c --- qcache.c 24 May 2007 14:47:18 -0000 1.32 +++ qcache.c 15 Mar 2008 02:56:08 -0000 @@ -510,7 +510,7 @@ qcache_data data; char *catpath, *pkgpath, *ebuildpath, *cachepath; int i, j, k, len, num_cat, num_pkg, num_ebuild; - struct direct **categories, **packages, **ebuilds; + struct dirent **categories, **packages, **ebuilds; xasprintf(&catpath, "%s%s", QCACHE_EDB, portdir); @@ -762,7 +762,7 @@ int i; if (!numpkg) { - struct direct **categories; + struct dirent **categories; char *catpath; int len; Index: qcheck.c =================================================================== RCS file: /var/cvsroot/gentoo-projects/portage-utils/qcheck.c,v retrieving revision 1.38 diff -u -b -B -r1.38 qcheck.c --- qcheck.c 24 May 2007 14:47:18 -0000 1.38 +++ qcheck.c 15 Mar 2008 02:56:08 -0000 @@ -184,7 +184,7 @@ if (!verbose) continue; } - printf(" %sPERM %4o%s: %s\n", RED, (st.st_mode & 07777), NORM, e->name); + printf(" %sPERM %4o%s: %s\n", RED, (unsigned int)(st.st_mode & 07777), NORM, e->name); continue; } else if (strcmp(e->digest, hashed_file)) { if (chk_hash) { Index: libq/compat.c =================================================================== RCS file: libq/compat.c diff -N libq/compat.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libq/compat.c 15 Mar 2008 02:56:08 -0000 @@ -0,0 +1,34 @@ +/* Solaris compatible code */ +#ifdef __sun__ + +#include +#include +#include +#include +#include + +#define S_BLKSIZE DK_DEVID_BLKSIZE + +/* strcasestr is a GNU extention */ +static char* strcasestr(const char *big, const char *little) { + char* b = alloca((strlen(big) + 1) * sizeof(char)); + char* l = alloca((strlen(little) + 1) * sizeof(char)); + char* off; + size_t i; + for (i = 0; big[i]; i++) b[i] = (char)tolower(big[i]); + for (i = 0; little[i]; i++) l[i] = (char)tolower(little[i]); + off = strstr(b, l); + return(off == NULL ? off : (char*)(big + (off - b))); +} + +#undef xasprintf +#define xasprintf(strp, fmt, args...) \ + do { /* xasprintf() */ \ + char str[BUFSIZ]; \ + if ((snprintf(str, sizeof(str)-1, fmt , ## args)) == -1) \ + err("Out of stack space?"); \ + str[sizeof(str)-1] = '\0'; \ + *strp = xstrdup(str); \ + } while (0) + +#endif /* __sun__ */ Index: libq/libq.c =================================================================== RCS file: /var/cvsroot/gentoo-projects/portage-utils/libq/libq.c,v retrieving revision 1.14 diff -u -b -B -r1.14 libq.c --- libq/libq.c 15 Apr 2007 21:42:20 -0000 1.14 +++ libq/libq.c 15 Mar 2008 02:56:08 -0000 @@ -18,6 +18,7 @@ #include "human_readable.c" #include "rmspace.c" #include "which.c" +#include "compat.c" /* custom libs */ #include "atom_explode.c"