Page MenuHomeFreeBSD

Collapse $HOME into "~" in PS1.
ClosedPublic

Authored by trasz on Dec 27 2018, 2:57 PM.
Tags
None
Referenced Files
F170630613: D18663.id52339.diff
Sat, Sep 5, 5:38 PM
F170548645: D18663.id52340.diff
Sat, Sep 5, 8:49 AM
F170538884: D18663.id52339.diff
Sat, Sep 5, 7:40 AM
F170435108: D18663.id.diff
Fri, Sep 4, 7:50 PM
F170423072: D18663.id.diff
Fri, Sep 4, 6:34 PM
Unknown Object (File)
Fri, Sep 4, 8:34 AM
Unknown Object (File)
Thu, Sep 3, 5:01 AM
Unknown Object (File)
Wed, Sep 2, 1:38 PM
Subscribers

Details

Summary

Make sh(1) collapse $HOME into "~" in PS1.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jilles requested changes to this revision.Dec 27 2018, 3:07 PM
jilles added inline comments.
bin/sh/parser.c
2045–2046 ↗(On Diff #52339)

A path /home/user1 will match /home/user here.

Also, if HOME is /, results will be strange and the substitution should probably be disabled.

2049–2051 ↗(On Diff #52339)

The buffer length passed to strlcpy seems one byte too long.

Also, is it valid to calculate &ps[i + 1]?

This revision now requires changes to proceed.Dec 27 2018, 3:07 PM
trasz added inline comments.
bin/sh/parser.c
2049–2051 ↗(On Diff #52339)

Hm, I'm not much of a C lawyer, but I've used that syntax since... ever. What's wrong with it?

jilles added inline comments.
bin/sh/parser.c
2049–2051 ↗(On Diff #52339)

The syntax is fine, but I wondered whether ps[i + 1] is always within bounds. It turns out that it is because the i < PROMPTLEN - 1 check above.

This revision is now accepted and ready to land.Dec 28 2018, 1:16 PM
This revision was automatically updated to reflect the committed changes.