// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movq 0xb2b1(%rip), %rcx      # 0xea80
movq 0xd2ba(%rip), %rax      # 0x10a90
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0xd2ac(%rip)      # 0x10a90
movq %rcx, (%rax)
movl $0x1, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
incl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x7d, %eax
ja 0x39df
movq -0x18(%rbp), %rax
leaq 0x790c(%rip), %rcx      # 0xb11c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
jmp 0x37e7
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb247(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb239(%rip)      # 0xea80
movb %cl, (%rax)
xorl %edi, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
cmpl -0xc(%rbp), %eax
je 0x3922
cmpl $-0x1, -0x8(%rbp)
jne 0x386e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
cmpl $0xa, -0x8(%rbp)
jne 0x38bf
testb $0x1, 0xd225(%rip)      # 0x10aa0
jne 0x388b
leaq 0x7e45(%rip), %rax      # 0xb6c9
movq %rax, 0xd21d(%rip)      # 0x10aa8
movl -0x8(%rbp), %eax
movl %eax, 0xd22c(%rip)      # 0x10ac0
movq 0xb1e5(%rip), %rax      # 0xea80
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xb1d7(%rip)      # 0xea80
movb $0x0, (%rax)
movb $0x1, 0xd1ed(%rip)      # 0x10aa0
movl $0x1, -0x4(%rbp)
jmp 0x3aef
cmpl $0x5c, -0x8(%rbp)
jne 0x3901
xorl %edi, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
cmpl $-0x1, %eax
jne 0x38e0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
cmpl $0xa, -0x8(%rbp)
jne 0x38ef
movl $0x20, -0x8(%rbp)
jmp 0x38ff
movl -0x8(%rbp), %eax
movl %eax, 0xd1c8(%rip)      # 0x10ac0
movl $0x5c, -0x8(%rbp)
jmp 0x3901
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb173(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb165(%rip)      # 0xea80
movb %cl, (%rax)
jmp 0x3849
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb152(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb144(%rip)      # 0xea80
movb %cl, (%rax)
jmp 0x39e8
xorl %edi, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
cmpl $-0x1, %eax
jne 0x395e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
cmpl $0xa, -0x8(%rbp)
jne 0x3969
jmp 0x37e7
movq 0xb110(%rip), %rax      # 0xea80
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xb102(%rip)      # 0xea80
movb $0x5c, (%rax)
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb0f3(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb0e5(%rip)      # 0xea80
movb %cl, (%rax)
jmp 0x39e8
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb0d5(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb0c7(%rip)      # 0xea80
movb %cl, (%rax)
movq 0xb0be(%rip), %rax      # 0xea80
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xb0b0(%rip)      # 0xea80
movb $0x0, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x3aef
movl -0x8(%rbp), %eax
movl %eax, 0xd0d8(%rip)      # 0x10ac0
jmp 0x39ea
movl $0x1, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
cmpl $-0x1, %eax
jne 0x3a08
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
cmpl $0x5c, -0x8(%rbp)
jne 0x3a73
xorl %edi, %edi
callq 0x41e0
movl %eax, -0x8(%rbp)
cmpl $-0x1, %eax
jne 0x3a29
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3aef
cmpl $0xa, -0x8(%rbp)
jne 0x3a38
movl $0x20, -0x8(%rbp)
jmp 0x3a71
movq 0xb041(%rip), %rax      # 0xea80
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xb033(%rip)      # 0xea80
movb $0x5c, (%rax)
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xb024(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xb016(%rip)      # 0xea80
movb %cl, (%rax)
jmp 0x39ea
jmp 0x3a73
movl -0x8(%rbp), %edi
leaq 0x7c59(%rip), %rsi      # 0xb6d6
callq 0x4460
testb $0x1, %al
jne 0x3a88
jmp 0x3ac9
movl -0x8(%rbp), %eax
movl %eax, 0xd02f(%rip)      # 0x10ac0
movl -0x8(%rbp), %edi
leaq 0x7c49(%rip), %rsi      # 0xb6e4
callq 0x4460
testb $0x1, %al
jne 0x3aa6
jmp 0x3aa8
jmp 0x3aea
movq 0xafd1(%rip), %rax      # 0xea80
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xafc3(%rip)      # 0xea80
movb $0x0, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x3aef
movl -0x8(%rbp), %eax
movb %al, %cl
movq 0xafab(%rip), %rax      # 0xea80
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0xaf9d(%rip)      # 0xea80
movb %cl, (%rax)
jmp 0x39ea
jmp 0x37e7
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)