TODO.txt
author Ryan C. Gordon <icculus@icculus.org>
Thu, 15 Mar 2007 08:16:23 +0000
changeset 828 ee871d51510d
parent 826 e35b9585d5b8
child 829 5eaa78e63706
permissions -rw-r--r--
Bunch of work on Unicode...added case-folding stricmp, removed platform-specific stricmp implementations, changed appropriate calls to an ASCII-only stricmp that ignores locale. Fixed case on UTF-8 API entry points.

Stuff that needs to be done and wishlist:

These are in no particular order.
Some might be dupes, some might be done already.

UNICODE:
- Windows: Can use Unicode, but might only allow "codepages" ... Use
           GetProcAddress() to find Unicode entry points on WinNT-based
           systems, otherwise try to use a sane codepage.
- OS/2: Codepages. No full Unicode in the filesystem, but we can probably make
        a conversion effort.


Stuff:
- Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, etc. These are less
  important, since streaming archives aren't of much value to games (which
  is why zipfiles are king: random access), but it could have uses for, say,
  an installer/updater.
- Stack allocate in stripAppleBundle() (platform/unix.c) instead of calloc().
- Reduce malloc() pressure all over the place. We fragment memory like mad.
- macclassic.c :
  "/* (Hmm. Default behaviour is broken in the base library.  :)  )  */"
- profile string list interpolation.
- We have two different ways to find dir entries in zip.c.
- Do symlinks in zip archiver work when they point to dirs?
- Enable more warnings?
- Use __cdecl in physfs.h?
- Look for FIXMEs (many marked with "!!!" in comments).
- Cygwin should use unix/posix and not win32 platform code.
- Expose the archiver registration mechanism to the outside world.
- Find some way to relax or remove the security model for external tools.
- mmap() in posix.c
- OSX shouldn't use ~/.app for userdir.
- fscanf and fprintf support in extras dir.
- Why do we call it openArchive and dirClose?
- Sanity check byte order at runtime.
- Memory locking?
- Find a better name than dvoid and fvoid.
- Can windows.c and pocketpc.c get merged?
- There's so much cut-and-paste between archivers...can this be reduced?
- General code audit.
- Multiple write dirs with mount points?
- Deprecate PHYSFS_setSaneConfig and move it to extras?
- Why is physfsrwops.c cut-and-pasted into the ruby bindings?
- Replace code from SDL...
- Should file enumeration return an error or set error state?
- Need "getmountpoint" command in test_physfs.c ...
- Look for calloc() calls that aren't going through the allocation hooks.
- maybe other stuff.
- Make mutexes recursive, so callbacks can call into the API.
- Archivers need abstracted i/o to read from memory or files (archives in archives?)
- Probably other stuff. Requests and recommendations are welcome.

// end of TODO.txt ...