Changeset 10840


Ignore:
Timestamp:
10/31/11 05:48:13 (11 years ago)
Author:
nit
Message:

[titan] change servicetype on switch to radiochannel (webif)

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/httpdfunc.h

    r10839 r10840  
    672672char* webswitch(char* param)
    673673{
     674        if(status.channelswitch == 1) goto end;
     675
    674676        int ret = 0;
    675677        char* param1 = NULL, *param2 = NULL;
    676678        struct channel* chnode = NULL;
    677 
    678         if(param == NULL) return NULL;
     679        int tmpservicetype = status.servicetype;
     680
     681        if(param == NULL) goto end;
    679682
    680683        //create param1
     
    688691        }
    689692
    690         if(param1 == NULL) return NULL;
     693        if(param1 == NULL && param2 == NULL) goto end;
    691694
    692695        chnode = getchannel(atoi(param), atoi(param1));
     
    695698                ret = channelnottunable(chnode);
    696699                if(ret == 0)
     700                {
     701                        status.servicetype = chnode->servicetype;
    697702                        ret = servicestart(chnode, NULL, 0);
     703                        if(ret != 20 && ret != 21 && ret != 22)
    698704                        {
    699                                 if(param2 != NULL && ret != 20 && ret != 21 && ret != 22)
     705                                if(status.servicetype == 0)
     706                                {
     707                                        free(status.oldchannellist); status.oldchannellist = NULL;
     708                                        status.oldchannellist = ostrcat(NULL, getconfig("channellist", NULL), 0, 0);
    700709                                        addconfig("channellist", param2);
     710                                }
     711                                else
     712                                {
     713                                        free(status.oldchannellist); status.oldchannellist = NULL;
     714                                        status.oldchannellist = ostrcat(NULL, getconfig("rchannellist", NULL), 0, 0);
     715                                        addconfig("rchannellist", param2);
     716                                }
    701717                        }
    702         }
    703 
     718                        else
     719                                status.servicetype = tmpservicetype;
     720                }
     721        }
     722
     723end:
    704724        return webgetaktservice();
    705725}
  • titan/titan/struct.h

    r10810 r10840  
    766766struct status
    767767{
     768        //set to 1 if channellist or channelnr open
     769        int channelswitch;
    768770        //deaktivates child protect if greater then akttime
    769771        time_t protecttime;
Note: See TracChangeset for help on using the changeset viewer.