您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ string_is_equal函数代码示例

51自学网 2021-06-03 08:30:20
  C++
这篇教程C++ string_is_equal函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中string_is_equal函数的典型用法代码示例。如果您正苦于以下问题:C++ string_is_equal函数的具体用法?C++ string_is_equal怎么用?C++ string_is_equal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了string_is_equal函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: iso_get_serial

static int iso_get_serial(database_state_handle_t *db_state,                          database_info_handle_t *db, const char *name, char* serial){    int32_t offset          = 0;    const char* system_name = NULL;    int                 rv  = detect_system(name, offset, &system_name);    if (rv < 0)        return rv;    if (string_is_equal(system_name, "psp"))    {        if (detect_psp_game(name, serial) == 0)            return 0;        RARCH_LOG("%s '%s'/n", msg_hash_to_str(MSG_FOUND_DISK_LABEL), serial);    }    else if (string_is_equal(system_name, "ps1"))    {        if (detect_ps1_game(name, serial) == 0)            return 0;        RARCH_LOG("%s '%s'/n", msg_hash_to_str(MSG_FOUND_DISK_LABEL), serial);    }    return 0;}
开发者ID:heuripedes,项目名称:RetroArch,代码行数:25,


示例2: iso_get_serial

static int iso_get_serial(database_state_handle_t *db_state,      database_info_handle_t *db, const char *name, char* serial){   int rv;   int32_t offset = 0;   const char* system_name = NULL;   if ((rv = detect_system(name, offset, &system_name)) < 0)      return rv;   if (string_is_equal(system_name, "psp"))   {      if (detect_psp_game(name, serial) == 0)         return 0;      RARCH_LOG("Found disk label '%s'/n", serial);   }   else if (string_is_equal(system_name, "ps1"))   {      if (detect_ps1_game(name, serial) == 0)         return 0;      RARCH_LOG("Found disk label '%s'/n", serial);   }   return 0;}
开发者ID:Alexandre-Garcia,项目名称:RetroArch,代码行数:25,


示例3: menu_display_check_compatibility

static bool menu_display_check_compatibility(      enum menu_display_driver_type type){   const char *video_driver = menu_video_get_ident();   switch (type)   {      case MENU_VIDEO_DRIVER_GENERIC:         return true;      case MENU_VIDEO_DRIVER_OPENGL:         if (string_is_equal(video_driver, "gl"))            return true;         break;      case MENU_VIDEO_DRIVER_VULKAN:         if (string_is_equal(video_driver, "vulkan"))            return true;         break;      case MENU_VIDEO_DRIVER_DIRECT3D:         if (string_is_equal(video_driver, "d3d"))            return true;         break;   }   return false;}
开发者ID:alerinoreis,项目名称:RetroArch,代码行数:25,


示例4: registry_handle_global

/* Registry callbacks. */static void registry_handle_global(void *data, struct wl_registry *reg,      uint32_t id, const char *interface, uint32_t version){   struct wl_output *output   = NULL;   gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data;   (void)version;   if (string_is_equal(interface, "wl_compositor"))      wl->compositor = (struct wl_compositor*)wl_registry_bind(reg,            id, &wl_compositor_interface, 3);   else if (string_is_equal(interface, "wl_output"))   {      output = (struct wl_output*)wl_registry_bind(reg,            id, &wl_output_interface, 2);      wl_output_add_listener(output, &output_listener, wl);      wl_display_roundtrip(wl->input.dpy);   }   else if (string_is_equal(interface, "wl_shell"))      wl->shell = (struct wl_shell*)         wl_registry_bind(reg, id, &wl_shell_interface, 1);   else if (string_is_equal(interface, "wl_shm"))      wl->shm = (struct wl_shm*)wl_registry_bind(reg, id, &wl_shm_interface, 1);   else if (string_is_equal(interface, "wl_seat"))   {      wl->seat = (struct wl_seat*)wl_registry_bind(reg, id, &wl_seat_interface, 4);      wl_seat_add_listener(wl->seat, &seat_listener, wl);   }}
开发者ID:Monroe88,项目名称:RetroArch,代码行数:30,


示例5: menu_action_setting_disp_set_label_playlist_associations

