コード例 #1
0
ファイル: language.c プロジェクト: cyrilmagsuci/freebsd
/* Set command.  Change the setting for range checking. */
static void
set_range_command (char *ignore, int from_tty)
{
    if (strcmp (range, "on") == 0)
    {
        range_check = range_check_on;
        range_mode = range_mode_manual;
    }
    else if (strcmp (range, "warn") == 0)
    {
        range_check = range_check_warn;
        range_mode = range_mode_manual;
    }
    else if (strcmp (range, "off") == 0)
    {
        range_check = range_check_off;
        range_mode = range_mode_manual;
    }
    else if (strcmp (range, "auto") == 0)
    {
        range_mode = range_mode_auto;
        set_type_range_case ();
        /* Avoid hitting the set_range_str call below.  We
           did it in set_type_range_case. */
        return;
    }
    else
    {
        warning ("Unrecognized range check setting: \"%s\"", range);
    }
    set_range_str ();
    show_range_command ((char *) 0, from_tty);
}
コード例 #2
0
ファイル: language.c プロジェクト: cyrilmagsuci/freebsd
/* Set command.  Change the setting for case sensitivity. */
static void
set_case_command (char *ignore, int from_tty)
{
    if (DEPRECATED_STREQ (case_sensitive, "on"))
    {
        case_sensitivity = case_sensitive_on;
        case_mode = case_mode_manual;
    }
    else if (DEPRECATED_STREQ (case_sensitive, "off"))
    {
        case_sensitivity = case_sensitive_off;
        case_mode = case_mode_manual;
    }
    else if (DEPRECATED_STREQ (case_sensitive, "auto"))
    {
        case_mode = case_mode_auto;
        set_type_range_case ();
        /* Avoid hitting the set_case_str call below.  We
           did it in set_type_range_case. */
        return;
    }
    else
    {
        warning ("Unrecognized case-sensitive setting: \"%s\"", case_sensitive);
    }
    set_case_str();
    show_case_command ((char *) NULL, from_tty);
}
コード例 #3
0
static void
set_case_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
   if (strcmp (case_sensitive, "on") == 0)
     {
       case_sensitivity = case_sensitive_on;
       case_mode = case_mode_manual;
     }
   else if (strcmp (case_sensitive, "off") == 0)
     {
       case_sensitivity = case_sensitive_off;
       case_mode = case_mode_manual;
     }
   else if (strcmp (case_sensitive, "auto") == 0)
     {
       case_mode = case_mode_auto;
       set_type_range_case ();
       return;
     }
   else
     {
       internal_error (__FILE__, __LINE__,
		       "Unrecognized case-sensitive setting: \"%s\"",
		       case_sensitive);
     }

   if (case_sensitivity != current_language->la_case_sensitivity)
     warning (_("the current case sensitivity setting does not match "
		"the language.\n"));
}
コード例 #4
0
/* Set command.  Change the setting for range checking.  */
static void
set_range_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
  if (strcmp (range, "on") == 0)
    {
      range_check = range_check_on;
      range_mode = range_mode_manual;
    }
  else if (strcmp (range, "warn") == 0)
    {
      range_check = range_check_warn;
      range_mode = range_mode_manual;
    }
  else if (strcmp (range, "off") == 0)
    {
      range_check = range_check_off;
      range_mode = range_mode_manual;
    }
  else if (strcmp (range, "auto") == 0)
    {
      range_mode = range_mode_auto;
      set_type_range_case ();
      return;
    }
  else
    {
      internal_error (__FILE__, __LINE__,
		      _("Unrecognized range check setting: \"%s\""), range);
    }
  if (range_check != current_language->la_range_check)
    warning (_("the current range check setting "
	       "does not match the language.\n"));
}
コード例 #5
0
enum language
set_language (enum language lang)
{
  int i;
  enum language prev_language;

  prev_language = current_language->la_language;

  for (i = 0; i < languages_size; i++)
    {
      if (languages[i]->la_language == lang)
	{
	  current_language = languages[i];
	  set_type_range_case ();
	  break;
	}
    }

  return prev_language;
}
コード例 #6
0
/* Set command.  Change the current working language.  */
static void
set_language_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
  int i;
  enum language flang;

  /* Search the list of languages for a match.  */
  for (i = 0; i < languages_size; i++)
    {
      if (strcmp (languages[i]->la_name, language) == 0)
	{
	  /* Found it!  Go into manual mode, and use this language.  */
	  if (languages[i]->la_language == language_auto)
	    {
	      /* Enter auto mode.  Set to the current frame's language, if
                 known, or fallback to the initial language.  */
	      language_mode = language_mode_auto;
	      flang = get_frame_language ();
	      if (flang != language_unknown)
		set_language (flang);
	      else
		set_initial_language ();
	      expected_language = current_language;
	      return;
	    }
	  else
	    {
	      /* Enter manual mode.  Set the specified language.  */
	      language_mode = language_mode_manual;
	      current_language = languages[i];
	      set_type_range_case ();
	      expected_language = current_language;
	      return;
	    }
	}
    }

  internal_error (__FILE__, __LINE__,
		  "Couldn't find language `%s' in known languages list.",
		  language);
}
コード例 #7
0
ファイル: language.c プロジェクト: cyrilmagsuci/freebsd
/* Set command.  Change the current working language. */
static void
set_language_command (char *ignore, int from_tty)
{
    int i;
    enum language flang;
    char *err_lang;

    if (!language || !language[0])
    {
        printf_unfiltered ("The currently understood settings are:\n\n");
        printf_unfiltered ("local or auto    Automatic setting based on source file\n");

        for (i = 0; i < languages_size; ++i)
        {
            /* Already dealt with these above.  */
            if (languages[i]->la_language == language_unknown
                    || languages[i]->la_language == language_auto)
                continue;

            /* FIXME for now assume that the human-readable name is just
               a capitalization of the internal name.  */
            printf_unfiltered ("%-16s Use the %c%s language\n",
                               languages[i]->la_name,
                               /* Capitalize first letter of language
                                  name.  */
                               toupper (languages[i]->la_name[0]),
                               languages[i]->la_name + 1);
        }
        /* Restore the silly string. */
        set_language (current_language->la_language);
        return;
    }

    /* Search the list of languages for a match.  */
    for (i = 0; i < languages_size; i++)
    {
        if (strcmp (languages[i]->la_name, language) == 0)
        {
            /* Found it!  Go into manual mode, and use this language.  */
            if (languages[i]->la_language == language_auto)
            {
                /* Enter auto mode.  Set to the current frame's language, if known.  */
                language_mode = language_mode_auto;
                flang = get_frame_language ();
                if (flang != language_unknown)
                    set_language (flang);
                expected_language = current_language;
                return;
            }
            else
            {
                /* Enter manual mode.  Set the specified language.  */
                language_mode = language_mode_manual;
                current_language = languages[i];
                set_type_range_case ();
                set_lang_str ();
                expected_language = current_language;
                return;
            }
        }
    }

    /* Reset the language (esp. the global string "language") to the
       correct values. */
    err_lang = savestring (language, strlen (language));
    make_cleanup (xfree, err_lang);	/* Free it after error */
    set_language (current_language->la_language);
    error ("Unknown language `%s'.", err_lang);
}