// File: /workspace/github_c_makefile_star2_O1/s3lase[P]v6shell/osh.c
// Function: get_word
static int
get_word(void)
{
	int c, c1;

	*wordp++ = linep;

	for (;;) {
		switch (c = xgetc(DOLSUB)) {
		case EOF:
			return EOF;

		case SPACE:
		case TAB:
			continue;

		case DQUOT:
		case SQUOT:
			c1 = c;
			*linep++ = c;
			while ((c = xgetc(!DOLSUB)) != c1) {
				if (c == EOF)
					return EOF;
				if (c == EOL) {
					if (!error)
						error_message = ERR_SYNTAX;
					peekc = c;
					*linep++ = EOS;
					error = true;
					return 1;
				}
				if (c == BQUOT) {
					if ((c = xgetc(!DOLSUB)) == EOF)
						return EOF;
					if (c == EOL)
						c = SPACE;
					else {
						peekc = c;
						c = BQUOT;
					}
				}
				*linep++ = c;
			}
			*linep++ = c;
			break;

		case BQUOT:
			if ((c = xgetc(!DOLSUB)) == EOF)
				return EOF;
			if (c == EOL)
				continue;
			*linep++ = BQUOT;
			*linep++ = c;
			break;

		case LPARENTHESIS: case RPARENTHESIS:
		case SEMICOLON:    case AMPERSAND:
		case VERTICALBAR:  case CARET:
		case LESSTHAN:     case GREATERTHAN:
		case EOL:
			*linep++ = c;
			*linep++ = EOS;
			return 1;

		default:
			peekc = c;
		}

		for (;;) {
			if ((c = xgetc(DOLSUB)) == EOF)
				return EOF;
			if (c == BQUOT) {
				if ((c = xgetc(!DOLSUB)) == EOF)
					return EOF;
				if (c == EOL)
					c = SPACE;
				else {
					*linep++ = BQUOT;
					*linep++ = c;
					continue;
				}
			}
			if (any(c, WORDPACK)) {
				peekc = c;
				if (any(c, QUOTPACK))
					break;
				*linep++ = EOS;
				return 1;
			}
			*linep++ = c;
		}
	}
	/*NOTREACHED*/
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0x973b(%rip), %rax      # 0xca80
movq 0xb744(%rip), %rcx      # 0xea90
leaq 0x8(%rcx), %rdx
movq %rdx, 0xb739(%rip)      # 0xea90
movq %rax, (%rcx)
movabsq $0x100000200, %r14      # imm = 0x100000200
movabsq $0x8400000000, %r15     # imm = 0x8400000000
movabsq $0x5800034000000400, %r12 # imm = 0x5800034000000400
leaq 0x5ef3(%rip), %r13      # 0x9272
leaq 0x5efa(%rip), %rbp      # 0x9280
movl $0x1, %edi
callq 0x3de9
movl %eax, %ebx
cmpl $0x5b, %eax
jg 0x342e
cmpl $0x3e, %ebx
ja 0x34a6
movl %ebx, %eax
btq %rax, %r14
jb 0x3386
btq %rax, %r15
jae 0x349c
movq 0x96c3(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x96b8(%rip)      # 0xca80
movb %bl, (%rax)
xorl %edi, %edi
callq 0x3de9
cmpl %ebx, %eax
je 0x3473
cmpl $0x5c, %eax
je 0x33f1
cmpl $-0x1, %eax
je 0x356c
cmpl $0xa, %eax
jne 0x3418
jmp 0x3595
xorl %edi, %edi
callq 0x3de9
movl %eax, %ecx
movl $0x20, %eax
cmpl $0xa, %ecx
je 0x3418
cmpl $-0x1, %ecx
je 0x35e8
movl %ecx, 0xb6ad(%rip)      # 0xeac0
movl $0x5c, %eax
movq 0x9661(%rip), %rcx      # 0xca80
leaq 0x1(%rcx), %rdx
movq %rdx, 0x9656(%rip)      # 0xca80
movb %al, (%rcx)
jmp 0x33ca
cmpl $0x5c, %ebx
jne 0x3489
xorl %edi, %edi
callq 0x3de9
cmpl $0xa, %eax
je 0x3386
movl %eax, %ebx
cmpl $-0x1, %eax
je 0x35d7
movq 0x962b(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x9620(%rip)      # 0xca80
movb $0x5c, (%rax)
leaq 0x2(%rax), %rcx
movq %rcx, 0x9612(%rip)      # 0xca80
movb %bl, 0x1(%rax)
jmp 0x34cb
movq 0x9606(%rip), %rcx      # 0xca80
leaq 0x1(%rcx), %rdx
movq %rdx, 0x95fb(%rip)      # 0xca80
movb %al, (%rcx)
jmp 0x34cb
cmpl $0x5e, %ebx
je 0x3570
cmpl $0x7c, %ebx
jne 0x34af
jmp 0x3570
btq %rax, %r12
jb 0x3570
cmpl $-0x1, %ebx
je 0x35d7
movl %ebx, 0xb60b(%rip)      # 0xeac0
jmp 0x34cb
movq 0x95c2(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x95b7(%rip)      # 0xca80
movb %bl, (%rax)
movl $0x1, %edi
callq 0x3de9
cmpl $0x5c, %eax
je 0x34e6
movl %eax, %ebx
cmpl $-0x1, %eax
jne 0x3521
jmp 0x35d7
xorl %edi, %edi
callq 0x3de9
movl $0x20, %ebx
cmpl $0xa, %eax
je 0x3521
cmpl $-0x1, %eax
je 0x356c
movq 0x957d(%rip), %rcx      # 0xca80
leaq 0x1(%rcx), %rdx
movq %rdx, 0x9572(%rip)      # 0xca80
movb $0x5c, (%rcx)
leaq 0x2(%rcx), %rdx
movq %rdx, 0x9564(%rip)      # 0xca80
movb %al, 0x1(%rcx)
jmp 0x34cb
movq %r13, %rax
movsbl (%rax), %ecx
testl %ecx, %ecx
je 0x3532
incq %rax
cmpl %ecx, %ebx
jne 0x3524
testb %cl, %cl
je 0x34b7
movl %ebx, 0xb584(%rip)      # 0xeac0
movq %rbp, %rax
movsbl (%rax), %ecx
testl %ecx, %ecx
je 0x354d
incq %rax
cmpl %ecx, %ebx
jne 0x353f
testb %cl, %cl
jne 0x3386
movq 0x9524(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x9519(%rip)      # 0xca80
movb $0x0, (%rax)
jmp 0x35d2
movl %eax, %ebx
jmp 0x35d7
movq 0x9509(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x94fe(%rip)      # 0xca80
movb %bl, (%rax)
leaq 0x2(%rax), %rcx
movq %rcx, 0x94f1(%rip)      # 0xca80
movb $0x0, 0x1(%rax)
jmp 0x35d2
cmpb $0x0, 0xb504(%rip)      # 0xeaa0
jne 0x35ac
leaq 0x5cc0(%rip), %rax      # 0x9265
movq %rax, 0xb4fc(%rip)      # 0xeaa8
movl $0xa, 0xb50a(%rip)      # 0xeac0
movq 0x94c3(%rip), %rax      # 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, 0x94b8(%rip)      # 0xca80
movb $0x0, (%rax)
movb $0x1, 0xb4ce(%rip)      # 0xeaa0
movl $0x1, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ecx, %ebx
jmp 0x35d7