gestion des noms vectorisés

This commit is contained in:
Franck Wajsburt 2002-06-26 15:26:37 +00:00
parent f8e62e019b
commit 9d2e31f22a
2 changed files with 24 additions and 2 deletions

View File

@ -18,6 +18,7 @@
# include <stdio.h> # include <stdio.h>
# include <math.h> # include <math.h>
# include <time.h> # include <time.h>
# include <string.h>
# include <sys/types.h> # include <sys/types.h>
# include <sys/time.h> # include <sys/time.h>
@ -373,6 +374,18 @@ coord_t tab[6]; /* last one reserved for text */
Frederic Petrot: 10/04/96 */ Frederic Petrot: 10/04/96 */
/* sauve uniquement les noms du premier model (le pere) 18/04/2002 FW */ /* sauve uniquement les noms du premier model (le pere) 18/04/2002 FW */
if (FIRST_MODEL && rect->NAME != NULL) { if (FIRST_MODEL && rect->NAME != NULL) {
/* on a besoin de mettre des crochets autour des index de vecteur
* 26/06/2002 FW */
char *pindex;
char buff [16000];
strncpy (buff, rect->NAME, 16000);
pindex = strchr (buff, (int)' ');
if (pindex) {
*pindex = '[';
strcat (buff,"]");
}
entete(TEXT, 0); entete(TEXT, 0);
entete(LAYER0, sizeof(short)); entete(LAYER0, sizeof(short));
@ -390,14 +403,14 @@ coord_t tab[6]; /* last one reserved for text */
numb = fwrite((char *)&tab[5], sizeof(coord_t), 1, fp); numb = fwrite((char *)&tab[5], sizeof(coord_t), 1, fp);
controle(1); controle(1);
numb = strlen(rect->NAME); numb = strlen(buff);
if ((numb % 2) != 0) { if ((numb % 2) != 0) {
numb += 1; numb += 1;
bool = TRUE; bool = TRUE;
} }
entete(STRING, numb * sizeof(char)); entete(STRING, numb * sizeof(char));
if (fputs(rect->NAME, fp) < 0) { if (fputs(buff, fp) < 0) {
pv_init_error(); pv_init_error();
pv_error.v_error = ENOSPACE; pv_error.v_error = ENOSPACE;
(void)fclose(fp); (void)fclose(fp);

View File

@ -1166,8 +1166,17 @@ rdsrec_list *Rec;
pv_emet_warning(Figure->NAME, "Unconnected node :", poubelle); pv_emet_warning(Figure->NAME, "Unconnected node :", poubelle);
} }
else else
{
/* mise au format des vecteurs : on retire les crochets */
char * pcrochet = strchr (ScanNode->NAME,'[');
if (pcrochet)
*pcrochet = ' ';
pcrochet = strchr (ScanNode->NAME,']');
if (pcrochet)
*pcrochet = '\0';
Rec->NAME = ScanNode->NAME; Rec->NAME = ScanNode->NAME;
} }
}
GdsFreeNode(); GdsFreeNode();
applyrdsmode(Figure, Mode); applyrdsmode(Figure, Mode);