static void menu_action_setting_disp_set_label_playlist_associations(file_list_t* list,      unsigned *w, unsigned type, unsigned i,      const char *label,      char *s, size_t len,      const char *entry_label,      const char *path,      char *s2, size_t len2){   char playlist_name_with_ext[255];   bool found_matching_core_association         = false;   settings_t         *settings                 = config_get_ptr();   struct string_list *str_list                 = string_split(settings->arrays.playlist_names, ";");   struct string_list *str_list2                = string_split(settings->arrays.playlist_cores, ";");   strlcpy(s2, path, len2);   playlist_name_with_ext[0] = '/0';   *s = '/0';   *w = 19;   fill_pathname_noext(playlist_name_with_ext, path,         file_path_str(FILE_PATH_LPL_EXTENSION),         sizeof(playlist_name_with_ext));   for (i = 0; i < str_list->size; i++)   {      if (string_is_equal(str_list->elems[i].data, playlist_name_with_ext))      {         if (str_list->size != str_list2->size)            break;         if (!str_list2->elems[i].data)            break;         found_matching_core_association = true;         strlcpy(s, str_list2->elems[i].data, len);      }   }   string_list_free(str_list);   string_list_free(str_list2);   if (string_is_equal(s, file_path_str(FILE_PATH_DETECT)) || !found_matching_core_association)      strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), len);   else   {      char buf[PATH_MAX_LENGTH];      core_info_list_t *list = NULL;      core_info_get_list(&list);      if (core_info_list_get_display_name(list, s, buf, sizeof(buf)))         strlcpy(s, buf, len);   }   strlcpy(s2, path, len2);}
开发者ID:leiradel,项目名称:RetroArch,代码行数:57,


示例6: menu_action_setting_disp_set_label_playlist_associations

static void menu_action_setting_disp_set_label_playlist_associations(file_list_t* list,      unsigned *w, unsigned type, unsigned i,      const char *label,      char *s, size_t len,      const char *entry_label,      const char *path,      char *s2, size_t len2){   char playlist_name_with_ext[PATH_MAX_LENGTH] = {0};   bool found_matching_core_association         = false;   settings_t         *settings                 = config_get_ptr();   struct string_list *str_list                 = string_split(settings->playlist_names, ";");   struct string_list *str_list2                = string_split(settings->playlist_cores, ";");   strlcpy(s2, path, len2);   *s = '/0';   *w = 19;   strlcpy(playlist_name_with_ext, path, sizeof(playlist_name_with_ext));   strlcat(playlist_name_with_ext, ".lpl", sizeof(playlist_name_with_ext));   for (i = 0; i < str_list->size; i++)   {      if (string_is_equal(str_list->elems[i].data, playlist_name_with_ext))      {         if (str_list->size != str_list2->size)            break;         if (str_list2->elems[i].data == NULL)            break;         found_matching_core_association = true;         strlcpy(s, str_list2->elems[i].data, len);      }   }   string_list_free(str_list);   string_list_free(str_list2);   if (string_is_equal(s, "DETECT") || !found_matching_core_association)      strlcpy(s, "N/A", len);   else   {      char buf[PATH_MAX_LENGTH];      core_info_list_t *list = NULL;      core_info_get_list(&list);      if (core_info_list_get_display_name(list, s, buf, sizeof(buf)))         strlcpy(s, buf, len);   }   strlcpy(s2, path, len2);}
开发者ID:Alexandre-Garcia,项目名称:RetroArch,代码行数:55,


示例7: cache_host_trans_ht_index

static inline host_htable_index cache_host_trans_ht_index(string_t *top_label){    if (string_is_equal(top_label, &tld_com)) {        return host_ht_com;    } else if (string_is_equal(top_label, &tld_cn)) {        return host_ht_cn;    } else if (string_is_equal(top_label, &tld_com_cn)) {        return host_ht_com_cn;    } else {        return host_ht_max;    }}
开发者ID:ytinirt,项目名称:hot_cache_backend,代码行数:12,


示例8: RARCH_LOG_V

