Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       base32::core - Expanding basic base32 maps

SYNOPSIS

       package require Tcl  8.4

       package require base32::core  ?0.1?

       ::base32::core::define map forwvar backwvar ivar

       ::base32::core::valid string pattern mvar

________________________________________________________________________________________________________________

DESCRIPTION

       This  package provides generic commands for the construction of full base32 mappings from a basic mapping
       listing just the codes and associated characters. The full mappings, regular and  inverse,  created  here
       map to and from bit sequences, and also handle the partial mappings at the end of a string.

       This  is in essence an internal package to be used by implementors of a base32 en- and decoder. A regular
       user has no need of this package at all.

API

       ::base32::core::define map forwvar backwvar ivar
              This command computes full forward and backward (inverse) mappings from the basic map  and  stores
              them  in the variables named by forwvar and backwvar resp. It also constructs a regexp pattern for
              the detection of invalid characters in supposedly base32  encoded  input  and  stores  it  in  the
              variable named by ivar.

       ::base32::core::valid string pattern mvar
              This  command checks if the input string is a valid base32 encoded string, based on the pattern of
              invalid characters as generated by ::base32::core::define, and some other general rules.

              The result of the command is a boolean flag. Its value is True  for  a  valid  string,  and  False
              otherwise.  In  the  latter  case an error message describing the problem with the input is stored
              into the variable named by mvar. The variable is not touched if the input was found to be valid.

              The rules checked by the command, beyond rejection of bad characters, are:

              [1]    The length of the input is not a multiple of eight,

              [2]    The padding appears not at the end of input, but in the middle,

              [3]    The padding has not of length six, four, three, or one characters,

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes, will undoubtedly contain bugs and  other  problems.   Please
       report such in the category base32 of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].  Please
       also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

KEYWORDS

       base32

CATEGORY

       Text processing

COPYRIGHT

       Public domain