msvcrt: Make pointers to read-only exception descriptors const.
diff --git a/dlls/msvcrt/cppexcept.c b/dlls/msvcrt/cppexcept.c
index 52b17a4..c4679c3 100644
--- a/dlls/msvcrt/cppexcept.c
+++ b/dlls/msvcrt/cppexcept.c
@@ -45,8 +45,8 @@
 
 DWORD CDECL cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame,
                                PCONTEXT context, EXCEPTION_REGISTRATION_RECORD** dispatch,
-                               cxx_function_descr *descr, EXCEPTION_REGISTRATION_RECORD* nested_frame,
-                               int nested_trylevel );
+                               const cxx_function_descr *descr,
+                               EXCEPTION_REGISTRATION_RECORD* nested_frame, int nested_trylevel );
 
 /* call a function with a given ebp */
 inline static void *call_ebp_func( void *func, void *ebp )
@@ -112,7 +112,7 @@
     }
 }
 
-static void dump_function_descr( const cxx_function_descr *descr, const cxx_exception_type *info )
+static void dump_function_descr( const cxx_function_descr *descr )
 {
     UINT i;
     int j;
@@ -133,7 +133,7 @@
                  descr->tryblock[i].catchblock_count );
         for (j = 0; j < descr->tryblock[i].catchblock_count; j++)
         {
-            catchblock_info *ptr = &descr->tryblock[i].catchblock[j];
+            const catchblock_info *ptr = &descr->tryblock[i].catchblock[j];
             TRACE( "        %d: flags %x offset %d handler %p type %p %s\n",
                      j, ptr->flags, ptr->offset, ptr->handler,
                      ptr->type_info, dbgstr_type_info( ptr->type_info ) );
@@ -142,7 +142,8 @@
 }
 
 /* check if the exception type is caught by a given catch block, and return the type that matched */
-static const cxx_type_info *find_caught_type( cxx_exception_type *exc_type, catchblock_info *catchblock )
+static const cxx_type_info *find_caught_type( cxx_exception_type *exc_type,
+                                              const catchblock_info *catchblock )
 {
     UINT i;
 
@@ -168,7 +169,7 @@
 
 /* copy the exception object where the catch block wants it */
 static void copy_exception( void *object, cxx_exception_frame *frame,
-                            catchblock_info *catchblock, const cxx_type_info *type )
+                            const catchblock_info *catchblock, const cxx_type_info *type )
 {
     void **dest_ptr;
 
@@ -197,7 +198,7 @@
 }
 
 /* unwind the local function up to a given trylevel */
-static void cxx_local_unwind( cxx_exception_frame* frame, cxx_function_descr *descr, int last_level)
+static void cxx_local_unwind( cxx_exception_frame* frame, const cxx_function_descr *descr, int last_level)
 {
     void (*handler)();
     int trylevel = frame->trylevel;
@@ -227,7 +228,7 @@
     EXCEPTION_REGISTRATION_RECORD frame;     /* standard exception frame */
     EXCEPTION_RECORD             *prev_rec;  /* previous record to restore in thread data */
     cxx_exception_frame          *cxx_frame; /* frame of parent exception */
-    cxx_function_descr           *descr;     /* descriptor of parent exception */
+    const cxx_function_descr     *descr;     /* descriptor of parent exception */
     int                           trylevel;  /* current try level */
     EXCEPTION_RECORD             *rec;       /* rec associated with frame */
 };
@@ -276,7 +277,7 @@
 /* find and call the appropriate catch block for an exception */
 /* returns the address to continue execution to after the catch block was called */
 inline static void call_catch_block( PEXCEPTION_RECORD rec, cxx_exception_frame *frame,
-                                     cxx_function_descr *descr, int nested_trylevel,
+                                     const cxx_function_descr *descr, int nested_trylevel,
                                      cxx_exception_type *info )
 {
     UINT i;
@@ -289,7 +290,7 @@
 
     for (i = 0; i < descr->tryblock_count; i++)
     {
-        tryblock_info *tryblock = &descr->tryblock[i];
+        const tryblock_info *tryblock = &descr->tryblock[i];
 
         if (trylevel < tryblock->start_level) continue;
         if (trylevel > tryblock->end_level) continue;
@@ -297,7 +298,7 @@
         /* got a try block */
         for (j = 0; j < tryblock->catchblock_count; j++)
         {
-            catchblock_info *catchblock = &tryblock->catchblock[j];
+            const catchblock_info *catchblock = &tryblock->catchblock[j];
             if(info)
             {
                 const cxx_type_info *type = find_caught_type( info, catchblock );
@@ -357,7 +358,8 @@
  */
 DWORD CDECL cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame,
                                PCONTEXT context, EXCEPTION_REGISTRATION_RECORD** dispatch,
-                               cxx_function_descr *descr, EXCEPTION_REGISTRATION_RECORD* nested_frame,
+                               const cxx_function_descr *descr,
+                               EXCEPTION_REGISTRATION_RECORD* nested_frame,
                                int nested_trylevel )
 {
     cxx_exception_type *exc_type;
@@ -390,7 +392,7 @@
             TRACE("handling C++ exception rec %p frame %p trylevel %d descr %p nested_frame %p\n",
                   rec, frame, frame->trylevel, descr, nested_frame );
             dump_exception_type( exc_type );
-            dump_function_descr( descr, exc_type );
+            dump_function_descr( descr );
         }
     }
     else