1 /* MetaMake - A Make extension
2 Copyright © 1995-2011, 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. */
25 #include <string.h> /* for strlen() */
26 #ifdef HAVE_NETINET_IN_H
27 # include <netinet/in.h> /* for htonl/ntohl() */
36 writestring (FILE * fh
, const char * s
)
47 fwrite(&out
, sizeof(out
), 1, fh
);
49 if (!ferror(fh
) && len
>0)
50 fwrite(s
, len
, 1, fh
);
56 readstring (FILE * fh
, char **strptr
)
61 if (fread(&in
, sizeof(in
), 1, fh
) != 1)
67 *strptr
= xmalloc (len
+1);
68 if (fread (*strptr
, len
, 1, fh
) != 1)
76 *strptr
= xstrdup("");
84 writeint32 (FILE * fh
, int32_t i
)
89 fwrite(&out
, sizeof(out
), 1, fh
);
95 readint32 (FILE * fh
, int32_t * iptr
)
99 if (fread(&in
, sizeof(in
), 1, fh
) == 1)
109 writeuint32 (FILE * fh
, uint32_t i
)
114 fwrite(&out
, sizeof(out
), 1, fh
);
120 readuint32 (FILE * fh
, uint32_t * iptr
)
124 if (fread(&in
, sizeof(in
), 1, fh
) == 1)