hlfw.ca

x9dev

Download patch

ref: 6d1ee533ae60f42bba4f7ce22c0f1f3a844a3048
parent: 294895f1868c8bbf9e14654655563fb737d82696
author: halfwit <michaelmisch1985@gmail.com>
date: Thu Oct 15 11:24:54 PDT 2020

Chroot handled externally is fine.

--- a/libdraw/draw.h
+++ b/libdraw/draw.h
@@ -342,7 +342,7 @@
 extern int	freeimage(Image*);
 extern int	_freeimage1(Image*);
 extern int	geninitdraw(char*, void(*)(Display*, char*), char*, char*, int);
-extern int	initdraw(void(*)(Display*, char*), char*, char*);
+extern int	initdraw(void(*)(Display*, char*), char*);
 extern int	newwindow(char*);
 extern Display*	initdisplay(char*, char*, void(*)(Display*, char*));
 extern int	loadimage(Image*, Rectangle, uchar*, int);
--- a/libdraw/init.c
+++ b/libdraw/init.c
@@ -109,8 +109,8 @@
 int
 initdraw(void(*error)(Display*, char*), char *chroot, char *label)
 {
-	char *dev;
-	sprintf(dev, "%s/dev/", chroot);
+	static char dev[] = "/dev";
+
 	return geninitdraw(dev, error, label, dev, Refnone);
 }
 
--- a/src/x9dev.c
+++ b/src/x9dev.c
@@ -28,8 +28,8 @@
 #include <errno.h>
 #include "x9dev.h"
 
+char *chroot;
 extern x9devInfo x9di;
-char *root = "/";
 int debug = 0;
 
 void
@@ -38,7 +38,7 @@
 	int fd;
     char path[256]; /* Plan9 Maxpath */
 
-    if(initdraw(NULL, root, "x9dev") < 0)
+    if(initdraw(NULL, "x9dev") < 0)
         FatalError("can't open display");
 
     x9di.depth = screen->depth;
@@ -104,11 +104,6 @@
     if (!strcmp(argv[i], "-D")){
         debug++;
         return 1;
-    } else if (!strcmp(argv[i], "-p")){
-        if (argc <= i){
-            sprintf(root, "%s", argv[i+1]);
-            root = argv[i+1];
-        }
     }
 
     return 0;