Subversion Repositories Kolibri OS

Rev

Go to most recent revision | 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. void letter_attr::CreateArray()
  25. {
  26.    free(mails_db);
  27.    mails_db = malloc( mail_list.count * sizeof(atr) );
  28. }
  29.  
  30. void letter_attr::SetSizes()
  31. {
  32.    int i;
  33.    for (i=1; i < mail_list.count; i++)
  34.    {
  35.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.size-#atr] = GetLetterSize_(i);
  36.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.subject-#atr] = ' ';
  37.       ESDWORD[sizeof(atr)*i+#mails_db+#atr.subject-#atr+1] = '\0';
  38.    }
  39. }
  40.  
  41. void letter_attr::SetAtrFromCurr(int N)
  42. {
  43.    byte mail_direction=0;
  44.    if (strstri(#to, #email_text))
  45.    {
  46.       mail_direction = 1;
  47.       strcpy(sizeof(atr)*N+#mails_db+#atr.adress-#atr, #from);
  48.    }
  49.    if (strstri(#from, #email_text))
  50.    {
  51.       mail_direction = 2;
  52.       strcpy(sizeof(atr)*N+#mails_db+#atr.adress-#atr, #to);
  53.    }
  54.    ESBYTE[sizeof(atr)*N+#mails_db+#atr.direction-#atr] = mail_direction;
  55.    strcpy(sizeof(atr)*N+#mails_db+#atr.subject-#atr, #subj);
  56. }
  57.  
  58. int letter_attr::GetSize(int N) { return ESDWORD[sizeof(atr)*N+#mails_db+#atr.size-#atr]; }
  59. char letter_attr::GetDirection(int N) { return ESBYTE[sizeof(atr)*N+#mails_db+#atr.direction-#atr]; }
  60. dword letter_attr::GetSubject(int N) { return sizeof(atr)*N+#mails_db+#atr.subject-#atr; }
  61. dword letter_attr::GetAdress(int N) { return sizeof(atr)*N+#mails_db+#atr.adress-#atr; }