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

📄 m_replace.c

📁 早期freebsd实现
💻 C
字号:
/* m_replace.c - replace an entry in the profile */#include "../h/mh.h"#include <stdio.h>void m_replace (key, value)register char  *key,               *value;{    register struct node   *np;    m_getdefs ();    if (m_defs == NULL) {	np = m_defs = (struct node *) malloc (sizeof *np);	if (np == NULL)	    adios (NULLCP, "unable to allocate profile storage");	np -> n_name = getcpy (key);	np -> n_field = getcpy (value);	np -> n_context = 1;	np -> n_next = NULL;	ctxflags |= CTXMOD;	return;    }    for (np = m_defs;; np = np -> n_next) {	if (uleq (np -> n_name, key)) {	    if (strcmp (value, np -> n_field) != 0) {		if (!np -> n_context)		    admonish (NULLCP, "bug: m_replace(key=\"%s\",value=\"%s\")",			    key, value);		if (np -> n_field)		    free (np -> n_field);		np -> n_field = getcpy (value);		ctxflags |= CTXMOD;	    }	    return;	}	if (!np -> n_next)	    break;    }    np -> n_next = (struct node *) malloc (sizeof *np);    if (np -> n_next == NULL)	adios (NULLCP, "unable to allocate profile storage");    np = np -> n_next;    np -> n_name = getcpy (key);    np -> n_field = getcpy (value);    np -> n_context = 1;    np -> n_next = NULL;    ctxflags |= CTXMOD;}

⌨️ 快捷键说明

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