Page MenuHomeFreeBSD

D30697.diff
No OneTemporary

D30697.diff

diff --git a/usr.bin/tip/tip/tip.h b/usr.bin/tip/tip/tip.h
--- a/usr.bin/tip/tip/tip.h
+++ b/usr.bin/tip/tip/tip.h
@@ -158,12 +158,10 @@
#define number(v) ((long)(intptr_t)(v))
#define boolean(v) ((short)(intptr_t)(v))
#define character(v) ((char)(intptr_t)(v))
-#define address(v) ((long *)(v))
#define setnumber(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
#define setboolean(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
#define setcharacter(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
-#define setaddress(v,n) do { (v) = (char *)(n); } while (0)
/*
* Escape command table definitions --
diff --git a/usr.bin/tip/tip/value.c b/usr.bin/tip/tip/value.c
--- a/usr.bin/tip/tip/value.c
+++ b/usr.bin/tip/tip/value.c
@@ -69,8 +69,22 @@
if (p->v_type&ENVIRON)
if ((cp = getenv(p->v_name)))
p->v_value = cp;
- if (p->v_type&IREMOTE)
- setnumber(p->v_value, *address(p->v_value));
+ if (p->v_type&IREMOTE) {
+ switch (p->v_type&TMASK) {
+ case STRING:
+ p->v_value = *(char **)p->v_value;
+ break;
+ case NUMBER:
+ setnumber(p->v_value, *(long *)p->v_value);
+ break;
+ case BOOL:
+ setboolean(p->v_value, *(short *)p->v_value);
+ break;
+ case CHAR:
+ setcharacter(p->v_value, *(char *)p->v_value);
+ break;
+ }
+ }
}
/*
* Read the .tiprc file in the HOME directory

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 11, 10:50 PM (15 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16602482
Default Alt Text
D30697.diff (1 KB)

Event Timeline