亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? setup.c

?? 卡內基梅隆大學(CMU)開發的移動機器人控制開發軟件包。可對多種機器人進行控制
?? C
字號:
 /********************************************************* * * This source code is part of the Carnegie Mellon Robot * Navigation Toolkit (CARMEN) * * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas * Roy, Sebastian Thrun, Dirk Haehnel, Cyrill Stachniss, * and Jared Glover * * CARMEN is free software; you can redistribute it and/or  * modify it under the terms of the GNU General Public  * License as published by the Free Software Foundation;  * either version 2 of the License, or (at your option) * any later version. * * CARMEN is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE.  See the GNU General Public License for more  * details. * * You should have received a copy of the GNU General  * Public License along with CARMEN; if not, write to the * Free Software Foundation, Inc., 59 Temple Place,  * Suite 330, Boston, MA  02111-1307 USA * ********************************************************/#include <carmen/carmen.h>#include <assert.h>#include "hash.h"static struct cache *Table; static void Cleanup(char *String);static unsigned int hash_string(register struct cache *cache, void *key);static int compare_strings(register void *k1, register void *k2);unsigned char SETUP_ReadSetup(char *filename) {  char *buf;   char buf1[200], buf2[200], *SectionName;  FILE *fp;   char *Token;   char *Key;   char *Value;   char *Aux;   long int Length;   long int KeyLength;   long int SectionNameLength =0;   long int TokenLength;   long int l;   fp = fopen(filename, "r");  SectionName = calloc(200, 1);  carmen_test_alloc(SectionName);  if (fp == NULL) {    printf("Unable to read setup file %s\n", filename);    return 0;  }   if (Table == NULL) {    Table = hash_new(0x200, hash_string, compare_strings);        assert(Table);  }    while (fgets(buf1, 199, fp) != 0) {    buf = buf1;    buf += strspn(buf, " \n\t");    if (buf[0] == *";") {      continue;    } else {      if (strchr(buf, *"[") != NULL) {	Token = strtok(buf, "=\\[]=;\t\n");	if (Token == NULL) {	  printf("Incorrect section name format for section %s\n",		 buf);	  SectionName = NULL;	} else { 	  Cleanup(Token);	  Length = strlen(Token);	  SectionName[0] = *"[";	  memcpy(SectionName + 1, Token, Length + 1);	  *(SectionName + Length + 1) = *"]";	  *(SectionName + Length + 2) = '\0';	  SectionNameLength = Length + 2;	}       } else if (strchr(buf, *"=") != NULL) {	Aux = strstr(buf, "=") + 1;	Aux += strspn(Aux, " \n\t");	Length = strcspn(Aux, ";");	Value = (char *)calloc(Length + 1, 1);	carmen_test_alloc(Value);	memcpy(Value, Aux, Length);	Value[Length] = '\0';	while (strchr(Value, *"\\") != NULL) {	  Length = strcspn(Value, "\\");	  if (fgets(buf2, 199, fp) != 0) {	    l = strlen(buf2);	    Value = realloc(Value, Length + l);	    carmen_test_alloc(Value);	    memcpy(Value + Length, buf2, l);	    Length += l;	  } 	  Value[Length] = '\0';	} 	Cleanup(Value);	Token = strtok(buf, "=\\[]=;\t\n");	Cleanup(Token);	TokenLength = strlen(Token);	Key = (char *)calloc(SectionNameLength + TokenLength + 1, 1);	carmen_test_alloc(Key);	memcpy(Key, SectionName, SectionNameLength);	KeyLength = SectionNameLength;	memcpy(Key + KeyLength, Token, strlen(Token));	KeyLength += strlen(Token);	Key[KeyLength] = '\0';	if (hash_value_for_key(Table, Key) != NULL) {	  hash_change_key_value(Table, Key, Value);	  free(Key);	} else { 	  hash_add(&Table, Key, Value);	}      }     }  }    free(SectionName);  fclose(fp);  return 1;}char *SETUP_GetValue(char *Key) {  if (Table == NULL)     return NULL;    return hash_value_for_key(Table, Key);}char *SETUP_ExtGetValue(char *Section, char *Key){  char *tmp, *ret;   tmp = calloc(strlen(Section) + strlen(Key) + 3, 1);  carmen_test_alloc(tmp);  sprintf(tmp, "[%s]%s", Section, Key);  ret = SETUP_GetValue(tmp);  free(tmp);  return ret;}void SETUP_SetValue(char *Key, char *UserValue) {  char *Value;   char *OldValue;   char *NewKey;   assert(Key);  assert(UserValue);  Value = calloc(strlen(UserValue) + 1, 1);  carmen_test_alloc(Value);  if (Table == NULL) {    Table = hash_new(0x200, hash_string, compare_strings);        assert(Table);  }  strcpy(Value, UserValue);    if ((OldValue = hash_value_for_key(Table, Key)) != NULL) {    hash_change_key_value(Table, Key, Value);    free(OldValue);  } else {     NewKey = calloc(strlen(Key) + 1, 1);    carmen_test_alloc(NewKey);    strcpy(NewKey, Key);    hash_add(&Table, NewKey, Value);  }}static void Cleanup(char *String) {  long int i;   long int j;   j = 0;  i = 0;    assert(String);    while (String[i] != '\0') {    if (strchr("=\\[]=;\t\n", String[i]) == NULL) {      String[j] = String[i];      i++;      j++;    } else {       i++;    }  }  String[j] = '\0';  j--;    while (strchr(" \n\t", String[j]) != NULL) {    String[j] = '\0';    j--;  }    return;}long int SETUP_ItemCount(char *StemKey) {  char *ItemKey;   long int ItemCount;    ItemCount = 0;  ItemKey = (char *)calloc(strlen(StemKey) + 0x226, 1);  carmen_test_alloc(ItemKey);    sprintf(ItemKey, "%s%ld", StemKey, ItemCount);  while (SETUP_GetValue(ItemKey) != NULL) {    ItemCount++;    sprintf(ItemKey, "%s%ld", StemKey, ItemCount);  }  return ItemCount;}unsigned int hash_string(register struct cache *cache, void *key){  unsigned int ret;   unsigned int ctr;   char *ckey;   ret = 0;  ctr = 0;  ckey = (char *) key;  while (*ckey != 0) {    ret ^= (*ckey) << ctr;    ckey++;    ctr = (ctr + 1) & 0x03;  }  return ret & cache->mask;}int compare_strings(register void *k1, register void *k2) {  if (k1 == k2)    return 1;  else if ((k1 == NULL) || (k2 == NULL))    return 0;  else {    return (strcmp((char *) k1, (char *) k2)) ? 0 : 1;  }  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲高清| 欧美性大战久久久久久久蜜臀| 欧美激情一区二区三区在线| 欧美日韩国产综合草草| 99久久99久久精品免费观看 | 欧美午夜视频网站| 日韩av在线播放中文字幕| 国产校园另类小说区| 精品噜噜噜噜久久久久久久久试看 | 国产精品麻豆网站| 亚洲精品一区二区在线观看| 欧美精品三级日韩久久| 色婷婷精品久久二区二区蜜臀av | 91玉足脚交白嫩脚丫在线播放| 久久国产麻豆精品| 日本不卡高清视频| 日韩av中文字幕一区二区 | 美女一区二区在线观看| 午夜精品福利在线| 日韩中文字幕区一区有砖一区 | 日韩欧美在线网站| 欧美精品v日韩精品v韩国精品v| 日本韩国精品在线| 91久久一区二区| 欧美自拍偷拍一区| 欧美视频中文字幕| 5566中文字幕一区二区电影| 欧美日韩免费不卡视频一区二区三区| 在线观看91精品国产入口| 日本高清成人免费播放| 在线观看区一区二| 欧美日韩国产经典色站一区二区三区 | 欧美日韩国产一级片| 91福利在线免费观看| 欧美男人的天堂一二区| 欧美一卡二卡在线观看| 欧美本精品男人aⅴ天堂| 久久综合色婷婷| 国产精品久久久久久久久搜平片| 中文字幕视频一区| 亚洲国产精品欧美一二99| 日韩二区三区在线观看| 国产一区二区三区综合| 色综合色综合色综合色综合色综合 | 日本高清成人免费播放| 欧美一区二区三级| 久久久综合激的五月天| 国产精品灌醉下药二区| 亚洲成av人片在线| 国产一本一道久久香蕉| 欧美一a一片一级一片| 欧美一级专区免费大片| 国产精品女人毛片| 亚洲国产va精品久久久不卡综合| 久久精品久久久精品美女| 91首页免费视频| 91视频免费观看| 欧美一区二区三区四区在线观看| 久久精品免费在线观看| 亚洲午夜久久久| 国产精品一级黄| 欧美人体做爰大胆视频| 国产精品视频第一区| 日韩和欧美一区二区三区| www.一区二区| 久久综合色综合88| 五月激情综合婷婷| av亚洲精华国产精华精| 欧美mv日韩mv国产网站app| 夜夜嗨av一区二区三区中文字幕 | 国产精品嫩草影院av蜜臀| 天天综合网天天综合色| 99免费精品视频| 26uuu精品一区二区| 婷婷成人激情在线网| a级高清视频欧美日韩| 欧美一级理论片| 亚洲高清视频中文字幕| 9久草视频在线视频精品| 欧美精品一区二区在线观看| 丝袜美腿一区二区三区| 在线免费观看不卡av| 国产精品的网站| 粉嫩av一区二区三区在线播放| 日韩一区二区三区四区| 日韩高清电影一区| 欧美专区亚洲专区| 亚洲欧美日韩国产综合| 波多野结衣中文字幕一区二区三区 | 亚洲久本草在线中文字幕| 国产成人精品亚洲日本在线桃色| 日韩区在线观看| 麻豆精品精品国产自在97香蕉 | 国产成人小视频| 26uuu欧美| 国产精品一区专区| 久久久噜噜噜久噜久久综合| 美脚の诱脚舐め脚责91| 日韩限制级电影在线观看| 日韩国产精品久久久| 91精品国产综合久久精品图片| 亚洲一级二级在线| 欧美日韩精品三区| 国产精品久久久久7777按摩 | 日本亚洲三级在线| 欧美系列亚洲系列| 午夜精品成人在线| 日韩欧美久久一区| 国内一区二区视频| 中文成人av在线| 91精彩视频在线| 五月天激情小说综合| 日韩欧美精品在线| 国产91精品入口| 一级女性全黄久久生活片免费| 69堂国产成人免费视频| 精品亚洲成a人| 国产精品免费丝袜| 欧美午夜在线一二页| 日本欧美一区二区| 久久久久久日产精品| 99精品在线免费| 午夜精品一区二区三区免费视频| 欧美不卡视频一区| 成人动漫精品一区二区| 亚洲主播在线播放| 日韩精品最新网址| 99精品国产热久久91蜜凸| 日韩精品一级中文字幕精品视频免费观看 | 狠狠色狠狠色综合系列| 欧美国产日韩a欧美在线观看| 91在线播放网址| 麻豆精品一区二区综合av| 18成人在线视频| 91精品国产91久久久久久最新毛片| 精品午夜久久福利影院| 亚洲精品乱码久久久久| 精品国精品自拍自在线| 色综合天天综合网天天狠天天 | 欧美亚洲国产一区二区三区va| 日韩av一级片| 自拍偷拍亚洲综合| 欧美成人video| 在线视频国内一区二区| 国产东北露脸精品视频| 午夜欧美2019年伦理 | 一本一道久久a久久精品| 奇米精品一区二区三区在线观看| 亚洲欧洲一区二区在线播放| 精品日韩欧美在线| 欧美福利视频一区| 91欧美一区二区| 国产成人亚洲综合a∨猫咪| 美女视频免费一区| 亚洲一区成人在线| 亚洲美女一区二区三区| www成人在线观看| 日韩亚洲欧美中文三级| 7777精品伊人久久久大香线蕉完整版 | 欧美综合一区二区| av电影在线观看一区| 精品一区二区三区视频| 午夜精品视频在线观看| 亚洲一区二区三区四区五区黄 | 国产精品亚洲专一区二区三区 | 久久日韩精品一区二区五区| 欧美二区在线观看| 欧美午夜精品久久久| 成人av免费网站| 成人av免费观看| 99久久精品免费观看| 99精品欧美一区二区蜜桃免费| 丰满放荡岳乱妇91ww| 国产高清不卡一区| 国产黄色精品视频| 成人性生交大合| 成人激情av网| 97se亚洲国产综合自在线| 成人精品视频一区二区三区尤物| 国产一区二区h| 国产麻豆精品在线| 高清在线成人网| av在线一区二区三区| 91首页免费视频| 在线观看日韩高清av| 欧美午夜精品一区二区三区| 91麻豆精品国产无毒不卡在线观看| 精品视频一区 二区 三区| 欧美性猛片aaaaaaa做受| 欧美人动与zoxxxx乱| 日韩欧美一区二区免费| 久久久久九九视频| 亚洲天堂a在线| 亚洲综合免费观看高清完整版| 亚洲国产另类精品专区| 日本不卡一二三区黄网| 国产寡妇亲子伦一区二区| 99久久精品免费精品国产| 欧美日韩在线直播| 欧美精品一区二区蜜臀亚洲|