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

📄 api.c

📁 firtext搜索引擎源码
💻 C
字号:
#include <stdlib.h> /* for calloc, free */#include "header.h"extern struct SN_env * SN_create_env(int S_size, int I_size, int B_size){    struct SN_env * z = (struct SN_env *) calloc(1, sizeof(struct SN_env));    if (z == NULL) return NULL;    z->p = create_s();    if (z->p == NULL) goto error;    if (S_size)    {        int i;        z->S = (symbol * *) calloc(S_size, sizeof(symbol *));        if (z->S == NULL) goto error;        for (i = 0; i < S_size; i++)        {            z->S[i] = create_s();            if (z->S[i] == NULL) goto error;        }    }    if (I_size)    {        z->I = (int *) calloc(I_size, sizeof(int));        if (z->I == NULL) goto error;    }    if (B_size)    {        z->B = (unsigned char *) calloc(B_size, sizeof(unsigned char));        if (z->B == NULL) goto error;    }    return z;error:    SN_close_env(z, S_size);    return NULL;}extern void SN_close_env(struct SN_env * z, int S_size){    if (z == NULL) return;    if (S_size)    {        int i;        for (i = 0; i < S_size; i++)        {            lose_s(z->S[i]);        }        free(z->S);    }    free(z->I);    free(z->B);    if (z->p) lose_s(z->p);    free(z);}extern int SN_set_current(struct SN_env * z, int size, const symbol * s){    int err = replace_s(z, 0, z->l, size, s, NULL);    z->c = 0;    return err;}

⌨️ 快捷键说明

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