Annotation of libwww/Library/src/HTString.html, revision 2.32

2.11      frystyk     1: <HTML>
                      2: <HEAD>
2.32    ! frystyk     3:   <!-- Changed by: Henrik Frystyk Nielsen,  6-Apr-1996 -->
        !             4:   <TITLE>W3C Reference Library libwww Generic String Management</TITLE>
2.11      frystyk     5: </HEAD>
2.6       timbl       6: <BODY>
2.32    ! frystyk     7: <H1>
        !             8:   Generic String Management
        !             9: </H1>
2.11      frystyk    10: <PRE>
                     11: /*
2.15      frystyk    12: **     (c) COPYRIGHT MIT 1995.
2.11      frystyk    13: **     Please first read the full copyright statement in the file COPYRIGH.
                     14: */
                     15: </PRE>
2.32    ! frystyk    16: <P>
        !            17: These functions provide functionality for case-independent string comparison
        !            18: and allocations with copies etc.
        !            19: <P>
        !            20: This module is implemented by <A HREF="HTString.c">HTString.c</A>, and it
        !            21: is a part of the <A NAME="z10" HREF="http://www.w3.org/pub/WWW/Library/">W3C
        !            22: Reference Library</A>.
2.8       frystyk    23: <PRE>
                     24: #ifndef HTSTRING_H
2.1       timbl      25: #define HTSTRING_H
2.9       frystyk    26: </PRE>
2.32    ! frystyk    27: <H2>
        !            28:   <A NAME="dyn">Dynamic String Manipulation</A>
        !            29: </H2>
        !            30: <P>
2.9       frystyk    31: These two functions are dynamic versions of <CODE>strcpy</CODE> and
2.32    ! frystyk    32: <CODE>strcat</CODE>. They use <CODE>malloc</CODE> for allocating space for
        !            33: the string. If <CODE>StrAllocCopy</CODE> is called with a non-NULL dest,
        !            34: then this is freed before the new value is assigned so that only the
        !            35: <EM>last</EM> string created has to be freed by the user. If
        !            36: <CODE>StrAllocCat</CODE> is called with a NULL pointer as destination then
        !            37: it is equivalent to <CODE>StrAllocCopy</CODE>. <A NAME="HTSACopy"></A>
2.9       frystyk    38: <PRE>
                     39: #define StrAllocCopy(dest, src) HTSACopy (&amp;(dest), src)
                     40: #define StrAllocCat(dest, src)  HTSACat  (&amp;(dest), src)
2.24      frystyk    41: 
2.28      frystyk    42: extern char * HTSACopy (char **dest, const char *src);
                     43: extern char * HTSACat  (char **dest, const char *src);
2.6       timbl      44: </PRE>
2.32    ! frystyk    45: <P>
        !            46: <A NAME="strcasecomp"></A> <A NAME="strncasecomp"></A>
        !            47: <H2>
        !            48:   <A NAME="utils">Case-insensitive String Comparison</A>
        !            49: </H2>
        !            50: <P>
2.9       frystyk    51: The usual routines (comp instead of cmp) had some problem.
2.7       luotonen   52: <PRE>
2.28      frystyk    53: extern int strcasecomp  (const char *a, const char *b);
                     54: extern int strncasecomp (const char *a, const char *b, int n);
2.7       luotonen   55: </PRE>
2.32    ! frystyk    56: <H2>
        !            57:   String Comparison with Wild Card Match
        !            58: </H2>
        !            59: <P>
        !            60: String comparison function for file names with one wildcard * in the template.
        !            61: Arguments are:
2.24      frystyk    62: <DL>
2.32    ! frystyk    63:   <DT>
        !            64:     tmpl
        !            65:   <DD>
        !            66:     is a template string to match the name against. agaist, may contain a single
        !            67:     wildcard character * which matches zero or more arbitrary characters.
        !            68:   <DT>
        !            69:     name
        !            70:   <DD>
        !            71:     is the name to be matched agaist the template.
2.24      frystyk    72: </DL>
2.32    ! frystyk    73: <P>
        !            74: Returns empty string ("") if perfect match, pointer to part matched by wildcard
        !            75: if any, or NULL if no match. This is basically the same as YES if match,
        !            76: else NO.
2.24      frystyk    77: <PRE>
2.28      frystyk    78: extern char * HTStrMatch       (const char * tmpl, const char * name);
                     79: extern char * HTStrCaseMatch   (const char * tmpl, const char * name);
2.24      frystyk    80: </PRE>
2.32    ! frystyk    81: <H2>
        !            82:   Case-insensitive strstr
        !            83: </H2>
        !            84: <P>
2.9       frystyk    85: This works like <CODE>strstr()</CODE> but is not case-sensitive.
                     86: <PRE>
2.24      frystyk    87: extern char * strcasestr (char * s1, char * s2);
2.17      frystyk    88: </PRE>
2.32    ! frystyk    89: <H2>
        !            90:   Strip white space off a string
        !            91: </H2>
        !            92: <P>
        !            93: Return value points to first non-white character, or to '/0' if none. All
        !            94: trailing white space is OVERWRITTEN with zero.
2.17      frystyk    95: <PRE>
2.24      frystyk    96: extern char * HTStrip (char * s);
2.6       timbl      97: </PRE>
2.14      frystyk    98: <PRE>
2.9       frystyk    99: #endif
                    100: </PRE>
2.32    ! frystyk   101: <P>
        !           102:   <HR>
2.31      frystyk   103: <ADDRESS>
2.32    ! frystyk   104:   @(#) $Id: HTString.html,v 2.31 1996/04/12 17:48:53 frystyk Exp $
2.31      frystyk   105: </ADDRESS>
2.32    ! frystyk   106: </BODY></HTML>

Webmaster