Transition to NewIO
[u/mrichter/AliRoot.git] / MICROCERN / fchtak.c
1 /*
2  * $Id$
3  *
4  * $Log$
5  * Revision 1.2.4.1  2002/11/26 16:46:57  hristov
6  * Merging NewIO with v3-09-04
7  *
8  * Revision 1.2  2002/10/14 14:57:10  hristov
9  * Merging the VirtualMC branch to the main development branch (HEAD)
10  *
11  * Revision 1.1.2.1  2002/07/11 17:15:24  alibrary
12  * Adding MICROCERN
13  *
14  * Revision 1.1.1.1  1999/05/18 15:55:29  fca
15  * AliRoot sources
16  *
17  * Revision 1.1.1.1  1996/02/15 17:49:40  mclareni
18  * Kernlib
19  *
20  */
21 #include "kerngen/pilot.h"
22 /*>    ROUTINE FCHTAK
23   CERN PROGLIB#         FCHTAK          .VERSION KERNFOR  4.31  911111
24   ORIG. 22/02/91, JZ
25
26       copy a Fortran character string
27       to allocated memory zero-terminated,
28       return the memory pointer
29 */
30 #include <stdio.h>
31 #include "kerngen/fortchar.h"
32 char *fchtak(ftext,lgtext)
33 #if defined(CERNLIB_QMCRY)
34       _fcd  ftext;
35 #endif
36 #if !defined(CERNLIB_QMCRY)
37       char *ftext;
38 #endif
39       int  lgtext;
40 {
41       char *malloc();
42       char *ptalc, *ptuse;
43       char *utext;
44       int  nalc;
45       int  ntx, jcol;
46
47       nalc  = lgtext + 8;
48       ptalc = malloc (nalc);
49       if (ptalc == NULL)     goto exit;
50 #if defined(CERNLIB_QMCRY)
51       utext = _fcdtocp(ftext);
52 #endif
53 #if !defined(CERNLIB_QMCRY)
54       utext = ftext;
55 #endif
56
57       ptuse = ptalc;
58       ntx   = lgtext;
59       for (jcol = 0; jcol < ntx; jcol++)  *ptuse++ = *utext++;
60
61       *ptuse = '\0';
62 exit: return  ptalc;
63 }
64 /*> END <----------------------------------------------------------*/