cleanup reading from interface, when argArrayLength returned by buffer2array
is 0, we weren't dealing with this well at all! git-svn-id: https://svn.musicpd.org/mpd/trunk@559 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
9e382536dc
commit
f641d046fa
|
@ -61,6 +61,12 @@ int buffer2array(char * origBuffer, char *** array) {
|
|||
}
|
||||
markArray[bufferLength] = '\0';
|
||||
|
||||
if(!count) {
|
||||
free(buffer);
|
||||
free(markArray);
|
||||
return count;
|
||||
}
|
||||
|
||||
beginArray = malloc(sizeof(int)*count);
|
||||
(*array) = malloc(sizeof(char *)*count);
|
||||
|
||||
|
@ -107,6 +113,8 @@ int buffer2array(char * origBuffer, char *** array) {
|
|||
void freeArgArray(char ** array, int argArrayLength) {
|
||||
int i;
|
||||
|
||||
if(argArrayLength==0) return;
|
||||
|
||||
for(i=0;i<argArrayLength;i++) {
|
||||
free(array[i]);
|
||||
}
|
||||
|
|
|
@ -229,7 +229,8 @@ int interfaceReadInput(Interface * interface) {
|
|||
argArrayLength = buffer2array(interface->buffer,&argArray);
|
||||
|
||||
if(interface->commandList) {
|
||||
if(strcmp(argArray[0],INTERFACE_LIST_MODE_END)==0) {
|
||||
if(argArrayLength==0);
|
||||
else if(strcmp(argArray[0],INTERFACE_LIST_MODE_END)==0) {
|
||||
ListNode * node = interface->commandList->firstNode;
|
||||
ret = 0;
|
||||
|
||||
|
@ -273,14 +274,21 @@ int interfaceReadInput(Interface * interface) {
|
|||
}
|
||||
}
|
||||
else {
|
||||
if(strcmp(argArray[0],INTERFACE_LIST_MODE_BEGIN)==0) {
|
||||
if(argArrayLength &&
|
||||
strcmp(argArray[0],
|
||||
INTERFACE_LIST_MODE_BEGIN)==0)
|
||||
{
|
||||
interface->commandList = makeList(free);
|
||||
interface->commandListSize =
|
||||
sizeof(List);
|
||||
ret = 1;
|
||||
}
|
||||
else {
|
||||
if(strcmp(argArray[0],INTERFACE_LIST_MODE_END)==0) {
|
||||
if(argArrayLength==0) ret = 0;
|
||||
else if(strcmp(argArray[0],
|
||||
INTERFACE_LIST_MODE_END)
|
||||
==0)
|
||||
{
|
||||
myfprintf(interface->fp,"%s not in command list mode\n",COMMAND_RESPOND_ERROR);
|
||||
ret = -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue