summaryrefslogtreecommitdiff
path: root/src/date822fmt.c
blob: 93456b4bcb99680d4c5b366f3df937bbe5ad7580 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "date822fmt.h"

#include "fmt.h"

#include "datetime.h"


static char *montab[12] = {
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

unsigned int date822fmt(char *s, struct datetime *dt)
{
  unsigned int i;
  unsigned int len;

  len = 0;

  i = fmt_uint(s, dt->mday);
  len += i;
  if (s) s += i;

  i = fmt_str(s, " ");
  len += i;
  if (s) s += i;

  i = fmt_str(s, montab[dt->mon]);
  len += i;
  if (s) s += i;

  i = fmt_str(s, " ");
  len += i;
  if (s) s += i;

  i = fmt_uint(s, dt->year + 1900);
  len += i;
  if (s) s += i;

  i = fmt_str(s, " ");
  len += i;
  if (s) s += i;

  i = fmt_uint0(s, dt->hour, 2);
  len += i;
  if (s) s += i;

  i = fmt_str(s, ":");
  len += i;
  if (s) s += i;

  i = fmt_uint0(s, dt->min, 2);
  len += i;
  if (s) s += i;

  i = fmt_str(s, ":");
  len += i;
  if (s) s += i;

  i = fmt_uint0(s, dt->sec, 2);
  len += i;
  if (s) s += i;

  i = fmt_str(s, " -0000\n");
  len += i;
  if (s) s += i;

  return len;
}