/[xlog]/xlog/src/utils.c
ViewVC logotype

Diff of /xlog/src/utils.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.38 by pa4tu, Thu Feb 24 15:25:55 2005 UTC revision 1.39 by pa4tu, Fri Feb 25 10:42:05 2005 UTC
# Line 302  save_windowsize_and_cleanup (void) Line 302  save_windowsize_and_cleanup (void)
302          {          {
303                  preferences.viewb4 = 0;                  preferences.viewb4 = 0;
304                  preferences.b4x = 10;                  preferences.b4x = 10;
305          preferences.b4y = 30;          preferences.b4y = 30;
306          preferences.b4width = 500;          preferences.b4width = 500;
307          preferences.b4height = 300;          preferences.b4height = 300;
308          }          }
309    
310          hpaned = lookup_widget (mainwindow, "hpaned");          hpaned = lookup_widget (mainwindow, "hpaned");
# Line 752  fileexist (gchar * path) Line 752  fileexist (gchar * path)
752                  return (FALSE);                  return (FALSE);
753  }  }
754    
 static gchar *  
 strshift (gchar * str, size_t shift)  
 {  
   gchar *start, *stop;  
   
   start = str;  
   stop = str + strlen (str);  
   memmove (start + shift, start, stop - start + 1);  
   
   return (str + shift);  
 }  
   
   
755  gchar *  gchar *
756  my_strreplace (gchar * str, const gchar * from, const gchar * to)  my_strreplace(const char *str, const char *delimiter, const char *replacement)
757  {  {
758    gint tolen, fromlen, shift;          gchar **split;
759    gchar *start, *stop, *p;          gchar *ret;
760    
761            g_return_val_if_fail (str != NULL, NULL);
762            g_return_val_if_fail (delimiter != NULL, NULL);
763            g_return_val_if_fail (replacement != NULL, NULL);
764    
765    tolen = strlen (to);          split = g_strsplit (str, delimiter, 0);
766    fromlen = strlen (from);          ret = g_strjoinv (replacement, split);
767    shift = tolen - fromlen;          g_strfreev (split);
   start = str;  
   stop = str + strlen (str);  
   
   while (NULL != (p = strstr (start, from)))  
     {  
       start = strshift (p + fromlen, shift);  
       stop = stop + shift;  
       memmove (p, to, tolen);  
     }  
768    
769    return str;          return ret;
770  }  }

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26