tWrite $-free paths in Dump files (Peter Canning). - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit de1168dd9caa73403e11de015b6f33323372c505 (DIR) parent acb880af1ce5169b0280eb9b8fa256942ab77bed (HTM) Author: rsc <devnull@localhost> Date: Tue, 21 Mar 2006 18:03:33 +0000 Write $-free paths in Dump files (Peter Canning). Diffstat: M src/cmd/acme/rows.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) --- (DIR) diff --git a/src/cmd/acme/rows.c b/src/cmd/acme/rows.c t@@ -319,7 +319,7 @@ rowdump(Row *row, char *file) uint q0, q1; Biobuf *b; char *buf, *a, *fontname; - Rune *r; + Rune *r, *rp; Column *c; Window *w, *w1; Text *t; t@@ -417,11 +417,17 @@ rowdump(Row *row, char *file) Bwrite(b, buf, strlen(buf)); m = min(RBUFSIZE, w->tag.file->b.nc); bufread(&w->tag.file->b, 0, r, m); + if(dodollarsigns && r[0] == '$'){ + rp = runestrdup(r); + expandenv(&rp, (uint*)&m); + }else + rp = r; n = 0; - while(n<m && r[n]!='\n') + while(n<m && rp[n]!='\n') n++; - r[n++] = '\n'; - Bprint(b, "%.*S", n, r); + Bprint(b, "%.*S\n", n, rp); + if(rp != r) + free(rp); if(dumped){ q0 = 0; q1 = t->file->b.nc;