auto_bus/src/query.c
jackfiled ced5f41220 请求队列相关函数修改
修改了部分函数的定义
2022-05-18 18:44:21 +08:00

73 lines
1.2 KiB
C

//
// Created by ricardo on 2022/5/6.
//
#include "query.h"
bus_query_t *queries = NULL;
bus_query_t *CreateQuery(int type, rail_node_t *node)
{
bus_query_t *p = (bus_query_t *)malloc(sizeof (bus_query_t));
p->node = node;
p->type = type;
p->time = bus_time;
p->next_node = NULL;
if(queries == NULL)
{
queries = p;
}
else
{
// 寻找链表的末节点
bus_query_t *last_node = queries;
while(last_node->next_node != NULL)
{
last_node = last_node->next_node;
}
last_node->next_node = p;
}
return p;
}
void DeleteQuery(bus_query_t *target)
{
if(target == queries)
{
queries = target->next_node;
}
else
{
bus_query_t *node = queries;
// 找到被删除节点的上一个节点
while(node->next_node != target)
{
node = node->next_node;
}
node->next_node = target->next_node;
}
free(target);
}
void FreeQueries(bus_query_t *head)
{
bus_query_t *p = head;
while (p != NULL)
{
bus_query_t *temp = p;
p = p->next_node;
free(temp);
}
// 将全局的请求列表头指针置为空
queries = NULL;
}