📄 tryfetch.cpp
字号:
#ifndef TRY_FETCH#define TRY_FETCHvoid* ttTryFetch(char* mailbox) { MailboxNode* mbn; Mailbox* m; void* msg; mbn = (MailboxNode*) rtsys->mailboxList->getFirst(); while (mbn != NULL) { if (mbn->getMailbox()->name != NULL) { if (strcmp(mbn->getMailbox()->name, mailbox) == 0) break; } mbn = (MailboxNode*) mbn->getNext(); } if (mbn == NULL) { // Mailbox does not exist char buf[200]; sprintf(buf, "ttTryFetch: Non-existent mailbox '%s'\n", mailbox); MEX_ERROR(buf); return NULL; } m = mbn->getMailbox(); if (m->count == 0) { printf("ttTryFetch: Mailbox '%s' is empty\n", mailbox); msg = NULL; } else { msg = m->buffer[m->outP]; m->buffer[m->outP] = NULL; m->count--; m->outP = (m->outP + 1) % m->maxSize; } return msg;}int ttTryFetchMATLAB(char* mailbox) { MailboxNode* mbn; Mailbox* m; int value; mbn = (MailboxNode*) rtsys->mailboxList->getFirst(); while (mbn != NULL) { if (mbn->getMailbox()->name != NULL) { if (strcmp(mbn->getMailbox()->name, mailbox) == 0) break; } mbn = (MailboxNode*) mbn->getNext(); } if (mbn == NULL) { char buf[200]; sprintf(buf, "ttTryFetch: Non-existent mailbox '%s'!", mailbox); MEX_ERROR(buf); return 0; } m = mbn->getMailbox(); if (m->count == 0) { printf("ttTryFetch: Mailbox '%s' is empty\n", mailbox); value = 0; } else { m->count--; value = m->outP + 1; m->outP = (m->outP + 1) % m->maxSize; } return value;}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -