--- vdr-plugin-text2skin-1.3.1.orig/status.c +++ vdr-plugin-text2skin-1.3.1/status.c @@ -46,7 +46,7 @@ void cText2SkinStatus::Replaying(const c 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] == ')') @@ -62,24 +62,26 @@ void cText2SkinStatus::Replaying(const c 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 {