(root)/
gettext-0.22.4/
gettext-runtime/
gnulib-lib/
trim.h
       1  /* Removes leading and/or trailing whitespaces
       2     Copyright (C) 2006, 2009-2023 Free Software Foundation, Inc.
       3  
       4     This program is free software: you can redistribute it and/or modify
       5     it under the terms of the GNU General Public License as published by
       6     the Free Software Foundation, either version 3 of the License, or
       7     (at your option) any later version.
       8  
       9     This program is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      12     GNU General Public License for more details.
      13  
      14     You should have received a copy of the GNU General Public License
      15     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      16  
      17  /* Written by Davide Angelocola <davide.angelocola@gmail.com> */
      18  
      19  /* This file uses _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_RETURNS_NONNULL.  */
      20  #if !_GL_CONFIG_H_INCLUDED
      21   #error "Please include config.h first."
      22  #endif
      23  
      24  #include <stdlib.h>
      25  
      26  /* Trim mode. */
      27  #define TRIM_TRAILING 0
      28  #define TRIM_LEADING 1
      29  #define TRIM_BOTH 2
      30  
      31  /* Removes trailing and leading whitespaces. */
      32  #define trim(s) trim2(s, TRIM_BOTH)
      33  
      34  /* Removes trailing whitespaces. */
      35  #define trim_trailing(s) trim2(s, TRIM_TRAILING)
      36  
      37  /* Removes leading whitespaces. */
      38  #define trim_leading(s) trim2(s, TRIM_LEADING)
      39  
      40  char *trim2 (const char *, int)
      41    _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
      42    _GL_ATTRIBUTE_RETURNS_NONNULL;