Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at prefs_dlg.c:1065

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

pref_fetch

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/prefs_dlg.c)expand/collapse
Show more  
 977  pref_fetch(pref_t *pref, gpointer user_data)
 978  {
 979    const char *str_val;
 980    char *p;
 981    guint uval;
 982    gboolean bval;
 983    gint enumval;
 984    gboolean *pref_changed_p = user_data;
 985   
 986    /* Fetch the value of the preference, and set the appropriate variable 
 987       to it. */
 988    switch (pref->type) {
 989   
 990    case PREF_UINT:
 991      str_val = gtk_entry_get_text(GTK_ENTRY(pref->control));
 992      uval = strtoul(str_val, &p, pref->info.base);
 993  #if 0 
 994      if (p == value || *p != '\0')
 995        return PREFS_SET_SYNTAX_ERR;      /* number was bad */
 996  #endif
 997      if (*pref->varp.uint != uval) {
 998        *pref_changed_p = TRUE;
 999        *pref->varp.uint = uval;
 1000      }
 1001      break;
 1002   
 1003    case PREF_BOOL:
 1004      bval = GTK_TOGGLE_BUTTON(pref->control)->active;
 1005      if (*pref->varp.boolp != bval) {
 1006        *pref_changed_p = TRUE;
 1007        *pref->varp.boolp = bval;
 1008      }
 1009      break;
 1010   
 1011    case PREF_ENUM:
 1012      if (pref->info.enum_info.radio_buttons) {
 1013        enumval = fetch_preference_radio_buttons_val(pref->control,
 1014            pref->info.enum_info.enumvals);
 1015      } else {
 1016        enumval = fetch_preference_option_menu_val(pref->control,
 1017                                                   pref->info.enum_info.enumvals);
 1018      }
 1019   
 1020      if (*pref->varp.enump != enumval) {
 1021        *pref_changed_p = TRUE;
 1022        *pref->varp.enump = enumval;
 1023      }
 1024      break;
 1025   
 1026    case PREF_STRING:
 1027      str_val = gtk_entry_get_text(GTK_ENTRY(pref->control));
 1028      if (strcmp(*pref->varp.string, str_val) != 0) {
 1029        *pref_changed_p = TRUE;
 1030        g_free((void *)*pref->varp.string);
 1031        *pref->varp.string = g_strdup(str_val);
 1032      }
 1033      break;
 1034   
 1035    case PREF_RANGE:
 1036    {
 1037      range_t *newrange;
 1038      convert_ret_t ret;
 1039   
 1040      str_val = gtk_entry_get_text(GTK_ENTRY(pref->control));
 1041      ret = range_convert_str(&newrange, str_val, pref->info.max_value);
 1042      if (ret != CVT_NO_ERROR)
 1043  #if 0 
 1044        return PREFS_SET_SYNTAX_ERR;      /* range was bad */
 1045  #else
 1046        return 0; /* XXX - should fail */
 1047  #endif
 1048   
 1049      if (!ranges_are_equal(*pref->varp.range, newrange)) {
 1050        *pref_changed_p = TRUE;
 1051        g_free(*pref->varp.range);
 1052        *pref->varp.range = newrange;
 1053      } else 
 1054        g_free(newrange);
 1055   
 1056      break;
 1057    }
 1058   
 1059    case PREF_STATIC_TEXT:
 1060    case PREF_UAT:
 1061      break;
 1062   
 1063    case PREF_OBSOLETE:
 1064      g_assert_not_reached();
 1065      break;
 1066    }
 1067    return 0;
 1068  }
Show more  




Change Warning 4215.30054 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: