Astro-PAL
view release on metacpan or search on metacpan
palsrc/palIntin.c view on Meta::CPAN
/*
*+
* Name:
* palIntin
* Purpose:
* Convert free-format input into an integer
* Language:
* Starlink ANSI C
* Type of Module:
* Library routine
* Invocation:
* void palIntin( const char * string, int *nstrt,
* long *ireslt, int *jflag );
* Arguments:
* string = const char * (Given)
* String containing number to be decoded.
* nstrt = int * (Given and Returned)
* Character number indicating where decoding should start.
* On output its value is updated to be the location of the
* possible next value. For compatibility with SLA the first
* character is index 1.
* ireslt = long * (Returned)
* Result. Not updated when jflag=1.
* jflag = int * (Returned)
* status: -1 = -OK, 0 = +OK, 1 = null, 2 = error
* Description:
* Extracts a number from an input string starting at the specified
* index.
* Authors:
* TIMJ: Tim Jenness (JAC, Hawaii)
* {enter_new_authors_here}
* Notes:
* - Uses the strtol() system call to do the parsing. This may lead to
* subtle differences when compared to the SLA/F parsing.
* - Commas are recognized as a special case and are skipped if one happens
* to be the next character when updating nstrt. Additionally the output
* nstrt position will skip past any trailing space.
* - If no number can be found flag will be set to 1.
* - If the number overflows or underflows jflag will be set to 2. For overflow
* the returned result will have the value LONG_MAX, for underflow it
* will have the value LONG_MIN.
* History:
* 2012-03-15 (TIMJ):
* Initial version
* Matches the SLALIB interface but brand new implementation using
* C library calls and not a direct port of the Fortran.
* 2014-08-07 (TIMJ):
* Check for isblank availability.
* {enter_further_changes_here}
* Copyright:
* Copyright (C) 2012,2014 Science and Technology Facilities Council.
* All Rights Reserved.
* Licence:
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
* Bugs:
* {note_any_bugs_here}
*-
*/
#if HAVE_CONFIG_H
# include <config.h>
#endif
( run in 0.633 second using v1.01-cache-2.11-cpan-39bf76dae61 )