The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Dubious security vulnerability: Remembering passwords for recently-opened ZIP files

If it didn't remember them, you wouldn't like it.

Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list

We can splice nodes to move them between lists.

Thoughts on creating a tracking pointer class, part 15: A custom shared pointer

Simplifying it for out limited use case.

Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer

Moving the exception somewhere else.

Thoughts on creating a tracking pointer class, part 13: Restoring the strong exception guarantee

Don't commit to anything until you know you can finish the job.

Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer

Sharing a single tracking pointer among all instances.

Thoughts on creating a tracking pointer class, part 11: Repairing assignment

Restoring things that were automatically deleted.

Thoughts on creating a tracking pointer class, part 10: Proper conversion

Making sure you cannot remove qualifiers.

Thoughts on creating a tracking pointer class, part 9: Conversion

Making a read-only tracking pointer from a read-write tracking pointer.