You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#if !data_in_h
#define data_in_h 1
#include <stddef.h>
+#include <stdbool.h>
#include "format.h"
/* Flags. */
enum
{
DI_IGNORE_ERROR = 01, /* Don't report errors to the user. */
+ DI_IMPLIED_DECIMALS = 02 /* Insert decimals if no '.' in input. */
};
/* Information about parsing one data field. */
struct data_in
{
- const unsigned char *s; /* Source start. */
- const unsigned char *e; /* Source end. */
+ const char *s; /* Source start. */
+ const char *e; /* Source end. */
union value *v; /* Destination. */
struct fmt_spec format; /* Format specification to use. */
};
-int data_in (struct data_in *);
+bool data_in (struct data_in *);
void data_in_finite_line (struct data_in *di, const char *line, size_t len,
int fc, int lc);
-#if __GNUC__ >= 2
-extern inline void
-data_in_finite_line (struct data_in *di, const char *line, size_t len,
- int fc, int lc)
-{
- di->s = line + ((size_t) fc <= len ? fc - 1 : len);
- di->e = line + ((size_t) lc <= len ? lc : len);
-}
-#endif /* GNU C */
-
#endif /* data-in.h */