void CMLineAddressTable::SetExecutionPoint ( const JIndex lineIndex ) { const JString addr = BuildAddress(*(itsLineTextList->GetElement(lineIndex))); GetLink()->SetExecutionPoint(addr); }
void CMLineAddressTable::RunUntil ( const JIndex lineIndex ) { const JString addr = BuildAddress(*(itsLineTextList->GetElement(lineIndex))); GetLink()->RunUntil(addr); }
void CMLineAddressTable::RemoveAllBreakpointsOnLine ( const JIndex lineIndex ) { const JString addr = BuildAddress(*(itsLineTextList->GetElement(lineIndex))); GetLink()->RemoveAllBreakpointsAtAddress(addr); }
void CMLineAddressTable::SetBreakpoint ( const JIndex lineIndex, const JBoolean temporary ) { const JString addr = BuildAddress(*(itsLineTextList->GetElement(lineIndex))); GetLink()->SetBreakpoint(addr, temporary); }
JBoolean CMLineAddressTable::GetFirstBreakpointOnLine ( const JIndex lineIndex, JIndex* bpIndex ) const { const JString addr = BuildAddress(*(itsLineTextList->GetElement(lineIndex))); CMBreakpoint bp(addr); return GetBreakpointList()->SearchSorted(&bp, JOrderedSetT::kFirstMatch, bpIndex); }
void JoinGame (int i) { if ((i == Args->NumArgs() - 1) || (Args->GetArg(i+1)[0] == '-') || (Args->GetArg(i+1)[0] == '+')) I_FatalError ("You need to specify the host machine's address"); StartNetwork (true); // Host is always node 1 BuildAddress (&sendaddress[1], Args->GetArg(i+1)); sendplayer[1] = 0; doomcom.numnodes = 2; atterm (SendAbort); // Let host know we are here StartScreen->NetInit ("Contacting host", 0); if (!StartScreen->NetLoop (Guest_ContactHost, NULL)) { exit (0); } // Wait for everyone else to connect if (!StartScreen->NetLoop (Guest_WaitForOthers, 0)) { exit (0); } popterm (); StartScreen->NetMessage ("Total players: %d", doomcom.numnodes); doomcom.id = DOOMCOM_ID; doomcom.numplayers = doomcom.numnodes; }
/// InsertAddressTreeNode() rec static void InsertAddressTreeNode(Object *obj, Object *addrObj, struct MUI_NListtree_TreeNode *tn, int i) { struct ABookNode *ab = (struct ABookNode *)(tn->tn_User); char address[SIZE_LARGE]; ENTER(); switch(ab->type) { case ABNT_USER: { // build the address by using the real name and mail address BuildAddress(address, sizeof(address), ab->Address, ab->RealName); // if we have already inserted an address before we have to seperate them via ", " if(i > 0) DoMethod(obj, MUIM_TextEditor_InsertText, ", ", MUIV_TextEditor_InsertText_Cursor); // insert the address DoMethod(obj, MUIM_TextEditor_InsertText, address, MUIV_TextEditor_InsertText_Cursor); } break; case ABNT_LIST: { char *ptr; for(ptr = ab->ListMembers; *ptr != '\0'; ptr++, i++) { char *nptr; if((nptr = strchr(ptr, '\n')) != NULL) *nptr = '\0'; else break; // if we have already inserted an address before we have to seperate them via ", " if(i > 0) DoMethod(obj, MUIM_TextEditor_InsertText, ", ", MUIV_TextEditor_InsertText_Cursor); // insert the address DoMethod(obj, MUIM_TextEditor_InsertText, ptr, MUIV_TextEditor_InsertText_Cursor); *nptr = '\n'; ptr = nptr; } } break; case ABNT_GROUP: { ULONG pos = MUIV_NListtree_GetEntry_Position_Head; do { tn = (struct MUI_NListtree_TreeNode *)DoMethod(addrObj, MUIM_NListtree_GetEntry, tn, pos, MUIV_NListtree_GetEntry_Flag_SameLevel); if(tn == NULL) break; InsertAddressTreeNode(obj, addrObj, tn, i); pos = MUIV_NListtree_GetEntry_Position_Next; i++; } while(TRUE); } break; } LEAVE(); }
int main(int argc, char** argv) { int sock = BuildSocket(); struct sockaddr_in addr = BuildAddress(); Receive(addr, sock); }
void rx_mailinfo(UNUSED struct RexxHost *host, struct RexxParams *params, enum RexxAction action, UNUSED struct RexxMsg *rexxmsg) { struct args *args = params->args; struct results *results = params->results; struct optional *optional = params->optional; ENTER(); switch(action) { case RXIF_INIT: { params->args = AllocVecPooled(G->SharedMemPool, sizeof(*args)); params->results = AllocVecPooled(G->SharedMemPool, sizeof(*results)); params->optional = AllocVecPooled(G->SharedMemPool, sizeof(*optional)); if(params->optional == NULL) params->rc = RETURN_ERROR; } break; case RXIF_ACTION: { struct Mail *mail = NULL; struct Folder *folder = NULL; if(args->index != NULL) { Object *lv = (Object *)xget(G->MA->GUI.PG_MAILLIST, MUIA_MainMailListGroup_MainList); optional->active = args->index[0]; DoMethod(lv, MUIM_NList_GetEntry, optional->active, &mail); if(mail != NULL) folder = mail->Folder; } else mail = MA_GetActiveMail(NULL, &folder, (APTR)&optional->active); if(mail != NULL) { struct ExtendedMail *email; if((email = MA_ExamineMail(folder, mail->MailFile, TRUE)) != NULL) { int pf = getPERValue(mail); int vf = getVOLValue(mail); int i; GetMailFile(optional->filename, sizeof(optional->filename), NULL, mail); results->filename = optional->filename; results->index = &optional->active; if(hasStatusError(mail)) results->status = "E"; // Error status else if(mail->Folder != NULL && isOutgoingFolder(mail->Folder)) results->status = "W"; // Queued (WaitForSend) status else if(mail->Folder != NULL && isDraftsFolder(mail->Folder)) results->status = "H"; // Hold status else if(hasStatusSent(mail)) results->status = "S"; // Sent status else if(hasStatusReplied(mail)) results->status = "R"; // Replied status else if(hasStatusForwarded(mail)) results->status = "F"; // Forwarded status else if(!hasStatusRead(mail)) { if(hasStatusNew(mail)) results->status = "N"; // New status else results->status = "U"; // Unread status } else if(!hasStatusNew(mail)) results->status = "O"; // Old status if((results->fromall = calloc(email->NumSFrom+2, sizeof(char *))) != NULL) { if((results->fromall[0] = strdup(BuildAddress(optional->address, sizeof(optional->address), mail->From.Address, mail->From.RealName))) == NULL) params->rc = RETURN_ERROR; for(i = 0; i < email->NumSFrom; i++) { if((results->fromall[i+1] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->SFrom[i].Address, email->SFrom[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->from = results->fromall[0]; } else params->rc = RETURN_ERROR; if((results->toall = calloc(email->NumSTo+2, sizeof(char *))) != NULL) { if((results->toall[0] = strdup(BuildAddress(optional->address, sizeof(optional->address), mail->To.Address, mail->To.RealName))) == NULL) params->rc = RETURN_ERROR; for(i = 0; i < email->NumSTo; i++) { if((results->toall[i+1] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->STo[i].Address, email->STo[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->to = results->toall[0]; } else params->rc = RETURN_ERROR; if((results->replytoall = calloc(email->NumSReplyTo+2, sizeof(char *))) != NULL) { if((results->replytoall[0] = strdup(BuildAddress(optional->address, sizeof(optional->address), mail->ReplyTo.Address[0] != '\0' ? mail->ReplyTo.Address : mail->From.Address, mail->ReplyTo.Address[0] != '\0' ? mail->ReplyTo.RealName : mail->From.RealName))) == NULL) params->rc = RETURN_ERROR; for(i = 0; i < email->NumSReplyTo; i++) { if((results->replytoall[i+1] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->SReplyTo[i].Address, email->SReplyTo[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->replyto = results->replytoall[0]; } else params->rc = RETURN_ERROR; if((results->ccall = calloc(email->NumCC+1, sizeof(char *))) != NULL) { for(i = 0; i < email->NumCC; i++) { if((results->ccall[i] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->CC[i].Address, email->CC[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->cc = results->ccall[0]; } else params->rc = RETURN_ERROR; if((results->bccall = calloc(email->NumBCC+1, sizeof(char *))) != NULL) { for(i = 0; i < email->NumBCC; i++) { if((results->bccall[i] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->BCC[i].Address, email->BCC[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->bcc = results->bccall[0]; } else params->rc = RETURN_ERROR; if((results->resenttoall = calloc(email->NumResentTo+1, sizeof(char *))) != NULL) { for(i = 0; i < email->NumResentTo; i++) { if((results->resenttoall[i] = strdup(BuildAddress(optional->address, sizeof(optional->address), email->ResentTo[i].Address, email->ResentTo[i].RealName))) == NULL) params->rc = RETURN_ERROR; } results->resentto = results->resenttoall[0]; } else params->rc = RETURN_ERROR; optional->size = mail->Size; DateStamp2String(optional->date, sizeof(optional->date), &mail->Date, DSS_USDATETIME, TZC_UTC2LOCAL); results->date = optional->date; results->subject = strdup(mail->Subject); results->size = &optional->size; results->msgid = email->messageID != NULL ? strdup(email->messageID) : NULL; snprintf(optional->flags, sizeof(optional->flags), "%c%c%c%c%c-%c%c%c", isMultiRCPTMail(mail) ? 'M' : '-', isMP_MixedMail(mail) ? 'A' : '-', isMP_ReportMail(mail) ? 'R' : '-', isMP_CryptedMail(mail)? 'C' : '-', isMP_SignedMail(mail) ? 'S' : '-', pf ? pf+'0' : '-', vf ? vf+'0' : '-', hasStatusMarked(mail) ? 'M' : '-' ); results->flags = optional->flags; MA_FreeEMailStruct(email); } else params->rc = RETURN_ERROR; } else params->rc = RETURN_ERROR; } break; case RXIF_FREE: { if(args != NULL) FreeVecPooled(G->SharedMemPool, args); if(results != NULL) { FreeStrArray(results->fromall); FreeStrArray(results->toall); FreeStrArray(results->replytoall); FreeStrArray(results->ccall); FreeStrArray(results->bccall); FreeStrArray(results->resenttoall); free(results->subject); free(results->msgid); FreeVecPooled(G->SharedMemPool, results); } if(optional != NULL) FreeVecPooled(G->SharedMemPool, optional); } break; } LEAVE(); }