diff options
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 38 |
1 files changed, 20 insertions, 18 deletions
@@ -44,7 +44,7 @@ void cText2SkinStatus::Replaying(const cControl* /*Control*/, const char *Name, if (On) { mReplayMode = replayMPlayer; - if (strlen(Name) > 6 && Name[0]=='[' && Name[3]==']' && Name[5]=='(') { + if (Name != NULL && strlen(Name) > 6 && Name[0]=='[' && Name[3]==']' && Name[5]=='(') { int i; for (i = 6; Name[i]; ++i) { if (Name[i] == ' ' && Name[i-1] == ')') @@ -60,24 +60,26 @@ void cText2SkinStatus::Replaying(const cControl* /*Control*/, const char *Name, mReplay = rec; mReplayMode = replayNormal; } - else if (strcmp(Name, "DVD") == 0) - mReplayMode = replayDVD; - else if (strcmp(Name, "VCD") == 0) - mReplayMode = replayVCD; - else if (access(Name, F_OK) == 0) - mReplayMode = replayMPlayer; - else if (strncmp(Name, "[image]", 7) == 0) - mReplayMode = replayImage; - else if (strncmp(Name, "[cdda]", 6) == 0) - mReplayMode = replayAudioCd; - else if (strlen(Name) > 7) { - int i, n; - for (i = 0, n = 0; Name[i]; ++i) { - if (Name[i] == ' ' && Name[i-1] == ',' && ++n == 4) - break; - } - if (Name[i]) { // replaying DVD + else if (Name != NULL) { + if (strcmp(Name, "DVD") == 0) mReplayMode = replayDVD; + else if (strcmp(Name, "VCD") == 0) + mReplayMode = replayVCD; + else if (access(Name, F_OK) == 0) + mReplayMode = replayMPlayer; + else if (strncmp(Name, "[image]", 7) == 0) + mReplayMode = replayImage; + else if (strncmp(Name, "[cdda]", 6) == 0) + mReplayMode = replayAudioCd; + else if (strlen(Name) > 7) { + int i, n; + for (i = 0, n = 0; Name[i]; ++i) { + if (Name[i] == ' ' && Name[i-1] == ',' && ++n == 4) + break; + } + if (Name[i]) { // replaying DVD + mReplayMode = replayDVD; + } } } } else { |