bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New MILLISECONDS “special” variable?


From: Eduardo Bustamante
Subject: Re: New MILLISECONDS “special” variable?
Date: Thu, 02 Nov 2017 16:57:27 +0000

El mié., nov. 1, 2017 8:48 PM, Eduardo A. Bustamante López <
dualbus@gmail.com> escribió:

> [...]
> /* FIXME: do better validation */
> static int parse_timeval (const char *s, struct timeval *tv) {
>   char *ds;
>   timerclear(tv);
>   tv->tv_sec = strtol(s, &ds, 10);
>   if (ds && *ds == '.') {
>     tv->tv_usec = strtol(ds + 1, NULL, 10);
>   }
>   return 0;
> }
>
> int timer_builtin (WORD_LIST *list) {

  [...]

parse_timeval (s, &tv2);
>   timersub (&tv1, &tv2, &tv3);
>   snprintf (b2, 64, "%ld.%ld", tv3.tv_sec, tv3.tv_usec);
>   bind_variable (delta, b2, 0);
>
>   update_value:
>   snprintf (b1, 64, "%ld.%ld", tv1.tv_sec, tv1.tv_usec);
>   bind_variable (current, b1, 0);
>

Heh, this is embarassing. Evidently, that is not the right way of parsing a
timeval, or of storing it in a string (i.e. the tv_usec member).

But at least it still works as a demo of how to approach the problem with
loadable builtins.

>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]