浏览代码

marisn: Show readable vector layer name instead of garbage introduced
by https://trac.osgeo.org/grass/changeset/32202
(merge from devbr6, https://trac.osgeo.org/grass/changeset/34006)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@34007 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 16 年之前
父节点
当前提交
bee2ba14fd
共有 4 个文件被更改,包括 14 次插入14 次删除
  1. 2 2
      include/ogsf_proto.h
  2. 3 3
      lib/ogsf/GP2.c
  3. 3 3
      lib/ogsf/GV2.c
  4. 6 6
      visualization/nviz/src/map_obj.c

+ 2 - 2
include/ogsf_proto.h

@@ -60,7 +60,7 @@ int GP_num_sites(void);
 int *GP_get_site_list(int *);
 int GP_delete_site(int);
 int GP_load_site(int, const char *);
-int GP_get_sitename(int, char *);
+int GP_get_sitename(int, char **);
 int GP_get_sitemode(int, int *, int *, int *, float *, int *);
 int GP_set_sitemode(int, int, int, int, float, int);
 int GP_attmode_color(int, const char *);
@@ -233,7 +233,7 @@ int GV_num_vects(void);
 int *GV_get_vect_list(int *);
 int GV_delete_vector(int);
 int GV_load_vector(int, const char *);
-int GV_get_vectname(int, char *);
+int GV_get_vectname(int, char **);
 int GV_set_vectmode(int, int, int, int, int);
 int GV_get_vectmode(int, int *, int *, int *, int *);
 void GV_set_trans(int, float, float, float);

+ 3 - 3
lib/ogsf/GP2.c

@@ -200,12 +200,12 @@ int GP_load_site(int id, const char *filename)
    Note: char array is allocated by G_store()
 
    \param id point set id
-   \param[out] filename point set filename
+   \param[out] &filename point set filename
 
    \return -1 on error (point set not found)
    \return 1 on success
  */
-int GP_get_sitename(int id, char *filename)
+int GP_get_sitename(int id, char **filename)
 {
     geosite *gp;
 
@@ -213,7 +213,7 @@ int GP_get_sitename(int id, char *filename)
 	return (-1);
     }
 
-    filename = G_store(gp->filename);
+    *filename = G_store(gp->filename);
 
     return (1);
 }

+ 3 - 3
lib/ogsf/GV2.c

@@ -198,12 +198,12 @@ int GV_load_vector(int id, const char *filename)
    Note: char array is allocated by G_store()
 
    \param id vector set id
-   \param filename filename
+   \param filename &filename
 
    \return -1 on error (invalid vector set id)
    \return 1 on success
  */
-int GV_get_vectname(int id, char *filename)
+int GV_get_vectname(int id, char **filename)
 {
     geovect *gv;
 
@@ -211,7 +211,7 @@ int GV_get_vectname(int id, char *filename)
 	return (-1);
     }
 
-    filename = G_store(gv->filename);
+    *filename = G_store(gv->filename);
 
     return (1);
 }

+ 6 - 6
visualization/nviz/src/map_obj.c

@@ -1584,7 +1584,7 @@ int get_att(int id, int type, Nv_data * data, Tcl_Interp * interp, int argc,
 
     case VECT:{
 	    int mem, color, width, flat;
-	    char temp[128];
+	    char temp[128], *tempname;
 
 	    GV_get_vectmode(id, &mem, &color, &width, &flat);
 	    switch (sv_att_atoi(argv[2])) {
@@ -1600,8 +1600,8 @@ int get_att(int id, int type, Nv_data * data, Tcl_Interp * interp, int argc,
 		Tcl_SetResult(interp, temp, TCL_VOLATILE);
 		break;
 	    case SV_ATT_MAP:
-		GV_get_vectname(id, temp);
-		Tcl_SetResult(interp, temp, TCL_VOLATILE);
+		GV_get_vectname(id, &tempname);
+		Tcl_SetResult(interp, tempname, TCL_VOLATILE);
 		break;
 	    }
 	}
@@ -1610,7 +1610,7 @@ int get_att(int id, int type, Nv_data * data, Tcl_Interp * interp, int argc,
     case SITE:{
 	    int atmod, color, width, marker, use_z;
 	    float size;
-	    char temp[128];
+	    char temp[128], *tempname;
 
 	    GP_get_sitemode(id, &atmod, &color, &width, &size, &marker);
 	    GP_get_zmode(id, &use_z);
@@ -1669,8 +1669,8 @@ int get_att(int id, int type, Nv_data * data, Tcl_Interp * interp, int argc,
 
 		break;
 	    case SV_ATT_MAP:
-		GP_get_sitename(id, temp);
-		Tcl_SetResult(interp, temp, TCL_VOLATILE);
+		GP_get_sitename(id, &tempname);
+		Tcl_SetResult(interp, tempname, TCL_VOLATILE);
 		break;
 	    }
 	}