<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23188&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-06-10T09:43:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23188&amp;mode</id>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-10T09:43:56+01:00</updated>
<published>2020-06-10T09:43:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227782#p227782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227782#p227782"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227782#p227782"><![CDATA[
Dzięki za wyjaśnienie.<br /><br />Dopiero to do mnie doszło, że kopiowanie stringa do RAM z Flasha jest jest robione przed wywołaniem main() i tylko raz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 10 cze 2020, o 09:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-10T08:59:42+01:00</updated>
<published>2020-06-10T08:59:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227781#p227781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227781#p227781"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227781#p227781"><![CDATA[
<div class="quotetitle">Nef.ID napisał(a):</div><div class="quotecontent"><br />Coś bez mojej zgody robi takie coś z moim łańcuchem?<br />Tak to rozumiem, chyba, że się gdzieś mylę?<br /></div><br />No mylisz się albo nie zrozumiałeś - albo ja czegoś nie zrozumiałem....<br /><br />jeszcze raz krótko, jeśli robisz wciąż tak<br /><br />[syntax=c]wsk= strtok( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; );[/syntax]<br /><br />to nie dziw się, że wciąż pokazuje ci się tylko &quot;wyraz1&quot;. Tak ma być i może spróbuj jeszcze raz się wczytać w to co napisałem. A pisałem, że stała dosłowna ląduje w RAM i pierwsze wywołanie strok() wstawia zero po &quot;wyraz1&quot; - więc czemu się dziwisz , że przy kolejnym wywołaniu masz to samo ? Uwaga, wstawiane jest tylko jedno zero<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />&quot;wyraz1<strong><span style="color: #0080FF">[NULL]</span></strong>wyraz2 wyraz3 wyraz4&quot;<br /></div><br /><br />a nie jak to napisałeś 4 razy, a ty wciąż podajesz wskaźnik na ten sam pierwszy element czyli pierwszą literę &quot;wyraz1&quot; rozumiesz ?<br /><br />Skopiowanie całego stringa <span style="color: #0080FF">&quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;</span> do RAM jest robione TYLKO RAZ - zrozum, pisałem to wyżej. Jest to robione przed wywołaniem main() i wtedy jest kopiowane z Flash do RAM. Tylko raz i dlatego jak jeden raz chlaśniesz po tym za pomocą strtok, to to już tak zostanie na amen.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 cze 2020, o 08:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-10T08:52:32+01:00</updated>
<published>2020-06-10T08:52:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227780#p227780</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227780#p227780"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227780#p227780"><![CDATA[
Mirek, dzięki za bardzo długie wyjaśnienie.<br /><br />Faktycznie źle się wyraziłem mówiąc &quot;niszczy&quot;, bo doskonale wiem, co robi funkcja strtok czy strtok_mk.<br /><br />Dodam, że specjalnie TAK wywołuję ten tekst, (bo służył mi to testów- zdanie rozbijam na słowa, sprawdzam, czy mieszczą się we wierszu, jak nie to przenoszę wyraz do nowego wiersza itd. Coś nie dzieliło dobrze, więc musiałem powtarzać. Ale nie jest to tematem dzisiejszych rozważań.)<br /><br />Najlepsze jest to, że jak zrobiłem jak piszesz, tj. ta definicja na początek pliku<br /><br />[syntax=c]char tab&#91;&#93; = &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;;&#91;syntax=c&#93;<br /><br />i tylko druga zmiana w kodzie w stosunku do tego, co podałem powyżej:<br /><br />&#91;syntax=c&#93;mk_ssd1306_cls();<br />//wsk= strtok_mk( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; );<br />wsk= strtok_mk( tab, &quot; &quot; );[/syntax]<br /><br /><strong>Jest to samo</strong> tj. za pierwszym razem na ekranie cztery wiersze: wyraz1, wyraz2 itd., a po przekręceniu enkoderem tylko wyraz1.<br /><br />To jest zrozumiałe.<br />Zdefiniowana tablica i zainicjowana tekstem. Później tę tablicę &quot;szatkuję&quot; tokenami i NULL-ami i gdy chcę ponownie ją rozbić to otrzymuję tylko wyraz1 i null.<br /><br />Ale piszę jeszcze raz wyraźnie, nie o to mi chodziło, dlatego wziąłem stałą dosłowną czyli string w apostrofach, abym mógł go string-tokenować wielokrotnie.<br /><br />Moje zdziwienie cały czas było i jest, że gdy:<br /><br />funkcji strtok_mk podaję <strong>ciągle ten sam łańcuch dosłowny</strong>, a nie za drugim czy kolejnym &quot;wyraz1NULLwyraz2NULLwyraz3NULLwyraz4&quot;.<br />Coś bez mojej zgody robi takie coś z moim łańcuchem?<br />Tak to rozumiem, chyba, że się gdzieś mylę?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 10 cze 2020, o 08:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-10T05:27:29+01:00</updated>
<published>2020-06-10T05:27:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227776#p227776</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227776#p227776"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227776#p227776"><![CDATA[
<div class="quotetitle">Nef.ID napisał(a):</div><div class="quotecontent"><br />&quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;<br /></div><br />To jest Literał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale przy takim zapisie jest on przez AVR GCC umieszczony w pamięci RAM, a tak naprawdę to i w pamięci FLASH (która jest tu zmarnowana) bo we flash jest tylko po to żeby przed startem main, został skopiowany do RAM w jednej z sekcji inicjalizacyjnych. A jak już jest w RAM to zachowuje się normalnie jak każda inna zmienna tablicowa tego typu i dlatego możesz na niej wykonywać operacje. W tym wypadku korzystasz z funkcjonalności C, gdzie zapis &quot;xxxxx&quot; jest literałem w RAM ale jednocześnie zapis ten zwraca wskaźnik do tej tablicy, dokładniej mówiąc do pierwszego elementu tej tablicy.<br /><br />to jest mniej więcej dokładnie tak jakbyś napisał w zmiennych globalnych<br /><br />[syntax=c]char tab&#91;&#93; = &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;;[/syntax]<br /><br />a później w kodzie<br /><br />[syntax=c]wsk= strtok( tab, &quot; &quot; );[/syntax]<br /><br />tyle że tu masz jawną nazwę tablicy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a w twoim wypadku funkcja strtok dostaje ją niejawnie, czyli od razu adres do pierwszego elementu.<br /><br />A skoro tak...<br /><br /><div class="quotetitle">Nef.ID napisał(a):</div><div class="quotecontent"><br />Nie rozumiem tego, że przecież jak wchodzę do funkcji show_sms_test(..), to ponieważ jest tam wsk= strtok_mk( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; ) ciągle ten cały tekst<br />i mimo, że ciągle go niszczę przez szukanie tokenów, to powinienem jednak dostawać wyraz1, wyraz2 itd.<br /></div><br /><br />a co ty niszczysz ? Być może nie do końca wiesz jak się posługiwać funkcją strtok()<br /><br />normalnie gdybyś zrobił to z tablicą jak pokazałem wyżej to w pierwszym wywołaniu funkcji musiałbyś zapisać to tak:<br /><br />[syntax=c]wsk= strtok( tab, &quot; &quot; );[/syntax]<br /><br />ale każde NASTĘPNE wywołanie trzeba robić TAK:<br /><br />[syntax=c]wsk= strtok( NULL, &quot; &quot; );[/syntax]<br /><br />żeby parsować kolejne wyrazy poprawnie - widzisz różnicę ?<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />wsk= strtok( <strong><span style="color: #FF0000">NULL</span></strong>, &quot; &quot; );<br /></div><br /><br />czyli musiałoby być tak:<br /><br />[syntax=c]wsk= strtok( tab, &quot; &quot; );    // wsk = &quot;wyraz1&quot; <br />wsk= strtok( NULL, &quot; &quot; ); // wsk = &quot;wyraz2&quot;<br />wsk= strtok( NULL, &quot; &quot; ); // wsk = &quot;wyraz3&quot;<br />wsk= strtok( NULL, &quot; &quot; ); // wsk = &quot;wyraz4&quot;<br />wsk= strtok( NULL, &quot; &quot; ); // wsk = &quot;&quot; ... pusty string[/syntax]<br /><br /><br />Ty zaś za każdym razem ją wywołujesz tak:<br /><br /><br />[syntax=c]wsk= strtok( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; );[/syntax]<br /><br />czyli tak jakbyś wciąż wywoływał ją tak:<br /><br />[syntax=c]wsk= strtok( tab, &quot; &quot; );[/syntax]<br /><br />a w tym wypadku - wciąż będziesz miał wsk = na pierwszy wyraz tej tablicy. I to działa w pełni poprawnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Pamiętaj, że strtok() nie NISZCZY stringa w tym sensie, że jakoś kasuje z niego dane. Jedyne co robi to wstawia ZERO w miejsce gdzie zobaczy pierwszy token. To dzięki temu jak zrobisz sobie później np<br /><br />[syntax=c]uart_puts( wsk );[/syntax]<br /><br />to wyświetli ci na terminalu tylko pierwszy wyraz - bo jest to tablica &quot;wyraz1&quot; zakończona zerem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Dlatego do swojego ćwiczenia użyj jak się należy wcześniej zdefiniowanej tablicy np:<br /><br />[syntax=c]char tab&#91;&#93; = &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;;[/syntax]<br /><br />zamiast literału<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 cze 2020, o 05:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-09T22:23:36+01:00</updated>
<published>2020-06-09T22:23:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227773#p227773</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227773#p227773"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227773#p227773"><![CDATA[
Wrzucam fragment programu testowego.<br /><br />[syntax=c]//***********************************************************<br />void get_sms_test( void );<br />void show_sms_test(TNEWSMS * asms, int val );<br />void my_enc_read_test( uint8_t edir, int value );<br />void my_enc_sw_read_test( void );<br /><br />void get_sms_test( void ) {<br /><br />aexit = 0; //dla encodera<br /><br />void * old_enc_ptr = my_encoder;<br />void * old_enc_sw_ptr = enc_switch;<br /><br />register_enc_event_callback( my_enc_read_test );<br />register_enc_event_sw_callback( my_enc_sw_read_test );<br /><br />show_sms_test( &amp;new_sms, 0);<br /><br />xc=0;<br /><br />while(1){<br />ENCODER_EVENT();<br />if ( aexit ) break;<br />}<br /><br />aexit = 0;<br /><br />register_enc_event_callback( old_enc_ptr );<br />register_enc_event_sw_callback( old_enc_sw_ptr );<br />}<br /><br />void show_sms_test(TNEWSMS * asms, int val ){<br /><br />char * wsk;<br />char buf&#91;200&#93;;<br /><br />buf&#91;0&#93;=0;<br /><br />mk_ssd1306_cls();<br /><br />wsk= strtok_mk( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; );<br /><br />do{<br />sprintf( buf, PSTR(&quot;%s&quot;), wsk );<br />mk_ssd1306_puts( 1, 30 + val*8, buf, 1, 1, 1 );<br />wsk= strtok_mk(NULL, &quot; &quot;);<br />val++;<br />}while(wsk);<br /><br />mk_ssd1306_display();<br />}<br /><br />void my_enc_read_test( uint8_t edir, int value ){<br /><br />if ( ENC_LEFT == edir ){<br /> xc--;<br />}else xc++;<br /><br />show_sms_test( &amp;new_sms, xc);<br />}<br /><br /><br />void my_enc_sw_read_test( void ){<br />aexit = 1;<br />}<br />//***********************************************************[/syntax]<br /><br />Dodam, że chodziło mi o sprawdzenie jak się będzie przesuwał tekst na ekranie.<br />Wywołuje funkcję get_sms_test().<br />W tekście &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot; szukam tokenów spacji i każdy wyraz wyświetlam w oddzielnej linii.<br />Enkoderem chcę tekst przesuwać w górę/dół.<br /><br />Efekt mam taki:<br />Na ekranie mam każdy wyraz w oddzielnym wierszu, ok,<br />ale przekręcenie enkoderem powoduje, że zostaje na ekranie tylko wyraz1, który oczywiście mogę przesuwać.<br /><br />Nie rozumiem tego, że przecież jak wchodzę do funkcji show_sms_test(..), to ponieważ jest tam wsk= strtok_mk( &quot;wyraz1 wyraz2 wyraz3 wyraz4&quot;, &quot; &quot; ) ciągle ten cały tekst<br />i mimo, że ciągle go niszczę przez szukanie tokenów, to powinienem jednak dostawać wyraz1, wyraz2 itd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 9 cze 2020, o 22:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-09T08:47:50+01:00</updated>
<published>2020-06-09T08:47:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227760#p227760</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227760#p227760"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227760#p227760"><![CDATA[
<div class="quotetitle">fofex napisał(a):</div><div class="quotecontent"><br />A więc ten ten sam program na różnych kompilatorach i platformach może dać inne wyniki.<br /></div><br />Właśnie dlatego mówiłem, żeby autor pokazał kod - bo wtedy można byłoby wyjaśnić o co chodzi z tą implementacją i co dokładnie oznacza literał.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">fofex napisał(a):</div><div class="quotecontent"><br />Więcej lektury standardu języka a będzie mniej takich zdziwień.<br /></div><br />ale z takimi stwierdzeniami to proszę spokojniej - bo nikt kto się dopiero uczy i zaczyna, nie zjadł od razu wszystkich języków świata i często uczy się na własnych błędach albo obserwacjach. A dopytać zawsze warto - po to jest m.in to forum <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 cze 2020, o 08:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fofex]]></name></author>
<updated>2020-06-09T07:41:17+01:00</updated>
<published>2020-06-09T07:41:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227759#p227759</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227759#p227759"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227759#p227759"><![CDATA[
Więcej lektury standardu języka a będzie mniej takich zdziwień. <br />Literał tekstowy co do zasady jest niezmienny ale pozostawiono swobodę w sposobie implementacji. A więc ten ten sam program na różnych kompilatorach i platformach może dać inne wyniki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21072">fofex</a> — 9 cze 2020, o 07:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-08T21:46:13+01:00</updated>
<published>2020-06-08T21:46:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227756#p227756</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227756#p227756"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227756#p227756"><![CDATA[
Już ten cały mój kod usunąłem, ale spróbuję go jutro odtworzyć ( bo zdziwiony byłem ogromnie). Co być może zdziwi też jakiegoś &quot;starego&quot; forumowicza?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />P.S. Zapisywana była w RAM-ie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 8 cze 2020, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-08T21:39:19+01:00</updated>
<published>2020-06-08T21:39:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227755#p227755</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227755#p227755"/>
<title type="html"><![CDATA[Re: Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227755#p227755"><![CDATA[
Troszkę namieszałeś a w zasadzie to nie pokazałeś w kodzie co próbowałeś zrobić i teraz trzeba się domyślać - żeby coś podpowiedzieć. Pokaż zatem co tam napłodziłeś w kodzie jak zadajesz takie pytanie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... Na razie nie do końca może rozumiesz co to jest literał (stała dosłowna w postaci tekstu) i jak jest ona w zależności od kodu przechowywana w pamięci czy to RAM czy FLASH. Dużo zależy od zapisu właśnie w kodzie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 cze 2020, o 21:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-08T21:17:29+01:00</updated>
<published>2020-06-08T21:17:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227754#p227754</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227754#p227754"/>
<title type="html"><![CDATA[Wrzutka - stała dosłowna versus strtok]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23188&amp;p=227754#p227754"><![CDATA[
Zawsze myślałem, ze stała dosłowna np. string zapisany w programie jako &quot;wyraz1 wyraz2 wyraz3&quot; (czyli w cudzysłowiach), to stała typu const, tylko zapisana gdzieś w pamięci pod adresem, którego programista nie zna, a zna jedynie kompilator.<br /><br />Jakiesz było moje zdziwienie, kiedy ten string &quot;rozbiłem&quot; przy pomocy funkcji strtok. Okazało się, ze &quot;const&quot; string nie nadawał się do ponownej analizy, bo został z niego &quot;wyraz1&quot;.<br /><br />Myślę, że się nie mylę, co państwo na to?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 8 cze 2020, o 21:17</p><hr />
]]></content>
</entry>
</feed>