tree 4931f7d76da2edd0e81919de4bfd2cb13ded8051
parent c5d22b28f2f5750795b2e9c711659f8889683375
author zepp-chen <chenrongjun@zepp.com> 1786144470 +0800
committer GitHub <noreply@github.com> 1786144470 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqdmbWCRC1aQ7uu5UhlAAAsmMQAKxFPj0pn6PaKjL8DTdiE/CN
 QRqPaMWhjNYLHEEaL1Le8Hmh28MY9xLdv4xLNC0HDa34drYO0Qla7s0Jngb+Kkcs
 Zb+NtEUvRrHQHQxKnr/yP8i9L05Q0pWc+Cjmo7He+nNxL15y28fwn/4sH8GEpmrf
 r8wHzPFtsrVG8lHRzBhiQun5q0kZ8KJBYlANT9KieznUM7vJANfDoAYz4Dx4fR/a
 l2DxrqieJov/ZUWOmT8n0fJt10f9yFjVovDE7MqhGQsrFwKV+TZSjubfsTGJ+++t
 smBZzV7O+kMlsYC2ZSycxribZodH/FeTPI5ytaaT/eC+CQeL0s+fUoKh4MX3gtAQ
 XHJWY/UPeJPkXj94ApR9GZ5RXc/1sMYSZbVLSa00q68k9RcW29il0dyfFqr3mUVd
 hI8TajRhWnCpuXXYVExYZKT/yeOXGjJcCz/Wvj+fgo/2AgP3E7gobMR1cKAMxZv3
 wldg9D10546yqCSitigZ2v2NI8CY7ZhSHYCNSxDsW5epOB3jGLTSGTABY2O49MkN
 4tlzq7+P9fD4fw4CkqmpLnOFv+XcsW3jcw61tFshRWu4OLGzaiTNtEDdPBd1dwQl
 xPPxj7KvzaKTzgNgTZ2zXELQ9+Iv58zCBPrIHQ9J31AytelnuA/xy6OCwvq7N+Zm
 vQBpk2CPoGQX4YYiZiH1
 =+NGH
 -----END PGP SIGNATURE-----
 

Fix comment typos (#1461)

Fix several documentation and example-code issues in the kernel header comments:

 * queue.h: remove a stray semicolon after the 'if' and correct the
   xHigherPriorityTaskWoken variable casing in the xQueueReceiveFromISR()
   example; add the missing comma between parameters in the
   xQueueGenericSend() prototype example.
 * list.h: correct the doxygen \page tag for listGET_ITEM_VALUE_OF_HEAD_ENTRY.
 * task.h: fix the uxIndexToCLear typo (-> uxIndexToClear).

These are documentation/example only changes that do not affect the
compiled library.

Signed-off-by: chenrongjun <chenrongjun@zepp.com>