aboutsummaryrefslogtreecommitdiff
path: root/lib/scan_ulongs.c
blob: db5631f0630d90fa8fb4cbe2748c1f14ecb3f5c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "../ninitfeatures.h"

unsigned int scan_ulongs(char *src, unsigned long *u, int len, unsigned int (*op)(), char sep, int *read_len) /*EXTRACT_INCL*/ {
  int j, k;
  char *p=src;

  for (k=0; k<len;) {
    j = op(p, u+k); if (j==0) break;
    ++k;
    p += j;
    if (*p != sep) break;
    ++p;
  }

  *read_len = (p-src);
  return k;
}