<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=9050</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9050&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b».]]></description>
		<lastBuildDate>Mon, 13 Jul 2015 05:59:55 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=95366#p95366</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Согласен, так будет лучше. <br />…<br /></p><div class="codebox"><pre><code>    (echo on &amp; goto) 2&gt;nul</code></pre></div></blockquote></div><p>— ECHO ON осталась на месте.</p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Магия с goto может быть сокращена до…</p></blockquote></div><p>Хотя в примере, предназначенном для показа общей идеи </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;(quote)</div><div class="fancy_spoiler"><div class="quotebox"><blockquote><p>Вот совсем небольшой пример &lt;…&gt; — хотя первое ECHO и выведет «:SUB», т.к. подстановка %0 произведена заранее, команда с отложенным раскрытием покажет истинный контекст.</p></blockquote></div></div></div><p> я использовал CALL для отложенного раскрытия,<br />но во в меньшей степени абстрактном примере, могущем служить каркасом конкретному, я преднамеренно избежал использования <a href="http://forum.script-coding.com/viewtopic.php?pid=89654#p89654">CALL SET</a>.</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Несбывшаяся надежда</div><div class="fancy_spoiler"><p>Возможность сохранения состояния ECHO после выхода из пакетного файла, вызвало у меня предположение, что подобное возможно и с SETLOCAL — не столько для создания локальной среды, сколько для переключения состояния DelayedExpansion без запуска нового процесса CMD.EXE с другими ключами. Похоже, нельзя. Может кто другой осилит.</p></div></div>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Mon, 13 Jul 2015 05:59:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=95366#p95366</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94394#p94394</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Для общего случая лучше перенести @ECHO OFF в «полезный код», а в префиксе использовать «@».</p></blockquote></div><p>Согласен, так будет лучше. </p><div class="codebox"><pre><code>
:: http://forum.script-coding.com/viewtopic.php?pid=94390#p94390
@if not defined CMDCALLER @(
    (echo on &amp; goto) 2&gt;nul
    call set &quot;CMDCALLER=%%~f0&quot;
    call &quot;%~f0&quot; %*
    set &quot;CMDCALLER=&quot;
)
@if /i &quot;%CMDCALLER%&quot; == &quot;%%~f0&quot; set &quot;CMDCALLER=&quot;


:: полезный код начинается здесь
@echo off

