#include "common.h"
#include "mba/cfg.h"
#include "mba/text.h"
#include "mba/suba.h"
#define MEMSIZ 0x7FFF
#define ALIGNMASK ((unsigned long)7)
#define ALIGN(s) ((unsigned long)((s) + ALIGNMASK) & ~ALIGNMASK)
int
user_lookup_by_id(const char *filename, int id, tchar *user)
{
unsigned char buf[MEMSIZ];
struct allocator *al = suba_init(buf, MEMSIZ, 1, 0);
struct cfg *cfg = cfg_new(al);
if (cfg == NULL || cfg_load(cfg, filename) == -1 ||
cfg_vget_str(cfg, user, 64, NULL, _T("users.%d"), id) == -1) {
AMSG("");
return -1;
}
/* no cleanup necessary; all memory on stack. */
return 0;
}
int
CfgSuba(int verbose, struct cfg *cfg, char *args[])
{
tchar user[64];
if (user_lookup_by_id(args[0], 104, user) == -1 ||
tcscoll(user, _T("user0104")) != 0) {
AMSG("");
return -1;
}
tcase_printf(verbose, "done");
cfg = NULL;
return 0;
}
syntax highlighted by Code2HTML, v. 0.9.1