57 |
|
{ |
58 |
|
fputs(HDRSTR, fp); |
59 |
|
fputs(s, fp); |
60 |
< |
putc('\n', fp); |
60 |
> |
fputc('\n', fp); |
61 |
|
} |
62 |
|
|
63 |
|
|
167 |
|
FILE *fp |
168 |
|
) |
169 |
|
{ |
170 |
+ |
#if defined(_WIN32) || defined(_WIN64) |
171 |
+ |
extern char *fixargv0(char *arg0); |
172 |
+ |
char myav0[128]; |
173 |
+ |
/* clean up Windows executable path */ |
174 |
+ |
if (ac-- <= 0) return; |
175 |
+ |
fputs(fixargv0(strcpy(myav0, *av++)), fp); |
176 |
+ |
fputc(ac ? ' ' : '\n', fp); |
177 |
+ |
#endif |
178 |
|
while (ac-- > 0) { |
179 |
|
fputword(*av++, fp); |
180 |
|
fputc(ac ? ' ' : '\n', fp); |
209 |
|
FILE *fp |
210 |
|
) |
211 |
|
{ |
212 |
+ |
int align = 0; |
213 |
+ |
|
214 |
|
fputs(FMTSTR, fp); |
215 |
|
fputs(s, fp); |
216 |
< |
putc('\n', fp); |
216 |
> |
/* pad to align binary type for mmap() */ |
217 |
> |
if (!strncmp(s, "float", 5)) |
218 |
> |
align = sizeof(float); |
219 |
> |
else if (!strncmp(s, "double", 6)) |
220 |
> |
align = sizeof(double); |
221 |
> |
else if (!strncmp(s, "16-bit", 6)) |
222 |
> |
align = 2; |
223 |
> |
else if (!strncmp(s, "32-bit", 6)) |
224 |
> |
align = 4; |
225 |
> |
else if (!strncmp(s, "64-bit", 6)) |
226 |
> |
align = 8; |
227 |
> |
if (align) { |
228 |
> |
long pos = ftell(fp); |
229 |
> |
if (pos >= 0) { |
230 |
> |
pos = (pos + 2) % align; |
231 |
> |
if (pos) align -= pos; |
232 |
> |
else align = 0; |
233 |
> |
} else |
234 |
> |
align = 0; |
235 |
> |
} |
236 |
> |
while (align-- > 0) |
237 |
> |
putc(' ', fp); |
238 |
> |
fputc('\n', fp); |
239 |
|
} |
240 |
|
|
241 |
|
|
257 |
|
{ |
258 |
|
const char *be = BIGEND; |
259 |
|
|
260 |
< |
while (*s & (*be != '=') && *s++ == *be) |
260 |
> |
while ((*s != '\0') & (*be != '=') && *s++ == *be) |
261 |
|
++be; |
262 |
|
if (*be != '=') |
263 |
|
return(-1); /* irrelevant */ |
331 |
|
struct check *scp = (struct check *)cp; |
332 |
|
|
333 |
|
if (!formatval(scp->fs, s) && scp->fp != NULL) |
334 |
< |
fputs(s, scp->fp); |
334 |
> |
return(fputs(s, scp->fp)); |
335 |
|
|
336 |
|
return(0); |
337 |
|
} |