-- }
-- strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
-- fn[sizeof(fn)-1] = '\0';
--
-+ rc = 1;
-+ break;
-+ }
-+ strcpy(fn, home);
-+ r++;
-+ }
-+ }
-+ strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
-+ fn[sizeof(fn)-1] = '\0';
- /* Read another rcfile */
- fd = Fopen(fn, "r.fpio");
- if (fd == NULL || Ferror(fd)) {
-diff -Nru rpm-4.1/rpmio/macro.c rpm-4.1.new/rpmio/macro.c
---- rpm-4.1/rpmio/macro.c Tue Sep 17 14:58:23 2002
-+++ rpm-4.1.new/rpmio/macro.c Tue Mar 11 18:21:59 2003
-@@ -1614,15 +1614,23 @@
- buf[0] = '\0';
- if (mfile[0] == '~' && mfile[1] == '/') {
- char *home;
-- if ((home = getenv("HOME")) != NULL) {
-- mfile += 2;
-- strncpy(buf, home, sizeof(buf));
-- strncat(buf, "/", sizeof(buf) - strlen(buf));
-+ char *etc_dir = getenv("HOME_ETC");