CShellWindow: do not dereference NULL pointers

additionally, try to shorten the debug messages slightly and make the
output more useful in the error case for my_popen()


Origin commit data
------------------
Branch: ni/coolstream
Commit: 0b8365f908
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2016-01-02 (Sat, 02 Jan 2016)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2016-01-02 10:57:21 +01:00
parent 9b94ef9eb3
commit 60a3df7abc

View File

@@ -80,7 +80,7 @@ void CShellWindow::exec()
if (!f) {
if (res)
*res = -1;
dprintf(DEBUG_NORMAL, "[CShellWindow] [%s - %d] Error! my_popen returns: %d command: %s\n", __func__, __LINE__, *res, cmd.c_str());
dprintf(DEBUG_NORMAL, "[CShellWindow] [%s:%d] Error! my_popen errno: %d command: %s\n", __func__, __LINE__, errno, cmd.c_str());
return;
}
@@ -159,7 +159,10 @@ void CShellWindow::exec()
//callback for line handler
std::string s_output = std::string((output));
OnShellOutputLoop(&s_output, res, &ok);
dprintf(DEBUG_NORMAL, "[CShellWindow] [%s - %d] res=%d ok=%d\n", __func__, __LINE__, *res, ok);
if (res)
dprintf(DEBUG_NORMAL, "[CShellWindow] [%s:%d] res=%d ok=%d\n", __func__, __LINE__, *res, ok);
else
dprintf(DEBUG_NORMAL, "[CShellWindow] [%s:%d] res=NULL ok=%d\n", __func__, __LINE__, ok);
if (lines.size() > lines_max)
lines.pop_front();