File tree 2 files changed +17
-0
lines changed
2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -755,6 +755,22 @@ dsa_allocate(dsa_area *area, Size size)
755
755
return alloc_object (area , size_class );
756
756
}
757
757
758
+ /*
759
+ * As dsa_allocate, but zeroes the allocated memory.
760
+ */
761
+ dsa_pointer
762
+ dsa_allocate0 (dsa_area * area , Size size )
763
+ {
764
+ dsa_pointer dp ;
765
+ char * object ;
766
+
767
+ dp = dsa_allocate (area , size );
768
+ object = dsa_get_address (area , dp );
769
+ memset (object , 0 , size );
770
+
771
+ return dp ;
772
+ }
773
+
758
774
/*
759
775
* Free memory obtained with dsa_allocate.
760
776
*/
Original file line number Diff line number Diff line change @@ -106,6 +106,7 @@ extern void dsa_set_size_limit(dsa_area *area, Size limit);
106
106
extern Size dsa_minimum_size (void );
107
107
extern dsa_handle dsa_get_handle (dsa_area * area );
108
108
extern dsa_pointer dsa_allocate (dsa_area * area , Size size );
109
+ extern dsa_pointer dsa_allocate0 (dsa_area * area , Size size );
109
110
extern void dsa_free (dsa_area * area , dsa_pointer dp );
110
111
extern void * dsa_get_address (dsa_area * area , dsa_pointer dp );
111
112
extern void dsa_trim (dsa_area * area );
You can’t perform that action at this time.
0 commit comments