Adam C Powell IV wrote:

> Daniel Jacobowitz wrote:
>
> > I've put an NMU of Quik 2.0e with patches in Incoming - with luck and
> > archive maintainers it will be available soon.
> >
> > I'd appreciate feedback on it.  Also, in the postinst is some commented
> > out PReP work - is it relevant?  If so could someone with more PReP
> > knowledge than I complete it?
>
> Thank you for the new quik.  Unfortunately, it still segfaulted for me, this 
> has
> been a problem for some time.

Okay, I don't know what I was thinking with that long rambling post yesterday.  
Must have been tired, sorry.

Anyway, the attached patch does indeed fix the segfault and resolve_to_dev() in 
general, a bit ugly but that whole subroutine is a bit ugly so I don't feel so 
bad. :-)

However, with or without it, booting fails as follows:

Second-stage QUIK loader
Booting Debian GNU/Linux (Potato)
boot: linux

Fatal error: Unable to open filesystem

Image not found.... try again
boot:

Once again, 2.0-2 worked where this does not.  I've attached quik.conf.

Thanks again,

-Adam P.

--- quik/quik.c.bak     Wed Apr  5 10:12:37 2000
+++ quik/quik.c Wed Apr  5 10:12:49 2000
@@ -381,18 +381,22 @@
            return q;
        }
        if (S_ISLNK(st3.st_mode)) {
-           len = readlink(buffer, readlinkbuf, 2048);
+           len = readlink(buffer, readlinkbuf+1, 2047);
            if (len < 0)
                fatal ("Couldn't readlink %s\n", fn);
-           readlinkbuf[len] = 0;
-           if (*readlinkbuf == '/') {
+           readlinkbuf[len+1] = 0;
+           if (*(readlinkbuf+1) == '/') {
+               b = r = readlinkbuf+1;
+           } else if (p == buffer + 1) {
+               *readlinkbuf = '/';
                b = r = readlinkbuf;
+               len++;
            } else {
                b = buffer2;
                strcpy (b, buffer);
                r = strchr(b, 0);
                *r++ = '/';
-               strcpy(r, readlinkbuf);
+               strcpy(r, readlinkbuf+1);
            }
            if (c) {
                r += len;
init-message = "Booting Debian GNU/Linux (Potato)\n"
root=/dev/hdb6
timeout = 0

image = /boot/vmlinux-2.2.15pre16-atydbg
        append = "adb_buttons=58:52"
        label = offb

image = /boot/vmlinux-2.2.15pre16-atydbg
        append = "video=atyfb:vmode:18,cmode:8,font:SUN12x22 adb_buttons=58:52"
        label = linux

image = /boot/vmlinux-2.2.15pre16
        append = "video=atyfb:vmode:18,cmode:8,font:SUN12x22 adb_buttons=58:52"
        label = oldlinux
        alias = l

image = "$bye"
        label = bye

Reply via email to