summaryrefslogtreecommitdiff
path: root/src/fmtqfn.c
blob: 8cb86444533db6ec1d9766d86eafbce9712c0a8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "fmtqfn.h"

#include "fmt.h"

#include "auto_split.h"

unsigned int fmtqfn(char *s, char *dirslash, unsigned long id, int flagsplit)
{
  unsigned int len;
  unsigned int i;

  len = 0;
  i = fmt_str(s, dirslash);
  len += i;
  if (s) s += i;

  if (flagsplit) {
    i = fmt_ulong(s, id % auto_split);
    len += i;
    if (s) s += i;
    i = fmt_str(s, "/");
    len += i;
    if (s) s += i;
  }

  i = fmt_ulong(s, id);
  len += i;
  if (s) s += i;
  if (s) *s++ = 0;
  ++len;

  return len;
}