From: Ralph Corderoy Date: Thu, 10 Aug 2017 14:30:54 +0000 (+0100) Subject: m_getfld.c: Make m_getfld_state_init() public. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/4165ce30f81bc078f3635a2a198f3a2ab5fc9b75?ds=inline m_getfld.c: Make m_getfld_state_init() public. This allows callers to use it if they wish to pass in its FILE *iob. --- diff --git a/h/prototypes.h b/h/prototypes.h index 64bd847b..81983010 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -225,6 +225,8 @@ int m_atoi (char *); char *m_backup (const char *); int m_convert (struct msgs *, char *); char *m_draft (char *, char *, int, int *); + +m_getfld_state_t m_getfld_state_init(FILE *iob); void m_getfld_state_reset (m_getfld_state_t *); void m_getfld_state_destroy (m_getfld_state_t *); void m_getfld_track_filepos (m_getfld_state_t *, FILE *); diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index 67e9de82..9e017090 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -306,13 +306,11 @@ struct m_getfld_state { int state; }; -static -void -m_getfld_state_init (m_getfld_state_t *gstate, FILE *iob) { +m_getfld_state_t m_getfld_state_init(FILE *iob) +{ m_getfld_state_t s; NEW(s); - *gstate = s; s->readpos = s->end = s->msg_buf; s->bytes_read = s->total_bytes_read = 0; s->last_caller_pos = s->last_internal_pos = 0; @@ -324,6 +322,8 @@ m_getfld_state_init (m_getfld_state_t *gstate, FILE *iob) { s->fdelimlen = s->edelimlen = 0; s->state = FLD; s->track_filepos = 0; + + return s; } /* scan() needs to force an initial state of FLD for each message. */ @@ -340,7 +340,7 @@ m_getfld_state_reset (m_getfld_state_t *gstate) { void m_getfld_track_filepos (m_getfld_state_t *gstate, FILE *iob) { if (! *gstate) { - m_getfld_state_init (gstate, iob); + *gstate = m_getfld_state_init(iob); } (*gstate)->track_filepos = 1; @@ -395,7 +395,7 @@ enter_getfld (m_getfld_state_t *gstate, FILE *iob) { off_t pos_movement; if (! *gstate) { - m_getfld_state_init (gstate, iob); + *gstate = m_getfld_state_init(iob); } s = *gstate; s->bytes_read = 0;