Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: C++  |  size: 1.10 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. void dodaj(bufor& trgt,bufor& src)
  2. {
  3.         char * pocz = trgt.poczatek, * kon = trgt.koniec;
  4.         char * nowy = new char[trgt.limit];
  5.         char * temp;
  6.         int i = 0;
  7.         while(pocz!=kon && i < trgt.rozmiar && i <= trgt.bajty)
  8.         {
  9.                 int j = *pocz;
  10.                 int k = 0;
  11.                 while(k<=j)
  12.                 {
  13.                         #ifdef DEBUG
  14.                         cout << "TARGET" << endl;
  15.                         #endif
  16.                         nowy[i] = *pocz;
  17.                         i++;
  18.                         pocz++;
  19.                         k++;
  20.                 }
  21.                 if((*pocz == 0 && pocz > kon) || pocz >= trgt.bufortab + trgt.rozmiar ) pocz = trgt.bufortab;
  22.         }
  23.         pocz = src.poczatek;
  24.         kon = src.koniec;
  25.         int licz = 0;
  26.         while(pocz!=kon && licz < src.rozmiar && licz <= src.bajty)
  27.         {
  28.                 int j = *pocz;
  29.                 int k = 0;
  30.                 while(k<=j)
  31.                 {
  32.                         #ifdef DEBUG
  33.                         cout << "source" <<endl;
  34.                         #endif
  35.                         nowy[i] = *pocz;
  36.                         i++;
  37.                         licz++;
  38.                         pocz++;
  39.                         k++;
  40.                 }
  41.                 if((*pocz == 0 && pocz > kon) || pocz >= src.bufortab + src.rozmiar ) pocz = src.bufortab;
  42.         }
  43.         trgt.bajty = i;
  44.         trgt.rozmiar = trgt.limit;
  45.         trgt.poczatek = nowy;
  46.         trgt.koniec = &nowy[i];
  47.         temp = trgt.bufortab;
  48.         trgt.bufortab = nowy;
  49.         if(trgt.koniec > trgt.bufortab + trgt.limit - 1) trgt.koniec = trgt.bufortab;
  50.         delete []temp;
  51. }