echo:%*
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 07 Jun 2015 22:34:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94394#p94394</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94391#p94391</link>
			<description><![CDATA[<p><strong>Rumata</strong>, спасибо за интересное наблюдение. Я в основном проверял без ECHO OFF, но по крайней мере один раз такое встретил, не придав никакого внимания: просто ввёл в ответ ECHO ON, не задумавшись, что обычно же при возврате из пакетного файла в командную строку восстанавливается прежний режим.<br /></p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>И так, я нашел способ избежать проблем с &quot;крышесносящим&quot; поведением cmd.exe.</p></blockquote></div><p>Это исходя из предположения, что режим ECHO был включен.<br />Для общего случая лучше перенести @ECHO OFF в «полезный код», а в префиксе использовать «<strong>@</strong>».</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 07 Jun 2015 21:09:39 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94391#p94391</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94390#p94390</link>
			<description><![CDATA[<p>И так, я нашел способ избежать проблем с &quot;крышесносящим&quot; поведением cmd.exe.</p><div class="codebox"><pre><code>
if not defined CMDCALLER (
    (echo on &amp; goto) 2&gt;nul
    call set &quot;CMDCALLER=%%~f0&quot;
    call &quot;%~f0&quot; %*
    set &quot;CMDCALLER=&quot;
)
if /i &quot;%CMDCALLER%&quot; == &quot;%%~f0&quot; set &quot;CMDCALLER=&quot;

:: полезный код начинается здесь
echo:%*
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 07 Jun 2015 14:32:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94390#p94390</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94389#p94389</link>
			<description><![CDATA[<p>Магия с goto может быть сокращена до:<br /></p><div class="codebox"><pre><code>
@echo off

if not defined caller (
    (goto) 2&gt;nul
    call set &quot;caller=%%~f0&quot;

    call &quot;%~f0&quot; %*
)

:: Полезный код
echo:%*
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 07 Jun 2015 13:43:39 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94389#p94389</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94388#p94388</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>А можно чуть подробнее?</p></blockquote></div><p>Запустите голый скрипт из спойлера. У командного интепретатора сносит крышу и он перестает показывать стандарное приглашение командной строки. Причем это никак не исправляется.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 07 Jun 2015 11:04:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94388#p94388</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94379#p94379</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Замечал некие странности при прерывании скрипта по CTRL-C.</p></blockquote></div><p>А можно чуть подробнее?</p><br /><p>Сам заметил вот что: в вызове<br /></p><div class="codebox"><pre><code>(goto) &amp; команды_1 &amp; call sub1 &amp; команды_2 &amp; call sub2 &amp; команды_3</code></pre></div><p>Ctrl-C не работает внутри оставшейся после (GOTO) части составной команды, т.е. в «команды_1», «команды_2», «команды_3» (независимо от внешнего контекста);<br />но работает (влияя на скрипт в целом, что есть хорошо) в вызываемых из неё подпрограммах («sub1» и «sub2»);</p><p>а также может сработать при возврате на внешний уровень (но не самый последний уровень «голого» CMD.EXE), если Ctrl-C было нажато в оставшейся части составной команды после (GOTO) и всех последующих вызовах подпрограмм из этой части, т.е в «команды_3»,<br />но это, похоже, зависит от того, в какой последовательность в «команды_3» (и сразу после возврата из них?) сочетаются PAUSE и SET/P... (если есть одни лишь PAUSE, то срабатывает).</p><br /><p>Как мне пока представляется, всё это совершенно не критично, т.к. внутри оставшейся после (GOTO) части составной команды никаких задержек в виде PAUSE и SET/P использовать не следует.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sat, 06 Jun 2015 14:32:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94379#p94379</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94375#p94375</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Зачем</p></blockquote></div><p>Мыслим параллельно. Замечал некие странности при прерывании скрипта по CTRL-C.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 06 Jun 2015 00:44:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94375#p94375</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94374#p94374</link>
			<description><![CDATA[<p>Определение, вызван ли командный файл как подпрограмма из другого и из какого именно:<br /></p><div class="codebox"><pre><code>if not &quot;%~1&quot;==&quot;/r&quot; (goto)2&gt;nul&amp; call &quot;%~f0&quot; /r &quot;%%~f0&quot; %*
if %2==&quot;%%~f0&quot; (
    echo CMD.EXE
) else (
    echo %2
)</code></pre></div><p>(или воспользоваться переменной среды во избежание сдвига аргументов командной строки:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;code</div><div class="fancy_spoiler"><div class="codebox"><pre><code>if not defined caller (
    (goto)2&gt;nul
    set &quot;caller=.&quot;&amp; call &quot;%~f0&quot; &quot;%%~f0&quot;
    call &quot;%~f0&quot; %*
)
if &quot;%caller%&quot; == &quot;.&quot; set &quot;caller=%~1&quot;&amp; exit /b

if &quot;%caller%&quot;==&quot;%%~f0&quot; (
    echo CMD.EXE
) else (
    echo &quot;%caller%&quot;
)

set caller=
exit /b
</code></pre></div></div></div><p>).</p><p>Зачем:<br />1) при вынесении в отдельный файл подпрограммы, использующей вызывающий командный файл как источник данных. В качестве примера такой подпрограммы ещё раз сошлюсь на тему «CMD/BAT: Возможность создания heredoc». При этом из CALL будет достаточно просто убрать двоеточие;<br />2) для выбора поведения при завершении работы: если управление возвращается в другой командный файл — ничего не предпринимаем, иначе проверяем %CMDCMDLINE% на ключ /C и, если необходимо, вызываем PAUSE для просмотра пользователем итога работы или вообще перезапускаем CMD.EXE (с помощью START/B, чтобы не плодить процессы).</p><p>Предлагаю переименовать эту тему, например, сократив до «Поведение goto nonexistent_label».</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Fri, 05 Jun 2015 22:45:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94374#p94374</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94350#p94350</link>
			<description><![CDATA[<p>Хотя все заинтересовавшиеся поднятым вопросом сами уже во всём разобрались, вернусь к нему, чтобы попытаться подвести итоги и сделать кое-какие уточнения.<br /></p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Код ошибки, однако, устанавливается…</p></blockquote></div><p>— уточню: код 1 устанавливается, если GOTO является одиночной комадой или последней командой внутри составной, или непосредственно за ними следуют оператор «<strong>||</strong>» или оператор «<strong>&amp;&amp;</strong>», после которого нет команд;<br />в противном случае, даже если следующая за GOTO (или за «(GOTO &amp;&amp; что-то)») команда — лишь комментарий или пустая команда (ничего нет после «<strong>&amp;</strong>»), текущее значение ERRORLEVEL не меняется.<br /></p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Как видим, контекстом может быть не обязательно состояние ожидания интерпретатором ввода команд…</p></blockquote></div><p>Вот совсем небольшой пример:<br /></p><div class="codebox"><pre><code>call :SUB
exit /b
:SUB
goto NOWHERE&amp; echo %0&amp; call echo %%0
echo Эта строка не будет выполнена.
</code></pre></div><p>— хотя первое ECHO и выведет «:SUB», т.к. подстановка %0 произведена заранее, команда с отложенным раскрытием покажет истинный контекст. Сказанное остаётся верным и при выносе подпрограммы в отдельный файл.<br /></p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Пользы от этого никакой. К сожалению.</p></blockquote></div><p>Не знаю, какая предпологалась польза, но если внешним контекстом является «голый» CMD.EXE, выполняющий команды из своего входного потока или ключей «/C» или «/K», то пользы я пока тоже не вижу;<br />если же «неправильное» GOTO встретится внутри подпрогаммы пакетного файла (находящейся в том же файле или вынесенной в отдельный), то возможны, по крайней мере, две небольшие пользы:<br />1) возврат не только из текущей, но и из вызвавшей её (под)программы с установкой кода возврата вызвавшей<br /></p><div class="codebox"><pre><code>goto NOWHERE 2&gt;nul&amp; exit /b 100</code></pre></div><p>2) возврат из подпрограммы не в точку вызова, а на заданную метку вызвавшего пакетного файла (того же или отдельного)<br /></p><div class="codebox"><pre><code>goto NOWHERE 2&gt;nul&amp; goto LABEL</code></pre></div><p>(в обоих случаях, если использовать несколько GOTO в никуда, то возможно поднятие на несколько уровней).</p><p>Второй приём можно было бы использовать, например, в теме «<a href="http://forum.script-coding.com/viewtopic.php?id=10536">CMD/BAT: Возможность создания heredoc</a>» для устранения избыточности из построения </p><div class="codebox"><pre><code>call :heredoc LABEL &amp; goto LABEL</code></pre></div><br /><p>Наконец, следует заметить, что, при преднамеренном использовании GOTO в никуда, лучше всего после GOTO не употреблять вообще ничего:<br />1) это нагляднее;<br />2) нет опасности попасть в существующую метку;<br />3) нет необходимости интерпретатору просматривать командный файл в поиске несуществующего.</p><p>При этом возможны два случая, отличающиеся лишь сообщением об ошибке (чтобы его увидеть замените NUL на CON):<br />1) <em>«<strong>Не удается найти указанную метку пакетного файла - </strong>»</em>, если после GOTO есть хоть один пробел или приравненный к нему символ, например, </p><div class="codebox"><pre><code>goto 2&gt;nul</code></pre></div><p>2) <em>«<strong>Для команды GOTO в пакетном файле не указана метка перехода.</strong>»</em>, если лишних символов нет,<br /></p><div class="codebox"><pre><code>(goto) 2&gt;nul
2&gt;nul goto</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Wed, 03 Jun 2015 11:16:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94350#p94350</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78455#p78455</link>
			<description><![CDATA[<p>Если интерес представляет именно установка собственного кода ошибки, а через EXIT/B это сделать нельзя, т.к.&nbsp; exit получается двойной, то код ошибки можно задать так:<br /></p><div class="codebox"><pre><code>cmd /c exit 200</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Mon, 23 Dec 2013 10:48:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78455#p78455</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78425#p78425</link>
			<description><![CDATA[<p>По-моему, логично: в отличии от CALL или вызова отсутствующей команды, GOTO при успешном выполнении заведомо предполагает, что следующая по порядку строка не должна быть следующей командой, так почему ей быть при неудаче?</p><p>Код ошибки, однако, устанавливается:<br /></p><div class="codebox"><pre><code>call :SUB
echo %errorlevel%
exit /b

:SUB
goto xxx
echo xxx
</code></pre></div><br /><br /><p>UPD:&nbsp; Как видим, контекстом может быть не обязательно состояние ожидания интерпретатором ввода команд и в определённом контексте (вспомогательный промежуточный CALL) пример<br /></p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><div class="codebox"><pre><code>goto nonexistent_label || (
    echo error
    exit /b 200
)
</code></pre></div></blockquote></div><p>вполне мог бы работать.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 22 Dec 2013 18:29:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78425#p78425</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78398#p78398</link>
			<description><![CDATA[<p>Действительно, не работает. Видимо я что-то напутал. К сожалению я не сохранил резуьтатов тех своих экспериментов. </p><p>Судя по всему, команда <strong>goto</strong> очень хитрая, вернее ее обработка интерпретатором - cледующая за ней команда <strong>exit</strong> безусловно завершает и выполняющийся скрипт и сам интерпретатор. Два очередных примера:</p><p>Переход на несуществующую метку: вторая строка не выполнится, хотя сообщение <em>FAILED!</em> выведено будет. <br /></p><div class="codebox"><pre><code>
goto bogus || echo FAILED!
echo Can you see me?
</code></pre></div><p>Выполнение несуществуюшей команды: вторая строка выполняется тоже<br /></p><div class="codebox"><pre><code>
bogus || echo FAILED!
echo Can you see me?
</code></pre></div><p>Я предполагаю, что это такой баг. Следующий пример объясняет проблему:</p><div class="codebox"><pre><code>
goto bogus || (
    echo FAILED!
    call :error
)

echo OK
goto :EOF

:error
echo Exiting
exit /b 100
</code></pre></div><p>Для объяснения проблемы используем понятие контекст. Назовем состояние ожидания интерпретаторлм ввода команд в консоли контекстом консоли. А состояние исполнения запущенного скрипта - контекстом скрипта. </p><p>Интерпретатор, находясь в контексте скрипта, считывается в свой буфер очеденую команду (составную в данном случае), пытается выполнить ее в контексте же скрипта, не находит метку bogus и закрывает скрипт. При этом он переходит в контекст консоли, но в буфере сохранились команды, которые выпоняются, но уже в контексте консоли. </p><p>Пользы от этого никакой. К сожалению.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 22 Dec 2013 09:08:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78398#p78398</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78355#p78355</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Так работает&lt;...&gt;:<br /></p><div class="codebox"><pre><code>
goto nonexistent_label
if errorlevel 1 (
    echo error
    exit /b 200
)
</code></pre></div></blockquote></div><p>Не работает. Можно проверить, вставив перед &quot;<strong>exit</strong>&quot; паузу, которая не выполнится.</p><p>Похоже, что команда &quot;<strong>goto</strong>&quot; вовсе не устанавливает &quot;ERRORLEVEL&quot;. При отсутствии метки выполнение командного файла прекращается во избежание ошибок (если, конечно, нет команд, связанных с &quot;<strong>goto</strong>&quot; в строке при помощи &quot;&amp;&quot; или &quot;||&quot;, но перехода на выполнение команд новой строки не будет, даже если приписать &quot;&amp; <strong>goto</strong> <em>existent</em>_label&quot; или &quot;|| <strong>goto</strong> <em>existent</em>_label&quot;).</p><p>Предложу разве что такой вариант (если, конечно, не писать комментарии через пробел после метки):<br /></p><div class="codebox"><pre><code>
findstr /X :nonexistent_label &quot;%~f0&quot; &gt;nul &amp;&amp;^
goto nonexistent_label || (
echo error
exit /b 200
)
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Yury)]]></author>
			<pubDate>Sat, 21 Dec 2013 00:56:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78355#p78355</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Неадекватное поведение goto nonexistent_label || exit /b]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78298#p78298</link>
			<description><![CDATA[<p>Адекватное повердение команды: завершение скрипта и возврат кода ошибки 100<br /></p><div class="codebox"><pre><code>
call nonexistent_command || (
    echo error
    exit /b 100
)
</code></pre></div><p>Неадекватное поведение команды: завершение скрипта и интерпретатора CMD.EXE<br /></p><div class="codebox"><pre><code>
goto nonexistent_label || (
    echo error
    exit /b 200
)
</code></pre></div><p>Так работает, но неожиданное поведение предыдущего примера разочаровывает:<br /></p><div class="codebox"><pre><code>
goto nonexistent_label
if errorlevel 1 (
    echo error
    exit /b 200
)
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Fri, 20 Dec 2013 04:05:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78298#p78298</guid>
		</item>
	</channel>
</rss>
