1 #pragma ident "%Z%%M% %I% %E% SMI"
4 * The contents of this file are subject to the Netscape Public
5 * License Version 1.1 (the "License"); you may not use this file
6 * except in compliance with the License. You may obtain a copy of
7 * the License at http://www.mozilla.org/NPL/
9 * Software distributed under the License is distributed on an "AS
10 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
11 * implied. See the License for the specific language governing
12 * rights and limitations under the License.
14 * The Original Code is Mozilla Communicator client code, released
17 * The Initial Developer of the Original Code is Netscape
18 * Communications Corporation. Portions created by Netscape are
19 * Copyright (C) 1998-1999 Netscape Communications Corporation. All
26 * LIBLDAP unescape.c -- LDAP URL un-escape routines
27 * We also tolerate URLs that look like: <ldapurl> and <URL:ldapurl>
33 static int unhex( char c
);
37 nsldapi_hex_unescape( char *s
)
40 * Remove URL hex escapes from s... done in place. The basic concept for
41 * this routine is borrowed from the WWW library HTUnEscape() routine.
45 for ( p
= s
; *s
!= '\0'; ++s
) {
50 *p
= unhex( *s
) << 4;
68 return( c
>= '0' && c
<= '9' ? c
- '0'
69 : c
>= 'A' && c
<= 'F' ? c
- 'A' + 10