]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/util.c
Remove obsolete .cvsignore files.
[bacula/bacula] / bacula / src / lib / util.c
index 154965b9d51583970abc9eb1722ac1df9de8c068..9cb5e07755540c0cb762e43eff19a001b0d1af41 100644 (file)
  */
 
 /* Return true of buffer has all zero bytes */
-int is_buf_zero(char *buf, int len)
+bool is_buf_zero(char *buf, int len)
 {
    uint64_t *ip;
    char *p;
    int i, len64, done, rem;
 
    if (buf[0] != 0) {
-      return 0;
+      return false;
    }
    ip = (uint64_t *)buf;
    /* Optimize by checking uint64_t for zero */
    len64 = len / sizeof(uint64_t);
    for (i=0; i < len64; i++) {
       if (ip[i] != 0) {
-         return 0;
+         return false;
       }
    }
    done = len64 * sizeof(uint64_t);  /* bytes already checked */
@@ -65,10 +65,10 @@ int is_buf_zero(char *buf, int len)
    rem = len - done;
    for (i = 0; i < rem; i++) {
       if (p[i] != 0) {
-         return 0;
+         return false;
       }
    }
-   return 1;
+   return true;
 }
 
 
@@ -76,8 +76,9 @@ int is_buf_zero(char *buf, int len)
 void lcase(char *str)
 {
    while (*str) {
-      if (B_ISUPPER(*str))
+      if (B_ISUPPER(*str)) {
          *str = tolower((int)(*str));
+       }
        str++;
    }
 }
@@ -700,3 +701,15 @@ void set_working_directory(char *wd)
    }
    working_directory = wd;            /* set global */
 }
+
+const char *last_path_separator(const char *str)
+{
+   if (*str != '\0') {
+      for (const char *p = &str[strlen(str) - 1]; p >= str; p--) {
+         if (IsPathSeparator(*p)) {
+            return p;
+         }
+      }
+   }
+   return NULL;
+}