Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 74705
Collapse All | Expand All

(-)src/string.c.orig (-6 / +16 lines)
Lines 29-48 Link Here
29
{
29
{
30
  int string_index = 0, sub_index, string_len;
30
  int string_index = 0, sub_index, string_len;
31
  char sub_string[50], new_string[2048];
31
  char sub_string[50], new_string[2048];
32
  int new_len;
32
33
33
  string_len = strlen (string);
34
  string_len = strlen (string);
34
  strcpy (new_string, "");
35
  new_string[0] = 0;
36
  new_len = 0;
35
  do
37
  do
36
    {
38
    {
37
      sub_index = 0;
39
      sub_index = 0;
38
      strcpy (sub_string, "");
40
      while ((sub_index < sizeof(sub_string)-1) && (string[string_index]) && (string[string_index] != 32))
39
      while ((string[string_index]) && (string[string_index] != 32))
40
	sub_string[sub_index++] = string[string_index++];
41
	sub_string[sub_index++] = string[string_index++];
41
      sub_string[sub_index] = 0;
42
      sub_string[sub_index] = 0;
42
      if (!strcmp (sub_string, search_string))
43
      if (!strcmp (sub_string, search_string))
43
	strcpy (sub_string, replace_string);
44
	strncpy (sub_string, replace_string, 50);
44
      strcat (new_string, sub_string);
45
      sub_string[49] = 0;
45
      strcat (new_string, " ");
46
      if (new_len + sub_index >= sizeof(new_string))
47
        sub_index = sizeof(new_string) - new_len - 1;
48
      strncpy (new_string+new_len, sub_string, sub_index);
49
      new_len += sub_index;
50
      if (new_len >= sizeof(new_string)-1) {
51
        new_string[sizeof(new_string)-1] = 0;
52
        break;
53
      }
54
      new_string[new_len++] = ' ';
55
      new_string[new_len] = 0;
46
    }
56
    }
47
  while (++string_index < string_len);
57
  while (++string_index < string_len);
48
58

Return to bug 74705