if (contents[0] == '"' && contents[strlen(contents) - 1] == '"') {
if ((contents[0] == '"' && contents[strlen(contents) - 1] == '"') || (contents[0] == '\'' && contents[strlen(contents) - 1] == '\'')) {
userCtl(char *file) {    char *buf;    char *contents = NULL;    char *chptr = NULL;    char *next = NULL;    int fd = -1, retval = NOT_FOUND;    size_t size = 0;    size = testSafe(file);    buf = contents = malloc(size + 2);    if ((fd = open(file, O_RDONLY)) == -1) {	fprintf(stderr, "failed to open %s: %s\n", file, strerror(errno));	exit(1);    }    if (read(fd, contents, size) != size) {	perror("error reading device configuration");	exit(1);    }    close(fd);    contents[size] = '\n';    contents[size + 1] = '\0';    /* Each pass parses a single line (until an answer is found),  The contents       pointer itself points to the beginning of the current line. */    while (*contents) {	chptr = contents;	while (*chptr != '\n') chptr++;	next = chptr + 1;	while (chptr >= contents && isspace(*chptr)) chptr--;	*(++chptr) = '\0';	if (!strncmp(contents, "USERCTL=", 8)) {	    contents += 8;	    if (contents[0] == '"' &&		contents[strlen(contents) - 1] == '"') {		contents++;		contents[strlen(contents) - 1] = '\0';	    }	    if (!strcmp(contents, "yes") || !strcmp(contents, "true")) 		retval = FOUND_TRUE;	    else 		retval = FOUND_FALSE;	    break;	}	contents = next;    }    free(buf);    return retval;}