 81cbbf7820
			
		
	
	81cbbf7820
	
	
	
		
			
			git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@298 ec53bebd-3082-4978-b11e-865c3cabbd6b
		
			
				
	
	
		
			47 lines
		
	
	
		
			727 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			727 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "krb5_locl.h"
 | |
| 
 | |
| 
 | |
| void
 | |
| krb5_data_free(krb5_data *p)
 | |
| {
 | |
|   if(p->length && p->data)
 | |
|     free(p->data);
 | |
|   p->length = 0;
 | |
| }
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_data_alloc(krb5_data *p, int len)
 | |
| {
 | |
|   krb5_data_free(p);
 | |
|   p->data = (krb5_pointer)malloc(len);
 | |
|   if(!p->data)
 | |
|     return ENOMEM;
 | |
|   p->length = len; 
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_data_realloc(krb5_data *p, int len)
 | |
| {
 | |
|   void *tmp;
 | |
|   tmp = realloc(p->data, len);
 | |
|   if(!tmp)
 | |
|     return ENOMEM;
 | |
|   p->data = tmp;
 | |
|   p->length = len;
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_data_copy(krb5_data *p, void *data, size_t len)
 | |
| {
 | |
|   krb5_data_free(p);
 | |
|   p->data = (krb5_pointer)malloc(len);
 | |
|   if(!p->data)
 | |
|     return ENOMEM;
 | |
|   memmove(p->data, data, len);
 | |
|   p->length = len;
 | |
|   return 0;
 | |
| }
 | |
| 
 |