]> code.citadel.org Git - citadel.git/blobdiff - citadel/routines.c
* strlen holy war: loops. in loops it's very evil. the easy ones go away now.
[citadel.git] / citadel / routines.c
index 65798e27f7065491ecbff55d45bb1c03f7918dc6..6e509e3350c8d95602aec2095eeb12b3755fcbd4 100644 (file)
@@ -84,7 +84,7 @@ void hit_any_key(CtdlIPC *ipc) {      /* hit any key to continue */
        color(COLOR_POP);
        stty_ctdl(0);
        b=inkey();
-       for (a=0; a<strlen(ipc->ServInfo.moreprompt); ++a)
+       for (a=0; !IsEmptyStr(&ipc->ServInfo.moreprompt[0]); ++a)
                scr_putc(' ');
        scr_putc(13);
        stty_ctdl(1);
@@ -136,11 +136,13 @@ void edituser(CtdlIPC *ipc, int cmd)
                }
        
                user->axlevel = intprompt("Access level", user->axlevel, 0, 6);
-       
-               user->flags = set_attr(ipc, user->flags,
+/*             user->flags = set_attr(ipc, user->flags,
                        "Permission to send Internet mail",
-                       US_INTERNET, 0);
-       
+                       US_INTERNET, 0); */
+               if (boolprompt("Permission to send Internet mail", (user->flags & US_INTERNET)))
+                       user->flags |= US_INTERNET;
+               else
+                       user->flags &= ~US_INTERNET;
                if (boolprompt("Ask user to register again", !(user->flags & US_REGIS)))
                        user->flags &= ~US_REGIS;
                else
@@ -283,7 +285,7 @@ void enter_config(CtdlIPC *ipc, int mode)
                                       "Be unlisted in userlog",
                                       US_UNLISTED, 0);
 
-               if (strlen(editor_paths[0]) > 0) {
+               if (!IsEmptyStr(editor_paths[0])) {
                        user->flags = set_attr(ipc, user->flags,
                                "Always enter messages with the full-screen editor",
                                US_EXTEDIT, 0);
@@ -343,10 +345,11 @@ int getstring(FILE *fp, char *string)
 
 /* Searches for patn in search string */
 int pattern(char *search, char *patn) {
-       int a,b;
-
-       for (a=0; a<strlen(search); ++a) {
-               b=strncasecmp(&search[a],patn,strlen(patn));
+       int a,b,len;
+       
+       len = strlen(patn);
+       for (a=0; !IsEmptyStr(&search[a]); ++a) {
+               b=strncasecmp(&search[a],patn,len);
                if (b==0) return(b);
        }
        return(-1);
@@ -357,10 +360,10 @@ void strproc(char *string)
 {
        int a;
 
-       if (strlen(string)==0) return;
+       if (IsEmptyStr(string)) return;
 
        /* Convert non-printable characters to blanks */
-       for (a=0; a<strlen(string); ++a) {
+       for (a=0; !IsEmptyStr(&string[a]); ++a) {
                if (string[a]<32) string[a]=32;
                if (string[a]>126) string[a]=32;
        }
@@ -449,7 +452,7 @@ void locate_host(CtdlIPC* ipc, char *hbuf)
        pclose(who);
 
        b = 0;
-       for (a=0; a<strlen(buf); ++a) {
+       for (a=0; !IsEmptyStr(&buf[a]); ++a) {
                if ((buf[a]=='(')||(buf[a]==')')) ++b;
        }
        if (b<2) {
@@ -466,7 +469,7 @@ void locate_host(CtdlIPC* ipc, char *hbuf)
                if (buf[a]==')') buf[a] = 0;
        }
 
-       if (strlen(buf)==0) strcpy(hbuf, ipc->ServInfo.fqdn);
+       if (IsEmptyStr(buf)) strcpy(hbuf, ipc->ServInfo.fqdn);
        else strncpy(hbuf,buf,24);
 #else
        char *tty = ttyname(0);