init.c

来自「spiht的压缩解压缩c编写的」· C语言 代码 · 共 66 行

C
66
字号
#include "spiht.h"
#include "spihtdecode.h"

static QccString QccProgramName;

void QccExtractProgramName(const char *argv0)
{
  const char *start;

  QccStringMakeNull(QccProgramName);

  if (argv0 == NULL)
    goto Return;

  if (strlen(argv0) < 1)
    goto Return;

  start = strrchr(argv0, '/');
  if (start == NULL)
    QccConvertToQccString((char *)QccProgramName, argv0);
  else
    QccConvertToQccString((char *)QccProgramName, (char *)(start + 1));

 Return: 
    return;
}

int QccGetProgramName(QccString program_name)
{
  if (program_name == NULL)
    return(0);

  QccStringMakeNull(program_name);
  
  if (QccStringNull(QccProgramName))
    {
      QccErrorAddMessage("(QccGetProgramName): No valid program name has been set");
      return(1);
    }

  QccStringCopy(program_name, QccProgramName);

  return(0);
  
}

static void QccInit2(void)
{
  QccVersionInit();
  QccErrorInit();
  QccFileInit();
  QccWAVInit();
}

void QccInit(int argc, char *argv[])
{
  static int first_time = 1;

  QccExtractProgramName((argv != NULL) ? argv[0] : NULL);

  if (first_time)
    {
      first_time = 0;
      QccInit2();
    }
}

⌨️ 快捷键说明

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