]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/ktrace.c
webfs(4): document -d and -D flags
[plan9front.git] / sys / src / cmd / ktrace.c
index d816d57e52d7c6f3618a86c921a0c85e0411df95..86ff895692cbcf8da15de714b1511984171264ee 100644 (file)
@@ -370,7 +370,7 @@ getval(uvlong a)
 {
        char buf[256];
        int i, n;
-       uvlong r;
+       uvlong r, m;
 
        if(interactive){
                print("// data at %#8.8llux? ", a);
@@ -379,17 +379,25 @@ getval(uvlong a)
                        return 0;
                buf[n] = '\0';
                r = strtoull(buf, 0, 16);
+       }else{
+               r = 0;
                switch(fhdr.magic){
                case S_MAGIC:
-                       r = (long)r;    // sign extend
+                       m = 0xffffffff00000000ULL;
                        break;
+               default:
+                       m = 0;
                }
-       }else{
-               r = 0;
                for(i=0; i<naddr; i++)
-                       if(addr[i] == a)
+                       if((addr[i]|m) == a)
                                r = val[i];
        }
+       switch(fhdr.magic){
+       case S_MAGIC:
+               r = (long)r;    // sign extend
+               break;
+       }
+
 
        return r;
 }