Singly Linked List Implementation in C
Overall this seems fine: a classing linked list implementation in C.
A couple of things can be simplified or improved here and there.



Instead of testing head == NULL twice:


if (head == NULL &amp;&amp; ind &gt; 0) return head;
if (head == NULL &amp;&amp; ind == 0) return new_SLLNode(val);



It would be better to eliminate this duplication and do it only once:

if (head == NULL) {
    if (ind &gt; 0) return NULL;
    if (ind == 0) return new_SLLNode(val);
}


Notice that I also changed return head to return NULL.
I know that head is NULL there,
but it's more explicit this way.

I have a feeling that after the while loop that iterates until ind to insert an element, when you do this:


if (curr == NULL) return head;



Possibly you really meant this instead:

if (curr == NULL) return curr;
// or
if (curr == NULL) return NULL;


I could be wrong, but perhaps not using explicit NULLs somehow led to mistakes like this. (I assume it was a mistake to return head when trying to insert beyond end + 1 of the linked list, which indicates a likely bug in the caller.)




  Is the spacing excessive?


No, I think it's just right.


  Are 1-line control flow statements okay? 


They are ok. But keep in mind that if/for/while statements without a { ... } block can lead to nasty bugs, like in this famous example.
Some static analysis tools flag a warning for such statements.