Tcl_SetByteArrayLength man page on Mandriva

Man page or keyword search:  
man Server   17060 pages
apropos Keyword Search (all sections)
Output format
Mandriva logo
[printable version]

Tcl_ByteArrayObj(3)	    Tcl Library Procedures	   Tcl_ByteArrayObj(3)

______________________________________________________________________________

NAME
       Tcl_NewByteArrayObj,    Tcl_SetByteArrayObj,   Tcl_GetByteArrayFromObj,
       Tcl_SetByteArrayLength - manipulate Tcl objects as a arrays of bytes

SYNOPSIS
       #include <tcl.h>

       Tcl_Obj *
       Tcl_NewByteArrayObj(bytes, length)

       void
       Tcl_SetByteArrayObj(objPtr, bytes, length)

       unsigned char *
       Tcl_GetByteArrayFromObj(objPtr, lengthPtr)

       unsigned char *
       Tcl_SetByteArrayLength(objPtr, length)

ARGUMENTS
       const unsigned char *bytes (in)		    The array of bytes used to
						    initialize	or set a byte-
						    array object. May be  NULL
						    even  if  length  is  non-
						    zero.

       int length (in)				    The length of the array of
						    bytes.  It must be >= 0.

       Tcl_Obj *objPtr (in/out)			    For	  Tcl_SetByteArrayObj,
						    this points to the	object
						    to	be  converted to byte-
						    array type.	 For  Tcl_Get‐
						    ByteArrayFromObj	   and
						    Tcl_SetByteArrayLength,
						    this  points to the object
						    from  which	 to  get   the
						    byte-array	  value;    if
						    objPtr  does  not  already
						    point   to	 a  byte-array
						    object, it	will  be  con‐
						    verted to one.

       int *lengthPtr (out)			    If	non-NULL,  filled with
						    the length of the array of
						    bytes in the object.
_________________________________________________________________

DESCRIPTION
       These  procedures  are  used to create, modify, and read Tcl byte-array
       objects from C code.  Byte-array objects are typically used to hold the
       results	of  binary  IO	operations or data structures created with the
       binary command.	In Tcl, an array of  bytes  is	not  equivalent	 to  a
       string.	 Conceptually,	a  string  is  an array of Unicode characters,
       while a byte-array is an array of 8-bit	quantities  with  no  implicit
       meaning.	 Accessor functions are provided to get the string representa‐
       tion of a byte-array or to convert an arbitrary object to a byte-array.
       Obtaining  the string representation of a byte-array object (by calling
       Tcl_GetStringFromObj) produces a properly formed UTF-8 sequence with  a
       one-to-one mapping between the bytes in the internal representation and
       the UTF-8 characters in the string representation.

       Tcl_NewByteArrayObj and Tcl_SetByteArrayObj will create a new object of
       byte-array type or modify an existing object to have a byte-array type.
       Both of these procedures set the object's type to be byte-array and set
       the  object's  internal	representation to a copy of the array of bytes
       given by bytes. Tcl_NewByteArrayObj returns a pointer to a newly	 allo‐
       cated  object  with  a  reference  count	 of zero.  Tcl_SetByteArrayObj
       invalidates any old string representation and, if  the  object  is  not
       already	a byte-array object, frees any old internal representation. If
       bytes is NULL then the new byte array contains arbitrary values.

       Tcl_GetByteArrayFromObj converts a Tcl object to	 byte-array  type  and
       returns	a  pointer  to	the object's new internal representation as an
       array of bytes.	The length of this array is  stored  in	 lengthPtr  if
       lengthPtr  is non-NULL.	The storage for the array of bytes is owned by
       the object and should not be freed.  The contents of the array  may  be
       modified	 by the caller only if the object is not shared and the caller
       invalidates the string representation.

       Tcl_SetByteArrayLength converts the Tcl object to byte-array  type  and
       changes	the length of the object's internal representation as an array
       of bytes.  If length is greater than the space currently allocated  for
       the  array, the array is reallocated to the new length; the newly allo‐
       cated bytes at the end of the array have arbitrary values.   If	length
       is less than the space currently allocated for the array, the length of
       array is reduced to the new length.  The return value is a  pointer  to
       the object's new array of bytes.

SEE ALSO
       Tcl_GetStringFromObj, Tcl_NewObj, Tcl_IncrRefCount, Tcl_DecrRefCount

KEYWORDS
       object, byte array, utf, unicode, internationalization

Tcl				      8.1		   Tcl_ByteArrayObj(3)
[top]

List of man pages available for Mandriva

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net