Home | History | Annotate | Download | only in mech
      1 #pragma ident	"%Z%%M%	%I%	%E% SMI"
      2 
      3 /*
      4  * Copyright 1996 by Sun Microsystems, Inc.
      5  *
      6  * Permission to use, copy, modify, distribute, and sell this software
      7  * and its documentation for any purpose is hereby granted without fee,
      8  * provided that the above copyright notice appears in all copies and
      9  * that both that copyright notice and this permission notice appear in
     10  * supporting documentation, and that the name of Sun Microsystems not be used
     11  * in advertising or publicity pertaining to distribution of the software
     12  * without specific, written prior permission. Sun Microsystems makes no
     13  * representations about the suitability of this software for any
     14  * purpose.  It is provided "as is" without express or implied warranty.
     15  *
     16  * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
     17  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
     18  * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
     19  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
     20  * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
     21  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
     22  * PERFORMANCE OF THIS SOFTWARE.
     23  */
     24 
     25 /*
     26  *  glue routine for gss_release_oid_set
     27  */
     28 
     29 #include "gssapiP_generic.h"
     30 
     31 #include <stdio.h>
     32 #ifdef HAVE_STDLIB_H
     33 #include <stdlib.h>
     34 #endif
     35 
     36 OM_uint32
     37 generic_gss_release_oid_set (minor_status,
     38 			     set)
     39      OM_uint32 *		minor_status;
     40      gss_OID_set *		set;
     41 {
     42     size_t i;
     43     if (minor_status)
     44 	*minor_status = 0;
     45 
     46     if (set == NULL)
     47 	return(GSS_S_COMPLETE);
     48 
     49     if (*set == GSS_C_NULL_OID_SET)
     50 	return(GSS_S_COMPLETE);
     51 
     52     for (i=0; i<(*set)->count; i++)
     53 	free((*set)->elements[i].elements);
     54 
     55     free((*set)->elements);
     56     free(*set);
     57 
     58     *set = GSS_C_NULL_OID_SET;
     59 
     60     return(GSS_S_COMPLETE);
     61 }
     62