richter     01/06/14 23:28:26

  Modified:    .        Changes.pod Embperl.pm Embperl.xs ep.h eputil.c
               test/cmp escape.htm
               test/html escape.htm
  Log:
     - Added method $r -> Espace for html & url escaping
  
  Revision  Changes    Path
  1.174     +8 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.173
  retrieving revision 1.174
  diff -u -r1.173 -r1.174
  --- Changes.pod       2001/06/06 04:16:43     1.173
  +++ Changes.pod       2001/06/15 06:28:16     1.174
  @@ -1,5 +1,13 @@
   =pod
   
  +=head1 1.3.4_dev -- That's what currently under developement
  +
  +Last Update: <$localtime$> (MET)
  +
  +NOTE: This version is only available via L<"CVS"|CVS/"INTRO">
  +
  +   - Added method $r -> Espace for html & url escaping
  +
   =head1 1.3.3 (RELEASE)   6. Juni 2001
   
      - fixes problem with cleanup and Perl 5.6.0+ which broke
  
  
  
  1.161     +2 -2      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.160
  retrieving revision 1.161
  diff -u -r1.160 -r1.161
  --- Embperl.pm        2001/06/05 04:56:20     1.160
  +++ Embperl.pm        2001/06/15 06:28:17     1.161
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Embperl.pm,v 1.160 2001/06/05 04:56:20 richter Exp $
  +#   $Id: Embperl.pm,v 1.161 2001/06/15 06:28:17 richter Exp $
   #
   ###################################################################################
   
  @@ -64,7 +64,7 @@
   @ISA = qw(Exporter DynaLoader);
   
   
  -$VERSION = '1.3.3';
  +$VERSION = '1.3.4_dev';
   
   # HTML::Embperl cannot be bootstrapped in nonlazy mode except
   # under mod_perl, because its dependencies import symbols like ap_palloc
  
  
  
  1.49      +12 -0     embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- Embperl.xs        2001/05/31 19:16:11     1.48
  +++ Embperl.xs        2001/06/15 06:28:18     1.49
  @@ -718,6 +718,18 @@
   CODE:
       lprintf (r,"[%d]MEM:  %s: SVs: %d OBJs: %d\n", r->nPid, sText, sv_count, 
sv_objcount) ;
   
  +SV *
  +embperl_Escape(r, str, mode)
  +    tReq * r
  +    char *   str = NO_INIT 
  +    int      mode
  +PREINIT:
  +    STRLEN len ;
  +CODE:
  +    str = SvPV(ST(1),len) ;
  +    RETVAL = Escape(r, str, len, mode, NULL, 0) ; 
  +OUTPUT:
  +    RETVAL
   
   
   int
  
  
  
  1.38      +6 -0      embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- ep.h      2001/05/29 06:28:10     1.37
  +++ ep.h      2001/06/15 06:28:18     1.38
  @@ -438,6 +438,12 @@
                   /*in*/  int            nDataLen,
                   /*in*/  struct tCharTrans *   pEscTab,
                   /*in*/  char           cEscChar) ;
  +SV * Escape    (/*i/o*/ register req * r,
  +                /*in*/  const char *   sData,
  +                /*in*/  int            nDataLen,
  +                /*in*/  int            nEscMode,
  +                /*in*/  struct tCharTrans *   pEscTab,
  +                /*in*/  char           cEscChar) ;
   
   int TransHtml (/*i/o*/ register req * r,
                /*i/o*/ char *         sData,
  
  
  
  1.24      +77 -1     embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- eputil.c  2001/06/05 03:22:09     1.23
  +++ eputil.c  2001/06/15 06:28:19     1.24
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: eputil.c,v 1.23 2001/06/05 03:22:09 richter Exp $
  +#   $Id: eputil.c,v 1.24 2001/06/15 06:28:19 richter Exp $
   #
   
###################################################################################*/
   
  @@ -129,6 +129,82 @@
           owrite (r, p, sData - p) ;
       }
   
  +/* ---------------------------------------------------------------------------- */
  +/*                                                                              */
  +/* Escape a string and return a sv                                              */
  +/*                                                                              */
  +/* in sData     = input:  string                                                */
  +/*    nDataLen  = input:  length of string                                      */
  +/*    pEscTab   = input:  escape table                                          */
  +/*    cEscChar  = input:  char to escape escaping (0 = off)                     */
  +/*                                                                              */
  +/* ---------------------------------------------------------------------------- */
  +
  +SV * Escape    (/*i/o*/ register req * r,
  +                /*in*/  const char *   sData,
  +                /*in*/  int            nDataLen,
  +                /*in*/  int            nEscMode,
  +                /*in*/  struct tCharTrans *   pEscTab,
  +                /*in*/  char           cEscChar)
  +
  +    {
  +    char * pHtml  ;
  +    const char * p ;
  +    int               l ;
  +    SV *         pSV = newSVpv("",0) ;
  +
  +    EPENTRY (Escape) ;
  +
  +
  +    if (nEscMode >= 0)
  +     {           
  +     if (nEscMode & escHtml && !r -> bEscInUrl)
  +         pEscTab = Char2Html ;
  +     else if (nEscMode & escUrl)
  +         pEscTab = Char2Url ;
  +     else 
  +         pEscTab = NULL ;
  +     if (nEscMode & escEscape)
  +         cEscChar = '\0' ;
  +     else
  +         cEscChar = '\\' ;
  +     }
  +
  +    if (pEscTab == NULL)
  +        {
  +        sv_setpvn (pSV, sData, nDataLen) ;
  +        return pSV ;
  +        }
  +
  +    p = sData ;
  +    l = nDataLen ;
  +
  +    while (l > 0)
  +        {
  +        if (cEscChar && *sData == cEscChar)
  +            {
  +            if (p != sData)
  +             sv_catpvn (pSV, (char *)p, sData - p) ;
  +            sData++, l-- ;
  +            p = sData ;
  +            }
  +        else
  +            {
  +            pHtml = pEscTab[(unsigned char)(*sData)].sHtml ;
  +            if (*pHtml)
  +                {
  +                if (p != sData)
  +                    sv_catpvn (pSV, (char *)p, sData - p) ;
  +                sv_catpv (pSV, pHtml) ;
  +                p = sData + 1;
  +                }
  +            }
  +        sData++, l-- ;
  +        }
  +    if (p != sData)
  +        sv_catpvn (pSV, (char *)p, sData - p) ;
  +    return pSV ;
  +    }
   
   #if 0
   
  
  
  
  1.24      +9 -2      embperl/test/cmp/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/escape.htm,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- escape.htm        2001/04/27 07:40:28     1.23
  +++ escape.htm        2001/06/15 06:28:22     1.24
  @@ -159,9 +159,16 @@
   </TR>
   </table>
   
  +Escape method:
   
  -
  -
  +0: (this is the value in $a) ������???<&+  
  +1: (this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  
  +2: (this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20
  +3: (this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  
  +4: (this is the value in $a) ������???<&+  
  +5: (this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  
  +6: (this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20
  +7: (this is the value in $a) &auml;&ouml;&uuml;&auml;&ouml;&uuml;???&lt;&amp;+  
   <P>Ok.<P>
   
   
  
  
  
  1.18      +12 -1     embperl/test/html/escape.htm
  
  Index: escape.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/escape.htm,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- escape.htm        2001/03/27 12:27:52     1.17
  +++ escape.htm        2001/06/15 06:28:24     1.18
  @@ -1,4 +1,4 @@
  -
  +[- $r = shift -]
   <html>
   <head>
   <title>Some tests for Embperl escaping</title>
  @@ -183,7 +183,18 @@
   </TR>
   </table>
   
  +Escape method:
  +
  +[- $escmode = 0 -]
   
  +0: [+ $r -> Escape($b, 0) +] 
  +1: [+ $r -> Escape($b, 1) +] 
  +2: [+ $r -> Escape($b, 2) +] 
  +3: [+ $r -> Escape($b, 3) +] 
  +4: [+ $r -> Escape($b, 4) +] 
  +5: [+ $r -> Escape($b, 5) +] 
  +6: [+ $r -> Escape($b, 6) +] 
  +7: [+ $r -> Escape($b, 7) +] 
   
   
   <P>Ok.<P>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to