2008-07-28 Marek Habersack <mhabersack@novell.com>
[mono.git] / mono / handles / scratch.c
index b1b62e2174095db1efdf398bc502eca3d249000a..b0288e7703058986e3f25311a53a614ff8f09ef9 100644 (file)
@@ -37,25 +37,28 @@ int main (int argc, char **argv)
        struct _WapiScratchHeader *hdr;
        gboolean success;
        
-       _wapi_shared_data=_wapi_shm_attach (&success);
+       _wapi_shared_data=g_new0 (struct _WapiHandleShared_list *, 1);
+       _wapi_shared_scratch=g_new0 (struct _WapiHandleScratch, 1);
+       
+       success=_wapi_shm_attach (&_wapi_shared_data[0], &_wapi_shared_scratch);
        if(success==FALSE) {
                g_error ("Failed to attach shared memory!");
                exit (-1);
        }
 
-       hdr=(struct _WapiScratchHeader *)&_wapi_shared_data->scratch_base[0];
+       hdr=(struct _WapiScratchHeader *)&_wapi_shared_scratch->scratch_data;
        if(hdr->flags==0 && hdr->length==0) {
                g_print ("Scratch space unused\n");
                exit (0);
        }
        
-       while(idx < _WAPI_SHM_SCRATCH_SIZE) {
-               hdr=(struct _WapiScratchHeader *)&_wapi_shared_data->scratch_base[idx];
+       while(idx < _wapi_shared_scratch->data_len) {
+               hdr=(struct _WapiScratchHeader *)&_wapi_shared_scratch->scratch_data[idx];
                if(hdr->flags & WAPI_SHM_SCRATCH_FREE) {
                        g_print ("Free block at %6d (index %6d), length %6d\n",
                                 idx, idx+HDRSIZE, hdr->length);
                } else {
-                       guchar *data=&_wapi_shared_data->scratch_base[idx+HDRSIZE];
+                       guchar *data=&_wapi_shared_scratch->scratch_data[idx+HDRSIZE];
                        
                        g_print ("Used block at %6d (index %6d), length %6d, [%s]\n",
                                 idx, idx+HDRSIZE, hdr->length,