about summary refs log tree commit diff
path: root/src/libstddjb/localtmn_scan.c
blob: caacd6ad065d1b3fbaf35004cbc507daf0082f56 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* ISC license. */

#include <skalibs/uint32.h>
#include <skalibs/djbtime.h>

size_t localtmn_scan (char const *s, localtmn *l)
{
  localtmn m ;
  size_t n = localtm_scan(s, &m.tm) ;
  if (!n) return 0 ;
  s += n ;
  if (*s++ != '.') m.nano = 0 ;
  else
  {
    size_t b = uint32_scan(s, &m.nano) ;
    if (!b) return 0 ;
    n += b ;
  }
  *l = m ;
  return n ;
}