[前][次][番号順一覧][スレッド一覧]

ruby-changes:16472

From: akr <ko1@a...>
Date: Mon, 28 Jun 2010 22:05:19 +0900 (JST)
Subject: [ruby-changes:16472] Ruby:r28458 (ruby_1_8, trunk, ruby_1_9_2): update doc.

akr	2010-06-28 22:05:07 +0900 (Mon, 28 Jun 2010)

  New Revision: 28458

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28458

  Log:
    update doc.

  Modified files:
    branches/ruby_1_8/pack.c
    branches/ruby_1_9_2/pack.c
    trunk/pack.c

Index: pack.c
===================================================================
--- pack.c	(revision 28457)
+++ pack.c	(revision 28458)
@@ -305,7 +305,8 @@
  *  elements to convert. If the count is an asterisk
  *  (``<code>*</code>''), all remaining array elements will be
  *  converted. Any of the directives ``<code>sSiIlL</code>'' may be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, they use a
  *  platform-independent size. Spaces are ignored in the template
  *  string. See also <code>String#unpack</code>.
@@ -318,68 +319,68 @@
  *
  *  Directives for +pack+.
  *
- *   Integer   | Array   |
- *   Directive | Element | Meaning
- *   ------------------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         |
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer
- *
- *   Float     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      D, d   | Float   | double-precision float, native format
- *      F, f   | Float   | single-precision float, native format
- *      E      | Float   | double-precision float, little-endian byte order
- *      e      | Float   | single-precision float, little-endian byte order
- *      G      | Float   | double-precision float, network (big-endian) byte order
- *      g      | Float   | single-precision float, network (big-endian) byte order
- *
- *   String    |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      A      | String  | arbitrary binary string (space padded, count is width)
- *      a      | String  | arbitrary binary string (null padded, count is width)
- *      Z      | String  | same as ``a'', except that null is added with *
- *      B      | String  | bit string (MSB first)
- *      b      | String  | bit string (LSB first)
- *      H      | String  | hex string (high nibble first)
- *      h      | String  | hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | quoted printable, MIME encoding (see RFC2045)
- *      m      | String  | base64 encoded string (see RFC 2045, count is width)
- *             |         | (if count is 0, no line feed are added, see RFC 4648)
- *      P      | String  | pointer to a structure (fixed-length string)
- *      p      | String  | pointer to a null-terminated string
- *
- *   Misc.     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      @      | ---     | moves to absolute position
- *      X      | ---     | back up a byte
- *      x      | ---     | null byte
+ *   Integer      | Array   |
+ *   Directive    | Element | Meaning
+ *   ---------------------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         |
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer
+ *                
+ *   Float        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                
+ *   String       |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (space padded, count is width)
+ *      a         | String  | arbitrary binary string (null padded, count is width)
+ *      Z         | String  | same as ``a'', except that null is added with *
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (see RFC 2045, count is width)
+ *                |         | (if count is 0, no line feed are added, see RFC 4648)
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                
+ *   Misc.        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      @         | ---     | moves to absolute position
+ *      X         | ---     | back up a byte
+ *      x         | ---     | null byte
  */
 
 static VALUE
@@ -1213,7 +1214,8 @@
  *  by a number, indicating the number of times to repeat with this
  *  directive. An asterisk (``<code>*</code>'') will use up all
  *  remaining elements. The directives <code>sSiIlL</code> may each be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, it uses a
  *  platform-independent consistent size. Spaces are ignored in the
  *  format string. See also <code>Array#pack</code>.
@@ -1230,68 +1232,68 @@
  *  This table summarizes the various formats and the Ruby classes
  *  returned by each.
  *
