/*
 * edlib v1.1 Copyright 1989 Edwin Hoogerbeets
 * This code is freely redistributable as long as no charge other than
 * reasonable copying fees are levied for it.
 */

#include <stdio.h>
#include "edlib.h"
#include <ctype.h>
#include <exec/types.h>

char *b = "10101";
char *d = "12345";
char *h = "2a";
char *zoo = "ifoo";
char *zar = "Ibar";

char *s1 = "hey man this was in lower case.";
char *s2 = "THIS WAS ENTIRELY UPPER CASE IN THE FASHION OF IBM.";

char *s3 = "hey man this was in lower case.";
char *s4 = "THIS WAS ENTIRELY UPPER CASE IN THE FASHION OF IBM.";

char *file = "df1:edlib/1.1";
char *file2 = "df0:foo";
char *file3 = "foobar";
char *file4 = "rad:c";
char *file5 = "rad:edlib";
char *doub = "00011020.332e+20";

main()
{
    char buf[BUFSIZ];

    printf("basename of %s is %s\n",file,basename(file));
    printf("basename of %s is %s\n",file2,basename(file2));
    printf("basename of %s is %s\n",file3,basename(file3));

    printf("getcwd reveals that the current dir is %s\n",getcwd(buf,BUFSIZ));
    printf("getcwd reveals again that the current dir is %s\n",getcwd(buf,BUFSIZ));
    printf("and changing directory to %s and then %s\n",file4,file5);
    chdir(file4);
    chdir(file5);
    printf("getcwd reveals that the current dir is %s\n",getcwd(buf,BUFSIZ));

    printf("strtod of %s is %f\n",doub,strtod(doub,NULL));

    printf("Bin: %d\n",bintoint(b));
    printf("Dec: %d\n",dectoint(d));
    printf("Hex: %d\n",hextoint(h));

    printf("Is 1 a bdigit? %d Is 'a'? %d\n",isbdigit('1'),isbdigit('a'));

    printf("iscsym: 'a' %d '_' %d '4' %d '!' %d '/' %d\n",iscsym('a'),
            iscsym('_'), iscsym('4'), iscsym('!'), iscsym('/'));

    printf("iscsymf: 'a' %d '_' %d '4' %d '!' %d '/' %d\n",iscsymf('a'),
            iscsymf('_'), iscsymf('4'), iscsymf('!'), iscsymf('/'));

    printf("isodigit: '2' %d '8' %d 'a' %d\n", isodigit('2'), isodigit('8'),
            isodigit('a'));

    printf("stoupper: %s\n",stoupper(s1));
    printf("stolower: %s\n",stolower(s2));

    printf("strcspn: '%s' '%s' gives %d\n",s3,"an",strcspn(s3,"an"));

    printf("stricmp: '%s' '%s' gives %d\n",s1,s3,stricmp(s1,s3));
    printf("strnicmp: '%s' '%s' 1 gives %d\n",zoo,zar,strnicmp(zoo,zar,1));

    printf("strpbrk: '%s' '%s' gives '%s'\n",s3,"a",strpbrk(s3,"a"));

    printf("strpos: '%s' '%c' gives %d\n",s3,'a',strpos(s3,'a'));

    printf("strrpbrk: '%s' '%s' gives '%s'\n",s3,"a",strrpbrk(s3,"a"));

    printf("strrpos: '%s' '%s' gives %d\n",s3,'a',strrpos(s3,'a'));

    printf("strspn: '%s' '%s' gives %d\n",s3,"ma yeh",strspn(s3,"ma yeh"));

    printf("strtok: '%s'\n",s3);
    printf("  tok1: '%s'\n",strtok(s3," "));
    printf("  tok2: '%s'\n",strtok(NULL," "));
    printf("  tok3: '%s'\n",strtok(NULL," "));

    printf("toint: '1' %d 'b' %d 'k' %d\n",toint('1'),toint('b'),toint('k'));

    exit(0);
}




