From 951fef52c99ad174f9cfb413ba7fd831d1ee5e4b Mon Sep 17 00:00:00 2001 From: Akshat Kumar Date: Fri, 6 Sep 2013 16:10:26 -0400 Subject: mailfs: allow spaces in box name Mail services (such as Google Mail) will often have directories with names that contain spaces. Acme does not support spaces in window names. So, replace spaces in mail directory names with the Unicode character for visible space. The code is a bit of an over-approximation and generally non-optimal. R=rsc, david.ducolombier, 0intro CC=plan9port.codebot https://codereview.appspot.com/13010048 --- src/cmd/acme/mail/win.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/cmd/acme/mail/win.c') diff --git a/src/cmd/acme/mail/win.c b/src/cmd/acme/mail/win.c index db3bd73c..84c9cee0 100644 --- a/src/cmd/acme/mail/win.c +++ b/src/cmd/acme/mail/win.c @@ -105,7 +105,22 @@ wintagwrite(Window *w, char *s, int n) void winname(Window *w, char *s) { - ctlprint(w->ctl, "name %s\n", s); + int len; + char *ns, *sp; + Rune r = L'␣'; /* visible space */ + + len = 0; + ns = emalloc(strlen(s)*runelen(r) + 1); + for(sp = s; *sp != '\0'; sp++, len++){ + if(isspace(*sp)){ + len += runetochar(ns+len, &r)-1; + continue; + } + *(ns+len) = *sp; + } + ctlprint(w->ctl, "name %s\n", ns); + free(ns); + return; } void -- cgit v1.2.3