ref: a2b6dcce1c7971f31ffe10c2029d26ed72e32dc8
dir: /src/libmach/coff32/coff32setidx.c/
#include <stdio.h>
#include <string.h>
#include <scc/mach.h>
#include "../libmach.h"
long
coff32setidx(int order, long nsyms, Objsymdef *head, FILE *fp)
{
long i, n;
size_t len;
Objsymdef *def;
unsigned char buff[4];
pack(order, buff, "l", nsyms);
fwrite(buff, 4, 1, fp);
n = 4;
for (def = head; def; def = def->next) {
pack(order, buff, "l", (long) def->offset);
fwrite(buff, 4, 1, fp);
n += 4;
}
for (def = head; def; def = def->next) {
len = strlen(def->name) + 1;
fwrite(def->name, len, 1, fp);
n += len;
}
return fflush(fp) == EOF ? -1 : n;
}