Branch: Tag:


2002-12-11 22:01:23 by Martin Nilsson <>

Stdio done.

Rev: CHANGES:1.55

297:    })      o Audio.Codec and Audio.Format -  Contain decoders/encoders and format parsers for audio. -  Currently WAV and MP3. +  Contain decoders/encoders and format parsers for audio using +  Ffmpeg library. Currently WAV and MP3.    Note: The API remains marked "unstable".      o Crypto.md4
410:      o MIME    Added method ext_to_media_type, which returns the MIME media type for -  a given extension. +  a given extension. The module know of 469 different file extensions.      o Oracle    The Oracle database glue now supports CLOBs and BLOBs.
447:    functionality. Useful for writing games, movie players and other    graphically intensive applications.    + o Shuffler +  The shuffler module is what in aspect oriented and component based +  programming is called a connector. This connector provides an easy +  way to connect a data source to a file socket and transfer data +  between them until the data source runs dry, when the connection +  is closed. The transfer can be throttled according to arbitrarily +  complex rules. All this with a minimum of attention. Currently the +  shuffler can use ordinary 8-bit wide strings, System.Memory +  objects, normal files, network sockets, named pipes, stdin and +  pike objects adhering to the Stdio.File API as connector sources. +    o Standards.CIFF    Experimental module to read Canon Camera Image File Format data.   
477:    format.      o Stdio -  Moved get_all_active_fd() from spider to Stdio. -  Added methods to Stdio.File: sync(), line_iterator() +  Two higher order filesystem methods has been added to Stdio, +  simplify_path and file_equal. The first returns a canonic +  representation of path without "/./", "/../", "//" and similar +  path segments. The second is a speedy way to compare if two files +  contains identical content.    - o Stdio.expand_symlinks(string path) -  Expands all symlinks along a path (returns 0 for broken links). -  (Only available on systems with readlink.) +  On a slightly lower level the method expand_symlinks has been +  added. It expands all symlinks along a path on systems with +  readlink implemented.    -  +  Finally the get_all_active_fd() functions is moved from spider to +  Stdio in our strive to deprecate the spider module. +    o Stdio.FakeFile -  Wraps a string and exports a Stdio.File interface. +  Wraps a string in an object that exports a Stdio.File interface.    - o Stdio.File->grantpt() -  can now allocate a VTY on systems with /dev/ptmx support. + o Stdio.File +  This object has a few additions; With the sync method the file +  object can be synchronized with the disk. The line_iterator +  returns an iterator object that iterates over the lines in the +  file. It is possible to open UNIX domain sockets with the new +  connect_unix method. Finally grantpt can allocate a VTY on systems +  with /dev/ptmx support.       Minimal example:    fd = Stdio.File("/dev/ptmx", "rw" );
497:    "stdin":fd2, "stdout":fd2, "stderr":fd2, "setsid":fd2,    ]) );    + o Stdio.FILE.set_charset +  It is possible to set the charset of a FILE object to get +  streaming and transparent charset conversion of data to and from +  the object. +    o String    Added a few new methods: int2char, int2hex, int2roman, int2size, which    convert integers into different string representation, and expand_tabs,
508:    String.int2roman(42) => "XLII"    String.int2size(4200) => "4.1 kb"    +  A soundex method is also added, which normalizes names according to +  the soundex algorithm. The algorithm in itself is not very useful, +  but some databases supports it. +    o String.Elite    Contains methods that transfer ordinary readable text into    leet-speak. A fairly good argument could be laid out for putting this
772:    FIXME: Expand on this.      o Module symbols not available from other modules. -  FIXME: Expand on this. +  To avoid clashes between modules their symbols are now no longer +  available to eachother. FIXME: How to do now?    -  + o Pike valgrinded +  Pike has been the subject to some Valgrind scrutiny. Some specific +  Valgrind enhancements has been made to Pike to improve markup of +  forbidden memory areas. While all Valgrind issues are not yet +  resolved, partially due to Valgrind breakage, our confidence in +  the quality of Pike has been reassured.    -  +    Bugs fixed:   -----------    -  + To browse all bug tickets, visit + +    o Reworked trampolines to cause less circular references. (solves 1937)    -  + o It is now possible to inherit Pike programs from C programs. +    o Works with Autoconf 2.50    - (To browse bug tickets, either visit - - or append the ticket id to -  "" for an address directly to the ticket -  itself.) +     -  -  +    Uncategorized misc changes:   ---------------------------   o it is possible to change predefines without forking a new pike
797:   o dont_dump_module *FIXME: grubba*   o C modules can no longer call functions in other dynamic C modules directly    FIXME: mast, grubba? - o It is possible to inherit pike programs from C programs. +    o Separate weak flags for indices and values in mappings - o Added low lowel glue for the Ffmpeg library. +        - o Calendar.verify *FIXME: remove?* -  +    System.usleep/nanosleep    FIXME: per?   
818:   Pike.BacktraceFrame   Pike.WEAK_INDICES, WEAK_VALUES, WEAK    - o String.soundex -  +    o String.SplitIterator    FIXME: grubba   
835:   o Protocols.X.KeySyms    FIXME    - o Shuffler -  +    Array.common_prefix   Array.count   Array.greedy_diff
845:   Array.uniq2   Array.sum    - Stdio.connect_unix - Stdio.simplify_path - Stdio.file_equal - Stdio.FILE.set_charset -  +