Fixed a bug for message #12, comming from sci_f_optim.
[scilab.git] / scilab / modules / output_stream / src / c / msgs.c
1
2 /*
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA - Allan CORNET
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 #include <string.h>
15 #include "warningmode.h"
16 #include "sciprint.h"
17 #include "stack-def.h" /* C2F(cha1) */
18 #include "stack-c.h" /* Fin */
19 #include "MALLOC.h"
20 #include "msgs.h"
21 #include "localization.h"
22 #include "cvstr.h"
23 #include "error.h"
24 /*--------------------------------------------------------------------------*/
25 #ifdef BUF
26 #undef BUF
27 #endif
28 #define BUF C2F(cha1).buf
29 /*--------------------------------------------------------------------------*/
30 extern int C2F(showstack)(void);
31 /*--------------------------------------------------------------------------*/
32 static int msg_1(integer *n, integer *ierr);
33 static int msg_2(integer *n, integer *ierr);
34 static int msg_3(integer *n, integer *ierr);
35 static int msg_4(integer *n, integer *ierr);
36 static int msg_5(integer *n, integer *ierr);
37 static int msg_6(integer *n, integer *ierr);
38 static int msg_7(integer *n, integer *ierr);
39 static int msg_8(integer *n, integer *ierr);
40 static int msg_9(integer *n, integer *ierr);
41 static int msg_10(integer *n, integer *ierr);
42 static int msg_11(integer *n, integer *ierr);
43 static int msg_12(integer *n, integer *ierr);
44 static int msg_13(integer *n, integer *ierr);
45 static int msg_14(integer *n, integer *ierr);
46 static int msg_15(integer *n, integer *ierr);
47 static int msg_16(integer *n, integer *ierr);
48 static int msg_17(integer *n, integer *ierr);
49 static int msg_18(integer *n, integer *ierr);
50 static int msg_19(integer *n, integer *ierr);
51 static int msg_20(integer *n, integer *ierr);
52 static int msg_21(integer *n, integer *ierr);
53 static int msg_22(integer *n, integer *ierr);
54 static int msg_23(integer *n, integer *ierr);
55 static int msg_24(integer *n, integer *ierr);
56 static int msg_25(integer *n, integer *ierr);
57 static int msg_26(integer *n, integer *ierr);
58 static int msg_27(integer *n, integer *ierr);
59 static int msg_28(integer *n, integer *ierr);
60 static int msg_29(integer *n, integer *ierr);
61 static int msg_30(integer *n, integer *ierr);
62 static int msg_31(integer *n, integer *ierr);
63 static int msg_32(integer *n, integer *ierr);
64 static int msg_33(integer *n, integer *ierr);
65 static int msg_34(integer *n, integer *ierr);
66 static int msg_35(integer *n, integer *ierr);
67 static int msg_36(integer *n, integer *ierr);
68 static int msg_37(integer *n, integer *ierr);
69 static int msg_38(integer *n, integer *ierr);
70 static int msg_39(integer *n, integer *ierr);
71 static int msg_40(integer *n, integer *ierr);
72 static int msg_41(integer *n, integer *ierr);
73 static int msg_42(integer *n, integer *ierr);
74 static int msg_43(integer *n, integer *ierr);
75 static int msg_44(integer *n, integer *ierr);
76 static int msg_45(integer *n, integer *ierr);
77 static int msg_46(integer *n, integer *ierr);
78 static int msg_47(integer *n, integer *ierr);
79 static int msg_48(integer *n, integer *ierr);
80 static int msg_49(integer *n, integer *ierr);
81 static int msg_50(integer *n, integer *ierr);
82 static int msg_51(integer *n, integer *ierr);
83 static int msg_52(integer *n, integer *ierr);
84 static int msg_53(integer *n, integer *ierr);
85 static int msg_54(integer *n, integer *ierr);
86 static int msg_55(integer *n, integer *ierr);
87 static int msg_56(integer *n, integer *ierr);
88 static int msg_57(integer *n, integer *ierr);
89 static int msg_58(integer *n, integer *ierr);
90 static int msg_59(integer *n, integer *ierr);
91 static int msg_60(integer *n, integer *ierr);
92 static int msg_61(integer *n, integer *ierr);
93 static int msg_62(integer *n, integer *ierr);
94 static int msg_63(integer *n, integer *ierr);
95 static int msg_64(integer *n, integer *ierr);
96 static int msg_65(integer *n, integer *ierr);
97 static int msg_66(integer *n, integer *ierr);
98 static int msg_67(integer *n, integer *ierr);
99 static int msg_68(integer *n, integer *ierr);
100 static int msg_69(integer *n, integer *ierr);
101 static int msg_70(integer *n, integer *ierr);
102 static int msg_71(integer *n, integer *ierr);
103 static int msg_72(integer *n, integer *ierr);
104 static int msg_73(integer *n, integer *ierr);
105 static int msg_74(integer *n, integer *ierr);
106 static int msg_75(integer *n, integer *ierr);
107 static int msg_76(integer *n, integer *ierr);
108 static int msg_77(integer *n, integer *ierr);
109 static int msg_78(integer *n, integer *ierr);
110 static int msg_79(integer *n, integer *ierr);
111 static int msg_80(integer *n, integer *ierr);
112 static int msg_81(integer *n, integer *ierr);
113 static int msg_82(integer *n, integer *ierr);
114 static int msg_83(integer *n, integer *ierr);
115 static int msg_84(integer *n, integer *ierr);
116 static int msg_85(integer *n, integer *ierr);
117 static int msg_86(integer *n, integer *ierr);
118 static int msg_87(integer *n, integer *ierr);
119 static int msg_88(integer *n, integer *ierr);
120 static int msg_89(integer *n, integer *ierr);
121 static int msg_90(integer *n, integer *ierr);
122 static int msg_91(integer *n, integer *ierr);
123 static int msg_92(integer *n, integer *ierr);
124 static int msg_93(integer *n, integer *ierr);
125 static int msg_94(integer *n, integer *ierr);
126 static int msg_95(integer *n, integer *ierr);
127 static int msg_96(integer *n, integer *ierr);
128 static int msg_97(integer *n, integer *ierr);
129 static int msg_98(integer *n, integer *ierr);
130 static int msg_99(integer *n, integer *ierr);
131 static int msg_100(integer *n, integer *ierr);
132 static int msg_101(integer *n, integer *ierr);
133 static int msg_102(integer *n, integer *ierr);
134 static int msg_103(integer *n, integer *ierr);
135 static int msg_104(integer *n, integer *ierr);
136 static int msg_105(integer *n, integer *ierr);
137 static int msg_106(integer *n, integer *ierr);
138 static int msg_107(integer *n, integer *ierr);
139 static int msg_108(integer *n, integer *ierr);
140 static int msg_109(integer *n, integer *ierr);
141 static int msg_110(integer *n, integer *ierr);
142 static int msg_default(integer *n, integer *ierr);
143 /*--------------------------------------------------------------------------*/
144 int C2F(msgs)(integer *n, integer *ierr)
145 {
146         if ( getWarningMode() )
147         {
148                 switch (*n)
149                 {
150                 case 1:
151                         msg_1(n,ierr);
152                         break;
153                 case 2:
154                         msg_2(n,ierr);
155                         break;
156                 case 3:
157                         msg_3(n,ierr);
158                         break;
159                 case 4:
160                         msg_4(n,ierr);
161                         break;
162                 case 5:
163                         msg_5(n,ierr);
164                         break;
165                 case 6:
166                         msg_6(n,ierr);
167                         break;
168                 case 7:
169                         msg_7(n,ierr);
170                         break;
171                 case 8:
172                         msg_8(n,ierr);
173                         break;
174                 case 9:
175                         msg_9(n,ierr);
176                         break;
177                 case 10:
178                         msg_10(n,ierr);
179                         break;
180                 case 11:
181                         msg_11(n,ierr);
182                         break;
183                 case 12:
184                         msg_12(n,ierr);
185                         break;
186                 case 13:
187                         msg_13(n,ierr);
188                         break;
189                 case 14:
190                         msg_14(n,ierr);
191                         break;
192                 case 15:
193                         msg_15(n,ierr);
194                         break;
195                 case 16:
196                         msg_16(n,ierr);
197                         break;
198                 case 17:
199                         msg_17(n,ierr);
200                         break;
201                 case 18:
202                         msg_18(n,ierr);
203                         break;
204                 case 19:
205                         msg_19(n,ierr);
206                         break;
207                 case 20:
208                         msg_20(n,ierr);
209                         break;
210                 case 21:
211                         msg_21(n,ierr);
212                         break;
213                 case 22:
214                         msg_22(n,ierr);
215                         break;
216                 case 23:
217                         msg_23(n,ierr);
218                         break;
219                 case 24:
220                         msg_24(n,ierr);
221                         break;
222                 case 25:
223                         msg_25(n,ierr);
224                         break;
225                 case 26:
226                         msg_26(n,ierr);
227                         break;
228                 case 27:
229                         msg_27(n,ierr);
230                         break;
231                 case 28:
232                         msg_28(n,ierr);
233                         break;
234                 case 29:
235                         msg_29(n,ierr);
236                         break;
237                 case 30:
238                         msg_30(n,ierr);
239                         break;
240                 case 31:
241                         msg_31(n,ierr);
242                         break;
243                 case 32:
244                         msg_32(n,ierr);
245                         break;
246                 case 33:
247                         msg_33(n,ierr);
248                         break;
249                 case 34:
250                         msg_34(n,ierr);
251                         break;
252                 case 35:
253                         msg_35(n,ierr);
254                         break;
255                 case 36:
256                         msg_36(n,ierr);
257                         break;
258                 case 37:
259                         msg_37(n,ierr);
260                         break;
261                 case 38:
262                         msg_38(n,ierr);
263                         break;
264                 case 39:
265                         msg_39(n,ierr);
266                         break;
267                 case 40:
268                         msg_40(n,ierr);
269                         break;
270                 case 41:
271                         msg_41(n,ierr);
272                         break;
273                 case 42:
274                         msg_42(n,ierr);
275                         break;
276                 case 43:
277                         msg_43(n,ierr);
278                         break;
279                 case 44:
280                         msg_44(n,ierr);
281                         break;
282                 case 45:
283                         msg_45(n,ierr);
284                         break;
285                 case 46:
286                         msg_46(n,ierr);
287                         break;
288                 case 47:
289                         msg_47(n,ierr);
290                         break;
291                 case 48:
292                         msg_48(n,ierr);
293                         break;
294                 case 49:
295                         msg_49(n,ierr);
296                         break;
297                 case 50:
298                         msg_50(n,ierr);
299                         break;
300                 case 51:
301                         msg_51(n,ierr);
302                         break;
303                 case 52:
304                         msg_52(n,ierr);
305                         break;
306                 case 53:
307                         msg_53(n,ierr);
308                         break;
309                 case 54:
310                         msg_54(n,ierr);
311                         break;
312                 case 55:
313                         msg_55(n,ierr);
314                         break;
315                 case 56:
316                         msg_56(n,ierr);
317                         break;
318                 case 57:
319                         msg_57(n,ierr);
320                         break;
321                 case 58:
322                         msg_58(n,ierr);
323                         break;
324                 case 59:
325                         msg_59(n,ierr);
326                         break;
327                 case 60:
328                         msg_60(n,ierr);
329                         break;
330                 case 61:
331                         msg_61(n,ierr);
332                         break;
333                 case 62:
334                         msg_62(n,ierr);
335                         break;
336                 case 63:
337                         msg_63(n,ierr);
338                         break;
339                 case 64:
340                         msg_64(n,ierr);
341                         break;
342                 case 65:
343                         msg_65(n,ierr);
344                         break;
345                 case 66:
346                         msg_66(n,ierr);
347                         break;
348                 case 67:
349                         msg_67(n,ierr);
350                         break;
351                 case 68:
352                         msg_68(n,ierr);
353                         break;
354                 case 69:
355                         msg_69(n,ierr);
356                         break;
357                 case 70:
358                         msg_70(n,ierr);
359                         break;
360                 case 71:
361                         msg_71(n,ierr);
362                         break;
363                 case 72:
364                         msg_72(n,ierr);
365                         break;
366                 case 73:
367                         msg_73(n,ierr);
368                         break;
369                 case 74:
370                         msg_74(n,ierr);
371                         break;
372                 case 75:
373                         msg_75(n,ierr);
374                         break;
375                 case 76:
376                         msg_76(n,ierr);
377                         break;
378                 case 77:
379                         msg_77(n,ierr);
380                         break;
381                 case 78:
382                         msg_78(n,ierr);
383                         break;
384                 case 79:
385                         msg_79(n,ierr);
386                         break;
387                 case 80:
388                         msg_80(n,ierr);
389                         break;
390                 case 81:
391                         msg_81(n,ierr);
392                         break;
393                 case 82:
394                         msg_82(n,ierr);
395                         break;
396                 case 83:
397                         msg_83(n,ierr);
398                         break;
399                 case 84:
400                         msg_84(n,ierr);
401                         break;
402                 case 85:
403                         msg_85(n,ierr);
404                         break;
405                 case 86:
406                         msg_86(n,ierr);
407                         break;
408                 case 87:
409                         msg_87(n,ierr);
410                         break;
411                 case 88:
412                         msg_88(n,ierr);
413                         break;
414                 case 89:
415                         msg_89(n,ierr);
416                         break;
417                 case 90:
418                         msg_90(n,ierr);
419                         break;
420                 case 91:
421                         msg_91(n,ierr);
422                         break;
423                 case 92:
424                         msg_92(n,ierr);
425                         break;
426                 case 93:
427                         msg_93(n,ierr);
428                         break;
429                 case 94:
430                         msg_94(n,ierr);
431                         break;
432                 case 95:
433                         msg_95(n,ierr);
434                         break;
435                 case 96:
436                         msg_96(n,ierr);
437                         break;
438                 case 97:
439                         msg_97(n,ierr);
440                         break;
441                 case 98:
442                         msg_98(n,ierr);
443                         break;
444                 case 99:
445                         msg_99(n,ierr);
446                         break;
447                 case 100:
448                         msg_100(n,ierr);
449                         break;
450                 case 101:
451                         msg_101(n,ierr);
452                         break;
453                 case 102:
454                         msg_102(n,ierr);
455                         break;
456                 case 103:
457                         msg_103(n,ierr);
458                         break;
459                 case 104:
460                         msg_104(n,ierr);
461                         break;
462                 case 105:
463                         msg_105(n,ierr);
464                         break;
465                 case 106:
466                         msg_106(n,ierr);
467                         break;
468                 case 107:
469                         msg_107(n,ierr);
470                         break;
471                 case 108:
472                         msg_108(n,ierr);
473                         break;
474                 case 109:
475                         msg_109(n,ierr);
476                         break;
477                 case 110:
478                         msg_110(n,ierr);
479                         break;
480                 default:
481                         msg_default(n,ierr);
482                         break;
483                 }
484         }
485         sciprint("\n");
486         return 0;
487 }
488 /*--------------------------------------------------------------------------*/
489 static int msg_1(integer *n, integer *ierr)
490 {
491         sciprint(_("Warning :\n"));
492         sciprint(_("Non convergence in the QZ algorithm.\n"));
493         if (*ierr > 0)
494         {
495                 sciprint(_("The top %d  x %d blocks may not be in generalized Schur form.\n"),*ierr);
496         }
497         return 0;
498 }
499 /*--------------------------------------------------------------------------*/
500 static int msg_2(integer *n, integer *ierr)
501 {
502         sciprint(_("Warning :\n"));
503         sciprint(_("Non convergence in QR steps.\n"));
504
505         if (*ierr > 0)
506         {
507                 sciprint(_("The top %d x %d block may not be in Schur form.\n"),*ierr);
508         }
509         return 0;
510 }
511 /*--------------------------------------------------------------------------*/
512 static int msg_3(integer *n, integer *ierr)
513 {
514         sciprint(_("Warning :\n"));
515         sciprint(_("Non convergence in QR steps.\n"));
516         if (*ierr > 0)
517         {
518                 sciprint(_("The first %d singular values may be incorrect.\n"),*ierr);
519         }
520         return 0;
521 }
522 /*--------------------------------------------------------------------------*/
523 static int msg_4(integer *n, integer *ierr)
524 {
525         sciprint(_("Warning:  Result may be inaccurate.\n"));
526         return 0;
527 }
528 /*--------------------------------------------------------------------------*/
529 static int msg_5(integer *n, integer *ierr)
530 {
531         char localbuf[14];
532         strncpy(localbuf,BUF,13); // 0>12
533         localbuf[13]='\0';
534         sciprint(_("Warning :\n"));
535         sciprint(_("matrix is close to singular or badly scaled. rcond = %s\n"),localbuf);
536
537         if (*ierr > 0)
538         {
539                 sciprint(_("computing least squares solution. (see lsq).\n"));
540         }
541         return 0;
542 }
543 /*--------------------------------------------------------------------------*/
544 static int msg_6(integer *n, integer *ierr)
545 {
546         char localbuf[14];
547         strncpy(localbuf,BUF,13); // 0>12
548         localbuf[13]='\0';
549         sciprint(_("Warning :\n"));
550         sciprint(_("eigenvectors are badly conditioned.\n"));
551         sciprint(_("results may be inaccurate. rcond = %s\n"),localbuf);
552         return 0;
553 }
554 /*--------------------------------------------------------------------------*/
555 static int msg_7(integer *n, integer *ierr)
556 {
557         sciprint(_("Warning: obsolete use of '=' instead of '=='.\n"));
558         C2F(showstack)();
559         return 0;
560 }
561 /*--------------------------------------------------------------------------*/
562 static int msg_8(integer *n, integer *ierr)
563 {
564         sciprint(_("Warning: obsolete use of eye rand or ones.\n"));
565         C2F(showstack)();
566         return 0;
567 }
568 /*--------------------------------------------------------------------------*/
569 static int msg_9(integer *n, integer *ierr)
570 {
571         sciprint(_("Rank defficient. rank = %d\n"),*ierr);
572         return 0;
573 }
574 /*--------------------------------------------------------------------------*/
575 static int msg_10(integer *n, integer *ierr)
576 {
577         sciprint("\n");
578         return 0;
579 }
580 /*--------------------------------------------------------------------------*/
581 static int msg_11(integer *n, integer *ierr)
582 {
583         sciprint(_("Quapro encounters cycles on degenerate point.\n"));
584         return 0;
585 }
586 /*--------------------------------------------------------------------------*/
587 static int msg_12(integer *n, integer *ierr)
588 {
589         // Copy BUF (src, with size 4096) into localbuf (dest, with size 16)
590         // man strncpy :
591         // "Thus, if there is no null byte among the first n bytes of src, the result will not be null-terminated."
592         // Obviously, the src string does not contain \0, since it comes from Fortran.
593         char localbuf[16];// 0>15
594         strncpy(localbuf,BUF,15);// 0>14
595         localbuf[15]='\0';
596         sciprint(_("Norm of projected gradient lower than %s.\n"),localbuf);
597         return 0;
598 }
599 /*--------------------------------------------------------------------------*/
600 static int msg_13(integer *n, integer *ierr)
601 {
602         // Same comment as for msg_12
603         char localbuf[16];
604         strncpy(localbuf,BUF,15);
605         localbuf[15]='\0';
606         sciprint(_("at last iteration f decreases by less than %s.\n"),localbuf);
607         return 0;
608 }
609 /*--------------------------------------------------------------------------*/
610 static int msg_14(integer *n, integer *ierr)
611 {
612         sciprint(_("Optimization stops because too small variations for x.\n"));
613         return 0;
614 }
615 /*--------------------------------------------------------------------------*/
616 static int msg_15(integer *n, integer *ierr)
617 {
618         sciprint(_("Optim stops: maximum number of calls to f is reached.\n"));
619         return 0;
620 }
621 /*--------------------------------------------------------------------------*/
622 static int msg_16(integer *n, integer *ierr)
623 {
624         sciprint(_("Optim stops: maximum number of iterations is reached.\n"));
625         return 0;
626 }
627 /*--------------------------------------------------------------------------*/
628 static int msg_17(integer *n, integer *ierr)
629 {
630         sciprint(_("Optim stops: too small variations in gradient direction.\n"));
631         return 0;
632 }
633 /*--------------------------------------------------------------------------*/
634 static int msg_18(integer *n, integer *ierr)
635 {
636         sciprint(_("Stop during calculation of descent direction.\n"));
637         return 0;
638 }
639 /*--------------------------------------------------------------------------*/
640 static int msg_19(integer *n, integer *ierr)
641 {
642         sciprint(_("Stop during calculation of estimated hessian.\n"));
643         return 0;
644 }
645 /*--------------------------------------------------------------------------*/
646 static int msg_20(integer *n, integer *ierr)
647 {
648         sciprint(_("End of optimization.\n"));
649         return 0;
650 }
651 /*--------------------------------------------------------------------------*/
652 static int msg_21(integer *n, integer *ierr)
653 {
654         sciprint(_("End of optimization (linear search fails).\n"));
655         return 0;
656 }
657 /*--------------------------------------------------------------------------*/
658 static int msg_22(integer *n, integer *ierr)
659 {
660         char localbuf[5];
661         strncpy(localbuf,BUF,4);
662         sciprint(_("sfact : uncomplete convergence relative precision reached : 10**(%s).\n"),localbuf);
663         return 0;
664 }
665 /*--------------------------------------------------------------------------*/
666 static int msg_23(integer *n, integer *ierr)
667 {
668         sciprint(_("Help file inconsistent...\n"));
669         return 0;
670 }
671 /*--------------------------------------------------------------------------*/
672 static int msg_24(integer *n, integer *ierr)
673 {
674         char *localbuf=NULL;
675         if (*ierr >0)
676         {
677                 localbuf=(char*)MALLOC(sizeof(char)*(*ierr +1));
678                 strncpy(localbuf,BUF,*ierr);
679                 sciprint(_("Functions files location : %s.\n"),localbuf);
680                 if (localbuf) {FREE(localbuf);localbuf=NULL;}
681         }
682         return 0;
683 }
684 /*--------------------------------------------------------------------------*/
685 static int msg_25(integer *n, integer *ierr)
686 {
687         char *localbuf=NULL;
688         if (*ierr >0)
689         {
690                 localbuf=(char*)MALLOC(sizeof(char)*(*ierr +1));
691                 strncpy(localbuf,BUF,*ierr);
692                 sciprint("    : %s.\n",localbuf);
693                 if (localbuf) {FREE(localbuf);localbuf=NULL;}
694         }
695         return 0;
696 }
697 /*--------------------------------------------------------------------------*/
698 static int msg_26(integer *n, integer *ierr)
699 {
700         sciprint(_("Pause mode: enter empty lines to continue.\n"));
701         return 0;
702 }
703 /*--------------------------------------------------------------------------*/
704 static int msg_27(integer *n, integer *ierr)
705 {
706         char localbuf[nlgh+1];
707         strncpy(localbuf,BUF,nlgh-1);
708         localbuf[nlgh-1]='\0';
709         sciprint(_("Breakpoints of function : %s\n"),localbuf);
710         return 0;
711 }
712 /*--------------------------------------------------------------------------*/
713 static int msg_28(integer *n, integer *ierr)
714 {
715         char localbuf[4];
716         localbuf[0]=BUF[10];
717         localbuf[1]=BUF[11];
718         localbuf[2]=BUF[12];
719         localbuf[3]='\0';
720         sciprint(_("The top %d  x %d blocks may not be in generalized Schur form.\n"),localbuf);
721         return 0;
722 }
723 /*--------------------------------------------------------------------------*/
724 static int msg_29(integer *n, integer *ierr)
725 {
726         char localbuf[nlgh+1];
727         strncpy(localbuf,BUF,nlgh);
728         sciprint(_("The top %d  x %d blocks may not be in generalized Schur form.\n"),localbuf);
729         return 0;
730 }
731 /*--------------------------------------------------------------------------*/
732 static int msg_30(integer *n, integer *ierr)
733 {
734         sciprint(_("Warning: recursion problem..., cleared.\n"));
735         return 0;
736 }
737 /*--------------------------------------------------------------------------*/
738 static int msg_31(integer *n, integer *ierr)
739 {
740     /*int cerr=-1;*/
741         sciprint(_("Warning: stack problem..., cleared.\n"));
742         /*Error(cerr);*/
743         return 0;
744 }
745 /*--------------------------------------------------------------------------*/
746 static int msg_32(integer *n, integer *ierr)
747 {
748         char localbuf1[nsiz];
749         char localbuf2[nlgh];
750         int l=nlgh+1;
751
752         strncpy(localbuf1,&BUF[nlgh+1],5);
753         localbuf1[5]='\0';
754         do 
755         {
756                 --l;
757         } while(BUF[l-1]==' ');
758         
759         strncpy(localbuf2,BUF,l);
760         localbuf2[l]='\0';
761         sciprint(_("Stop after row %s in function %s.\n"),localbuf1,localbuf2);
762         return 0;
763 }
764 /*--------------------------------------------------------------------------*/
765 static int msg_33(integer *n, integer *ierr)
766 {
767         char *localbuf=NULL;
768         integer nreal=0;
769         integer one = 1;
770         nreal = C2F(iop).lpt[3] - C2F(iop).lpt[2];
771         C2F(cvstr)(&nreal, &C2F(iop).lin[C2F(iop).lpt[2] - 2], BUF, &one, (long int)bsiz);
772
773         localbuf=(char*)MALLOC(sizeof(char)*(nreal +1));
774         strncpy(localbuf,BUF,nreal);
775         localbuf[nreal]='\0';
776         sciprint(_("Warning :\n"));
777         sciprint(_("The identifier : %s\n"),localbuf);
778         localbuf[nlgh]='\0';
779         sciprint(_(" has been truncated to: %s.\n"),localbuf);
780         if (localbuf) {FREE(localbuf);localbuf=NULL;}
781         return 0;
782 }
783 /*--------------------------------------------------------------------------*/
784 static int msg_34(integer *n, integer *ierr)
785 {
786         sciprint(_("Real part\n"));
787         return 0;
788 }
789 /*--------------------------------------------------------------------------*/
790 static int msg_35(integer *n, integer *ierr)
791 {
792         sciprint(_("Imaginary part\n"));
793         return 0;
794 }
795 /*--------------------------------------------------------------------------*/
796 static int msg_36(integer *n, integer *ierr)
797 {
798         sciprint(_("Maximum size of buffer : %d characters.\n"),*ierr);
799         return 0;
800 }
801 /*--------------------------------------------------------------------------*/
802 static int msg_37(integer *n, integer *ierr)
803 {
804         char localbuf1[4];
805         char localbuf2[14];
806
807         strncpy(localbuf1,BUF,3);
808         strncpy(localbuf2,&BUF[4],13);
809         sciprint(_("Rank deficient : rank = %s  - tol = %s .\n"),localbuf1,localbuf2);
810         return 0;
811 }
812 /*--------------------------------------------------------------------------*/
813 static int msg_38(integer *n, integer *ierr)
814 {
815         sciprint(_("Your variables are:\n"));
816         return 0;
817 }
818 /*--------------------------------------------------------------------------*/
819 static int msg_39(integer *n, integer *ierr)
820 {
821         char localbuf1[10];
822         char localbuf2[10];
823
824         strncpy(localbuf1,BUF,9);
825         strncpy(localbuf2,&BUF[10],9);
826
827         sciprint(_("Using %s elements out of %s.\n"),localbuf1,localbuf2);
828
829         strncpy(localbuf1,&BUF[20],9);
830         strncpy(localbuf2,&BUF[30],9);
831         sciprint(_(" and %s variables out of %s.\n"),localbuf1,localbuf2);
832         return 0;
833 }
834 /*--------------------------------------------------------------------------*/
835 static int msg_40(integer *n, integer *ierr)
836 {
837         sciprint(_("System functions:\n"));
838         return 0;
839 }
840 /*--------------------------------------------------------------------------*/
841 static int msg_41(integer *n, integer *ierr)
842 {
843         sciprint(_("Commands:\n"));
844         return 0;
845 }
846 /*--------------------------------------------------------------------------*/
847 static int msg_42(integer *n, integer *ierr)
848 {
849         integer p=0;
850         integer lk=0;
851         integer k=0;
852         integer km=0;
853         integer one=1;
854         char line[140];
855
856         C2F(cvname)(&C2F(recu).ids[(C2F(recu).pt + 1) * nsiz - nsiz], line, &one, (long int)nlgh);
857         line[nlgh]='\0';
858         
859         sciprint(_("Warning : redefining function: %s. Use funcprot(0) to avoid this message"),line);
860         sciprint("\n"); 
861
862         p = C2F(recu).pt + 1;
863
864 L42_1:
865         --p;
866         if (p == 0) goto end_msg_42;
867         
868         /* @TODO what is 502 */
869         if (C2F(recu).rstk[p - 1] != 502) goto L42_1;
870         /* @TODO what is 19 */
871         k = C2F(iop).lpt[0] - 19;
872
873         /* recherche du nom de la macro correspondant a ce niveau */
874         /* @TODO what is 5 or 2 + 1 */
875         lk = C2F(iop).lin[k + 5] / 2 + 1;
876         if (lk <= C2F(vstk).lstk[Top]) goto end_msg_42;
877         /* @TODO what is 4 */
878         km = C2F(iop).lin[k + 4] - 1; 
879 L42_2:
880         ++km;
881         if (km > C2F(vstk).isiz) goto end_msg_42;
882         if (C2F(vstk).lstk[km - 1] != lk) goto L42_2;
883         /* @TODO what is this ugly line ??? */
884         C2F(cvname)(&C2F(vstk).idstk[km * nsiz - nsiz], line, &one, (long int)nlgh);
885
886         sciprint(_("       inside function: %s.\n"),line);
887 end_msg_42:
888         return 0;
889 }
890 /*--------------------------------------------------------------------------*/
891 static int msg_43(integer *n, integer *ierr)
892 {
893         sciprint(_("Not enough memory to perform simplification.\n"));
894         return 0;
895 }
896 /*--------------------------------------------------------------------------*/
897 static int msg_44(integer *n, integer *ierr)
898 {
899         sciprint(_("Your global variables are...\n"));
900         return 0;
901 }
902 /*--------------------------------------------------------------------------*/
903 static int msg_45(integer *n, integer *ierr)
904 {
905         sciprint("\n");
906         return 0;
907 }
908 /*--------------------------------------------------------------------------*/
909 static int msg_46(integer *n, integer *ierr)
910 {
911         sciprint("\n");
912         return 0;
913 }
914 /*--------------------------------------------------------------------------*/
915 static int msg_47(integer *n, integer *ierr)
916 {
917         sciprint("\n");
918         return 0;
919 }
920 /*--------------------------------------------------------------------------*/
921 static int msg_48(integer *n, integer *ierr)
922 {
923         sciprint("\n");
924         return 0;
925 }
926 /*--------------------------------------------------------------------------*/
927 static int msg_49(integer *n, integer *ierr)
928 {
929         sciprint("\n");
930         return 0;
931 }
932 /*--------------------------------------------------------------------------*/
933 static int msg_50(integer *n, integer *ierr)
934 {
935         sciprint(_("%s: Loop on two orders detected.\n"),"arl2");
936         return 0;
937 }
938 /*--------------------------------------------------------------------------*/
939 static int msg_51(integer *n, integer *ierr)
940 {
941         sciprint(_("%s: Impossible to reach required order.\n   previous order computed solution returned.\n"),"arl2");
942         return 0;
943 }
944 /*--------------------------------------------------------------------------*/
945 static int msg_52(integer *n, integer *ierr)
946 {
947         sciprint(_("%s: Failure when looking for the intersection with domains boundaries.\n   previous order computed solution returned.\n"),"arl2");
948         return 0;
949 }
950 /*--------------------------------------------------------------------------*/
951 static int msg_53(integer *n, integer *ierr)
952 {
953         sciprint(_("%s: Too many solutions found.\n   previous order computed solution returned.\n"),"arl2");
954         return 0;
955 }
956 /*--------------------------------------------------------------------------*/
957 static int msg_54(integer *n, integer *ierr)
958 {
959         sciprint("\n");
960         return 0;
961 }
962 /*--------------------------------------------------------------------------*/
963 static int msg_55(integer *n, integer *ierr)
964 {
965         sciprint("\n");
966         return 0;
967 }
968 /*--------------------------------------------------------------------------*/
969 static int msg_56(integer *n, integer *ierr)
970 {
971         sciprint("\n");
972         return 0;
973 }
974 /*--------------------------------------------------------------------------*/
975 static int msg_57(integer *n, integer *ierr)
976 {
977         sciprint("\n");
978         return 0;
979 }
980 /*--------------------------------------------------------------------------*/
981 static int msg_58(integer *n, integer *ierr)
982 {
983         sciprint("\n");
984         return 0;
985 }
986 /*--------------------------------------------------------------------------*/
987 static int msg_59(integer *n, integer *ierr)
988 {
989         sciprint("\n");
990         return 0;
991 }
992 /*--------------------------------------------------------------------------*/
993 static int msg_60(integer *n, integer *ierr)
994 {
995         sciprint(_("Warning: loaded file has been created with a previous version of Scilab\nor you are trying to load a file saved on a different architecture.\n"));
996         return 0;
997 }
998 /*--------------------------------------------------------------------------*/
999 static int msg_61(integer *n, integer *ierr)
1000 {
1001         char line[bsiz];
1002         integer one = 1;
1003         C2F(cvname)(&C2F(recu).ids[(C2F(recu).pt + 1) * nsiz - nsiz], line, &one,nlgh);
1004         sciprint(_("Warning:\n"));
1005         sciprint(_("Impossible to load variable %s.\n"),line);
1006         return 0;
1007 }
1008 /*--------------------------------------------------------------------------*/
1009 static int msg_62(integer *n, integer *ierr)
1010 {
1011         sciprint(_("Warning: Use of standard list to define typed structures\n          is obsolete. Use tlist.\n"));
1012         return 0;
1013 }
1014 /*--------------------------------------------------------------------------*/
1015 static int msg_63(integer *n, integer *ierr)
1016 {
1017         sciprint(_("Warning : division by zero...\n"));
1018         return 0;
1019 }
1020 /*--------------------------------------------------------------------------*/
1021 static int msg_64(integer *n, integer *ierr)
1022 {
1023         sciprint(_("Warning : singularity of 'log' or 'tan' function.\n"));
1024         return 0;
1025 }
1026 /*--------------------------------------------------------------------------*/
1027 static int msg_65(integer *n, integer *ierr)
1028 {
1029         sciprint("\n");
1030         return 0;
1031 }
1032 /*--------------------------------------------------------------------------*/
1033 static int msg_66(integer *n, integer *ierr)
1034 {
1035         sciprint("\n");
1036         return 0;
1037 }
1038 /*--------------------------------------------------------------------------*/
1039 static int msg_67(integer *n, integer *ierr)
1040 {
1041         sciprint("\n");
1042         return 0;
1043 }
1044 /*--------------------------------------------------------------------------*/
1045 static int msg_68(integer *n, integer *ierr)
1046 {
1047         sciprint("\n");
1048         return 0;
1049 }
1050 /*--------------------------------------------------------------------------*/
1051 static int msg_69(integer *n, integer *ierr)
1052 {
1053         sciprint("\n");
1054         return 0;
1055 }
1056 /*--------------------------------------------------------------------------*/
1057 static int msg_70(integer *n, integer *ierr)
1058 {
1059         char localbuf[10];
1060         strncpy(localbuf,BUF,10);
1061         sciprint(_("At time: %s ,Too many iteration to achieve required precision.\n"),localbuf);
1062         return 0;
1063 }
1064 /*--------------------------------------------------------------------------*/
1065 static int msg_71(integer *n, integer *ierr)
1066 {
1067         sciprint(_("stepsize not significant in rkqc.\n"));
1068         return 0;
1069 }
1070 /*--------------------------------------------------------------------------*/
1071 static int msg_72(integer *n, integer *ierr)
1072 {
1073         sciprint(_("Warning: variable %%ODEOPTIONS not found.\n"));
1074         return 0;
1075 }
1076 /*--------------------------------------------------------------------------*/
1077 static int msg_73(integer *n, integer *ierr)
1078 {
1079         sciprint(_("Warning: integration up to tcrit.\n"));
1080         return 0;
1081 }
1082 /*--------------------------------------------------------------------------*/
1083 static int msg_74(integer *n, integer *ierr)
1084 {
1085         sciprint(_("Warning: integration not completed! check tolerance parameters or step size.\n"));
1086         return 0;
1087 }
1088 /*--------------------------------------------------------------------------*/
1089 static int msg_75(integer *n, integer *ierr)
1090 {
1091         sciprint(_("Warning: Jacobian external is given, but\n not used!,  see %ODEOPTIONS(6).\n"));
1092         return 0;
1093 }
1094 /*--------------------------------------------------------------------------*/
1095 static int msg_76(integer *n, integer *ierr)
1096 {
1097         sciprint(_("Warning: No Jacobian external given but\n one is required by %ODEOPTIONS(6) value !\n"));
1098         return 0;
1099 }
1100 /*--------------------------------------------------------------------------*/
1101 static int msg_77(integer *n, integer *ierr)
1102 {
1103         sciprint(_("itask=2,3 or 5: At most one value of t\n is allowed, the last element of t is used.\n"));
1104         return 0;
1105 }
1106 /*--------------------------------------------------------------------------*/
1107 static int msg_78(integer *n, integer *ierr)
1108 {
1109         sciprint(_("Warning: odedc forces itask=4 and handles\n tcrit.\n"));
1110         return 0;
1111 }
1112 /*--------------------------------------------------------------------------*/
1113 static int msg_79(integer *n, integer *ierr)
1114 {
1115         sciprint("\n");
1116         return 0;
1117 }
1118 /*--------------------------------------------------------------------------*/
1119 static int msg_80(integer *n, integer *ierr)
1120 {
1121         sciprint(_("Warning: function is already compiled.\n"));
1122         return 0;
1123 }
1124 /*--------------------------------------------------------------------------*/
1125 static int msg_81(integer *n, integer *ierr)
1126 {
1127         sciprint(_("%s: termination for lack of space to divide triangle.\n"),"int2d");
1128         return 0;
1129 }
1130 /*--------------------------------------------------------------------------*/
1131 static int msg_82(integer *n, integer *ierr)
1132 {
1133         sciprint(_("%s: termination because of roundoff noise.\n"),"int2d");
1134         return 0;
1135 }
1136 /*--------------------------------------------------------------------------*/
1137 static int msg_83(integer *n, integer *ierr)
1138 {
1139         sciprint(_("%s: termination for relative error < (5.0*%eps).\n"),"int2d");
1140         return 0;
1141 }
1142 /*--------------------------------------------------------------------------*/
1143 static int msg_84(integer *n, integer *ierr)
1144 {
1145         sciprint(_("%s: termination: function evaluations > MEVALS.\n"),"int2d");
1146         return 0;
1147 }
1148 /*--------------------------------------------------------------------------*/
1149 static int msg_85(integer *n, integer *ierr)
1150 {
1151         sciprint(_("%s: maxpts was too small to obtain the required accuracy.\n"),"int3d");
1152         return 0;
1153 }
1154 /*--------------------------------------------------------------------------*/
1155 static int msg_86(integer *n, integer *ierr)
1156 {
1157         sciprint("\n");
1158         return 0;
1159 }
1160 /*--------------------------------------------------------------------------*/
1161 static int msg_87(integer *n, integer *ierr)
1162 {
1163         sciprint("\n");
1164         return 0;
1165 }
1166 /*--------------------------------------------------------------------------*/
1167 static int msg_88(integer *n, integer *ierr)
1168 {
1169         sciprint("\n");
1170         return 0;
1171 }
1172 /*--------------------------------------------------------------------------*/
1173 static int msg_89(integer *n, integer *ierr)
1174 {
1175         sciprint("\n");
1176         return 0;
1177 }
1178 /*--------------------------------------------------------------------------*/
1179 static int msg_90(integer *n, integer *ierr)
1180 {
1181         sciprint(_("Too many input/output ports for hilited block.\n"));
1182         return 0;
1183 }
1184 /*--------------------------------------------------------------------------*/
1185 static int msg_91(integer *n, integer *ierr)
1186 {
1187         sciprint(_("Too many input/output entries for hilited block.\n"));
1188         return 0;
1189 }
1190 /*--------------------------------------------------------------------------*/
1191 static int msg_92(integer *n, integer *ierr)
1192 {
1193         sciprint("\n");
1194         return 0;
1195 }
1196 /*--------------------------------------------------------------------------*/
1197 static int msg_93(integer *n, integer *ierr)
1198 {
1199         sciprint("\n");
1200         return 0;
1201 }
1202 /*--------------------------------------------------------------------------*/
1203 static int msg_94(integer *n, integer *ierr)
1204 {
1205         sciprint("\n");
1206         return 0;
1207 }
1208 /*--------------------------------------------------------------------------*/
1209 static int msg_95(integer *n, integer *ierr)
1210 {
1211         sciprint("\n");
1212         return 0;
1213 }
1214 /*--------------------------------------------------------------------------*/
1215 static int msg_96(integer *n, integer *ierr)
1216 {
1217         sciprint("\n");
1218         return 0;
1219 }
1220 /*--------------------------------------------------------------------------*/
1221 static int msg_97(integer *n, integer *ierr)
1222 {
1223         sciprint("\n");
1224         return 0;
1225 }
1226 /*--------------------------------------------------------------------------*/
1227 static int msg_98(integer *n, integer *ierr)
1228 {
1229         sciprint("\n");
1230         return 0;
1231 }
1232 /*--------------------------------------------------------------------------*/
1233 static int msg_99(integer *n, integer *ierr)
1234 {
1235         sciprint("\n");
1236         return 0;
1237 }
1238 /*--------------------------------------------------------------------------*/
1239 static int msg_100(integer *n, integer *ierr)
1240 {
1241         sciprint(_("Undefined display for this data type.\n"));
1242         return 0;
1243 }
1244 /*--------------------------------------------------------------------------*/
1245 static int msg_101(integer *n, integer *ierr)
1246 {
1247         integer one = 1;
1248         int i=0;
1249         char line[bsiz];
1250
1251         C2F(cvname)(&C2F(recu).ids[(C2F(recu).pt + 1) * nsiz - nsiz], line, &one, (long int)nlgh);
1252
1253         for (i=0;i<(int)strlen(line);i++)
1254         {
1255                 if (line[i]==' ') line[i]='\0';
1256                 break;
1257         }
1258
1259         sciprint(_("Warning: primitive function %s has moved.\n"),line);
1260         sciprint(_("Rebuild your function libraries.\n"));
1261         C2F(showstack)();
1262         return 0;
1263 }
1264 /*--------------------------------------------------------------------------*/
1265 static int msg_102(integer *n, integer *ierr)
1266 {
1267         integer one = 1;
1268         int i=0;
1269         char line[bsiz];
1270
1271         C2F(cvname)(&C2F(recu).ids[(C2F(recu).pt + 1) * nsiz - nsiz], line, &one, (long int)nlgh);
1272
1273         for (i=0;i<(int)strlen(line);i++)
1274         {
1275                 if (line[i]==' ') line[i]='\0';
1276                 break;
1277         }
1278
1279         sciprint(_("Warning: primitive function %s is now a Scilab function.\n"),line);
1280         sciprint(_("Rebuild your function libraries.\n"));
1281
1282         C2F(showstack)();
1283         return 0;
1284 }
1285 /*--------------------------------------------------------------------------*/
1286 static int msg_103(integer *n, integer *ierr)
1287 {
1288         sciprint(_("Roundoff errors make leading eigenvalues\n in the Schur form no longer satisfy criterion.\n"));
1289         return 0;
1290 }
1291 /*--------------------------------------------------------------------------*/
1292 static int msg_104(integer *n, integer *ierr)
1293 {
1294         sciprint(_("Formal variable name has been truncated.\n"));
1295         return 0;
1296 }
1297 /*--------------------------------------------------------------------------*/
1298 static int msg_105(integer *n, integer *ierr)
1299 {
1300         char *localbuf=NULL;
1301         localbuf=(char*)MALLOC(sizeof(char)*(*ierr +1));
1302         strncpy(localbuf,BUF,*ierr);
1303         sciprint(_("Unknown key <%s> ignored.\n"),localbuf);
1304         if (localbuf) {FREE(localbuf);localbuf=NULL;}
1305         return 0;
1306 }
1307 /*--------------------------------------------------------------------------*/
1308 static int msg_106(integer *n, integer *ierr)
1309 {
1310         sciprint(_("%s: window dimensions have been set less than 2^16.\n"),"xset");
1311         return 0;
1312 }
1313 /*--------------------------------------------------------------------------*/
1314 static int msg_107(integer *n, integer *ierr)
1315 {
1316         sciprint(_("Some data have not been computed they are replaced by NaN.\n"));
1317         return 0;
1318 }
1319 /*--------------------------------------------------------------------------*/
1320 static int msg_108(integer *n, integer *ierr)
1321 {
1322         sciprint("\n");
1323         return 0;
1324 }
1325 /*--------------------------------------------------------------------------*/
1326 static int msg_109(integer *n, integer *ierr)
1327 {
1328         sciprint("\n");
1329         return 0;
1330 }
1331 /*--------------------------------------------------------------------------*/
1332 static int msg_110(integer *n, integer *ierr)
1333 {
1334         sciprint("\n");
1335         return 0;
1336 }
1337 /*--------------------------------------------------------------------------*/
1338 static int msg_default(integer *n, integer *ierr)
1339 {
1340         char *localbuf=NULL;
1341         int len=(int)strlen(BUF);
1342         int i=0;
1343         localbuf=(char*)MALLOC(sizeof(char)*(len+1));
1344         strncpy(localbuf,BUF,len);
1345         sciprint(_("Warning:\n"));
1346         for (i=0;i<len;i++)
1347         {
1348                 if (localbuf[i] == ' ')
1349                 {
1350                         localbuf[i]='\0';
1351                         break;
1352                 }
1353         }
1354         sciprint("%s\n",localbuf);
1355         return 0;
1356 }
1357 /*--------------------------------------------------------------------------*/