00001 #include "machine.h"
00002 #include "genextrac1.h"
00003 typedef signed char integer1;
00004 typedef short integer2;
00005
00006
00007 #define EXTRAC1(Type) {\
00008 Type *FROM;\
00009 Type *TO;\
00010 FROM=(Type *)from;\
00011 --FROM;\
00012 TO=(Type *)to;\
00013 --TO;\
00014 for (i = 1; i <= *mi; ++i) \
00015 TO[i] = FROM[indx[i]];\
00016 }
00017
00018
00019
00020 int C2F(genextrac1)(integer *typ,integer *mi,integer *indx,integer *from,integer *to)
00021 {
00022 static integer i;
00023 --indx;
00024 switch (*typ) {
00025 case 1:
00026 EXTRAC1(integer1);
00027 break;
00028 case 2:
00029 EXTRAC1(integer2);
00030 break;
00031 case 4:
00032 EXTRAC1(integer);
00033 break;
00034 case 11:
00035 EXTRAC1(unsigned char);
00036 break;
00037 case 12:
00038 EXTRAC1(unsigned short);
00039 break;
00040 case 14:
00041 EXTRAC1(unsigned int);
00042 break;
00043 }
00044 return 0;
00045 }
00046