Blame


1 f4ade537 2001-12-11 alex /*
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)
4 f4ade537 2001-12-11 alex *
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.
11 f4ade537 2001-12-11 alex *
12 fdf23efe 2002-03-22 alex * $Id: tool.c,v 1.8 2002/03/22 00:17:27 alex Exp $
13 f4ade537 2001-12-11 alex *
14 f4ade537 2001-12-11 alex * tool.c: Hilfsfunktionen, ggf. Platformabhaengig
15 f4ade537 2001-12-11 alex */
16 f4ade537 2001-12-11 alex
17 f4ade537 2001-12-11 alex
18 ca33cbda 2002-03-12 alex #include "portab.h"
19 f4ade537 2001-12-11 alex
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>
25 f4ade537 2001-12-11 alex
26 ca33cbda 2002-03-12 alex #include "exp.h"
27 7da703f1 2001-12-12 alex #include "tool.h"
28 f4ade537 2001-12-11 alex
29 f4ade537 2001-12-11 alex
30 b6120774 2001-12-29 alex GLOBAL VOID ngt_TrimStr( CHAR *String )
31 f4ade537 2001-12-11 alex {
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. */
35 f4ade537 2001-12-11 alex
36 f4ade537 2001-12-11 alex CHAR *start, *ptr;
37 f4ade537 2001-12-11 alex
38 f4ade537 2001-12-11 alex assert( String != NULL );
39 f4ade537 2001-12-11 alex
40 f4ade537 2001-12-11 alex start = String;
41 f4ade537 2001-12-11 alex
42 f4ade537 2001-12-11 alex /* Zeichen am Anfang pruefen ... */
43 f4ade537 2001-12-11 alex while(( *start == ' ' ) || ( *start == 9 )) start++;
44 f4ade537 2001-12-11 alex
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';
49 f4ade537 2001-12-11 alex
50 f4ade537 2001-12-11 alex memmove( String, start, strlen( start ) + 1 );
51 b6120774 2001-12-29 alex } /* ngt_TrimStr */
52 f4ade537 2001-12-11 alex
53 f4ade537 2001-12-11 alex
54 fdf23efe 2002-03-22 alex GLOBAL CHAR *ngt_LowerStr( CHAR *String )
55 fdf23efe 2002-03-22 alex {
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. */
59 fdf23efe 2002-03-22 alex
60 fdf23efe 2002-03-22 alex CHAR *ptr;
61 fdf23efe 2002-03-22 alex
62 fdf23efe 2002-03-22 alex assert( String != NULL );
63 fdf23efe 2002-03-22 alex
64 fdf23efe 2002-03-22 alex /* Zeichen konvertieren */
65 fdf23efe 2002-03-22 alex ptr = String;
66 fdf23efe 2002-03-22 alex while( *ptr )
67 fdf23efe 2002-03-22 alex {
68 fdf23efe 2002-03-22 alex *ptr = tolower( *ptr );
69 fdf23efe 2002-03-22 alex ptr++;
70 fdf23efe 2002-03-22 alex }
71 fdf23efe 2002-03-22 alex
72 fdf23efe 2002-03-22 alex return String;
73 fdf23efe 2002-03-22 alex } /* ngt_LowerStr */
74 fdf23efe 2002-03-22 alex
75 fdf23efe 2002-03-22 alex
76 f4ade537 2001-12-11 alex /* -eof- */