Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Weird file names and ...

199 views
Skip to first unread message

jpayne@bbn-unix

unread,
Apr 18, 1983, 10:33:03 PM4/18/83
to
From: John Payne <jpayne at BBN-UNIX>

At Lincoln-Sudbury High School, here in massachusetts, we are running
2.81bsd UNIX. My friends and I (high school students/graduates),
recently had a lot of fun deleting a file with the character \240 in
it. The file name was so weird that ls couldn't even stat the file.

First we tried writing a C program with a call to unlink("\240XXX"),
but that failed. Then we tried adbing the directory but found, to
our surprise, that even the super user can't write to a directory.
We finally solved the pat failed. Then we tried adbing the directory but found, to
our surprise, that even the super user can't write to a directory.
We finally solved the problem by, adbing the device, finding the
inode for the directory that contained the bad file, finding the
block number of the first block in the file (fortunately the
directory was quite small), lseeking to the directory and then to the
actual file name, and wrote "A" on the bad character. The hardest
part was converting from the 3 byte long to a 4 byte long. We ended
up using the C library function l3tol. There must be an easier way
right??

Questions:
1) How did the weird character get in the file name in the
first place?
2) Why did the unlink fail?
3) Why can't the super user write to a directory?

My guess for 1 and 2 is that create DOESN'T get rid of the 200
bit but unlink DOES. It seems kind of silly to me.

Jonathan Payne

P.S.

Anyone out there interested in an EMACS style editor for the PDP11.
Unfortunately it doesn't fit on non-split ID machines. Some of its
features include, multiple buffers and windows (as many that can fit
in both cases), key binding (similar to Gosling's), output from
shell commands to buffer, filter-region (so you can sort your files
or beatify your C), parse C/LINT/fgrep type error messages,
spell-buffer (like error parsing), MACRO in the singular (haven't
gotten around to making it more general). I almost forgot to mention
that it has optimized redisplay (NOT as good as Gosling's, but close),
works on any reasonable display terminal (TERMCAP), has
super/hyper/meta optimized cursor motion (I believe it does the best
thing EVERY time with good response time) and aborts redisplay if you
support the right ioctl.

It limitations are 512 characters per line (it stores the file on the
disk in a way similar to that of ed(1) and VI), about a total
of 6500 lines at any time buffers. I believe it hardly ever crashes
i.e. it hasn't happened to anyone yet. There is 10k of I space left and
is, in my opinion, well written and easy to read, so you can modify
it easily.

It's called JOVE which stands for Jonathan's Own Version of Emacs...

If you are interested you can reach me at jpayne@bbng or jpayne@bbn-unix

Be seeing you...

0 new messages