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 c2f60abe 2002-05-27 alex * $Id: tool.c,v 1.9 2002/05/27 13:09: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 c2f60abe 2002-05-27 alex GLOBAL VOID
31 c2f60abe 2002-05-27 alex ngt_TrimStr( CHAR *String )
32 f4ade537 2001-12-11 alex {
33 b6120774 2001-12-29 alex /* Mit ngt_TrimStr() werden fuehrende und folgende Leerzeichen,
34 7da703f1 2001-12-12 alex * Tabulatoren und Zeilenumbrueche (ASCII 10 und ASCII 13) aus
35 7da703f1 2001-12-12 alex * dem String entfernt. */
36 f4ade537 2001-12-11 alex
37 f4ade537 2001-12-11 alex CHAR *start, *ptr;
38 f4ade537 2001-12-11 alex
39 f4ade537 2001-12-11 alex assert( String != NULL );
40 f4ade537 2001-12-11 alex
41 f4ade537 2001-12-11 alex start = String;
42 f4ade537 2001-12-11 alex
43 f4ade537 2001-12-11 alex /* Zeichen am Anfang pruefen ... */
44 f4ade537 2001-12-11 alex while(( *start == ' ' ) || ( *start == 9 )) start++;
45 f4ade537 2001-12-11 alex
46 f4ade537 2001-12-11 alex /* Zeichen am Ende pruefen ... */
47 f4ade537 2001-12-11 alex ptr = strchr( start, '\0' ) - 1;
48 61756997 2001-12-31 alex while((( *ptr == ' ' ) || ( *ptr == 9 ) || ( *ptr == 10 ) || ( *ptr == 13 )) && ptr >= start ) ptr--;
49 f4ade537 2001-12-11 alex *(++ptr) = '\0';
50 f4ade537 2001-12-11 alex
51 f4ade537 2001-12-11 alex memmove( String, start, strlen( start ) + 1 );
52 b6120774 2001-12-29 alex } /* ngt_TrimStr */
53 f4ade537 2001-12-11 alex
54 f4ade537 2001-12-11 alex
55 c2f60abe 2002-05-27 alex GLOBAL CHAR *
56 c2f60abe 2002-05-27 alex ngt_LowerStr( CHAR *String )
57 fdf23efe 2002-03-22 alex {
58 fdf23efe 2002-03-22 alex /* String in Kleinbuchstaben konvertieren. Der uebergebene
59 fdf23efe 2002-03-22 alex * Speicherbereich wird durch das Ergebnis ersetzt, zusaetzlich
60 fdf23efe 2002-03-22 alex * wird dieser auch als Pointer geliefert. */
61 fdf23efe 2002-03-22 alex
62 fdf23efe 2002-03-22 alex CHAR *ptr;
63 fdf23efe 2002-03-22 alex
64 fdf23efe 2002-03-22 alex assert( String != NULL );
65 fdf23efe 2002-03-22 alex
66 fdf23efe 2002-03-22 alex /* Zeichen konvertieren */
67 fdf23efe 2002-03-22 alex ptr = String;
68 fdf23efe 2002-03-22 alex while( *ptr )
69 fdf23efe 2002-03-22 alex {
70 fdf23efe 2002-03-22 alex *ptr = tolower( *ptr );
71 fdf23efe 2002-03-22 alex ptr++;
72 fdf23efe 2002-03-22 alex }
73 fdf23efe 2002-03-22 alex
74 fdf23efe 2002-03-22 alex return String;
75 fdf23efe 2002-03-22 alex } /* ngt_LowerStr */
76 fdf23efe 2002-03-22 alex
77 fdf23efe 2002-03-22 alex
78 f4ade537 2001-12-11 alex /* -eof- */