Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. // KONSTRUKTOR
  2. SBuff::SBuff(uint16_t const size)
  3. {
  4.     buffer = (char*)malloc(size + 1);
  5.     if (buffer != NULL) // SUCCESS
  6.     {
  7.         allocFail = false;
  8.         buffAlloc = size;
  9.         memset(buffer, '\0', size + 1);
  10.     }
  11.     buffIdx = 0;
  12. }
  13.  
  14. // FUNKCIJA ZA BUFFANJE
  15. void SBuff::buff(uint8_t const incomingByte, void (*func)())
  16. {
  17.     if (!allocFail)
  18.     {
  19.         switch (incomingByte)
  20.         {
  21.             case '\n':
  22.             {
  23.                 *(buffer + buffIdx) = '\0';
  24.  
  25.                 func();
  26.                 dump();
  27.                 break;
  28.             }
  29.  
  30.             case '\r': break;
  31.  
  32.             default: // OVDJE JE PROBLEM
  33.             {
  34.                 //if (buffIdx < (buffAlloc - 1)) buffer[buffIdx++] = incomingByte; // OVERFLOW PROTECTION
  35.                 if (buffIdx < (buffAlloc - 1)) *(buffer + buffIdx++) = incomingByte; // OVERFLOW PROTECTION
  36.                 break;
  37.             }
  38.         }  
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement