c - Error: Invalid Argument ORBIT_SOCKETDIR=/tmp/orbit-root -


i trying communicate hardware passing command line arguments. have error checking if pass wrong arguments. whenever pass unrecognized argument getting error : orbit_socketdir=/tmp/orbit-root. opened location , has socket files. error checking in code working fine , exiting when wrong argument encountered. tried searching on google not find satisfactory explanation. can me here.

happened me today.

arguments passed program stored inside called process environment block. when no arguments passed main , it's trying access them in argv reads next elements in block(i found more info here: https://stackoverflow.com/a/26417129/3922692)

then wrote this:

 ⚡⚡⚡  more test.c  #include <stdio.h>  int main(int argc, char **argv) {     int i;     for(i = 0; < 100; i++)     {         printf("argv[%d] contains %s \n", i, argv[i]);     }     return 0; } 

when run without arguments:

 ⚡⚡⚡  ./a.out  argv[0] contains ./a.out  argv[1] contains (null)  argv[2] contains orbit_socketdir=/tmp/orbit-ehwas  argv[3] contains ssh_agent_pid=2443  argv[4] contains term=xterm-256color  argv[5] contains shell=/bin/bash  argv[6] contains xdg_session_cookie=3f606f46028152e69e3d858900000009-1422008859.843197-1908595864  argv[7] contains windowid=39845891  argv[8] contains gnome_keyring_control=/tmp/keyring-nncd02  argv[9] contains gtk_modules=canberra-gtk-module  argv[10] contains user=ehwas  argv[11] contains ls_colors=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:  argv[12] contains ssh_auth_sock=/tmp/ssh-elberd2392/agent.2392  argv[13] contains username=ehwas  argv[14] contains desktop_session=openbox  argv[15] contains path=/home/ehwas/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games  argv[16] contains gdm_xserver_location=local  argv[17] contains pwd=/home/ehwas  argv[18] contains lang=en_us.utf-8  argv[19] contains gnome_keyring_pid=2382  argv[20] contains gdm_lang=en_us.utf-8  argv[21] contains gdmsession=openbox  argv[22] contains shlvl=1  argv[23] contains home=/home/ehwas  argv[24] contains logname=ehwas  argv[25] contains dbus_session_bus_address=unix:abstract=/tmp/dbus-sp7bgflecg,guid=fd8e2dfe17f3d2888c471c0e00000026  argv[26] contains xdg_data_dirs=/usr/local/share/:/usr/share/:/usr/share/gdm/  argv[27] contains windowpath=7  argv[28] contains display=:0.0  argv[29] contains colorterm=gnome-terminal  argv[30] contains xauthority=/home/ehwas/.xauthority  argv[31] contains _=./a.out  argv[32] contains (null)  segmentation fault 

and arguments:

 ⚡⚡⚡  ./a.out test test test test argv[0] contains ./a.out  argv[1] contains test  argv[2] contains test  argv[3] contains test  argv[4] contains test  argv[5] contains (null)  argv[6] contains orbit_socketdir=/tmp/orbit-ehwas  argv[7] contains ssh_agent_pid=2443  argv[8] contains term=xterm-256color  argv[9] contains shell=/bin/bash  argv[10] contains xdg_session_cookie=3f606f46028152e69e3d858900000009-1422008859.843197-1908595864  argv[11] contains windowid=39845891  argv[12] contains gnome_keyring_control=/tmp/keyring-nncd02  argv[13] contains gtk_modules=canberra-gtk-module  argv[14] contains user=ehwas  argv[15] contains ls_colors=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:  argv[16] contains ssh_auth_sock=/tmp/ssh-elberd2392/agent.2392  argv[17] contains username=ehwas  argv[18] contains desktop_session=openbox  argv[19] contains path=/home/ehwas/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games  argv[20] contains gdm_xserver_location=local  argv[21] contains pwd=/home/ehwas  argv[22] contains lang=en_us.utf-8  argv[23] contains gnome_keyring_pid=2382  argv[24] contains gdm_lang=en_us.utf-8  argv[25] contains gdmsession=openbox  argv[26] contains shlvl=1  argv[27] contains home=/home/ehwas  argv[28] contains logname=ehwas  argv[29] contains dbus_session_bus_address=unix:abstract=/tmp/dbus-sp7bgflecg,guid=fd8e2dfe17f3d2888c471c0e00000026  argv[30] contains xdg_data_dirs=/usr/local/share/:/usr/share/:/usr/share/gdm/  argv[31] contains windowpath=7  argv[32] contains display=:0.0  argv[33] contains colorterm=gnome-terminal  argv[34] contains xauthority=/home/ehwas/.xauthority  argv[35] contains _=./a.out  argv[36] contains (null)  segmentation fault 

tldr: before using argv 1 should check in argc or @ least if argv[1] null (that means there no arguments passed)


Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -