*
* (C) Copyright (c) 2015, Cray Inc, all rights reserved.
*
- * Copyright (c) 2016 Intel Corporation.
+ * Copyright (c) 2016, 2017, Intel Corporation.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser General Public License
#include <sys/stat.h>
#include <sys/syscall.h>
#include <lustre/lustreapi.h>
-#include <libcfs/util/string.h> /* only needed for compat strlcpy() */
-#include <lustre_ver.h> /* only until LUSTRE_VERSION_CODE is gone */
+#include <linux/lustre/lustre_ver.h> /* only until LUSTRE_VERSION_CODE is gone */
#include "lustreapi_internal.h"
/*
*/
bool liblustreapi_initialized;
-
/**
* Initialize the library once at startup.
*
}
ptr = strstr(buffer, "lustre:");
- if (ptr != NULL) {
- llapi_chomp_string(ptr);
+ if (ptr) {
ptr += strlen("lustre:");
while (*ptr == ' ' || *ptr == '\t')
ptr++;
-
- if (strlcpy(version, ptr, version_size) >= version_size) {
- errno = EOVERFLOW;
- return -1;
- }
} else {
+ ptr = buffer;
+ }
+ llapi_chomp_string(ptr);
+
+ if (ptr[0] == '\0') {
errno = ENODATA;
return -1;
}
+ if (snprintf(version, version_size, "%s", ptr) >= version_size) {
+ errno = EOVERFLOW;
+ return -1;
+ }
return 0;
}