19f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/*---------------------------------------------------------------------------*
29f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  ptypes.c  *
39f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *                                                                           *
49f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
59f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *                                                                           *
69f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  Licensed under the Apache License, Version 2.0 (the 'License');          *
79f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  you may not use this file except in compliance with the License.         *
89f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *                                                                           *
99f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  You may obtain a copy of the License at                                  *
109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *      http://www.apache.org/licenses/LICENSE-2.0                           *
119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *                                                                           *
129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  Unless required by applicable law or agreed to in writing, software      *
139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  distributed under the License is distributed on an 'AS IS' BASIS,        *
149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  See the License for the specific language governing permissions and      *
169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *  limitations under the License.                                           *
179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *                                                                           *
189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson *---------------------------------------------------------------------------*/
199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson#include "ptypes.h"
219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse WilsonPINLINE ESR_BOOL isNumber(const LCHAR* str)
239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson{
249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  if (!str || !*str)
259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    return ESR_FALSE;
269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  /* ignore minus sign */
289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  if (*str == L('-'))
299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    ++str;
309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson
319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  while (*str)
329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  {
339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    if (!isdigit(*str))
349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson      return ESR_FALSE;
359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson    ++str;
369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  }
379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson  return ESR_TRUE;
38}
39