MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / get_urc_obj

Function get_urc_obj

components/net/at/src/at_client.c:714–752  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

712}
713
714static const struct at_urc *get_urc_obj(at_client_t client)
715{
716 rt_size_t i, j, prefix_len, suffix_len;
717 rt_size_t bufsz;
718 char *buffer = RT_NULL;
719 const struct at_urc *urc = RT_NULL;
720 struct at_urc_table *urc_table = RT_NULL;
721
722 if (client->urc_table == RT_NULL)
723 {
724 return RT_NULL;
725 }
726
727 buffer = client->recv_line_buf;
728 bufsz = client->recv_line_len;
729
730 for (i = 0; i < client->urc_table_size; i++)
731 {
732 for (j = 0; j < client->urc_table[i].urc_size; j++)
733 {
734 urc_table = client->urc_table + i;
735 urc = urc_table->urc + j;
736
737 prefix_len = rt_strlen(urc->cmd_prefix);
738 suffix_len = rt_strlen(urc->cmd_suffix);
739 if (bufsz < prefix_len + suffix_len)
740 {
741 continue;
742 }
743 if ((prefix_len ? !rt_strncmp(buffer, urc->cmd_prefix, prefix_len) : 1)
744 && (suffix_len ? !rt_strncmp(buffer + bufsz - suffix_len, urc->cmd_suffix, suffix_len) : 1))
745 {
746 return urc;
747 }
748 }
749 }
750
751 return RT_NULL;
752}
753
754static rt_err_t at_client_getchar(at_client_t client, char *ch)
755{

Callers 1

at_recv_readlineFunction · 0.85

Calls 2

rt_strlenFunction · 0.85
rt_strncmpFunction · 0.85

Tested by

no test coverage detected