File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Expand file tree Collapse file tree 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)
755755 return alloc_object (area , size_class );
756756}
757757
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+
758774/*
759775 * Free memory obtained with dsa_allocate.
760776 */
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);
106106extern Size dsa_minimum_size (void );
107107extern dsa_handle dsa_get_handle (dsa_area * area );
108108extern dsa_pointer dsa_allocate (dsa_area * area , Size size );
109+ extern dsa_pointer dsa_allocate0 (dsa_area * area , Size size );
109110extern void dsa_free (dsa_area * area , dsa_pointer dp );
110111extern void * dsa_get_address (dsa_area * area , dsa_pointer dp );
111112extern void dsa_trim (dsa_area * area );
You can’t perform that action at this time.
0 commit comments