1 /* MetaMake - A Make extension
2 Copyright © 1995-2004, The AROS Development Team. All rights reserved.
4 This file is part of MetaMake.
6 MetaMake is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 MetaMake is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING. If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
24 #include <string.h> /* for strlen() */
25 #ifdef HAVE_NETINET_IN_H
26 # include <netinet/in.h> /* for htonl/ntohl() */
35 writestring (FILE * fh
, const char * s
)
46 fwrite(&out
, sizeof(out
), 1, fh
);
48 if (!ferror(fh
) && len
>0)
49 fwrite(s
, len
, 1, fh
);
55 readstring (FILE * fh
, char **strptr
)
60 fread(&in
, sizeof(in
), 1, fh
);
67 *strptr
= xmalloc (len
+1);
68 fread (*strptr
, len
, 1, fh
);
77 *strptr
= xstrdup("");
85 writeint32 (FILE * fh
, int32_t i
)
90 fwrite(&out
, sizeof(out
), 1, fh
);
96 readint32 (FILE * fh
, int32_t * iptr
)
100 fread(&in
, sizeof(in
), 1, fh
);
108 writeuint32 (FILE * fh
, uint32_t i
)
113 fwrite(&out
, sizeof(out
), 1, fh
);
119 readuint32 (FILE * fh
, uint32_t * iptr
)
123 fread(&in
, sizeof(in
), 1, fh
);