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