]> git.sur5r.net Git - c128-kasse/commitdiff
length check
authormatze <matze@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sun, 29 Jul 2007 01:12:19 +0000 (01:12 +0000)
committermatze <matze@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sun, 29 Jul 2007 01:12:19 +0000 (01:12 +0000)
git-svn-id: https://shell.noname-ev.de/svn/kasse/c128@36 af93e077-1a23-4f1e-9cbe-9382a9d578f5

general.c
general.h

index 9f0c6c6072411284eadc8f6e653b3922a3ae0a34..03bc576107e548adb5fc980a811fecaba61fbb37 100644 (file)
--- a/general.c
+++ b/general.c
@@ -29,7 +29,13 @@ char *get_input() {
        return output;
 }
 
-char * format_euro(char * s, int cent){
+char * format_euro(char * s, int maxlen, int cent){
+       int tmp = cent;
+       int len = 5; // 1 char at least + 4 (== strlen(",EUR"))
+       while ((tmp/=10) > 0)
+               len++;
+       if (len>maxlen)
+               return NULL;
        sprintf(s, "%d,%dEUR", cent/100, cent%100);
        return s;
 }
index 1a607f176dcb20aa2851036752f8eca3c087ea4c..6d55870bd0a8892086792c50b1cd8c9aa966c43f 100644 (file)
--- a/general.h
+++ b/general.h
@@ -2,7 +2,7 @@
 #define GENERAL_H_
 typedef unsigned char BYTE;
 char *get_input();
-char * format_euro(char * s, int cent);
+char * format_euro(char * s, int maxlen, int cent);
 void c128_perror(BYTE, char*);
 extern BYTE _oserror;
 #endif /*GENERAL_H_*/