⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhcpc_subr.c

📁 VXWORKS源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
            free (param->ntp_server->addr);        free (param->ntp_server);        }    if (param->nbn_server != NULL)         {        if (param->nbn_server->addr != NULL)            free (param->nbn_server->addr);        free (param->nbn_server);        }    if (param->nbdd_server != NULL)         {        if (param->nbdd_server->addr != NULL)            free (param->nbdd_server->addr);        free (param->nbdd_server);        }    if (param->xfont_server != NULL)         {        if (param->xfont_server->addr != NULL)            free (param->xfont_server->addr);        free (param->xfont_server);        }    if (param->xdisplay_manager != NULL)         {        if (param->xdisplay_manager->addr != NULL)            free (param->xdisplay_manager->addr);        free (param->xdisplay_manager);        }    if (param->nisp_server != NULL)         {        if (param->nisp_server->addr != NULL)            free (param->nisp_server->addr);        free (param->nisp_server);        }    if (param->mobileip_ha != NULL)         {        if (param->mobileip_ha->addr != NULL)            free (param->mobileip_ha->addr);        free (param->mobileip_ha);        }    if (param->smtp_server != NULL)         {        if (param->smtp_server->addr != NULL)            free (param->smtp_server->addr);        free (param->smtp_server);        }    if (param->pop3_server != NULL)         {        if (param->pop3_server->addr != NULL)            free (param->pop3_server->addr);        free (param->pop3_server);        }    if (param->nntp_server != NULL)         {        if (param->nntp_server->addr != NULL)            free (param->nntp_server->addr);        free (param->nntp_server);        }    if (param->dflt_www_server != NULL)         {        if (param->dflt_www_server->addr != NULL)            free (param->dflt_www_server->addr);        free (param->dflt_www_server);        }    if (param->dflt_finger_server != NULL)         {        if (param->dflt_finger_server->addr != NULL)            free (param->dflt_finger_server->addr);        free (param->dflt_finger_server);        }    if (param->dflt_irc_server != NULL)         {        if (param->dflt_irc_server->addr != NULL)            free (param->dflt_irc_server->addr);        free (param->dflt_irc_server);        }    if (param->streettalk_server != NULL)         {        if (param->streettalk_server->addr != NULL)            free (param->streettalk_server->addr);        free (param->streettalk_server);        }    if (param->stda_server != NULL)         {        if (param->stda_server->addr != NULL)            free (param->stda_server->addr);        free (param->stda_server);        }    if (param->vendlist != NULL)        free (param->vendlist);    bzero ( (char *)param, sizeof (struct dhcp_param));    return (0);    }/********************************************************************************* merge_param - combine the parameters from DHCP server responses** This routine copies any parameters from an initial lease offer which were not* supplied in the later acknowledgement from the server. If the acknowledgement* from the server duplicates parameters from the offer, then the memory       * allocated for those parameters in the offer is released.** RETURNS: 0, always.** ERRNO: N/A** NOMANUAL*//* * if there is no information in newp but oldp, copy it to newp * else free the appropriate memory of oldp */int merge_param    (    struct dhcp_param *oldp,     /* Parameters from lease offer. */    struct dhcp_param *newp      /* Parameters from lease acknowledgement. */    )    {    if (oldp == NULL || newp == NULL)        return (0);    if (newp->sname == NULL && oldp->sname != NULL)        newp->sname = oldp->sname;    else if (oldp->sname != NULL)        free (oldp->sname);    if (newp->file == NULL && oldp->file != NULL)        newp->file = oldp->file;    else if (oldp->file != NULL)         free (oldp->file);     if (newp->hostname == NULL && oldp->hostname != NULL)        newp->hostname = oldp->hostname;    else if (oldp->hostname != NULL)        free (oldp->hostname);    if (newp->merit_dump == NULL && oldp->merit_dump != NULL)        newp->merit_dump = oldp->merit_dump;    else if (oldp->merit_dump != NULL)        free (oldp->merit_dump);    if (newp->dns_domain == NULL && oldp->dns_domain != NULL)        newp->dns_domain = oldp->dns_domain;    else if (oldp->dns_domain != NULL)         free (oldp->dns_domain);    if (newp->root_path == NULL && oldp->root_path != NULL)        newp->root_path = oldp->root_path;    else if (oldp->root_path != NULL)         free (oldp->root_path);    if (newp->extensions_path == NULL && oldp->extensions_path != NULL)        newp->extensions_path = oldp->extensions_path;    else if (oldp->extensions_path != NULL)         free (oldp->extensions_path);    if (newp->nis_domain == NULL && oldp->nis_domain != NULL)        newp->nis_domain = oldp->nis_domain;    else if (oldp->nis_domain != NULL)         free (oldp->nis_domain);    if (newp->nb_scope == NULL && oldp->nb_scope != NULL)        newp->nb_scope = oldp->nb_scope;    else if (oldp->nb_scope != NULL)         free (oldp->nb_scope);    if (newp->errmsg == NULL && oldp->errmsg != NULL)        newp->errmsg = oldp->errmsg;    else if (oldp->errmsg != NULL)         free (oldp->errmsg);    if (newp->nisp_domain == NULL && oldp->nisp_domain != NULL)        newp->nisp_domain = oldp->nisp_domain;    else if (oldp->nisp_domain != NULL)         free (oldp->nisp_domain);    if (newp->mtu_plateau_table == NULL && oldp->mtu_plateau_table != NULL)         newp->mtu_plateau_table = oldp->mtu_plateau_table;    else         {        if (oldp->mtu_plateau_table != NULL)            {            if (oldp->mtu_plateau_table->shortnum != NULL)                free (oldp->mtu_plateau_table->shortnum);            free (oldp->mtu_plateau_table);            }        }    if (newp->subnet_mask == NULL && oldp->subnet_mask != NULL)        newp->subnet_mask = oldp->subnet_mask;    else if (oldp->subnet_mask != NULL)         free (oldp->subnet_mask);    if (newp->swap_server == NULL && oldp->swap_server != NULL)        newp->swap_server = oldp->swap_server;    else if (oldp->swap_server != NULL)         free (oldp->swap_server);    if (newp->brdcast_addr == NULL && oldp->brdcast_addr != NULL)        newp->brdcast_addr = oldp->brdcast_addr;    else if (oldp->brdcast_addr != NULL)         free (oldp->brdcast_addr);    if (newp->router_solicit.s_addr == 0 && oldp->router_solicit.s_addr != 0)        bcopy ( (char *)&oldp->router_solicit,                (char *)&newp->router_solicit, sizeof (u_long));    if (newp->router == NULL && oldp->router != NULL)       newp->router = oldp->router;    else         {        if (oldp->router != NULL && oldp->router->addr != NULL)             free (oldp->router->addr);        if (oldp->router != NULL)            free (oldp->router);        }    if (newp->time_server == NULL && oldp->time_server != NULL)        newp->time_server = oldp->time_server;    else         {         if (oldp->time_server != NULL && oldp->time_server->addr != NULL)             free (oldp->time_server->addr);        if (oldp->time_server != NULL)            free (oldp->time_server);        }    if (newp->name_server == NULL && oldp->name_server != NULL)         newp->name_server = oldp->name_server;    else         {        if (oldp->name_server != NULL && oldp->name_server->addr != NULL)             free (oldp->name_server->addr);        if (oldp->name_server != NULL)            free (oldp->name_server);        }    if (newp->dns_server == NULL && oldp->dns_server != NULL)         newp->dns_server = oldp->dns_server;    else         {        if (oldp->dns_server != NULL && oldp->dns_server->addr != NULL)             free (oldp->dns_server->addr);        if (oldp->dns_server != NULL)            free (oldp->dns_server);        }    if (newp->log_server == NULL && oldp->log_server != NULL)         newp->log_server = oldp->log_server;    else         {        if (oldp->log_server != NULL && oldp->log_server->addr != NULL)             free (oldp->log_server->addr);        if (oldp->log_server != NULL)            free (oldp->log_server);        }    if (newp->cookie_server == NULL && oldp->cookie_server != NULL)         newp->cookie_server = oldp->cookie_server;    else         {        if (oldp->cookie_server != NULL && oldp->cookie_server->addr != NULL)             free (oldp->cookie_server->addr);        if (oldp->cookie_server != NULL)            free (oldp->cookie_server);        }    if (newp->lpr_server == NULL && oldp->lpr_server != NULL)         newp->lpr_server = oldp->lpr_server;    else         {        if (oldp->lpr_server != NULL && oldp->lpr_server->addr != NULL)             free (oldp->lpr_server->addr);        if (oldp->lpr_server != NULL)            free (oldp->lpr_server);        }    if (newp->impress_server == NULL && oldp->impress_server != NULL)         newp->impress_server = oldp->impress_server;    else         {        if (oldp->impress_server != NULL && oldp->impress_server->addr != NULL)            free (oldp->impress_server->addr);        if (oldp->impress_server != NULL)            free (oldp->impress_server);        }    if (newp->rls_server == NULL && oldp->rls_server != NULL)         newp->rls_server = oldp->rls_server;    else         {        if (oldp->rls_server != NULL && oldp->rls_server->addr != NULL)             free (oldp->rls_server->addr);        if (oldp->rls_server != NULL)            free (oldp->rls_server);        }    if (newp->policy_filter == NULL && oldp->policy_filter != NULL)         newp->policy_filter = oldp->policy_filter;    else         {        if (oldp->policy_filter != NULL && oldp->policy_filter->addr != NULL)             free (oldp->policy_filter->addr);        if (oldp->policy_filter != NULL)            free (oldp->policy_filter);        }    if (newp->static_route == NULL && oldp->static_route != NULL)         newp->static_route = oldp->static_route;    else         {        if (oldp->static_route != NULL && oldp->static_route->addr != NULL)             free (oldp->static_route->addr);        if (oldp->static_route != NULL)            free (oldp->static_route);        }    if (newp->nis_server == NULL && oldp->nis_server != NULL)         newp->nis_server = oldp->nis_server;    else         {        if (oldp->nis_server != NULL && oldp->nis_server->addr != NULL)             free (oldp->nis_server->addr);        if (oldp->nis_server != NULL)            free (oldp->nis_server);        }    if (newp->ntp_server == NULL && oldp->ntp_server != NULL)         newp->ntp_server = oldp->ntp_server;    else         {        if (oldp->ntp_server != NULL && oldp->ntp_server->addr != NULL)             free (oldp->ntp_server->addr);        if (oldp->ntp_server != NULL)            free (oldp->ntp_server);        }    if (newp->nbn_server == NULL && oldp->nbn_server != NULL)         newp->nbn_server = oldp->nbn_server;    else         {        if (oldp->nbn_server != NULL && oldp->nbn_server->addr != NULL)             free (oldp->nbn_server->addr);        if (oldp->nbn_server != NULL)            free (oldp->nbn_server);        }    if (newp->nbdd_server == NULL && oldp->nbdd_server != NULL)         newp->nbdd_server = oldp->nbdd_server;    else         {        if (oldp->nbdd_server != NULL && oldp->nbdd_server->addr != NULL)             free (oldp->nbdd_server->addr);        if (oldp->nbdd_server != NULL)            free (oldp->nbdd_server);        }    if (newp->xfont_server == NULL && oldp->xfont_server != NULL)         newp->xfont_server = oldp->xfont_server;    else         {        if (oldp->xfont_server != NULL && oldp->xfont_server->addr != NULL)             free (oldp->xfont_server->addr);        if (oldp->xfont_server != NULL)            free (oldp->xfont_server);        }    if (newp->xdisplay_manager == NULL && oldp->xdisplay_manager != NULL)         newp->xdisplay_manager = oldp->xdisplay_manager;    else         {        if (oldp->xdisplay_manager != NULL &&             oldp->xdisplay_manager->addr != NULL)             free (oldp->xdisplay_manager->addr);        if (oldp->xdisplay_manager != NULL)            free (oldp->xdisplay_manager);        }    if (newp->nisp_server == NULL && oldp->nisp_server != NULL)         newp->nisp_server = oldp->nisp_server;    else         {        if (oldp->nisp_server != NULL && oldp->nisp_server->addr != NULL)             free (oldp->nisp_server->addr);        if (oldp->nisp_server != NULL)            free (oldp->nisp_server);        }    if (newp->mobileip_ha == NULL && oldp->mobileip_ha != NULL)         newp->mobileip_ha = oldp->mobileip_ha;    else         {         if (oldp->mobileip_ha != NULL && oldp->mobileip_ha->addr != NULL)             free (oldp->mobileip_ha->addr);        if (oldp->mobileip_ha != NULL)            free (oldp->mobileip_ha);        }    if (newp->smtp_server == NULL && oldp->smtp_server != NULL)         newp->smtp_server = oldp->smtp_server;    else         {        if (oldp->smtp_server != NULL && oldp->smtp_server->addr != NULL)             free (oldp->smtp_server->addr);        if (oldp->smtp_server != NULL)            free (oldp->smtp_server);        }    if (newp->pop3_server == NULL && oldp->pop3_server != NULL)         newp->pop3_server = oldp->pop3_server;    else         {        if (oldp->pop3_server != NULL && oldp->pop3_server->addr != NULL)             free (oldp->pop3_server->addr);        if (oldp->pop3_server != NULL)            free (oldp->pop3_server);        }    if (newp->nntp_server == NULL && oldp->nntp_server != NULL)         newp->nntp_server = oldp->nntp_server;    else         {        if (oldp->nntp_server != NULL && oldp->nntp_server->addr != NULL)             free (oldp->nntp_server->addr);        if (oldp->nntp_server != NULL)            free (oldp->nntp_server);        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -