Subversion Repositories Kolibri OS

Rev

Rev 4164 | Blame | Last modification | View Log | Download | RSS feed

  1. char from[256];
  2. char to[256];
  3. char date[256];
  4. char subj[256];
  5. dword mdata;
  6.  
  7. struct letter_attr
  8. {
  9.    char adress[sizeof(to)];
  10.    char subject[sizeof(subj)];
  11.    byte direction;
  12.    int size;
  13.    void CreateArray();
  14.    void SetSizes();
  15.    void SetAtrFromCurr(int N);
  16.    int  GetSize(int N);
  17.    char GetDirection(int N);
  18.    dword GetSubject(int N);
  19.    dword GetAdress(int N);
  20. };
  21. letter_attr atr;
  22. dword mails_db;
  23.  
  24.  
  25.  
  26. void letter_attr::CreateArray()
  27. {
  28.    free(mails_db);
  29.    mails_db = malloc( mail_list.count * sizeof(atr) );
  30. }
  31.  
  32. void letter_attr::SetSizes()
  33. {
  34.    int i;
  35.    for (i=1; i < mail_list.count; i++)
  36.    {
  37.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.size-#atr] = GetLetterSize_(i);
  38.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.subject-#atr] = ' ';
  39.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.subject-#atr+1] = '\0';
  40.    }
  41. }
  42.  
  43. void letter_attr::SetAtrFromCurr(int N)
  44. {
  45.    byte mail_direction=0;
  46.    if (strstri(#to, #email_text))
  47.    {
  48.       mail_direction = 1;
  49.       strcpy(sizeof(atr)*N+#mails_db+#atr.adress-#atr, #from);
  50.    }
  51.    if (strstri(#from, #email_text))
  52.    {
  53.       mail_direction = 2;
  54.       strcpy(sizeof(atr)*N+#mails_db+#atr.adress-#atr, #to);
  55.    }
  56.    ESBYTE[sizeof(atr)*N+#mails_db+#atr.direction-#atr] = mail_direction;
  57.    strcpy(sizeof(atr)*N+#mails_db+#atr.subject-#atr, #subj);
  58. }
  59.  
  60. int letter_attr::GetSize(int N) { return ESDWORD[sizeof(atr)*N+#mails_db+#atr.size-#atr]; }
  61. char letter_attr::GetDirection(int N) { return ESBYTE[sizeof(atr)*N+#mails_db+#atr.direction-#atr]; }
  62. dword letter_attr::GetSubject(int N) { return sizeof(atr)*N+#mails_db+#atr.subject-#atr; }
  63. dword letter_attr::GetAdress(int N) { return sizeof(atr)*N+#mails_db+#atr.adress-#atr; }