* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#define OPENOCD_VERSION "Open On-Chip Debugger (2006-06-25 22:45 CEST)"
+#define OPENOCD_VERSION "Open On-Chip Debugger (2006-06-25 23:00 CEST)"
#ifdef HAVE_CONFIG_H
#include <config.h>
int remove_connection(service_t *service, connection_t *connection)
{
- connection_t *c, *p = NULL;
-
+ connection_t *c = service->connections;
+
/* find connection */
- for (c = service->connections; c; c = c->next)
+ while(c)
{
+ connection_t *next = c->next;
+
if (c->fd == connection->fd)
- {
- /* unlink connection */
- if (p)
- p->next = c->next;
- else
- service->connections = c->next;
-
+ {
+ service->connections = next;
service->connection_closed(c);
close(c->fd);
}
/* remember the last connection for unlinking */
- p = c;
+ c = next;
}
return ERROR_OK;
int remove_service(unsigned short port)
{
- service_t *c, *p = NULL;
-
+ service_t *c = services;
+
/* find service */
- for (c = services; c; c = c->next)
+ while(c)
{
+ service_t *next = c->next;
+
if (c->port == port)
- {
- /* unlink service */
- if (p)
- p->next = c->next;
- else
- services = c->next;
-
+ {
if (c->name)
free(c->name);
+ if (c->priv)
+ free(c->priv);
+
/* delete service */
free(c);
}
/* remember the last service for unlinking */
- p = c;
+ c = next;
}
return ERROR_OK;
else
{
target->type->read_memory(target, breakpoint->address, 2, 1, breakpoint->orig_instr);
- target->type->read_memory(target, breakpoint->address, 2, 1, (u8*)(&arm7_9->arm_bkpt));
+ target->type->write_memory(target, breakpoint->address, 2, 1, (u8*)(&arm7_9->arm_bkpt));
}
breakpoint->set = 1;
}