blob: 277233fb085d4485b8daf72fae6fbb3ecd35f32c [file] [log] [blame]
#include "android_avm.h"
#include "android_utils.h"
#include <string.h>
int
avm_check_name( const char* avm_name )
{
static const char* goodchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-0123456789.";
int len = strlen(avm_name);
int slen = strspn(avm_name, goodchars);
return (len == slen);
}
char*
avm_bufprint_default_root( char* p, char* end )
{
/* at the moment, store in $CONFIG_PATH/VMs */
return bufprint_config_path(p, end, "VMs" );
}
char*
avm_bufprint_avm_dir( char* p, char* end, const char* avm_name, const char* root_dir )
{
if (root_dir) {
int len = strlen(root_dir);
/* get rid of trailing path separators */
while (len > 0 && root_dir[len-1] == PATH_SEP[0])
len -= 1;
p = bufprint( p, end, "%.*s", len, root_dir );
} else {
p = avm_bufprint_default_root( p, end );
p = bufprint( p, end, PATH_SEP "%s", avm_name );
return p;
}