示例#1
0
int EstEID_getLanguageOffset(const char *language) {
	if (!language) return -1;
	if (!STRCASECMP("et", language)) return 1;
	if (!STRCASECMP("ru", language)) return 2;
	if (!STRCASECMP("en", language)) return 0;
	return -1;
}
示例#2
0
/*
 * When given the destination of a packet, needlocaldelivery() checks if this
 * packet needs local delivery.
 */
int servuser::needlocaldelivery(char *dest)
{
   client *tc;

   /* wildcards are always delivered locally. Note : '*P' and '*A' are
      also broadcast addresses */
   if (dest[0]=='*') return 1;

   /* We don't know yet, who is on what frequency, so deliver frequency
      addressed packets */
   if (dest[0]=='@') return 1;

   switch (dest[0])
   {
      case '%':
         /* This is a pilot packet, check if the client is connected to
           this server */
         for (tc=rootclient;tc;tc=tc->next)
            if (!STRCASECMP(tc->callsign,dest+1)&&tc->location==myserver)
               return 1;
         break;

      default: 
         /* We have a server name here, check if the name equals our server
            name */

         if (!STRCASECMP(dest,myserver->ident)) return 1;
         break;
   }
   return 0;
}
示例#3
0
static bool _pblaze_parseOptions(int *pargc, char **argv, int *i)
{
    char *dialecttype;

    if (ISOPT(DIALECT_OPT)) {
      dialecttype = getStringArg(DIALECT_OPT, argv, i, *pargc);
    	if (!STRCASECMP(dialecttype, "pblazeide"))
    	    pblaze_options.dialect = 0;
    	else if (!STRCASECMP(dialecttype, "kcpsm3"))
    	    pblaze_options.dialect = 1;
    	else {
    	    fprintf(stderr, "Unknown dialect type: %s\nAvaiable options: pblazeide or kcpsm3\n", dialecttype);
    	    exit(EXIT_FAILURE);
    	}
	    return TRUE;
    }
    
    if (ISOPT(PORTKW_OPT)) {
        pblaze_options.portKw = Safe_strdup(getStringArg(PORTKW_OPT, argv, i, *pargc));
        return TRUE;
    }

    if (ISOPT(ACKNOWLEDGEMENT_OPT)) {
	    fprintf(stderr, "The development of this pblaze-port was supported by the Czech Ministry of Education, Youth and Sports grant 2C06008 Virtual Laboratory of Microprocessor Technology Application (visit the website http://www.vlam.cz).");
	    exit(EXIT_FAILURE);
	    return TRUE;
    }

    return FALSE;
}
示例#4
0
文件: IMB_init.c 项目: jedwards4b/IMB
static int IMB_chk_arg_thread_level(int* val, char **argv, int argc, int iarg)
{
    /* Checks command line argument for being nonnegative integer */
    int ok;

    ok=1;
    if( iarg < argc )
    {
    if( !STRCASECMP(argv[iarg], "single"))
    {
        *val = MPI_THREAD_SINGLE;
    } else if( !STRCASECMP(argv[iarg], "funneled"))
    {
        *val = MPI_THREAD_FUNNELED;
    } else if( !STRCASECMP(argv[iarg], "serialized"))
    {
        *val = MPI_THREAD_SERIALIZED;
    } else if( !STRCASECMP(argv[iarg], "multiple"))
    {
        *val = MPI_THREAD_MULTIPLE;
    }else 
        ok=0;
    }
    else 
    ok=0;

    return ok;
}
示例#5
0
CfgValue* CfgList::GetValue (const char *name)
{
	for(CfgList::iterator li=childs.begin();li!=childs.end();++li)
		if (!STRCASECMP (li->name.c_str(), name))
			return li->value;
	return 0;
}
示例#6
0
CfgValue* CfgList::GetValue (const char *name)
{
	for (list<CfgListElem>::iterator i = childs.begin();i != childs.end(); ++i)
		if (!STRCASECMP (i->name.c_str(), name))
			return i->value;
	return 0;
}
示例#7
0
server *getserver(char *ident)
{
   server *temp;
   for (temp=rootserver;temp;temp=temp->next) 
      if (!STRCASECMP(temp->ident,ident)) return temp;
   return NULL;
}
示例#8
0
文件: Backend.cpp 项目: nixtux/spring
// formats and routes the record to all sinks
void log_backend_record(int level, const char* section, const char* fmt, va_list arguments)
{
	const auto& sinks = log_formatter_getSinks();

	if (sinks.empty())
		return;

	cur_record.sec = section;
	cur_record.fmt = fmt;
	cur_record.lvl = level;

	// format the record
	log_formatter_format(&cur_record, arguments);

	// check for duplicates after formatting; can not be
	// done in log_frontend_record or log_filter_record
	const int cmp = (prv_record.msg[0] != 0 && STRCASECMP(cur_record.msg, prv_record.msg) == 0);

	cur_record.cnt += cmp;
	cur_record.cnt *= cmp;

	if (cur_record.cnt >= log_filter_getRepeatLimit())
		return;


	// sink the record into each registered sink
	for (log_sink_ptr fptr: sinks) {
		fptr(level, section, cur_record.msg);
	}

	if (cur_record.cnt > 0)
		return;

	memcpy(prv_record.msg, cur_record.msg, sizeof(cur_record.msg));
}
void SupportConfig::MapUDefProperties (CfgBuildOptions *c, vector<UnitDefProperty>& props)
{
	props.resize (c->builds.size());

	for (int a=0;a<c->builds.size();a++)
	{
		CfgBuildOptions::BuildOpt *opt = c->builds [a];

		if (opt->info)
		{
			const char *coverprop = opt->info->GetLiteral ("coverproperty");
			if (coverprop)
			{
				for (int b=0;UDefPropertyList[b].name;a++) 
					if (!STRCASECMP (UDefPropertyList[b].name, coverprop))
					{
						props[a].isFloat = UDefPropertyList[b].fptr != 0;
						if (props[a].isFloat) props[a].fptr = UDefPropertyList[b].fptr;
						else props[a].iptr = UDefPropertyList[b].iptr;
						break;
					}
			}
		}
	}
}
示例#10
0
文件: encoding.c 项目: 217/ruby
static int
enc_register_at(int index, const char *name, rb_encoding *encoding)
{
    struct rb_encoding_entry *ent = &enc_table.list[index];
    VALUE list;

    if (!valid_encoding_name_p(name)) return -1;
    if (!ent->name) {
	ent->name = name = strdup(name);
    }
    else if (STRCASECMP(name, ent->name)) {
	return -1;
    }
    if (!ent->enc) {
	ent->enc = xmalloc(sizeof(rb_encoding));
    }
    if (encoding) {
	*ent->enc = *encoding;
    }
    else {
	memset(ent->enc, 0, sizeof(*ent->enc));
    }
    encoding = ent->enc;
    encoding->name = name;
    encoding->ruby_encoding_index = index;
    st_insert(enc_table.names, (st_data_t)name, (st_data_t)index);
    list = rb_encoding_list;
    if (list && NIL_P(rb_ary_entry(list, index))) {
	/* initialize encoding data */
	rb_ary_store(list, index, enc_new(encoding));
    }
    return index;
}
示例#11
0
void
check_ext(char *str, char *ext,int force)
{
  int         addext = false,
              extpos = strlen(str) - strlen(ext);
  char       *endstr;

  if (extpos <= 0)           /* no extension possibly present */
    addext = true;
  else {
    endstr = str + extpos;
    
    if (!force) {
      int cpos = strlen(str) - 1;
      /* walk backwards until: we reach the beginning, or
         we reach a separator, or we find a "."
      */
      while ((cpos >= 0) && (str[cpos] != FILESEPARATOR)) {
        if (str[cpos--] == '.') return;
      }
    }

    if (STRCASECMP(endstr, ext) != 0)
      addext = true;
  }

  if (addext)
    strcat(str, ext);
}
certificate *getcert(char *cid)
{
   certificate *temp;
   for (temp=rootcert;temp;temp=temp->next)
      if (!STRCASECMP(temp->cid,cid)) return temp;
   return NULL;
}
示例#13
0
static as_bool meta_to_gift (ASMetaTag *tag, Share *share)
{
	if (!STRCASECMP (tag->name, "bitrate") && tag->value)
		share_set_meta (share, tag->name, stringf ("%s000", tag->value));
	else
		share_set_meta (share, tag->name, tag->value);

	return TRUE;
}
示例#14
0
int BuildTable::GetDefID (const char *name)
{
	for (int a=0;a<numDefs;a++) 
	{
		if (!STRCASECMP (deflist[a].name.c_str(), name))
			return a+1;
	}

	logPrintf ("Error: No unit called %s was found\n", name);
	return 0;
}
void parseCommandLineArguments(int argc, char *argv[])
{
    if (argc >= 2) {
       for (int i=1; i < argc; i++) {
            if (!STRCASECMP(argv[i], "-qatest")   || !STRCASECMP(argv[i], "--qatest") ||
                !STRCASECMP(argv[i], "-noprompt") || !STRCASECMP(argv[i], "--noprompt")) 
            {
               g_bQATest = true;
            }

            if (!STRNCASECMP(argv[i], "-device", 7)) {
               g_nDevice = atoi(&argv[i][8]);
            } else if (!STRNCASECMP(argv[i], "--device", 8)) {
               g_nDevice = atoi(&argv[i][9]);
            }
            if (g_nDevice != -1) {
               cudaDeviceInit();
            }
      }
   }
}
示例#16
0
bool Model::Save(Model* mdl, const char *fn, IProgressCtl& progctl)
{
	bool r = false;
	const char *ext=fltk::filename_ext(fn);

	if (!mdl->root) {
		fltk::message ("No objects");
		return false;
	}

	assert (fn&&fn[0]);
	if ( !STRCASECMP(ext, ".3do") )
		r = mdl->Save3DO (fn,progctl);
	else if( !STRCASECMP(ext, ".s3o" )) {
		r = mdl->SaveS3O (fn,progctl);
	} else if( !STRCASECMP(ext, ".3ds"))
		r = Save3DSObject(fn,mdl->root,progctl);
	else if( !STRCASECMP(ext, ".obj"))
		r = SaveWavefrontObject (fn,mdl->root,progctl);
	else if( !STRCASECMP(ext, ".c3o"))
		r = mdl->SaveC3O (fn,progctl);
	else if (!STRCASECMP(ext, ".opk"))
		r = Model::SaveOPK (mdl, fn,progctl);
	else 
		fltk::message ("Unknown extension %s\n", fltk::filename_ext(fn));
	if (!r) {
		fltk::message ("Failed to save file %s\n", fn);
	}
	return r;
}
const CHR *AudioIO::detectSourceType(const CHR *const fileName, const bool verbose)
{
	if (verbose)
	{
		PRINT_NFO(TXT("------- Audio I/O -------"));
	}
	
	uint8_t type = AUDIO_LIB_NULL;
	const bool bStdIn = (STRCASECMP(fileName, TXT("-")) == 0);

	if (bStdIn || PATH_ISREG(fileName))
	{
		if (FILE *const file = bStdIn ? stdin : FOPEN(fileName, TXT("rb")))
		{
			if (FD_ISREG(FILENO(file)))
			{
				for (size_t i = 0; g_audioIO_mapping[i].id; ++i)
				{
					if (verbose)
					{
						PRINT2_NFO(TXT("Trying input module ") FMT_CHR TXT("..."), g_audioIO_mapping[i].name);
					}
					if (checkFileType(g_audioIO_mapping[i].checkFileType, file))
					{
						type = g_audioIO_mapping[i].id;
						if (verbose)
						{
							PRINT_NFO(TXT("succeeded."));
						}
						break;
					}
				}
			}
			if (!bStdIn)
			{
				fclose(file);
			}
		}
	}

	if (verbose)
	{
		if(type == AUDIO_LIB_NULL)
		{
			PRINT_NFO(TXT("No suitable input module found -> falling back to default!"));
		}
		PRINT_NFO(TXT("------- Audio I/O -------\n"));
	}

	return getLibName(type);
}
示例#18
0
文件: utf8conv.c 项目: a3a3el/tdom
/*---------------------------------------------------------------------------
|   tdom_GetEncoding  -  Looks up a encoding table for the given encoding
|                        name. If nothing was found NULL is returned.
|
\--------------------------------------------------------------------------*/
TEncoding * 
tdom_GetEncoding (
    char  * name
)
{
    TEncoding *encoding = TDOM_UnicodeTo8bitEncodings;
    
    while (encoding && encoding->name) {
        DBG(fprintf(stderr, "encoding=%x encoding->name='%s' name='%s'",
                             encoding, encoding->name, name);)
        if (STRCASECMP(encoding->name,name)==0) {
            return encoding;
        }
        encoding++;
    }
示例#19
0
void Tools::LoadImages()
{
	FILE *f = fopen("data/data.ups", "rb");
	if (!f) {
		fltk::message("Failed to load data.ups");
	}
	else
	{
		ZipFile zf;
		zf.Init(f);

		for(unsigned int a=0;a<tools.size();a++) {
			if (!tools[a]->imageFile)
				continue;

			std::string fn = tools[a]->imageFile;

			int zipIndex=-1;
			for (int fi=0;fi<zf.GetNumFiles();fi++) {
				char zfn [64];
				zf.GetFilename(fi, zfn, sizeof(zfn));
				if (!STRCASECMP(zfn, fn.c_str())) {
					zipIndex = fi;
					break;
				}
			}

			if (zipIndex>=0) {
				int len = zf.GetFileLen(zipIndex);
				char *buf = new char[len];
				zf.ReadFile(zipIndex, buf);

				tools[a]->image = FltkImage::Load(buf, len);
				if (!tools[a]->image) {
					fltk::message("Failed to load texture %s\n", fn.c_str());
					delete[] buf;
					continue;
				}
				delete[] buf;

				tools[a]->button->image(tools[a]->image->img);
				tools[a]->button->label("");
			} else
				fltk::message("Couldn't find %s", fn.c_str());
		}
		fclose(f);
	}
}
bool ForceConfig::ParseForceGroup (CfgList *cfg, const string& name)
{	
	groups.push_front (Group());
	Group& g = groups.front ();
	g.name = name;

	CfgBuildOptions *units = dynamic_cast <CfgBuildOptions*> (cfg->GetValue ("units"));

	if (units) {
		if (!units->InitIDs ()) {
			groups.pop_front();
			return false;
		}
	}
	else
	{
		logPrintf ("Error: Force group %s has no units\n", name.c_str());
		groups.pop_front();
		return false;
	}

	g.units = units;
	g.name = name;
	g.category = cfg->GetInt ("category", 0);
	g.level = cfg->GetInt ("level", 0);
	g.batchsize = cfg->GetInt ("batchsize", 1);
	g.minenergy = cfg->GetNumeric ("minenergy", -1.0f);
	g.minmetal = cfg->GetNumeric ("minmetal",-1.0f);
	g.maxspread = cfg->GetNumeric ("maxspread",defaultSpread);
	g.groupdist = cfg->GetNumeric ("groupdist",g.maxspread * 0.5f);

	if (g.minenergy == -1.0f && g.minmetal == -1.0f)
		logPrintf ("Warning: minmetal or minenergy not set for force group %s\n", name.c_str());

	if (g.minenergy < 0.0f) g.minenergy = 0.0f;
	if (g.minmetal < 0.0f) g.minmetal = 0.0f;

	const char *str = cfg->GetLiteral ("task", "attackdefend");
	for (int a=0;forcetasktbl [a].name; a++)
		if (!STRCASECMP (forcetasktbl [a].name, str)) 
		{
			g.task=forcetasktbl[a].task;
			break; 
		}

	logPrintf ("Parsed force group: %s\n", name.c_str());
	return true;
}
示例#21
0
bool ParseCmdLine(int argc, char *argv[], int& r)
{
    for (int a=1; a<argc; a++) {
        if (!STRCASECMP(argv[a], "-run")) {
            if (a == argc-1)  {
                PrintCmdLine ();
                return false;
            }

            const char *scriptFile = argv[a+1];
            //r = RunScript (binder, scriptFile);
            return false;
        }
    }

    return true;
}
int maxlevel(char *id, char *p, int *max)
{
   certificate *temp=getcert(id);
   if (!temp)
   {
      *max=LEV_OBSPILOT;
      return 0;
   }
   if (!STRCASECMP(temp->password,p))
   {
      *max=temp->level;
      temp->prevvisit=time(NULL);
      return 1;
   }
   *max=LEV_OBSPILOT;
   return 0;
}
//Get id from AudioIO library name
static uint8_t parseName(const CHR *const name)
{
	if (name && name[0])
	{
		for (size_t i = 0; g_audioIO_mapping[i].id; ++i)
		{
			if (STRCASECMP(name, g_audioIO_mapping[i].name) == 0)
			{
				return g_audioIO_mapping[i].id;
			}
		}
		return AUDIO_LIB_NULL;
	}
	else
	{
		return AUDIO_LIB_LIBSNDFILE; /*default*/
	}
}
示例#24
0
FCTWH *get_wh_handler(char *name)
{
  FCTWH *back = NULL;
  if(name) {
    char *suffix;
    suffix = get_suffix(name);
    if(suffix) {
      HANDLERENTRY *he;
      he = handlers;
      while((he->suffix) && (back == NULL)) {
        if( STRCASECMP(suffix,(he->suffix)) == 0 ) {
          back = he->wh;
        }
        he++;
      }
    }
  }
  return back;
}
示例#25
0
void GRIBRasterBand::ReadGribData( DataSource & fp, sInt4 start, int subgNum, double** data, grib_MetaData** metaData)
{
    /* Initialisation, for calling the ReadGrib2Record function */
    sInt4 f_endMsg = 1;  /* 1 if we read the last grid in a GRIB message, or we haven't read any messages. */
    // int subgNum = 0;     /* The subgrid in the message that we are interested in. */
    sChar f_unit = 2;        /* None = 0, English = 1, Metric = 2 */
    double majEarth = 0;     /* -radEarth if < 6000 ignore, otherwise use this to
                              * override the radEarth in the GRIB1 or GRIB2
                              * message.  Needed because NCEP uses 6371.2 but GRIB1 could only state 6367.47. */
    double minEarth = 0;     /* -minEarth if < 6000 ignore, otherwise use this to
                              * override the minEarth in the GRIB1 or GRIB2 message. */
    sChar f_SimpleVer = 4;   /* Which version of the simple NDFD Weather table to
                              * use. (1 is 6/2003) (2 is 1/2004) (3 is 2/2004)
                              * (4 is 11/2004) (default 4) */
    LatLon lwlf;         /* lower left corner (cookie slicing) -lwlf */
    LatLon uprt;         /* upper right corner (cookie slicing) -uprt */
    IS_dataType is;      /* Un-parsed meta data for this GRIB2 message. As well as some memory used by the unpacker. */

    lwlf.lat = -100; // lat == -100 instructs the GRIB decoder that we don't want a subgrid

    IS_Init (&is);

    const char* pszGribNormalizeUnits = CPLGetConfigOption("GRIB_NORMALIZE_UNITS", NULL);
    if ( pszGribNormalizeUnits != NULL && ( STRCASECMP(pszGribNormalizeUnits,"NO")==0 ) )
        f_unit = 0; /* do not normalize units to metric */

    /* Read GRIB message from file position "start". */
    fp.DataSourceFseek(start, SEEK_SET);
    uInt4 grib_DataLen = 0;  /* Size of Grib_Data. */
    *metaData = new grib_MetaData();
    MetaInit (*metaData);
    ReadGrib2Record (fp, f_unit, data, &grib_DataLen, *metaData, &is, subgNum,
                     majEarth, minEarth, f_SimpleVer, &f_endMsg, &lwlf, &uprt);

    char * errMsg = errSprintf(NULL); // no intention to show errors, just swallow it and free the memory
    if( errMsg != NULL )
        CPLDebug( "GRIB", "%s", errMsg );
    free(errMsg);
    IS_Free(&is);
}
示例#26
0
文件: main.cpp 项目: ggj/papillon
void seed_main(int argc, char **argv)
{
	App app;
	pApp = &app;

	Seed::SetGameApp(&app, argc, argv);
	if (Seed::Initialize())
	{
		if (argv[1] && STRCASECMP(argv[1], "--fullscreen") == 0)
			pScreen->ToggleFullscreen();

		while (!pSystem->IsShuttingDown())
		{
			if (!app.HasError())
			{
				Seed::Update();
			}
			pTimer->Sleep(1);
		}
	}
	Seed::Shutdown();
}
示例#27
0
// TODO: Abstract file formats
Model* Model::Load (const char *fn, bool Optimize, IProgressCtl& progctl)
{
	const char *ext=fltk::filename_ext(fn);
	Model *mdl = 0;

	try {
		if (!STRCASECMP(ext, ".opk")) 
			mdl = Model::LoadOPK (fn, progctl);
		else {
			bool r;
			mdl = new Model;

			if ( !STRCASECMP(ext, ".3do") )
				r = mdl->Load3DO (fn, progctl);
			else if( !STRCASECMP(ext, ".s3o" ))
				r = mdl->LoadS3O (fn, progctl);
			else if(!STRCASECMP(ext, ".3ds"))
				r = (mdl->root = Load3DSObject (fn, progctl)) != 0;
			else if (!STRCASECMP(ext, ".obj")) 
				r = (mdl->root = LoadWavefrontObject (fn, progctl)) != 0;
			else if (!STRCASECMP(ext, ".c3o"))
				r = mdl->LoadC3O (fn, progctl);
			else {
				fltk::message ("Unknown extension %s\n", fltk::filename_ext(fn));
				delete mdl;
				return false;
			}
			if (!r) {
				delete mdl;
				mdl = 0;
			}
		}
	}
	catch (std::runtime_error err)
	{
		fltk::message (err.what());
		return false;
	}
	if (mdl) {
		if (mdl->root && Optimize) IterateObjects (mdl->root, InitObject);
		return mdl;
	} else {
		fltk::message ("Failed to read file %s:\n",fn);
		return 0;
	}
}
示例#28
0
void fsd::handlecidline(char *line)
{
   certificate *tempcert;
   int mode, level;
   char *array[4], *cid, *pwd;
   if (line[0]==';'||line[0]=='#') return;
   if (breakargs(line, array, 4)<3) return;
   cid=array[0], level=atoi(array[2]), pwd=array[1];
   tempcert=getcert(cid);
   if (!tempcert)
   {
      tempcert=new certificate(cid, pwd, level, mgmtime(), myserver->ident);
      mode=CERT_ADD;
   } else
   {
      tempcert->livecheck=1;
      if (!STRCASECMP(tempcert->password, pwd)&&level==tempcert->level)
         return;
      tempcert->configure(pwd, level, mgmtime(), myserver->ident);
      mode=CERT_MODIFY;
   }
   if (serverinterface) serverinterface->sendcert("*", mode, tempcert, NULL);
}
示例#29
0
文件: encoding.c 项目: 217/ruby
int
rb_enc_register(const char *name, rb_encoding *encoding)
{
    int index = rb_enc_registered(name);

    if (index >= 0) {
	rb_encoding *oldenc = rb_enc_from_index(index);
	if (STRCASECMP(name, rb_enc_name(oldenc))) {
	    index = enc_register(name, encoding);
	}
	else if (enc_autoload_p(oldenc) || !ENC_DUMMY_P(oldenc)) {
	    enc_register_at(index, name, encoding);
	}
	else {
	    rb_raise(rb_eArgError, "encoding %s is already registered", name);
	}
    }
    else {
	index = enc_register(name, encoding);
	set_encoding_const(name, rb_enc_from_index(index));
    }
    return index;
}
示例#30
0
文件: encoding.c 项目: angui/mruby
static int
enc_register_at(mrb_state *mrb, int index, const char *name, mrb_encoding *encoding)
{
    struct mrb_encoding_entry *ent = &enc_table.list[index];
    mrb_value list;
    mrb_value ref_ary;

    if (!valid_encoding_name_p(name)) return -1;
    if (!ent->name) {
    ent->name = name = strdup(name);
    }
    else if (STRCASECMP(name, ent->name)) {
    return -1;
    }
    if (!ent->enc) {
    ent->enc = xmalloc(sizeof(mrb_encoding));
    }
    if (encoding) {
    *ent->enc = *encoding;
    }
    else {
    memset(ent->enc, 0, sizeof(*ent->enc));
    }
    encoding = ent->enc;
    encoding->name = name;
    encoding->ruby_encoding_index = index;
    st_insert(enc_table.names, (st_data_t)name, (st_data_t)index);
    list = mrb_encoding_list;
    //if (list && mrb_nil_p((mrb_ary_ref(mrb, list, index)))) {
    if (list.tt) {
      ref_ary = mrb_ary_ref(mrb, list, index);
      if mrb_nil_p(ref_ary) {
        /* initialize encoding data */
        mrb_ary_set(mrb, list, index, enc_new(mrb, encoding));//rb_ary_store(list, index, enc_new(encoding));
      }
    }