--- GDSpath.c.orig 1999-04-07 22:39:45.000000000 -0700 +++ GDSpath.c 2004-11-23 10:19:08.000000000 -0800 @@ -310,7 +310,7 @@ GDSreadPath(int gdsfildes, GDSstruct *structptr) { unsigned char *record; - int i, nbytes, layerno; + int i, nbytes, layerno, datatype; layer *layerptr; GDScell *newcell; pathEl *pathptr; @@ -353,6 +353,7 @@ fprintf(stderr, "Missing DATATYPE field in PATH element. Abort!\n"); /* exit(1); */ } + datatype = GDSreadInt2(record + 2); FREE(record); if(GDSreadRecord(gdsfildes, &record, &nbytes) != PATHTYPE) @@ -411,8 +412,8 @@ } FREE(record); - fprintf(stdout, "Path on layer %d of type %d with width = %d:\n", - layerno, pathptr->pathtype, pathptr->width); + fprintf(stdout, "Path on layer %d (datatype %d) of type %d with width = %d:\n", + layerno, datatype, pathptr->pathtype, pathptr->width); for(i = 0; i < pathptr->numpoints; i++) fprintf(stdout, "point[%d] = %d %d\n", i, (pathptr->points[i]).x, (pathptr->points[i]).y);