Example #1
0
char* vt_env_fprefix()
{
  static char* fprefix = NULL;
  char* tmp;

  if (! fprefix)
    {
      tmp = getenv("VT_FILE_PREFIX");
      if (tmp != NULL && strlen(tmp) > 0)
        {
          vt_cntl_msg(2, "VT_FILE_PREFIX=%s", tmp);

          fprefix = replace_vars(tmp);
        }
      else
        {
          tmp = vt_env_apppath();
          if (tmp != NULL && strlen(tmp) > 0)
            {
              fprefix = strip_dir(tmp);
              if (strlen(fprefix) >= 4 &&
                  (strcmp(fprefix+(strlen(fprefix)-4), ".out") == 0 ||
                   strcmp(fprefix+(strlen(fprefix)-4), ".exe") == 0))
                {
                  fprefix[strlen(fprefix)-4] = '\0';
                }
            }
          else
            {
              fprefix = "a";
            }
        }
    }
  return fprefix;
}
Example #2
0
int
strip_file_or_dir(char *name)
{
	struct stat sb;
	int ret = -1;

	ret = lstat(name, &sb);
	if (ret != 0)
		return 0;
	switch (sb.st_mode & S_IFMT) {
	case S_IFREG:
		ret =  strip_prebind(name);
		break;
	case S_IFDIR:
		if (verbose > 0)
			printf("loading dir %s\n", name);
		ret = strip_dir(name);
		break;
	default:
		; /* links and other files we skip */
		ret = 0;
	}
	return ret;
}
Example #3
0
bool gen_xsds(string &excel, string &xsd_dir)
{
	if(false == fileuitl::exist(excel))
	{
		ECHO_ERR("´íÎó: %s ·¾¶²»´æÔÚ", excel.c_str());
		return false;
	}

	if(false == fileuitl::exist(xsd_dir))
	{
		ECHO_ERR("´íÎó: %s ·¾¶²»´æÔÚ", xsd_dir.c_str());
		return false;
	}

	propunit_t unit;
	errvec_t errvec;

    bool ok = parseutil::parse_excel(excel, unit, errvec);
    if (!ok){
        ECHO_ERR("´íÎó: %s ½âÎöÎļþʧ°Ü", xsd_dir.c_str());
        proputil::echo_errvec(errvec);
        return false;
    }
	
	// proputil::parse(excel, unit, errvec);

	for(propdeclvec_t::iterator itr = unit.propdecls.begin(); itr != unit.propdecls.end(); ++itr)
	{
		propdecl_t &decl = *itr;
		string xsd = xsd_dir + "\\" + strip_ext(strip_dir(decl.filename)) + ".xsd";

		gen_xsd(decl, xsd);
	}

	return true;
}