<div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div text="#000000" bgcolor="#ffffff"><pre><font color="#006600">diff -u rtems/cpukit/posix/src/keycreate.c:1.15 rtems/cpukit/posix/src/keycreate.c:1.16
--- rtems/cpukit/posix/src/keycreate.c:1.15     Mon Jun 21 17:54:54 2010
+++ rtems/cpukit/posix/src/keycreate.c  Mon Jul 26 17:03:17 2010
</font><font color="#997700">@@ -1,5 +1,5 @@
</font> /*
<font color="#880000">- *  COPYRIGHT (c) 1989-2007.
</font><div class="im"><font color="#000088">+ *  COPYRIGHT (c) 1989-2010.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
</div><font color="#997700">@@ -23,8 +23,7 @@
</font> #include <rtems/score/wkspace.h>
 #include <rtems/posix/key.h>
 
<font color="#880000">-/*PAGE
- *
</font><font color="#000088">+/*
</font>  *  17.1.1 Thread-Specific Data Key Create, P1003.1c/Draft 10, p. 163
  */
 
<font color="#997700">@@ -56,52 +55,45 @@
</font>    *
    *  NOTE: Currently RTEMS Classic API tasks are always enabled.
    */
<font color="#000088">+  for ( the_api = 1; the_api <= OBJECTS_APIS_LAST; the_api++ ) {
+    the_key->Values[ the_api ] = NULL;
</font> 
<font color="#880000">-  for ( the_api = 1;
-        the_api <= OBJECTS_APIS_LAST;
-        the_api++ ) {
-
-    if ( _Objects_Information_table[ the_api ] ) {
-      #if defined(RTEMS_DEBUG)
-        /*
-         * Currently all managers are installed if the API is installed.
-         * This would be a horrible implementation error.
-         */
-        if (_Objects_Information_table[ the_api ][ 1 ] == NULL )
-          _Internal_error_Occurred(
-            INTERNAL_ERROR_CORE,
-            true,
-            INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY
-          );
-      #endif
-      bytes_to_allocate = sizeof( void * ) *
-        (_Objects_Information_table[ the_api ][ 1 ]->maximum + 1);
-      table = _Workspace_Allocate( bytes_to_allocate );
-      if ( !table ) {
-        for ( --the_api;
-              the_api >= 1;
-              the_api-- )
-          _Workspace_Free( the_key->Values[ the_api ] );
-
-        _POSIX_Keys_Free( the_key );
-        _Thread_Enable_dispatch();
-        return ENOMEM;
-      }
-
-      the_key->Values[ the_api ] = table;
-      memset( table, '\0', bytes_to_allocate );
-    } else {
-      the_key->Values[ the_api ] = NULL;
</font><font color="#000088">+    #if defined(RTEMS_DEBUG)
+      /*
+       *  Since the removal of ITRON, this cannot occur.
+       */
+      if ( !_Objects_Information_table[ api_index ] )
</font></pre></div></blockquote><div>this should be the_api, not api_index.  causes build to fail if debugging is enabled. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div text="#000000" bgcolor="#ffffff"><pre><font color="#000088">+      continue;
+
+      /*
+       * Currently all managers are installed if the API is installed.
+       * This would be a horrible implementation error.
+       */
+      if (_Objects_Information_table[ the_api ][ 1 ] == NULL )
+       _Internal_error_Occurred(
+         INTERNAL_ERROR_CORE,
+         true,
+         INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY
+       );
+    #endif
+
</font><br></pre></div>
<br></blockquote></div><br>