do not use dynamically sized stack arrays, not compatible with embedded OS's

git-svn-id: svn://svn.berlios.de/openocd/trunk@2691 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2009-09-11 07:43:36 +00:00
parent 58b78818e0
commit 0dcfbec7fb
1 changed files with 25 additions and 11 deletions

View File

@ -576,7 +576,15 @@ int arm11_run_instr_data_to_core_noack(arm11_common_t * arm11, uint32_t opcode,
arm11_setup_field(arm11, 1, NULL, NULL /*&Ready*/, chain5_fields + 1);
arm11_setup_field(arm11, 1, NULL, NULL, chain5_fields + 2);
uint8_t Readies[count + 1];
uint8_t *Readies;
int bytes = sizeof(*Readies)*(count + 1);
Readies = (uint8_t *) malloc(bytes);
if (Readies == NULL)
{
LOG_ERROR("Out of memory allocating %d bytes", bytes);
return ERROR_FAIL;
}
uint8_t * ReadyPos = Readies;
while (count--)
@ -603,22 +611,28 @@ int arm11_run_instr_data_to_core_noack(arm11_common_t * arm11, uint32_t opcode,
arm11_add_dr_scan_vc(asizeof(chain5_fields), chain5_fields, TAP_DRPAUSE);
CHECK_RETVAL(jtag_execute_queue());
size_t error_count = 0;
for (size_t i = 0; i < asizeof(Readies); i++)
int retval = jtag_execute_queue();
if (retval == ERROR_OK)
{
if (Readies[i] != 1)
size_t error_count = 0;
for (size_t i = 0; i < asizeof(Readies); i++)
{
error_count++;
if (Readies[i] != 1)
{
error_count++;
}
}
if (error_count)
LOG_ERROR("Transfer errors " ZU, error_count);
}
if (error_count)
LOG_ERROR("Transfer errors " ZU, error_count);
free(Readies);
return ERROR_OK;
return retval;
}