2 f4ade537 2001-12-11 alex * ngIRCd -- The Next Generation IRC Daemon
3 1547f76c 2002-01-02 alex * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
5 f4ade537 2001-12-11 alex * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
6 f4ade537 2001-12-11 alex * der GNU General Public License (GPL), wie von der Free Software Foundation
7 f4ade537 2001-12-11 alex * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
8 f4ade537 2001-12-11 alex * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
9 f4ade537 2001-12-11 alex * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
10 804b1ec4 2001-12-31 alex * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
12 fdf23efe 2002-03-22 alex * $Id: tool.c,v 1.8 2002/03/22 00:17:27 alex Exp $
14 f4ade537 2001-12-11 alex * tool.c: Hilfsfunktionen, ggf. Platformabhaengig
18 ca33cbda 2002-03-12 alex #include "portab.h"
20 ca33cbda 2002-03-12 alex #include "imp.h"
21 f4ade537 2001-12-11 alex #include <assert.h>
22 fdf23efe 2002-03-22 alex #include <ctype.h>
23 f4ade537 2001-12-11 alex #include <stdio.h>
24 f4ade537 2001-12-11 alex #include <string.h>
26 ca33cbda 2002-03-12 alex #include "exp.h"
27 7da703f1 2001-12-12 alex #include "tool.h"
30 b6120774 2001-12-29 alex GLOBAL VOID ngt_TrimStr( CHAR *String )
32 b6120774 2001-12-29 alex /* Mit ngt_TrimStr() werden fuehrende und folgende Leerzeichen,
33 7da703f1 2001-12-12 alex * Tabulatoren und Zeilenumbrueche (ASCII 10 und ASCII 13) aus
34 7da703f1 2001-12-12 alex * dem String entfernt. */
36 f4ade537 2001-12-11 alex CHAR *start, *ptr;
38 f4ade537 2001-12-11 alex assert( String != NULL );
40 f4ade537 2001-12-11 alex start = String;
42 f4ade537 2001-12-11 alex /* Zeichen am Anfang pruefen ... */
43 f4ade537 2001-12-11 alex while(( *start == ' ' ) || ( *start == 9 )) start++;
45 f4ade537 2001-12-11 alex /* Zeichen am Ende pruefen ... */
46 f4ade537 2001-12-11 alex ptr = strchr( start, '\0' ) - 1;
47 61756997 2001-12-31 alex while((( *ptr == ' ' ) || ( *ptr == 9 ) || ( *ptr == 10 ) || ( *ptr == 13 )) && ptr >= start ) ptr--;
48 f4ade537 2001-12-11 alex *(++ptr) = '\0';
50 f4ade537 2001-12-11 alex memmove( String, start, strlen( start ) + 1 );
51 b6120774 2001-12-29 alex } /* ngt_TrimStr */
54 fdf23efe 2002-03-22 alex GLOBAL CHAR *ngt_LowerStr( CHAR *String )
56 fdf23efe 2002-03-22 alex /* String in Kleinbuchstaben konvertieren. Der uebergebene
57 fdf23efe 2002-03-22 alex * Speicherbereich wird durch das Ergebnis ersetzt, zusaetzlich
58 fdf23efe 2002-03-22 alex * wird dieser auch als Pointer geliefert. */
62 fdf23efe 2002-03-22 alex assert( String != NULL );
64 fdf23efe 2002-03-22 alex /* Zeichen konvertieren */
65 fdf23efe 2002-03-22 alex ptr = String;
66 fdf23efe 2002-03-22 alex while( *ptr )
68 fdf23efe 2002-03-22 alex *ptr = tolower( *ptr );
72 fdf23efe 2002-03-22 alex return String;
73 fdf23efe 2002-03-22 alex } /* ngt_LowerStr */