- *   Integer   |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (signed char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         |
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer (see Array.pack)
- *
- *   Float     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      D, d   | Float   | double-precision float, native format
- *      F, f   | Float   | single-precision float, native format
- *      E      | Float   | double-precision float, little-endian byte order
- *      e      | Float   | single-precision float, little-endian byte order
- *      G      | Float   | double-precision float, network (big-endian) byte order
- *      g      | Float   | single-precision float, network (big-endian) byte order
- *
- *   String    |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      A      | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
- *      a      | String  | arbitrary binary string
- *      Z      | String  | null-terminated string
- *      B      | String  | bit string (MSB first)
- *      b      | String  | bit string (LSB first)
- *      H      | String  | hex string (high nibble first)
- *      h      | String  | hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | quoted-printable, MIME encoding (see RFC2045)
- *      m      | String  | base64 encoded string (RFC 2045) (default)
- *             |         | base64 encoded string (RFC 4648) if followed by 0
- *      P      | String  | pointer to a structure (fixed-length string)
- *      p      | String  | pointer to a null-terminated string
- *
- *   Misc.     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      @      | ---     | skip to the offset given by the length argument
- *      X      | ---     | skip backward one byte
- *      x      | ---     | skip forward one byte
+ *   Integer      |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (signed char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         |
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer (see Array.pack)
+ *                
+ *   Float        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                
+ *   String       |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
+ *      a         | String  | arbitrary binary string
+ *      Z         | String  | null-terminated string
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted-printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (RFC 2045) (default)
+ *                |         | base64 encoded string (RFC 4648) if followed by 0
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                
+ *   Misc.        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      @         | ---     | skip to the offset given by the length argument
+ *      X         | ---     | skip backward one byte
+ *      x         | ---     | skip forward one byte
  */
 
 static VALUE
Index: ruby_1_8/pack.c
===================================================================
--- ruby_1_8/pack.c	(revision 28457)
+++ ruby_1_8/pack.c	(revision 28458)
@@ -306,7 +306,8 @@
  *  elements to convert. If the count is an asterisk
  *  (``<code>*</code>''), all remaining array elements will be
  *  converted. Any of the directives ``<code>sSiIlL</code>'' may be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, they use a
  *  platform-independent size. Spaces are ignored in the template
  *  string. See also <code>String#unpack</code>.
@@ -319,67 +320,67 @@
  *
  *  Directives for +pack+.
  *
- *   Integer   | Array   |
- *   Directive | Element | Meaning
- *   ------------------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         | 
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer
- *                        
- *   Float     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      D, d   | Float   | double-precision float, native format
- *      F, f   | Float   | single-precision float, native format
- *      E      | Float   | double-precision float, little-endian byte order
- *      e      | Float   | single-precision float, little-endian byte order
- *      G      | Float   | double-precision float, network (big-endian) byte order
- *      g      | Float   | single-precision float, network (big-endian) byte order
- *                        
- *   String    |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      A      | String  | arbitrary binary string (space padded, count is width)
- *      a      | String  | arbitrary binary string (null padded, count is width)
- *      Z      | String  | same as ``a'', except that null is added with *
- *      B      | String  | bit string (MSB first)
- *      b      | String  | bit string (LSB first)
- *      H      | String  | hex string (high nibble first)
- *      h      | String  | hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | quoted printable, MIME encoding (see RFC2045)
- *      m      | String  | base64 encoded string (see RFC 2045, count is width)
- *      P      | String  | pointer to a structure (fixed-length string)
- *      p      | String  | pointer to a null-terminated string
- *                        
- *   Misc.     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      @      | ---     | moves to absolute position
- *      X      | ---     | back up a byte
- *      x      | ---     | null byte
+ *   Integer      | Array   |
+ *   Directive    | Element | Meaning
+ *   ---------------------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         | 
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer
+ *                           
+ *   Float        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                           
+ *   String       |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (space padded, count is width)
+ *      a         | String  | arbitrary binary string (null padded, count is width)
+ *      Z         | String  | same as ``a'', except that null is added with *
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (see RFC 2045, count is width)
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                           
+ *   Misc.        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      @         | ---     | moves to absolute position
+ *      X         | ---     | back up a byte
+ *      x         | ---     | null byte
  */
 
 static VALUE
@@ -1187,7 +1188,8 @@
  *  by a number, indicating the number of times to repeat with this
  *  directive. An asterisk (``<code>*</code>'') will use up all
  *  remaining elements. The directives <code>sSiIlL</code> may each be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, it uses a
  *  platform-independent consistent size. Spaces are ignored in the
  *  format string. See also <code>Array#pack</code>.
@@ -1204,67 +1206,67 @@
  *  This table summarizes the various formats and the Ruby classes
  *  returned by each.
  *
- *   Integer   |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (signed char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         |
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer (see Array.pack)
- *             
- *   Float     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      D, d   | Float   | double-precision float, native format
- *      F, f   | Float   | single-precision float, native format
- *      E      | Float   | double-precision float, little-endian byte order
- *      e      | Float   | single-precision float, little-endian byte order
- *      G      | Float   | double-precision float, network (big-endian) byte order
- *      g      | Float   | single-precision float, network (big-endian) byte order
- *             
- *   String    |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      A      | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
- *      a      | String  | arbitrary binary string
- *      Z      | String  | null-terminated string
- *      B      | String  | bit string (MSB first)
- *      b      | String  | bit string (LSB first)
- *      H      | String  | hex string (high nibble first)
- *      h      | String  | hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | quoted-printable, MIME encoding (see RFC2045)
- *      m      | String  | base64 encoded string (RFC 2045)
- *      P      | String  | pointer to a structure (fixed-length string)
- *      p      | String  | pointer to a null-terminated string
- *             
- *   Misc.     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      @      | ---     | skip to the offset given by the length argument
- *      X      | ---     | skip backward one byte
- *      x      | ---     | skip forward one byte
+ *   Integer      |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (signed char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         |
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer (see Array.pack)
+ *                
+ *   Float        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                
+ *   String       |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
+ *      a         | String  | arbitrary binary string
+ *      Z         | String  | null-terminated string
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted-printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (RFC 2045)
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                
+ *   Misc.        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      @         | ---     | skip to the offset given by the length argument
+ *      X         | ---     | skip backward one byte
+ *      x         | ---     | skip forward one byte
  */
 
 static VALUE
Index: ruby_1_9_2/pack.c
===================================================================
--- ruby_1_9_2/pack.c	(revision 28457)
+++ ruby_1_9_2/pack.c	(revision 28458)
@@ -305,7 +305,8 @@
  *  elements to convert. If the count is an asterisk
  *  (``<code>*</code>''), all remaining array elements will be
  *  converted. Any of the directives ``<code>sSiIlL</code>'' may be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, they use a
  *  platform-independent size. Spaces are ignored in the template
  *  string. See also <code>String#unpack</code>.
@@ -318,68 +319,68 @@
  *
  *  Directives for +pack+.
  *
- *   Integer   | Array   |
- *   Directive | Element | Meaning
- *   ------------------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         |
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer
- *
- *   Float     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      D, d   | Float   | Double-precision float, native format
- *      F, f   | Float   | Single-precision float, native format
- *      E      | Float   | Double-precision float, little-endian byte order
- *      e      | Float   | Single-precision float, little-endian byte order
- *      G      | Float   | Double-precision float, network (big-endian) byte order
- *      g      | Float   | Single-precision float, network (big-endian) byte order
- *
- *   String    |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      A      | String  | arbitrary binary string (space padded, count is width)
- *      a      | String  | arbitrary binary string (null padded, count is width)
- *      Z      | String  | Same as ``a'', except that null is added with *
- *      B      | String  | Bit string (MSB first)
- *      b      | String  | Bit string (LSB first)
- *      H      | String  | Hex string (high nibble first)
- *      h      | String  | Hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | Quoted printable, MIME encoding (see RFC2045)
- *      m      | String  | Base64 encoded string (see RFC 2045, count is width)
- *             |         | (if count is 0, no line feed are added, see RFC 4648)
- *      P      | String  | Pointer to a structure (fixed-length string)
- *      p      | String  | Pointer to a null-terminated string
- *
- *   Misc.     |         |
- *   Directive |         | Meaning
- *   ------------------------------------------------------------------------
- *      @      | ---     | Moves to absolute position
- *      X      | ---     | Back up a byte
- *      x      | ---     | Null byte
+ *   Integer      | Array   |
+ *   Directive    | Element | Meaning
+ *   ---------------------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         |
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer
+ *                
+ *   Float        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                
+ *   String       |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (space padded, count is width)
+ *      a         | String  | arbitrary binary string (null padded, count is width)
+ *      Z         | String  | same as ``a'', except that null is added with *
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (see RFC 2045, count is width)
+ *                |         | (if count is 0, no line feed are added, see RFC 4648)
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                
+ *   Misc.        |         |
+ *   Directive    |         | Meaning
+ *   ---------------------------------------------------------------------------
+ *      @         | ---     | moves to absolute position
+ *      X         | ---     | back up a byte
+ *      x         | ---     | null byte
  */
 
 static VALUE
@@ -1213,7 +1214,8 @@
  *  by a number, indicating the number of times to repeat with this
  *  directive. An asterisk (``<code>*</code>'') will use up all
  *  remaining elements. The directives <code>sSiIlL</code> may each be
- *  followed by an underscore (``<code>_</code>'') to use the underlying
+ *  followed by an underscore (``<code>_</code>'') or
+ *  exclamation mark (``<code>!</code>'') to use the underlying
  *  platform's native size for the specified type; otherwise, it uses a
  *  platform-independent consistent size. Spaces are ignored in the
  *  format string. See also <code>Array#pack</code>.
@@ -1230,68 +1232,68 @@
  *  This table summarizes the various formats and the Ruby classes
  *  returned by each.
  *
- *   Integer   |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      C      | Integer | 8-bit unsigned integer (unsigned char)
- *      S      | Integer | 16-bit unsigned integer, native endian (uint16_t)
- *      L      | Integer | 32-bit unsigned integer, native endian (uint32_t)
- *      Q      | Integer | 64-bit unsigned integer, native endian (uint64_t)
- *             |         |
- *      c      | Integer | 8-bit signed integer (char)
- *      s      | Integer | 16-bit signed integer, native endian (int16_t)
- *      l      | Integer | 32-bit signed integer, native endian (int32_t)
- *      q      | Integer | 64-bit signed integer, native endian (int64_t)
- *             |         |
- *      S_     | Integer | unsigned short, native endian
- *      I, I_  | Integer | unsigned int, native endian
- *      L_     | Integer | unsigned long, native endian
- *             |         |
- *      s_     | Integer | signed short, native endian
- *      i, i_  | Integer | signed int, native endian
- *      l_     | Integer | signed long, native endian
- *             |         |
- *      n      | Integer | 16-bit unsigned integer, network (big-endian) byte order
- *      N      | Integer | 32-bit unsigned integer, network (big-endian) byte order
- *      v      | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
- *      V      | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
- *             |         |
- *      U      | Integer | UTF-8 character
- *      w      | Integer | BER-compressed integer (see Array.pack)
- *
- *   Float     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      d, D   | Float   | Double-precision float, native format
- *      f, F   | Float   | Single-precision float, native format
- *      E      | Float   | Double-precision float, little-endian byte order
- *      e      | Float   | Single-precision float, little-endian byte order
- *      G      | Float   | Double-precision float, network (big-endian) byte order
- *      g      | Float   | Single-precision float, network (big-endian) byte order
- *
- *   String    |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      A      | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
- *      a      | String  | arbitrary binary string
- *      Z      | String  | null-terminated string
- *      B      | String  | bit string (MSB first)
- *      b      | String  | bit string (LSB first)
- *      H      | String  | Hex string (high nibble first)
- *      h      | String  | Hex string (low nibble first)
- *      u      | String  | UU-encoded string
- *      M      | String  | quoted-printable, MIME encoding (see RFC2045)
- *      m      | String  | base64-encoded (RFC 2045) (default)
- *             |         | base64-encoded (RFC 4648) if followed by 0
- *      P      | String  | Pointer to a structure (fixed-length string)
- *      p      | String  | Pointer to a null-terminated string
- *
- *   Misc.     |         |
- *   Directive | Returns | Meaning
- *   --------------------------------------------------------------
- *      @      | ---     | skip to the offset given by the length argument
- *      X      | ---     | skip backward one byte
- *      x      | ---     | skip forward one byte
+ *   Integer      |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      C         | Integer | 8-bit unsigned integer (unsigned char)
+ *      S         | Integer | 16-bit unsigned integer, native endian (uint16_t)
+ *      L         | Integer | 32-bit unsigned integer, native endian (uint32_t)
+ *      Q         | Integer | 64-bit unsigned integer, native endian (uint64_t)
+ *                |         |
+ *      c         | Integer | 8-bit signed integer (signed char)
+ *      s         | Integer | 16-bit signed integer, native endian (int16_t)
+ *      l         | Integer | 32-bit signed integer, native endian (int32_t)
+ *      q         | Integer | 64-bit signed integer, native endian (int64_t)
+ *                |         |
+ *      S_, S!    | Integer | unsigned short, native endian
+ *      I, I_, I! | Integer | unsigned int, native endian
+ *      L_, L!    | Integer | unsigned long, native endian
+ *                |         |
+ *      s_, s!    | Integer | signed short, native endian
+ *      i, i_, i! | Integer | signed int, native endian
+ *      l_, l!    | Integer | signed long, native endian
+ *                |         |
+ *      n         | Integer | 16-bit unsigned integer, network (big-endian) byte order
+ *      N         | Integer | 32-bit unsigned integer, network (big-endian) byte order
+ *      v         | Integer | 16-bit unsigned integer, VAX (little-endian) byte order
+ *      V         | Integer | 32-bit unsigned integer, VAX (little-endian) byte order
+ *                |         |
+ *      U         | Integer | UTF-8 character
+ *      w         | Integer | BER-compressed integer (see Array.pack)
+ *                
+ *   Float        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      D, d      | Float   | double-precision float, native format
+ *      F, f      | Float   | single-precision float, native format
+ *      E         | Float   | double-precision float, little-endian byte order
+ *      e         | Float   | single-precision float, little-endian byte order
+ *      G         | Float   | double-precision float, network (big-endian) byte order
+ *      g         | Float   | single-precision float, network (big-endian) byte order
+ *                
+ *   String       |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      A         | String  | arbitrary binary string (remove trailing nulls and ASCII spaces)
+ *      a         | String  | arbitrary binary string
+ *      Z         | String  | null-terminated string
+ *      B         | String  | bit string (MSB first)
+ *      b         | String  | bit string (LSB first)
+ *      H         | String  | hex string (high nibble first)
+ *      h         | String  | hex string (low nibble first)
+ *      u         | String  | UU-encoded string
+ *      M         | String  | quoted-printable, MIME encoding (see RFC2045)
+ *      m         | String  | base64 encoded string (RFC 2045) (default)
+ *                |         | base64 encoded string (RFC 4648) if followed by 0
+ *      P         | String  | pointer to a structure (fixed-length string)
+ *      p         | String  | pointer to a null-terminated string
+ *                
+ *   Misc.        |         |
+ *   Directive    | Returns | Meaning
+ *   -----------------------------------------------------------------
+ *      @         | ---     | skip to the offset given by the length argument
+ *      X         | ---     | skip backward one byte
+ *      x         | ---     | skip forward one byte
  */
 
 static VALUE

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]