summaryrefslogtreecommitdiffstats
path: root/devel/anjuta/files/patch-plugins_document-manager_anjuta-docman.c
blob: ab81e8f058a34333f7939bbf4f8845b22326a34f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
--- plugins/document-manager/anjuta-docman.c.orig   Sun Jul  8 03:12:10 2007
+++ plugins/document-manager/anjuta-docman.c    Sun Jul  8 03:20:22 2007
@@ -902,6 +902,7 @@ anjuta_docman_goto_file_line_mark (Anjut
    const gchar *linenum;
    glong lineno;
    gboolean is_local_uri;
+   gchar normalized_path_buf[PATH_MAX];
    gchar *normalized_path = NULL;
    
    IAnjutaEditor *te;
@@ -926,9 +927,9 @@ anjuta_docman_goto_file_line_mark (Anjut
    /* Get the normalized file path for comparision */
    is_local_uri = gnome_vfs_uri_is_local (vfs_uri);
    if (is_local_uri)
-       normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri), NULL);
+       normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri), normalized_path_buf);
    if (normalized_path == NULL)
-       normalized_path = g_strdup (uri);
+       (void) strlcpy (normalized_path, uri, PATH_MAX);
    
    gnome_vfs_uri_unref (vfs_uri);
    /* g_free(filename); */
@@ -942,6 +943,7 @@ anjuta_docman_goto_file_line_mark (Anjut
        AnjutaDocmanPage *page;
        gboolean te_is_local_uri;
        gchar *te_uri;
+       char te_normalized_path_buf[PATH_MAX];
        gchar *te_normalized_path = NULL;
        
        page = (AnjutaDocmanPage *) node->data;
@@ -959,9 +961,9 @@ anjuta_docman_goto_file_line_mark (Anjut
        te_is_local_uri = gnome_vfs_uri_is_local (vfs_uri);
        if (te_is_local_uri)
            te_normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri),
-                                          NULL);
+                                          te_normalized_path_buf);
        if (te_normalized_path == NULL)
-           te_normalized_path = g_strdup (te_uri);
+           (void) strlcpy (te_normalized_path, te_uri, PATH_MAX);
        gnome_vfs_uri_unref (vfs_uri);
        
        if (strcmp (normalized_path, te_normalized_path) == 0)
@@ -982,12 +984,9 @@ anjuta_docman_goto_file_line_mark (Anjut
            an_file_history_push (te_uri, lineno);
            g_free (uri);
            g_free (te_uri);
-           g_free (normalized_path);
-           g_free (te_normalized_path);
            return te;
        }
        g_free (te_uri);
-       g_free (te_normalized_path);
        node = g_list_next (node);
    }
    te = anjuta_docman_add_editor (docman, uri, NULL);
@@ -1006,7 +1005,6 @@ anjuta_docman_goto_file_line_mark (Anjut
        }
    }
    g_free (uri);
-   g_free (normalized_path);
    return te ;
 }