void RARCH_LOG_V(const char *tag, const char *fmt, va_list ap){#if TARGET_OS_IPHONE   static int asl_inited = 0;#if !TARGET_IPHONE_SIMULATORstatic aslclient asl_client;#endif#endif   if (!RARCH_LOG_VERBOSE())      return;#if TARGET_OS_IPHONE#if TARGET_IPHONE_SIMULATOR   vprintf(fmt, ap);#else   if (!asl_inited)   {      asl_client = asl_open("RetroArch", "com.apple.console", ASL_OPT_STDERR | ASL_OPT_NO_DELAY);      asl_inited = 1;   }   aslmsg msg = asl_new(ASL_TYPE_MSG);   asl_set(msg, ASL_KEY_READ_UID, "-1");   if (tag)      asl_log(asl_client, msg, ASL_LEVEL_NOTICE, "%s", tag);   asl_vlog(asl_client, msg, ASL_LEVEL_NOTICE, fmt, ap);   asl_free(msg);#endif#elif defined(_XBOX1)   /* FIXME: Using arbitrary string as fmt argument is unsafe. */   char msg_new[1024], buffer[1024];   snprintf(msg_new, sizeof(msg_new), "%s: %s %s",         PROGRAM_NAME,         tag ? tag : "",         fmt);   wvsprintf(buffer, msg_new, ap);   OutputDebugStringA(buffer);#elif defined(ANDROID)   int prio = ANDROID_LOG_INFO;   if (tag)   {      if (string_is_equal("[WARN]", tag))         prio = ANDROID_LOG_WARN;      else if (string_is_equal("[ERROR]", tag))         prio = ANDROID_LOG_ERROR;   }   __android_log_vprint(prio, PROGRAM_NAME, fmt, ap);#else   fprintf(LOG_FILE, "%s %s :: ", PROGRAM_NAME, tag ? tag : "[INFO]");   vfprintf(LOG_FILE, fmt, ap);   fflush(LOG_FILE);#endif}
开发者ID:AkimanBengus,项目名称:RetroArch,代码行数:52,


示例9: salamander_init

static void salamander_init(char *s, size_t len){   /* normal executable loading path */   bool config_exists = config_file_exists(g_defaults.path.config);   if (config_exists)   {      char tmp_str[PATH_MAX_LENGTH] = {0};      config_file_t * conf          = (config_file_t*)         config_file_new(g_defaults.path.config);      if (conf)      {         config_get_array(conf, "libretro_path", tmp_str, sizeof(tmp_str));         config_file_free(conf);         if (!string_is_equal(tmp_str, "builtin"))            strlcpy(s, tmp_str, len);      }#ifdef GEKKO      /* stupid libfat bug or something; sometimes it says        * the file is there when it doesn't. */      else       {         config_exists = false;      }#endif   }   if (!config_exists || string_is_equal(s, ""))   {      char executable_name[PATH_MAX_LENGTH] = {0};      frontend_driver_get_core_extension(            executable_name, sizeof(executable_name));      find_and_set_first_file(s, len, executable_name);   }   else      RARCH_LOG("Start [%s] found in retroarch.cfg./n", s);   if (!config_exists)   {      config_file_t *conf = (config_file_t*)config_file_new(NULL);      if (conf)      {         config_set_string(conf, "libretro_path", s);         config_file_write(conf, g_defaults.path.config);         config_file_free(conf);      }   }}
开发者ID:Ezio-PS,项目名称:RetroArch,代码行数:52,


示例10: if

const struct retro_subsystem_info *libretro_find_subsystem_info(      const struct retro_subsystem_info *info, unsigned num_info,      const char *ident){   unsigned i;   for (i = 0; i < num_info; i++)   {      if (string_is_equal(info[i].ident, ident))         return &info[i];      else if (string_is_equal(info[i].desc, ident))         return &info[i];   }   return NULL;}
开发者ID:AkimanBengus,项目名称:RetroArch,代码行数:15,


示例11: calloc

static void *hlsl_init(void *data, const char *path){   unsigned i;   d3d_video_t *d3d = (d3d_video_t*)data;   hlsl_shader_data_t *hlsl_data = (hlsl_shader_data_t*)      calloc(1, sizeof(hlsl_shader_data_t));   if (!hlsl_data)	   return NULL;   if (path && string_is_equal(path_get_extension(path), ".cgp"))   {      if (!hlsl_load_preset(hlsl_data, d3d, path))         goto error;   }   else   {      if (!hlsl_load_plain(hlsl_data, d3d, path))         goto error;   }   for(i = 1; i <= hlsl_data->cg_shader->passes; i++)      hlsl_set_program_attributes(hlsl_data, i);   d3d_set_vertex_shader(d3d->dev, 1, hlsl_data->prg[1].vprg);   d3d->dev->SetPixelShader(hlsl_data->prg[1].fprg);   return hlsl_data;error:   if (hlsl_data)	   free(hlsl_data);   return NULL;}
开发者ID:Ezio-PS,项目名称:RetroArch,代码行数:34,


示例12: menu_action_setting_disp_set_label_netplay_mitm_server

static void menu_action_setting_disp_set_label_netplay_mitm_server(      file_list_t* list,      unsigned *w, unsigned type, unsigned i,      const char *label,      char *s, size_t len,      const char *entry_label,      const char *path,      char *s2, size_t len2){   unsigned j;   settings_t *settings = config_get_ptr();   *s = '/0';   *w = 19;   strlcpy(s2, path, len2);   if (!settings)      return;   if (string_is_empty(settings->arrays.netplay_mitm_server))      return;   for (j = 0; j < ARRAY_SIZE(netplay_mitm_server_list); j++)   {      if (string_is_equal(settings->arrays.netplay_mitm_server,               netplay_mitm_server_list[j].name))         strlcpy(s, netplay_mitm_server_list[j].description, len);   }}
开发者ID:leiradel,项目名称:RetroArch,代码行数:29,


示例13: dat_converter_get_match

static const char* dat_converter_get_match(      dat_converter_list_t* list,      dat_converter_match_key_t* match_key){   int i;   retro_assert(match_key);   if (list->type != DAT_CONVERTER_MAP_LIST)      return NULL;   for (i = 0; i < list->count; i++)   {      if (list->values[i].map.hash == match_key->hash)      {         retro_assert(string_is_equal(list->values[i].map.key, match_key->value));         if (match_key->next)            return dat_converter_get_match(                  list->values[i].map.value.list, match_key->next);         if ((list->values[i].map.type == DAT_CONVERTER_STRING_MAP))            return list->values[i].map.value.string;         return NULL;      }   }   return NULL;}
开发者ID:Monroe88,项目名称:RetroArch,代码行数:30,


示例14: menu_content_playlist_find_associated_core

bool menu_content_playlist_find_associated_core(const char *path, char *s, size_t len){    unsigned j;    bool                     ret = false;    settings_t *settings         = config_get_ptr();    struct string_list *existing_core_names =        string_split(settings->playlist_names, ";");    struct string_list *existing_core_paths =        string_split(settings->playlist_cores, ";");    for (j = 0; j < existing_core_names->size; j++)    {        if (string_is_equal(path, existing_core_names->elems[j].data))        {            if (existing_core_paths)            {                const char *existing_core = existing_core_paths->elems[j].data;                if (existing_core)                {                    strlcpy(s, existing_core, len);                    ret = true;                }            }            break;        }    }    string_list_free(existing_core_names);    string_list_free(existing_core_paths);    return ret;}
开发者ID:heuripedes,项目名称:RetroArch,代码行数:32,


示例15: gfx_ctx_wgl_input_driver

static void gfx_ctx_wgl_input_driver(void *data,      const char *joypad_name,      const input_driver_t **input, void **input_data){   settings_t *settings = config_get_ptr();#if _WIN32_WINNT >= 0x0501   /* winraw only available since XP */   if (string_is_equal(settings->arrays.input_driver, "raw"))   {      *input_data = input_winraw.init(joypad_name);      if (*input_data)      {         *input     = &input_winraw;         dinput_wgl = NULL;         return;      }   }#endif#ifdef HAVE_DINPUT   dinput_wgl  = input_dinput.init(joypad_name);   *input      = dinput_wgl ? &input_dinput : NULL;   *input_data = dinput_wgl;#endif}
开发者ID:Ryunam,项目名称:RetroArch,代码行数:26,


示例16: exynos_get_device_index

/* Find the index of a compatible DRM device. */static int exynos_get_device_index(void){   drmVersionPtr ver;   char buf[32]       = {0};   int index          = 0;   bool found         = false;   while (!found)   {      int fd;      snprintf(buf, sizeof(buf), "/dev/dri/card%d", index);      fd = open(buf, O_RDWR);      if (fd < 0) break;      ver = drmGetVersion(fd);      if (string_is_equal(ver->name, "exynos"))         found = true;      else         ++index;      drmFreeVersion(ver);      close(fd);   }   if (!found)      return -1;   return index;}
开发者ID:DoctorGoat,项目名称:RetroArch_LibNX,代码行数:32,


示例17: input_config_get_bind_string

void input_config_get_bind_string(char *buf, const struct retro_keybind *bind,      const struct retro_keybind *auto_bind, size_t size){   char key[64]    = {0};   char keybuf[64] = {0};   (void)key;   (void)keybuf;   *buf = '/0';   if (bind->joykey != NO_BTN)      input_config_get_bind_string_joykey(buf, "", bind, size);   else if (bind->joyaxis != AXIS_NONE)      input_config_get_bind_string_joyaxis(buf, "", bind, size);   else if (auto_bind && auto_bind->joykey != NO_BTN)      input_config_get_bind_string_joykey(buf, "Auto: ", auto_bind, size);   else if (auto_bind && auto_bind->joyaxis != AXIS_NONE)      input_config_get_bind_string_joyaxis(buf, "Auto: ", auto_bind, size);#ifndef RARCH_CONSOLE   input_keymaps_translate_rk_to_str(bind->key, key, sizeof(key));   if (string_is_equal(key, "nul"))      *key = '/0';   snprintf(keybuf, sizeof(keybuf), "(Key: %s)", key);   strlcat(buf, keybuf, size);#endif}
开发者ID:AkimanBengus,项目名称:RetroArch,代码行数:28,


示例18: input_config_parse_joy_button

void input_config_parse_joy_button(config_file_t *conf, const char *prefix,      const char *btn, struct retro_keybind *bind){   char str[256]      = {0};   char tmp[64]       = {0};   char key[64]       = {0};   char key_label[64] = {0};   char *tmp_a        = NULL;   fill_pathname_join_delim(str, prefix, btn, '_', sizeof(str));   fill_pathname_join_delim(key, str, "btn", '_', sizeof(key));   fill_pathname_join_delim(key_label, str, "btn_label", '_', sizeof(key_label));   if (config_get_array(conf, key, tmp, sizeof(tmp)))   {      btn = tmp;      if (string_is_equal(btn, "nul"))         bind->joykey = NO_BTN;      else      {         if (*btn == 'h')            parse_hat(bind, btn + 1);         else            bind->joykey = strtoull(tmp, NULL, 0);      }   }   if (config_get_string(conf, key_label, &tmp_a))   {      strlcpy(bind->joykey_label, tmp_a, sizeof(bind->joykey_label));      free(tmp_a);   }}
开发者ID:AkimanBengus,项目名称:RetroArch,代码行数:33,


示例19: content_playlist_get_index_by_path

void content_playlist_get_index_by_path(content_playlist_t *playlist,      const char *search_path,      char **path, char **label,      char **core_path, char **core_name,      char **crc32,      char **db_name){   size_t i;   if (!playlist)      return;   for (i = 0; i < playlist->size; i++)   {      if (!string_is_equal(playlist->entries[i].path, search_path))         continue;      if (path)         *path      = playlist->entries[i].path;      if (label)         *label     = playlist->entries[i].label;      if (core_path)         *core_path = playlist->entries[i].core_path;      if (core_name)         *core_name = playlist->entries[i].core_name;      if (db_name)         *db_name   = playlist->entries[i].db_name;      if (crc32)         *crc32     = playlist->entries[i].crc32;      break;   }}
开发者ID:AlexFolland,项目名称:RetroArch,代码行数:32,


示例20: action_scan_input_desc

static int action_scan_input_desc(const char *path,      const char *label, unsigned type, size_t idx){   const char *menu_label         = NULL;   unsigned key                   = 0;   unsigned inp_desc_user         = 0;   struct retro_keybind *target   = NULL;   menu_entries_get_last_stack(NULL, &menu_label, NULL, NULL, NULL);   if (string_is_equal(menu_label, "deferred_user_binds_list"))   {      unsigned char player_no_str = atoi(&label[1]);      inp_desc_user      = (unsigned)(player_no_str - 1);      /* This hardcoded value may cause issues if any entries are added on         top of the input binds */      key                = (unsigned)(idx - 7);   }   else      key = input_config_translate_str_to_bind_id(label);   target = &input_config_binds[inp_desc_user][key];   if (target)   {      target->key     = RETROK_UNKNOWN;      target->joykey  = NO_BTN;      target->joyaxis = AXIS_NONE;      target->mbutton = NO_BTN;   }   return 0;}
开发者ID:netux79,项目名称:RetroArch,代码行数:34,


示例21: wrap_str_to_mode

/** * wrap_str_to_mode: * @type              : Wrap type in human-readable string format. * * Translates wrap mode from human-readable string to enum mode value. * * Returns: enum mode value of wrap type. **/static enum gfx_wrap_type wrap_str_to_mode(const char *wrap_mode){   if (string_is_equal(wrap_mode,      "clamp_to_border"))      return RARCH_WRAP_BORDER;   else if (string_is_equal(wrap_mode, "clamp_to_edge"))      return RARCH_WRAP_EDGE;   else if (string_is_equal(wrap_mode, "repeat"))      return RARCH_WRAP_REPEAT;   else if (string_is_equal(wrap_mode, "mirrored_repeat"))      return RARCH_WRAP_MIRRORED_REPEAT;   RARCH_WARN("Invalid wrapping type %s. Valid ones are: clamp_to_border"         " (default), clamp_to_edge, repeat and mirrored_repeat. Falling back to default./n",         wrap_mode);   return RARCH_WRAP_DEFAULT;}
开发者ID:RobLoach,项目名称:RetroArch,代码行数:24,


示例22: input_autoconfigure_joypad_reindex_devices

/* Adds an index for devices with the same name, * so they can be identified in the GUI. */void input_autoconfigure_joypad_reindex_devices(void){   unsigned i, j, k;   for(i = 0; i < MAX_INPUT_DEVICES; i++)      input_device_name_index[i] = 0;   for(i = 0; i < MAX_INPUT_DEVICES; i++)   {      const char *tmp = input_config_get_device_name(i);      if ( !tmp || input_device_name_index[i] )         continue;      k = 2; /*Additional devices start at two*/      for(j = i+1; j < MAX_INPUT_DEVICES; j++)      {         const char *other = input_config_get_device_name(j);         if (!other)            continue;         /*another device with the same name found, for the first time*/         if (string_is_equal(tmp, other) &&               input_device_name_index[j]==0 )         {            /*Mark the first device of the set*/            input_device_name_index[i] = 1;            /*count this additional device, from two up*/            input_device_name_index[j] = k++;         }      }   }}
开发者ID:libretro,项目名称:RetroArch,代码行数:37,


示例23: d3d9_cg_find_param_from_semantic

static INLINE CGparameter d3d9_cg_find_param_from_semantic(      CGparameter param, const char *sem){   for (; param; param = cgGetNextParameter(param))   {      const char *semantic = NULL;      if (cgGetParameterType(param) == CG_STRUCT)      {         CGparameter ret = d3d9_cg_find_param_from_semantic(               cgGetFirstStructParameter(param), sem);         if (ret)            return ret;      }      if (     cgGetParameterDirection(param)   != CG_IN            || cgGetParameterVariability(param) != CG_VARYING)         continue;      semantic = cgGetParameterSemantic(param);      if (!semantic)         continue;      if (string_is_equal(sem, semantic) &&            d3d9_cg_validate_param_name(cgGetParameterName(param)))         return param;   }   return NULL;}
开发者ID:DoctorGoat,项目名称:RetroArch_LibNX,代码行数:30,


示例24: core_info_get_name

void core_info_get_name(const char *path, char *s, size_t len){   size_t i;   settings_t             *settings = config_get_ptr();   struct string_list *contents     = dir_list_new_special(         settings->paths.directory_libretro,         DIR_LIST_CORES, NULL);   const char       *path_basedir   = !string_is_empty(settings->paths.path_libretro_info) ?      settings->paths.path_libretro_info : settings->paths.directory_libretro;   if (!contents)      return;   for (i = 0; i < contents->size; i++)   {      size_t path_size                = PATH_MAX_LENGTH * sizeof(char);      char *info_path                 = NULL;      config_file_t *conf             = NULL;      char *new_core_name             = NULL;      const char *current_path        = contents->elems[i].data;      if (!string_is_equal(current_path, path))         continue;      info_path                       = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));      info_path[0]                    = '/0';      if (!core_info_list_iterate(info_path,               path_size, path_basedir, contents, i)            && path_is_valid(info_path))      {         free(info_path);         continue;      }      conf = config_file_new(info_path);      if (!conf)      {         free(info_path);         continue;      }      if (config_get_string(conf, "corename",            &new_core_name))      {         strlcpy(s, new_core_name, len);         free(new_core_name);      }      config_file_free(conf);      free(info_path);      break;   }   if (contents)      dir_list_free(contents);   contents = NULL;}
开发者ID:Monroe88,项目名称:RetroArch,代码行数:59,


示例25: task_database_iterate_serial_lookup

static int task_database_iterate_serial_lookup(    database_state_handle_t *db_state,    database_info_handle_t *db, const char *name){    if (!db_state->list ||            (unsigned)db_state->list_index == (unsigned)db_state->list->size)        return database_info_list_iterate_end_no_match(db_state);    if (db_state->entry_index == 0)    {        char query[50];        char *serial_buf =            bin_to_hex_alloc((uint8_t*)db_state->serial, 10 * sizeof(uint8_t));        if (!serial_buf)            return 1;        query[0] = '/0';        snprintf(query, sizeof(query), "{'serial': b'%s'}", serial_buf);        database_info_list_iterate_new(db_state, query);        free(serial_buf);    }    if (db_state->info)    {        database_info_t *db_info_entry = &db_state->info->list[                                             db_state->entry_index];        if (db_info_entry && db_info_entry->serial)        {#if 0            RARCH_LOG("serial: %s , entry serial: %s (%s)./n",                      db_state->serial, db_info_entry->serial,                      db_info_entry->name);#endif            if (string_is_equal(db_state->serial, db_info_entry->serial))                return database_info_list_iterate_found_match(db_state, db, NULL);        }    }    db_state->entry_index++;    if (db_state->info)    {        if (db_state->entry_index >= db_state->info->count)            return database_info_list_iterate_next(db_state);    }    /* If we haven't reached the end of the database list yet,     * continue iterating. */    if (db_state->list_index < db_state->list->size)        return 1;    database_info_list_free(db_state->info);    free(db_state->info);    return 0;}
开发者ID:heuripedes,项目名称:RetroArch,代码行数:59,


示例26: playlist_association_right

static int playlist_association_right(unsigned type, const char *label,      bool wraparound){   char core_path[PATH_MAX_LENGTH];   char new_playlist_cores[PATH_MAX_LENGTH];   size_t i, next, found, current   = 0;   core_info_t *info                = NULL;   struct string_list *stnames      = NULL;   struct string_list *stcores      = NULL;   core_info_list_t           *list = NULL;   settings_t *settings             = config_get_ptr();   const char *path                 = path_basename(label);   core_info_get_list(&list);   if (!list)      return menu_cbs_exit();   core_path[0] = new_playlist_cores[0] = '/0';   stnames = string_split(settings->arrays.playlist_names, ";");   stcores = string_split(settings->arrays.playlist_cores, ";");   if (!menu_content_playlist_find_associated_core(path, core_path, sizeof(core_path)))         strlcpy(core_path,               file_path_str(FILE_PATH_DETECT), sizeof(core_path));   for (i = 0; i < list->count; i++)   {      core_info_t *info = core_info_get(list, i);      if (string_is_equal(info->path, core_path))         current = i;   }   next = current + 1;   if (next >= list->count)   {      if (wraparound)         next = 0;      else         next = list->count-1;   }   info = core_info_get(list, next);   found = string_list_find_elem(stnames, path);   if (found && info)      string_list_set(stcores, (unsigned)(found-1), info->path);   string_list_join_concat(new_playlist_cores,         sizeof(new_playlist_cores), stcores, ";");   strlcpy(settings->arrays.playlist_cores,         new_playlist_cores, sizeof(settings->arrays.playlist_cores));   string_list_free(stnames);   string_list_free(stcores);   return 0;}
开发者ID:meepingsnesroms,项目名称:RetroArch,代码行数:58,


示例27: gfx_ctx_wgl_get_flags

static uint32_t gfx_ctx_wgl_get_flags(void *data){   uint32_t          flags = 0;   BIT32_SET(flags, GFX_CTX_FLAGS_NONE);   switch (win32_api)   {      case GFX_CTX_OPENGL_API:         if (wgl_adaptive_vsync)         {            BIT32_SET(flags, GFX_CTX_FLAGS_ADAPTIVE_VSYNC);         }         if (win32_core_hw_context_enable)         {            BIT32_SET(flags, GFX_CTX_FLAGS_GL_CORE_CONTEXT);         }         if (string_is_equal(video_driver_get_ident(), "gl1")) { }         else if (string_is_equal(video_driver_get_ident(), "glcore")) { }         else         {#ifdef HAVE_CG            if (!win32_core_hw_context_enable)               BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_CG);#endif#ifdef HAVE_GLSL            BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_GLSL);#endif         }         break;      case GFX_CTX_VULKAN_API:#ifdef HAVE_SLANG         BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);#endif         break;      case GFX_CTX_NONE:      default:         break;   }   return flags;}
开发者ID:Ryunam,项目名称:RetroArch,代码行数:45,


示例28: d3d_process_shader

static bool d3d_process_shader(d3d_video_t *d3d){#ifdef HAVE_FBO   if (string_is_equal(path_get_extension(d3d->shader_path.c_str()), "cgp"))      return d3d_init_multipass(d3d);#endif   return d3d_init_singlepass(d3d);}
开发者ID:XavierMoon,项目名称:RetroArch,代码行数:9,


示例29: pad_connection_pad_init

int32_t pad_connection_pad_init(joypad_connection_t *joyconn,   const char* name, uint16_t vid, uint16_t pid,   void *data, send_control_t ptr){   static const struct   {      const char* name;      uint16_t vid;      uint16_t pid;      pad_connection_interface_t *iface;   } pad_map[] =   {      { "Nintendo RVL-CNT-01",         1406,  816,    &pad_connection_wii },      { "Nintendo RVL-CNT-01-UC",      1406,  816,    &pad_connection_wiiupro },      { "Wireless Controller",         1356,  1476,   &pad_connection_ps4 },      { "PLAYSTATION(R)3 Controller",  1356,  616,    &pad_connection_ps3 },      { "PLAYSTATION(R)3 Controller",  787,   8406,   &pad_connection_ps3 },      { "Generic SNES USB Controller", 2079,  58369,  &pad_connection_snesusb },      { "Generic NES USB Controller",  121,   17,     &pad_connection_nesusb },      { "Wii U GC Controller Adapter", 1406,  823,    &pad_connection_wiiugca },      { 0, 0}   };   joypad_connection_t *s = NULL;   int                pad = pad_connection_find_vacant_pad(joyconn);   if (pad == -1)      return -1;   s = &joyconn[pad];   if (s)   {      unsigned i;      for (i = 0; name && pad_map[i].name; i++)      {         const char *name_match = strstr(pad_map[i].name, name);         /* Never change, Nintendo. */         if(pad_map[i].vid == 1406 && pad_map[i].pid == 816)           {            if(!string_is_equal(pad_map[i].name, name))               continue;         }         if (name_match || (pad_map[i].vid == vid && pad_map[i].pid == pid))         {            s->iface      = pad_map[i].iface;            s->data       = s->iface->init(data, pad, ptr);            s->connected  = true;            break;         }      }   }   return pad;}
开发者ID:ColinKinloch,项目名称:RetroArch,代码行数:57,



注:本文中的string_is_equal函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ string_join函数代码示例
C++ string_init函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。