Nico Golde wrote: > Package: screen > Version: 4.0.2-4.1 > Severity: wishlist > Tags: patch > Hi, > screen isn't able to handle ~/ if you want to load a > configuration file via source in the command line. > I hate this because it is short and good :) > However, I attached a patch which fixes this. > Please include it.
Please don't. At least not literally. > + char *tmp_file, *tmp_rcname; > if (rc_recursion > 10) > { > Msg(0, "%s: source: recursion limit reached", rc_name); > return; > } > rc_recursion++; > - FinishRc(rcfilename); > + if (rcfilename[0]=='~' && rcfilename[1]=='/') > + { > + tmp_file=getenv("HOME"); getenv() can return NULL Better use something like "if ((tmp_file=getenv("HOME")) != NULL) {" > + strncat(tmp_file,"/",1); Ouch! Never concat *anything* to a forignly allocated string! Never ever! Create a new variable of the proper size (i.e. strlen(tmp_file)+2) and use that. > + tmp_rcname=strtok(rcfilename,"~/"); Again, strtok() can return NULL. > + strncat(tmp_file,tmp_rcname, strlen(tmp_rcname)); Ouch! See my comment above. Regards, Joey -- Everybody talks about it, but nobody does anything about it! -- Mark Twain Please always Cc to me when replying to me on the lists. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]