This file is indexed.

/usr/share/doc/libcnf-dev/html/node39.html is in libcnf-dev 4.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 98.2 beta6 (August 14th, 1998)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Arrays of pointer to char</TITLE>
<META NAME="description" CONTENT="Arrays of pointer to char">
<META NAME="keywords" CONTENT="sun209">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="sun209.css">
<LINK REL="next" HREF="node40.html">
<LINK REL="previous" HREF="node38.html">
<LINK REL="up" HREF="node37.html">
<LINK REL="next" HREF="node40.html">
</HEAD>
<BODY >
<BR> <HR>
<A NAME="tex2html608"
 HREF="node40.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
<A NAME="tex2html606"
 HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
<A NAME="tex2html600"
 HREF="node38.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>   <A HREF="sun209.html#stardoccontents"><IMG
 ALIGN="BOTTOM" BORDER="0" SRC="contents_motif.gif"
 ALT="252"></A>
<BR>
<B> Next:</B> <A NAME="tex2html609"
 HREF="node40.html">POINTER Arrays</A>
<BR>
<B>Up:</B> <A NAME="tex2html607"
 HREF="node37.html">More on Arrays</A>
<BR>
<B> Previous:</B> <A NAME="tex2html601"
 HREF="node38.html">CHARACTER and LOGICAL Arrays</A>
<BR> <HR> <P>

<!--End of Navigation Panel-->

<H2><A NAME="SECTION000102000000000000000"></A><A NAME="xref_arrays_of_pointer_to_char"></A><A NAME="char_ptrs"></A>
<BR>
Arrays of <TT>pointer to char</TT>
</H2>
In C, arrays of character strings are often held as arrays of 
<TT>pointer to char</TT>.
This allows strings of varying length and not necessarily in contiguous
memory.
CNF functions
<A HREF="node180.html#cnfImprtap"><TT>cnfImprtap</TT></A>
and
<A HREF="node169.html#cnfExprtap"><TT>cnfExprtap</TT></A>
can be used to import/export arrays of pointer to char from/to 
FORTRAN <TT>CHARACTER</TT> arrays.
The following example shows how to do this. The FORTRAN subroutine, PRARR,
prints the given <TT>CHARACTER</TT> array and returns it set to blank strings.
The C program prints the strings before and after the call to PRARR.

<P>

<A NAME="cook_exprtap"></A>
<DIV ALIGN="CENTER">
Example
- IMPORT/EXPORT with arrays of pointers to char.

</DIV>
<FONT SIZE="-1"><BLOCKQUOTE> </FONT><PRE>
rlsaxp_101% more temp.c
#include "f77.h"
F77_SUBROUTINE(prarr)(CHARACTER_ARRAY(arr) TRAIL(arr));
main() {
DECLARE_CHARACTER_ARRAY(arr,12,3);
char *ptr[3]={"ajc","hello there","TEXT"};
int dims[1]=3;
int i;

for (i=0;i&lt;3;i++) printf("%d:%s:\n",i,ptr[i]);
cnfExprtap(ptr,arr[0],12,1,dims);
F77_CALL(prarr)(CHARACTER_ARRAY_ARG(arr) TRAIL_ARG(arr));
cnfImprtap(arr[0],12,ptr,1,1,dims);
for(i=0;i&lt;3;i++) printf("%d:%s:\n",i,ptr[i]);
}
</PRE><FONT SIZE="-1"> </BLOCKQUOTE></FONT>
<FONT SIZE="-1"><BLOCKQUOTE> </FONT><PRE>
      SUBROUTINE PRARR( ARR )
      CHARACTER*(*) ARR(3)
      INTEGER I

      DO 10
         PRINT *, ':', ARR(I), ':'
         ARR( I ) = ' '
10    CONTINUE
      END
</PRE><FONT SIZE="-1"> </BLOCKQUOTE></FONT>

<P>
<BR> <HR>
<A NAME="tex2html608"
 HREF="node40.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
<A NAME="tex2html606"
 HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
<A NAME="tex2html600"
 HREF="node38.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>   <A HREF="sun209.html#stardoccontents"><IMG
 ALIGN="BOTTOM" BORDER="0" SRC="contents_motif.gif"
 ALT="252"></A>
<BR>
<B> Next:</B> <A NAME="tex2html609"
 HREF="node40.html">POINTER Arrays</A>
<BR>
<B>Up:</B> <A NAME="tex2html607"
 HREF="node37.html">More on Arrays</A>
<BR>
<B> Previous:</B> <A NAME="tex2html601"
 HREF="node38.html">CHARACTER and LOGICAL Arrays</A>
<BR> <HR> <P>

<!--End of Navigation Panel-->
<ADDRESS>
<I>CNF and F77 Mixed Language Programming -- FORTRAN and C<BR>Starlink User Note 209<BR>P.M. Allan<BR>A.J. Chipperfield<BR>R.F. Warren-Smith<BR>19 January 2000<BR>E-mail:<A HREF="mailto:ussc@star.rl.ac.uk">ussc@star.rl.ac.uk</A></I>
</ADDRESS>
</BODY>
</HTML>