ref: 2bab9ca96b1aef62b5a83b2cda600517d40b5758
parent: 15873bca502ea7210ab3347a1816075f0e190183
author: telephil9 <[email protected]>
date: Sat Apr 4 07:32:52 EDT 2020
Report errors through alert popups
--- a/vdir.c
+++ b/vdir.c
@@ -6,6 +6,9 @@
#include <plumb.h>
#include <bio.h>
#include "icons.h"
+
+extern void alert(const char *title, const char *message);
+
enum
{
Toolpadding = 4,
@@ -44,7 +47,15 @@
int nlines;
int offset;
+void
+showerrstr(void)
+{
+ char errbuf[ERRMAX];
+ errstr(errbuf, ERRMAX-1);
+ alert("Error", errbuf);
+}
+
void
readhome(void)
{
@@ -123,11 +134,15 @@
int fd;
p = smprint("%s/%s", path, name);
- if(access(p, 0)>=0)
+ if(access(p, 0)>=0){
+ alert("Error", "Directory already exists");
goto cleanup;
+ }
fd = create(p, OREAD, DMDIR|0755);
- if(fd<0)
- goto cleanup; /* XXX error report */
+ if(fd<0){
+ showerrstr();
+ goto cleanup;
+ }
close(fd);
loaddirs();
cleanup:
@@ -141,11 +156,15 @@
int fd;
p = smprint("%s/%s", path, name);
- if(access(p, 0)>=0)
+ if(access(p, 0)>=0){
+ alert("Error", "File already exists");
goto cleanup;
+ }
fd = create(p, OREAD, 0644);
- if(fd<0)
- goto cleanup; /* XXX error report */
+ if(fd<0){
+ showerrstr();
+ goto cleanup;
+ }
close(fd);
loaddirs();
cleanup: