Files

66 lines
1.6 KiB
Objective-C

//
// utilities.m
// ProcessMonitor
//
// Created by Patrick Wardle on 9/1/19.
// Copyright © 2020 Objective-See. All rights reserved.
//
#import "utilities.h"
//convert es_string_token_t to string
NSString* convertStringToken(es_string_token_t* stringToken)
{
//string
NSString* string = nil;
//sanity check(s)
if( (NULL == stringToken) ||
(NULL == stringToken->data) ||
(stringToken->length <= 0) )
{
//bail
goto bail;
}
//convert to data, then to string
string = [[NSString alloc] initWithBytes:stringToken->data length:stringToken->length encoding:NSUTF8StringEncoding];
bail:
return string;
}
// parses environment string |env| and writes the key to |key| and the value to |value|
void convertEnvironmentVariableStringToKeyValue(NSString *env, NSString **key, NSString **value)
{
NSRange firstEquals = [env rangeOfString:@"="];
if(firstEquals.length == NSNotFound)
{
return;
}
@try
{
NSString *keySubStr = [env substringToIndex:firstEquals.location];
if(keySubStr != nil && keySubStr.length > 0)
{
*key = keySubStr;
}
else
{
// key cannot be empty, fail fast
return;
}
NSString *valueSubStr = [env substringFromIndex:firstEquals.location + 1];
// either empty or contains value, either is fine
*value = valueSubStr;
}
// should never happen but just in case
@catch (NSException *exception)
{
return;
}
}